/* DEVlink IMS portal — based on the devlink.se documentation design (style.css + docs.css),
   extended with management-system components. Only external resource: Google Fonts. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#071e2c;--blue:#002b4c;--ice:#c0ebff;--peach:#f59e71;--orange:#e96f33;
  --ink:#102b3b;--text:#425e6f;--muted:#63737b;--white:#fff;
  --bg:#fff;--band:#f1f7fa;--side:#f5f8fa;--line:#d6e2e9;--line-2:#c2d4df;--tint:#e8f2f8;--tint-2:#dbeef8;--th:#e5f2f9;--zebra:#f7fafb;
  --link:#005e91;--h:#0e3147;
  --q:#005e91;--q-bg:#e3f0f8;--e:#1d7a4c;--e-bg:#e1f3e9;--s:#6b3fb8;--s-bg:#eee7fa;
  --ok:#1d7a4c;--ok-bg:#e1f3e9;--warn:#9a5b00;--warn-bg:#fff2dc;--bad:#b42318;--bad-bg:#fde8e6;--info-bg:#eaf4fa;
  --ph:#8a4b00;--ph-bg:#fff1cf;
  color-scheme:light;
}
html.dark{
  --bg:#0b1a24;--band:#0f2433;--side:#0d202d;--line:#21394a;--line-2:#2c4a5e;--tint:#12344b;--tint-2:#164260;--th:#143247;--zebra:#0e2230;
  --ink:#e2edf3;--text:#b9cbd6;--muted:#8ea3b0;--link:#7cc4f2;--h:#e8f3f9;--white:#0b1a24;
  --q:#7cc4f2;--q-bg:#12344b;--e:#6fd3a0;--e-bg:#103222;--s:#c3a6ff;--s-bg:#2a1f45;
  --ok:#6fd3a0;--ok-bg:#103222;--warn:#f0b65a;--warn-bg:#33240c;--bad:#ff8a7a;--bad-bg:#3a1714;--info-bg:#10293a;
  --ph:#ffcf70;--ph-bg:#33270d;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
h1,h2,h3{font-family:Manrope,'Segoe UI',sans-serif;font-weight:500;margin-top:0}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:10px;z-index:99;background:#fff;color:#000;padding:8px 12px}
.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}

/* header (devlink.se) */
header{height:76px;padding:0 max(4%,calc((100vw - 1700px)/2));background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24;position:relative;z-index:10}
.logo img{display:block;height:34px;width:auto}
.hdr-right{display:flex;align-items:center;gap:22px;font-size:13px}
.hdr-tag{color:var(--ice);letter-spacing:1.4px;font-size:11px}
.lang{border:1px solid #ffffff65;padding:8px 14px;font-weight:600;letter-spacing:.5px;color:#fff}
.lang:hover{color:var(--peach);border-color:var(--peach)}

/* toolbar band */
.docs-toolbar{min-height:74px;padding:16px 4%;border-bottom:1px solid #ccdae2;display:flex;align-items:center;gap:25px;justify-content:space-between;background:var(--band)}
html.dark .docs-toolbar{border-bottom-color:var(--line)}
.docs-brand{font-family:Manrope,sans-serif;font-size:22px;letter-spacing:-.7px;font-weight:700;color:var(--h)}
.docs-brand span{font-family:'DM Sans',sans-serif;font-size:14px;color:#608092;letter-spacing:0;font-weight:400;margin-left:16px}
.search-trigger{border:1px solid #a8c1cf;background:var(--bg);padding:10px 16px;color:#526e80;font-size:14px;display:flex;gap:55px;cursor:pointer;min-height:44px;align-items:center}
.search-trigger span{font-size:21px;line-height:20px}
.docs-menu-toggle{display:none}

/* layout */
.docs-layout{display:grid;grid-template-columns:270px minmax(0,1fr) 205px;max-width:1700px;margin:0 auto}
.docs-layout.public{grid-template-columns:minmax(0,1fr);max-width:980px}
.docs-sidebar{background:var(--side);border-right:1px solid var(--line);padding:28px 20px 35px;position:sticky;top:0;height:100vh;overflow:auto;overscroll-behavior:contain}
.docs-version{font-size:12px;letter-spacing:1.5px;margin:0 10px 22px;color:#617f91}
.docs-sidebar h3{font-family:'DM Sans',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.8px;font-weight:600;color:#607d8e;margin:24px 10px 8px}
.docs-sidebar a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;line-height:1.45;padding:8px 10px;color:var(--text);border-left:2px solid transparent}
.docs-sidebar a:hover{color:var(--h);background:var(--tint)}
.docs-sidebar a[aria-current]{background:var(--tint-2);border-left-color:var(--blue);color:var(--h);font-weight:600}
.dot-st{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--peach)}
.dot-in-review{background:var(--link)}.dot-withdrawn{background:var(--muted)}
.docs-main{padding:36px 44px 30px;min-width:0}
.doc-breadcrumb{font-size:13px;color:#647e8d;display:flex;gap:12px;margin-bottom:22px}
.doc-breadcrumb>a{color:var(--link)}

/* banners */
.banner{padding:11px 16px;margin:0 0 14px;font-size:14px;border-left:4px solid var(--peach);background:#fff6f0;color:var(--ink)}
.banner strong{margin-right:6px;text-transform:uppercase;letter-spacing:.6px;font-size:12px}
.banner-in-review{border-left-color:var(--link);background:var(--info-bg)}
.banner-withdrawn{border-left-color:var(--muted);background:var(--zebra)}
.banner-lang,.banner-info{border-left-color:var(--blue);background:var(--info-bg)}
html.dark .banner{background:var(--warn-bg)}

/* article */
.docs-article{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.doc-head{margin-bottom:10px}
.eyebrow{font-size:12px;letter-spacing:1.2px;color:#617f91;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;text-transform:uppercase}
.docs-article h1{color:var(--h);font-size:44px;letter-spacing:-1.8px;line-height:1.17;margin-bottom:18px;overflow-wrap:normal}
.docs-intro{font-size:20px;line-height:1.6;color:var(--text)}
.docs-article h2{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:47px 0 20px;border-top:1px solid var(--line);padding-top:28px;color:var(--h)}
.docs-article h3{font-size:22px;letter-spacing:-.5px;margin:30px 0 15px;color:var(--h)}
.docs-article h4{font-size:17px;margin:25px 0 12px;color:var(--h)}
.docs-article p{color:var(--text)}
.docs-article ul,.docs-article ol{padding-left:24px;color:var(--text)}
.docs-article li{margin:7px 0}
.docs-article a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.docs-article strong{font-weight:600;color:var(--ink)}
.docs-article code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em;background:var(--tint);padding:2px 5px;color:#164e6e;border-radius:3px}
html.dark .docs-article code{color:var(--ice)}
.docs-article pre{background:#092839;color:#d7eefb;border:1px solid #21475b;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.75;overflow:auto;white-space:pre;padding:20px;margin:24px 0}
.docs-article pre code{background:none;color:inherit;padding:0}
.docs-article blockquote{border-left:3px solid var(--peach);padding:12px 20px;margin:20px 0;background:var(--band)}
.docs-article hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.table-scroll{overflow:auto;max-width:100%;margin:22px 0}
.docs-article table{width:100%;border-collapse:collapse;line-height:1.55;font-size:14px}
.docs-article th,.docs-article td{border:1px solid var(--line-2);padding:10px 12px;text-align:left;vertical-align:top;min-width:70px}
.docs-article th{background:var(--th);color:var(--h);font-weight:600;position:sticky;top:0}
.docs-article tr:nth-child(even) td{background:var(--zebra)}
.docs-article td.id{font-family:ui-monospace,Consolas,monospace;font-size:12.5px;white-space:nowrap}
.docs-article td.dot{text-align:center;color:var(--blue);min-width:50px}
.docs-article th[data-sort]{cursor:pointer}
.docs-article th[data-dir=asc]::after{content:" \25B2";font-size:9px}.docs-article th[data-dir=desc]::after{content:" \25BC";font-size:9px}

/* document control strip + actions */
.doc-control{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:18px 0 12px;border:1px solid var(--line-2);background:var(--band)}
.doc-control div{padding:9px 12px;box-shadow:inset -1px -1px 0 var(--line)}
.doc-control dt{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:#617f91}
.doc-control dd{margin:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}
.doc-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.act{font-size:13px;border:1px solid #a8c1cf;padding:7px 12px;color:var(--blue)!important;text-decoration:none!important;background:var(--bg)}
a.act:hover{background:var(--tint)}
.act.off{color:var(--muted)!important;border-style:dashed;cursor:help}

/* tags, pills, placeholders, alerts */
.tag{display:inline-block;padding:2px 9px;font-size:11px;font-weight:600;letter-spacing:.4px;border-radius:999px;text-transform:none;white-space:nowrap}
.tag.q{background:var(--q-bg);color:var(--q)}.tag.e{background:var(--e-bg);color:var(--e)}.tag.s{background:var(--s-bg);color:var(--s)}.tag.core{background:var(--tint);color:var(--blue)}
.st{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--tint);color:var(--blue)}
.st-exists,.st-yes,.st-implemented,.st-approved,.st-accepted,.st-closed,.st-low,.st-band-low{background:var(--ok-bg);color:var(--ok)}
.st-partial,.st-tbd,.st-planned,.st-draft,.st-proposed,.st-medium,.st-band-medium,.st-notstarted{background:var(--warn-bg);color:var(--warn)}
.st-missing,.st-no,.st-open,.st-high,.st-band-high,.st-significant{background:var(--bad-bg);color:var(--bad)}
.st-band-critical,.st-critical{background:var(--bad);color:#fff}
.st-inreview,.st-in-review{background:var(--info-bg);color:var(--link)}
.st-withdrawn,.st-na{background:var(--zebra);color:var(--muted)}
.owner-q{background:var(--ph-bg);color:var(--ph);padding:1px 6px;font-weight:600;font-size:.95em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.owner-q::before{content:"? ";font-weight:800}
.ph{display:inline-block;border:1px dashed var(--ph);color:var(--ph);padding:0 6px;font-size:.92em;cursor:help}
.ev{font-family:ui-monospace,Consolas,monospace;font-size:.85em;word-break:break-all}
.bad-ref{color:var(--bad);font-weight:700}
.alert{padding:12px 18px;margin:20px 0;border-left:4px solid var(--blue);background:var(--info-bg)}
.alert-title{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin:0 0 4px;color:var(--h)!important}
.alert p:last-child,.alert ul:last-child{margin-bottom:0}
.alert-tip{border-left-color:var(--ok);background:var(--ok-bg)}
.alert-important{border-left-color:var(--s);background:var(--s-bg)}
.alert-warning{border-left-color:var(--peach);background:#fff6f0}
.alert-caution{border-left-color:var(--bad);background:var(--bad-bg)}
html.dark .alert-warning{background:var(--warn-bg)}
.chk{font-size:1.1em;margin-right:2px}

/* process card + steps */
.process-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);margin:20px 0 28px}
.process-card .pc{background:var(--bg);padding:13px 16px}
.process-card .pc.wide{grid-column:1/-1;background:var(--band)}
.process-card h4{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#617f91;margin:0 0 4px}
.process-card p,.process-card ul{margin:0;font-size:14px;line-height:1.55}
.process-card ul{padding-left:18px}.process-card li{margin:2px 0}
.steps{list-style:none;padding:0!important;margin:20px 0 28px;counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.steps li{position:relative;margin:0;padding:44px 14px 14px;background:var(--tint);color:var(--ink);font-size:14px;line-height:1.5}
.steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:14px;top:12px;font-size:12px;letter-spacing:1px;color:var(--link);font-weight:600}
.steps li strong{display:block;color:var(--h);font-size:15px;margin-bottom:3px}
.steps li span{color:var(--text)}

/* quick tiles (devlink docs) */
.docs-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 35px}
.docs-quick a{background:var(--tint);padding:17px 14px;text-decoration:none!important;display:flex;flex-direction:column;gap:10px;color:var(--h)!important}
.docs-quick a:hover{background:var(--tint-2)}
.docs-quick span{font-size:12px;letter-spacing:1px}
.docs-quick strong{font-size:14px;line-height:1.4}
.docs-quick em{font-style:normal;font-size:13px;color:var(--text);line-height:1.5}

/* KPIs and readiness */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);margin:24px 0}
.kpi{background:var(--bg);padding:16px 18px;display:flex;flex-direction:column;gap:4px;text-decoration:none!important;color:inherit!important}
a.kpi:hover{background:var(--band)}
.kpi .v{font-family:Manrope,sans-serif;font-size:30px;font-weight:600;color:var(--h);line-height:1.1;letter-spacing:-1px}
.kpi .l{font-size:13px;color:var(--muted);line-height:1.35}
.kpis-sm .kpi .v{font-size:24px}
.readiness{border:1px solid var(--line-2);padding:18px 20px;margin:24px 0;display:grid;gap:14px;background:var(--band)}
.readiness h3{margin:0;font-size:18px}
.rd-h{display:flex;justify-content:space-between;align-items:baseline}
.bar{display:flex;height:9px;background:var(--line);margin:4px 0 6px;overflow:hidden}
.bar span{display:block;height:100%}
.b-ok{background:var(--ok)}.b-warn{background:var(--peach)}.b-bad{background:var(--bad)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px}

/* process map */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.chip{border:1px solid #a8c1cf;background:var(--bg);color:var(--blue);padding:7px 14px;font-size:13px;cursor:pointer;min-height:36px}
.chip[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
html.dark .chip{color:var(--ink)}html.dark .chip[aria-pressed=true]{background:var(--link);color:#071e2c}
.pmap{display:grid;gap:8px;margin:12px 0}
.lane{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px}
.lane-h{padding:12px 14px;font-family:Manrope,sans-serif;font-weight:700;font-size:14px;display:flex;flex-direction:column;justify-content:center;color:var(--h);background:var(--tint)}
.lane-h small{font-family:'DM Sans',sans-serif;font-weight:400;font-size:12px;color:var(--text)}
.lane-core .lane-h{background:var(--blue);color:#fff}.lane-core .lane-h small{color:var(--ice)}
.lane-improve .lane-h{background:var(--ok-bg);color:var(--ok)}
.lane-b{display:flex;gap:8px;flex-wrap:wrap}
.lane-core .lane-b{flex-wrap:nowrap;overflow-x:auto}
.pnode{flex:1 1 150px;min-width:135px;text-align:left;border:1px solid var(--line-2);background:var(--bg);padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;position:relative;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.pnode:hover,.pnode.sel{border-color:var(--blue);box-shadow:inset 0 -3px 0 var(--peach)}
.pnode .pid{font-size:11px;letter-spacing:1px;color:#617f91}
.pnode b{font-size:14px;font-weight:600;line-height:1.35;color:var(--h)}
.pnode .dots{display:flex;gap:4px;margin-top:auto;padding-top:4px}
.pnode .dots i{width:8px;height:8px;border-radius:50%}
.dots .q{background:var(--q)}.dots .e{background:var(--e)}.dots .s{background:var(--s)}
.lane-core .pnode:not(:last-child)::after{content:"\25B6";position:absolute;right:-11px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--peach);z-index:1}
.pmap-io{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding-left:158px}
.pmap.dim .pnode{opacity:.28}.pmap.dim .pnode.hit{opacity:1;border-color:var(--blue)}
.pdetail{border-left:4px solid var(--peach);background:var(--band);padding:12px 18px;margin:12px 0}
.pdetail ul{margin:6px 0 0}.pd-h{margin:0!important}

/* heat map */
.heat{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;gap:4px;margin:20px 0;max-width:520px}
.heat-y{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:12px;color:var(--muted)}
.heat-x{grid-column:2;text-align:center;font-size:12px;color:var(--muted)}
.docs-article table.heatmap{width:auto;font-size:12px}
.docs-article .heatmap td,.docs-article .heatmap th{min-width:0;width:84px;height:54px;text-align:center;vertical-align:middle;padding:4px;border:2px solid var(--bg)}
.docs-article .heatmap th{background:none;color:var(--muted);height:auto;position:static}
.heatmap td b{display:block;font-size:18px}.heatmap td small{display:block;font-size:10px;line-height:1.2}
.docs-article .heatmap tr td.hb-low{background:var(--ok-bg)}.docs-article .heatmap tr td.hb-medium{background:var(--warn-bg)}
.docs-article .heatmap tr td.hb-high{background:var(--bad-bg)}.docs-article .heatmap tr td.hb-critical{background:var(--bad);color:#fff}

/* filters */
.filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0 0}
.filterbar input,.filterbar select{font:inherit;font-size:14px;padding:9px 12px;border:1px solid #a8c1cf;background:var(--bg);color:var(--ink);min-height:40px}
.filterbar input{flex:1 1 220px}
.tcount{font-size:12px;color:var(--muted);margin-left:auto}
.btn-sm{font-size:13px;border:1px solid #a8c1cf;background:var(--bg);color:var(--blue);padding:8px 12px;cursor:pointer;min-height:40px}
.qgroup h3{font-size:17px;margin:26px 0 8px}

/* pager, toc, notice, footer */
.docs-toc{padding:39px 20px;border-left:1px solid var(--line);position:sticky;top:0;max-height:100vh;overflow:auto;align-self:start}
.docs-toc>span{font-size:12px;font-weight:600;letter-spacing:1px;color:#6b8492;display:block;margin-bottom:15px}
.docs-toc a{display:block;font-size:12px;line-height:1.6;padding:6px 0;color:#5d7b8d}
.docs-toc a:hover{color:var(--h)}
.print-doc{font-size:12px;color:#31576e;background:none;border:0;border-top:1px solid #c1d2dd;padding:20px 0;margin-top:15px;cursor:pointer;text-align:left;width:100%}
.docs-pager{display:flex;justify-content:space-between;gap:25px;margin-top:55px;border-top:1px solid var(--line-2);padding-top:25px}
.docs-pager a{font-size:14px;max-width:48%;color:var(--link)}
.docs-pager a:last-child{text-align:right}
.docs-pager span{display:block;font-size:12px;letter-spacing:1px;color:#6b8493;margin-bottom:7px}
.docs-notice{margin-top:45px;padding:20px;background:var(--band);font-size:12px;color:#667c89;line-height:1.8}
.docs-notice p{margin:0}
.revhist{margin-top:50px}
.print-footer{display:none}

/* search dialog (devlink docs) */
#docs-search{border:1px solid #bacfdd;max-width:720px;width:calc(100% - 32px);padding:26px;background:var(--bg);color:var(--ink);max-height:80vh;box-shadow:0 30px 100px #061a2a55}
#docs-search::backdrop{background:#061c30b3;backdrop-filter:blur(4px)}
.search-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.search-top label{font-size:16px;font-weight:600}
#search-close{font-size:28px;background:none;border:0;color:var(--muted);cursor:pointer}
#docs-search-input{font:inherit;font-size:17px;width:100%;padding:15px;border:1px solid #93b4c7;background:var(--band);color:var(--ink)}
#search-count{font-size:12px;color:var(--muted);margin:15px 0}
#search-results a{display:block;padding:16px 8px;border-top:1px solid var(--line)}
#search-results a:hover{background:var(--tint)}
#search-results strong{display:block;font-size:16px}
#search-results span{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#638196}
#search-results p{font-size:13px;color:var(--text);line-height:1.7;margin:6px 0 0}
#search-results mark{background:var(--ph-bg);color:inherit}

/* responsive (devlink docs breakpoints) */
@media(max-width:1200px){.docs-layout{grid-template-columns:250px minmax(0,1fr)}.docs-toc{display:none}.docs-main{padding:35px}.docs-article h1{font-size:39px}}
@media(max-width:850px){
  .hdr-tag{display:none}
  .docs-layout{display:block}
  .docs-sidebar{display:none;position:static;height:auto;max-height:65vh;border-bottom:1px solid var(--line)}
  .docs-sidebar.open{display:block}
  .docs-menu-toggle{display:block;border:1px solid #9fbccc;background:none;font-size:13px;padding:9px 12px;color:#305671;cursor:pointer;min-height:44px}
  .docs-toolbar{flex-wrap:wrap;gap:15px;padding:18px 5%}
  .docs-brand{flex:1}.docs-brand span{display:block;margin:0;font-size:12px}
  .search-trigger{width:100%;justify-content:space-between}
  .docs-main{padding:30px 5%}
  .docs-article h1{font-size:34px}
  .docs-quick{grid-template-columns:1fr 1fr}
  .lane{grid-template-columns:1fr}.pmap-io{display:none}
  .lane-core .lane-b{flex-wrap:wrap}.lane-core .pnode:not(:last-child)::after{content:none}
}
@media(max-width:500px){
  header{height:64px}.logo img{height:26px}
  .docs-article h1{font-size:30px;letter-spacing:-1.1px}.docs-article h2{font-size:24px}
  .docs-intro{font-size:17px}
  .docs-quick{grid-template-columns:1fr}
  .docs-article th,.docs-article td{padding:8px}
  .docs-pager{gap:15px}
}
@media print{
  header,.docs-toolbar,.docs-sidebar,.docs-toc,.docs-pager,.docs-notice,.doc-actions,.filterbar,.chips,#docs-search,.skip{display:none!important}
  .docs-layout{display:block}.docs-main{padding:0}
  body{font-size:10.5pt;background:#fff;color:#000}
  .docs-article h1{font-size:24pt}.docs-article h2{font-size:15pt;break-after:avoid;margin-top:20pt;padding-top:10pt}
  .docs-article a{color:#000;text-decoration:none}
  .table-scroll{overflow:visible}.docs-article th{position:static}
  .docs-article th,.docs-article td{font-size:8.5pt;min-width:0;padding:4pt}
  tr,.process-card .pc,.steps li{break-inside:avoid}
  .banner{border:1px solid #999}
  .print-footer{display:block;margin-top:20pt;border-top:1px solid #999;padding-top:6pt;font-size:8pt;color:#333}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* forms (templates) */
.docs-article table.form{font-size:14px}
.docs-article table.form th{position:static;width:30%}
.docs-article table.form td.fill{min-width:140px;height:2.4em;background:var(--bg);border-bottom:2px solid var(--line-2);cursor:text}
.docs-article table.form tr:nth-child(even) td.fill{background:var(--bg)}
.docs-article td.fill:hover{background:var(--band)}
.docs-article td.fill:focus{outline:2px solid var(--blue);outline-offset:-2px;background:var(--tint)}
.docs-article td.fill:empty::before{content:"\2002";}
@media print{.docs-article td.fill{background:#fff!important;border:1px solid #888;height:2.2em}}

/* theme toggle (header) */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff65;background:transparent;color:#fff;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px}
.theme-toggle:hover{color:var(--peach);border-color:var(--peach)}
.theme-toggle .ti{font-size:15px;line-height:1}
@media(max-width:500px){.theme-toggle .tl{display:none}}

/* record list details */
.reclist{border:1px solid var(--line-2);margin:10px 0;background:var(--bg)}
.reclist summary{cursor:pointer;padding:12px 16px;background:var(--band);list-style:none}
.reclist summary::-webkit-details-marker{display:none}
.reclist summary::before{content:"\25B8  ";color:var(--peach)}
.reclist[open] summary::before{content:"\25BE  "}
.reclist .table-scroll{margin:0;padding:0 12px 12px}
@media print{.reclist{break-inside:avoid}.reclist:not([open]) .table-scroll{display:block}}

/* plain-language UX: in-short box, action buttons, tasks, document details, glossary */
.inshort{border:1px solid var(--line-2);border-left:4px solid var(--peach);background:var(--band);padding:14px 20px;margin:8px 0 26px}
.inshort-title{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:0 0 6px;color:var(--h)!important}
.inshort ul{margin:0;padding-left:20px}.inshort li{margin:5px 0;color:var(--ink)}
.do-btn{display:inline-block;background:var(--blue);color:#fff!important;text-decoration:none!important;padding:9px 16px;font-size:14px;font-weight:600;margin:4px 8px 4px 0}
.do-btn:hover{background:var(--navy)}
html.dark .do-btn{background:var(--link);color:#071e2c!important}
.tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:18px 0 30px}
.task{border:1px solid var(--line-2);background:var(--bg);padding:16px;display:flex;flex-direction:column;gap:6px;border-top:3px solid var(--peach)}
.task strong{font-family:Manrope,sans-serif;font-size:16px;color:var(--h)}
.task p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}
.task-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;font-size:14px}
.task-actions .do-btn{padding:6px 12px;font-size:13px;margin:0}
details.docmeta{margin:14px 0 6px;border:1px solid var(--line);background:var(--band)}
details.docmeta>summary{cursor:pointer;padding:8px 12px;font-size:13px;color:var(--muted);list-style:none}
details.docmeta>summary::-webkit-details-marker{display:none}
details.docmeta>summary::before{content:"\25B8  ";color:var(--peach)}
details.docmeta[open]>summary::before{content:"\25BE  "}
details.docmeta .doc-control{margin:0 12px 10px}details.docmeta .doc-actions{margin:0 12px 12px}
abbr.gl{text-decoration:underline dotted var(--peach);text-underline-offset:3px;cursor:help}
@media print{details.docmeta{display:block}details.docmeta>summary{display:none}details.docmeta .doc-control{display:grid}}

/* site footer: copyright and disclaimers */
.site-footer{margin-top:45px;padding:20px 22px;background:var(--band);border-top:3px solid var(--blue);font-size:12px;color:#667c89;line-height:1.7}
.sf-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;margin-bottom:8px}
.sf-copy{font-weight:700;color:var(--h)}
.sf-addr a{color:var(--link)}
.sf-disc{margin:0;padding-left:18px}.sf-disc li{margin:3px 0}
html.dark .site-footer{color:var(--muted)}
@media print{.site-footer{display:block!important;background:none;border-top:1px solid #999;padding:6pt 0;margin-top:14pt;font-size:7.5pt}}

/* embedded CRA Readiness report */
.cra-facts{border:1px solid var(--line-2);border-left:4px solid var(--peach);background:var(--band);padding:14px 20px;margin:8px 0 22px}
.cra-facts ul{margin:4px 0 8px;padding-left:20px}.cra-facts li{margin:3px 0;color:var(--ink)}
.cra-facts b{font-weight:600}
.cra-frame{width:100%;min-height:600px;border:0;display:block;background:var(--bg)}
@media print{.cra-frame{height:auto}}

/* signed-in user in the header */
.hdr-user{display:inline-flex;align-items:center;gap:10px;margin-left:12px;font-size:13px;color:#fff}
.hdr-user[hidden]{display:none}
.hdr-user .hu-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ice)}
.hdr-user .hu-out{color:#fff;border:1px solid #ffffff65;padding:7px 12px;min-height:36px;display:inline-flex;align-items:center;font-weight:600;text-decoration:none}
.hdr-user .hu-out:hover,.hdr-user .hu-out:focus-visible{background:#ffffff1a}
@media (max-width:720px){.hdr-user .hu-name{display:none}}

/* ISO standard filter (header) */
.std-switch{display:inline-flex;border:1px solid #ffffff65;margin-right:4px}
.std-switch button{background:transparent;color:#fff;border:0;border-left:1px solid #ffffff40;padding:7px 11px;min-height:36px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.std-switch button:first-child{border-left:0}
.std-switch button:hover{background:#ffffff1a}
.std-switch button[aria-pressed="true"]{background:#fff;color:#071e2c}
.std-switch button[data-stdf="q"][aria-pressed="true"]{box-shadow:inset 0 -3px 0 #2f7fbf}
.std-switch button[data-stdf="e"][aria-pressed="true"]{box-shadow:inset 0 -3px 0 #2e8b57}
.std-switch button[data-stdf="s"][aria-pressed="true"]{box-shadow:inset 0 -3px 0 #8a5cc2}
.std-switch button:focus-visible{outline:2px solid var(--peach,#f59e71);outline-offset:-2px}
.std-off{display:none!important}
html[data-std="q"] .tag.e,html[data-std="q"] .tag.s,html[data-std="e"] .tag.q,html[data-std="e"] .tag.s,html[data-std="s"] .tag.q,html[data-std="s"] .tag.e{display:none}
.banner-std{border-left:4px solid var(--peach,#f59e71)}
.banner-std .linklike{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
@media (max-width:900px){.std-switch .sw-iso{display:none}.std-switch button{padding:7px 8px}}
@media print{.std-switch{display:none}}
@media (max-width:640px){
  header{height:auto;min-height:64px;flex-wrap:wrap;row-gap:10px;padding-top:12px;padding-bottom:12px}
  .hdr-right{gap:10px;flex-wrap:wrap;justify-content:flex-end}
  .std-switch{order:9;flex:1 1 100%;margin-right:0}
  .std-switch button{flex:1;padding:7px 4px}
}

/* My work dashboard */
.mw-roles{margin:4px 0 18px}.mw-role{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;font-size:14px;cursor:pointer}
.mw-chip{display:inline-block;border:1px solid var(--line-2);padding:3px 10px;font-size:13px;margin:2px 4px 2px 0;background:var(--band)}
.kpi.kpi-bad .v{color:#b42318}.kpi.kpi-warn .v{color:#9a5b00}
html.dark .kpi.kpi-bad .v{color:#ff8a7a}html.dark .kpi.kpi-warn .v{color:#f0b65a}
.mw-cal{list-style:none;margin:8px 0 26px;padding:0;border-left:2px solid var(--line-2)}
.mw-month{margin:18px 0 6px -2px;padding-left:16px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.mw-item{position:relative;display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 16px;margin:0 0 8px 14px;border:1px solid var(--line-2);background:var(--bg)}
.mw-item::before{content:"";position:absolute;left:-21px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--line-2);border:2px solid var(--bg)}
.mw-item.mw-external-audit{border-left:4px solid #8a5cc2}.mw-item.mw-external-audit::before{background:#8a5cc2}
.mw-item.mw-internal-audit{border-left:4px solid #2f7fbf}.mw-item.mw-internal-audit::before{background:#2f7fbf}
.mw-item.mw-review{border-left:4px solid #2e8b57}.mw-item.mw-review::before{background:#2e8b57}
.mw-item.mw-check{border-left:4px solid var(--peach,#f59e71)}.mw-item.mw-check::before{background:var(--peach,#f59e71)}
.mw-item.mw-late{background:#fde8e6}html.dark .mw-item.mw-late{background:#3a1714}
.mw-date{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.mw-date b{font-size:15px}
.mw-prop{font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line-2);padding:1px 6px}
.mw-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px;font-size:14px}
.mw-late{color:#b42318;font-weight:600}html.dark .mw-late{color:#ff8a7a}
.mw-views{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:8px 0 20px}
.mw-view{display:block;border:1px solid var(--line-2);padding:12px 14px;text-decoration:none;font-weight:600;background:var(--band)}
.mw-view:hover{border-color:var(--peach,#f59e71)}
a.hu-name{text-decoration:none}a.hu-name:hover{text-decoration:underline}
@media (max-width:640px){.mw-item{grid-template-columns:1fr;gap:6px}}

/* Approve */
.act-approve{background:#1d7a4c;color:#fff;border:1px solid #1d7a4c;font:inherit;font-weight:600;cursor:pointer;padding:6px 12px}
.act-approve:hover{background:#166a41}
.approve-dlg{max-width:560px;width:calc(100% - 32px);border:1px solid var(--line-2);border-top:4px solid #1d7a4c;padding:22px 26px;background:var(--bg);color:var(--ink)}
.approve-dlg::backdrop{background:#071e2c99}
.approve-dlg h2{margin-top:0;font-size:22px}.approve-dlg .ready{color:#1d7a4c;font-weight:600}
html.dark .approve-dlg .ready{color:#6fd3a0}
.approve-dlg ol{padding-left:20px}.approve-dlg li{margin:6px 0}
.approve-copy{display:flex;gap:8px;margin:10px 0}.approve-copy input{flex:1;font:inherit;padding:8px 10px;border:1px solid var(--line-2);background:var(--band);color:var(--ink)}
.approve-acts{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}
.do-btn.off{opacity:.45;pointer-events:none}
.apkg{border:1px solid var(--line-2);border-left:4px solid #1d7a4c;padding:6px 20px 16px;margin:10px 0 26px;background:var(--band)}
/* Sticky top: the dark header and the search bar stay visible when scrolling */
header{position:sticky;top:0;z-index:40}
.docs-toolbar{position:sticky;top:var(--hdr-h,76px);z-index:39}
html{scroll-padding-top:calc(var(--stick,150px) + 12px)}
.docs-sidebar{top:var(--stick,150px);height:calc(100vh - var(--stick,150px))}
.docs-toc{top:var(--stick,150px);max-height:calc(100vh - var(--stick,150px))}
@media (max-width:900px){
  .docs-toolbar{position:static}
  html{scroll-padding-top:calc(var(--hdr-h,64px) + 12px)}
}
@media print{header,.docs-toolbar{position:static}}
.apkg-done{border-left-color:#1d7a4c;opacity:.95}.apkg-done h3{color:#1d7a4c}html.dark .apkg-done h3{color:#6fd3a0}

.apkg-change{border-left-color:var(--peach,#f59e71)}
.chg-copy{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}
.chg-copy .chg-k{min-width:90px;font-weight:600;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.chg-copy input{flex:1;min-width:180px;font:14px ui-monospace,Consolas,monospace;padding:7px 10px;border:1px solid var(--line-2);background:var(--bg);color:var(--ink)}
.pub-meta{color:var(--muted);font-size:14px;margin:-6px 0 22px}
