@font-face{font-family:'Sina Nova';font-weight:200;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXLig-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXLig-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:200;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXLigIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXLigIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:300;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaLig-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaLig-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:300;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaLigIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaLigIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:400;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaReg-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaReg-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:400;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:500;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaMed-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaMed-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:500;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaMedIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaMedIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:700;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaBol-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaBol-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:700;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaBolIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaBolIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:800;font-style:normal;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXBol-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXBol-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova';font-weight:800;font-style:italic;font-display:swap;src:url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXBolIta-webfont.woff2') format('woff2'),url('https://polipost.ca/assets/fonts/sina-nova/SinaNovaXBolIta-webfont.woff') format('woff')}
@font-face{font-family:'Sina Nova Fallback';font-weight:400;font-style:normal;src:local('Georgia');size-adjust:87.52%;ascent-override:112.75%;descent-override:34.2%;line-gap-override:0%}
@font-face{font-family:'Sina Nova Fallback';font-weight:500;font-style:normal;src:local('Georgia');size-adjust:89.7%;ascent-override:109.7%;descent-override:34.78%;line-gap-override:0%}
@font-face{font-family:'Sina Nova Fallback';font-weight:700;font-style:normal;src:local('Georgia Bold'),local('Georgia-Bold');size-adjust:78.79%;ascent-override:124.5%;descent-override:41.12%;line-gap-override:0%}
@font-face{font-family:'Sina Nova Fallback';font-weight:400 500;font-style:italic;src:local('Georgia Italic'),local('Georgia-Italic');size-adjust:84.54%;ascent-override:116.4%;descent-override:36.91%;line-gap-override:0%}
:root{
  --ink:#12303D; --ink-2:#1B4456; --paper:#F7F6F0; --card:#FFFFFF;
  --seal:#6E2F2B; --seal-d:#5C2723; --seal-p:#4A1F1C; --seal-off:#D8C9C7; --green:#1E7A46; --blue:#2C5F8A;
  --graphite:#5A6972; --faint:#5F6F74; --line:#E3E0D6; --control-border:#8A8472; --amber:#8A5E00;
  --display:'Sina Nova',Georgia,'Times New Roman',serif; --body:'Sina Nova',Georgia,'Public Sans',serif;
  --mono:ui-monospace,'SF Mono',Menlo,monospace; --hand:'Sina Nova',Georgia,'Times New Roman',serif;
  --r-sm:6px; --r:var(--radius,8px); --r-lg:16px; --wrap:1180px; --shadow:0 1px 2px rgba(18,48,61,.06),0 8px 24px -12px rgba(18,48,61,.18);
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{margin:0;font-family:var(--body);font-size:1.03125rem;line-height:1.62;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1} /* 1.03125rem = 16.5px — rem so browser prefs + a11y-lg scale it */
/* Sina Nova is a refined serif — large display reads best a touch lighter with tighter tracking and display ligatures. */
h1,h2,h3,h4{font-family:var(--display);line-height:1.14;margin:0 0 .5em;font-weight:700;letter-spacing:-.018em;font-feature-settings:"kern" 1,"liga" 1,"dlig" 1}
h1{font-size:clamp(2.1rem,5.2vw,3.4rem);font-weight:500;letter-spacing:-.025em;line-height:1.07} h2{font-size:clamp(1.5rem,3.4vw,2.15rem);font-weight:700} h3{font-size:1.24rem} h4{font-size:1.03rem}
p{margin:0 0 1em} a{color:var(--ink);text-decoration-color:rgba(18,48,61,.35);text-underline-offset:3px}
@media(hover:hover) and (pointer:fine){a:hover{text-decoration-color:var(--seal)}} img{max-width:100%}
small,.muted{color:var(--graphite);font-size:.86em}
code,.mono{font-family:var(--mono);font-size:.88em}
.i{vertical-align:-3px}


.wrap{max-width:1196px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);background:var(--ink);color:#fff;
  font:700 1rem var(--body);padding:10px 18px;border-radius:var(--r);cursor:pointer;text-decoration:none;transition:transform .06s,box-shadow .15s,background .15s}
@media(hover:hover) and (pointer:fine){.btn:hover{background:var(--ink-2);box-shadow:var(--shadow)}} .btn:active{transform:translateY(1px)}
.btn.seal{background:var(--seal);border-color:var(--seal)} @media(hover:hover) and (pointer:fine){.btn.seal:hover{background:var(--seal-d);border-color:var(--seal-d)}}
.btn.seal:active{background:var(--seal-p,#4A1F1C);border-color:var(--seal-p,#4A1F1C)}
.btn.seal[disabled],.btn.seal:disabled{background:var(--seal-off,#D8C9C7);border-color:var(--seal-off,#D8C9C7);color:#5F5350;opacity:1;box-shadow:none;transform:none}
.btn.ghost{background:transparent;color:var(--ink)} @media(hover:hover) and (pointer:fine){.btn.ghost:hover{background:#fff}}
/* Monitor alert CTA (pp_alert_cta): follows the colour guide — the site's single accent red (--seal),
 * identical to every other primary action, instead of the old bespoke off-palette orange (#B45309). */
.btn.alertcta{background:var(--seal);border-color:var(--seal)} .btn.alertcta:hover{background:var(--seal-d);border-color:var(--seal-d)}
.btn.danger{background:transparent;color:var(--seal);border-color:color-mix(in srgb,var(--seal) 58%,var(--line))}
.btn.danger:hover{background:color-mix(in srgb,var(--seal) 9%,var(--card));border-color:var(--seal);box-shadow:none}
.btn.sm{padding:6px 12px;font-size:.91rem;border-radius:var(--r-sm)} .btn.lg{padding:13px 24px;font-size:1.08rem}
.btn.wide{width:100%;justify-content:center}
.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn .i{vertical-align:-3px}

/* Badges */
.badge{display:inline-block;padding:2.5px 9px;border-radius:99px;font:700 .72rem var(--body);letter-spacing:.04em;text-transform:uppercase;border:1px solid}
.b-green{color:var(--green);border-color:#bcd3c4;background:#eef5f0}
.b-red{color:var(--seal);border-color:#e8c4be;background:#faf0ee}
.b-blue{color:var(--blue);border-color:#c2d4e3;background:#eef4f9}
.b-amber{color:var(--amber);border-color:#e4d2ab;background:#f9f3e4}
.b-muted{color:var(--graphite);border-color:var(--line);background:#f1efe8}

/* Flash messages */
.flashes{position:fixed;top:16px;right:16px;z-index:90;display:flex;flex-direction:column;gap:8px;max-width:min(420px,90vw)}
.flash{display:flex;gap:10px;align-items:flex-start;background:var(--ink);color:#fff;padding:12px 14px;border-radius:var(--r);box-shadow:var(--shadow);font-size:.92rem;animation:fin .25s ease}
.flash.err{background:var(--seal)} .flash.ok{background:var(--green)}
.flash button{margin:-6px -4px -6px auto;background:none;border:0;color:#fff;cursor:pointer;font-size:1.1rem;line-height:1;opacity:.85;min-width:32px;min-height:32px;display:inline-grid;place-items:center;padding:0}
@keyframes fin{from{opacity:0;transform:translateY(-6px)}to{opacity:1}}

/* Forms */
.field{margin-bottom:16px}
.field label{display:block;font:700 .86rem var(--body);margin-bottom:6px;color:var(--ink)}
.field label em,.pp-required{color:var(--seal);font-style:normal;font-weight:700}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--control-border);border-radius:8px;background:#fff;
  padding:10px 12px;font:400 .95rem var(--body);color:var(--ink);transition:border-color .12s,box-shadow .12s} /* --control-border = #8A8472 in light mode: 3.73:1 on white (WCAG 1.4.11); cards/dividers keep the light --line */
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.field small{display:block;margin-top:5px;color:var(--graphite)}
.field textarea{resize:vertical;min-height:90px}
/* Shared AI-research form primitives. The complete panel contract is enforced
 * after module CSS is emitted below; these base controls also support pages
 * that render without module-specific styles. */
.pp-ai-date-range{display:flex;align-items:flex-end;column-gap:10px;row-gap:12px;flex:0 1 auto;min-width:0}
.pp-ai-date-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;color:var(--ink);font:700 .78rem var(--body);letter-spacing:.01em}
.pp-ai-date-field>span{line-height:1.2}
.pp-ai-date-field input,.pp-ai-control{box-sizing:border-box;min-width:148px;min-height:44px;border:1.5px solid var(--control-border);border-radius:var(--r);background:#fff;color:var(--ink);padding:9px 10px;font:400 .9rem var(--body);font-variant-numeric:tabular-nums;transition:border-color .12s,box-shadow .12s}
.pp-ai-date-field input,.pp-ai-filter-field>.pp-ai-control{width:100%}
.pp-ai-date-field input:focus,.pp-ai-control:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.pp-ai-date-sep{align-self:flex-end;display:grid;place-items:center;min-height:44px;color:var(--graphite);font-weight:700;line-height:1}
.pp-ai-research-form{display:grid;gap:12px}
.pp-ai-research-form .pp-ai-query{width:100%;min-width:0;min-height:88px;border:1.5px solid var(--control-border);border-radius:var(--r);background:#fff;color:var(--ink);padding:11px 12px;font:400 .95rem var(--body);line-height:1.5;resize:vertical;transition:border-color .12s,box-shadow .12s}
.pp-ai-research-form .pp-ai-query:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.pp-ai-research-form .pp-ai-submit{align-self:flex-end;justify-content:center;min-height:44px}
.pp-ai-pro-option{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;align-items:start!important;gap:12px!important;margin:2px 0 0;padding:13px 14px!important;border:1px solid var(--line)!important;border-radius:var(--r);background:var(--paper);background:color-mix(in srgb,var(--paper) 94%,var(--seal) 6%)}
.pp-ai-pro-option input:checked{background-color:var(--seal)!important}
.pp-ai-pro-option.is-disabled{cursor:not-allowed;background:var(--paper);opacity:.78}
.pp-ai-pro-option.is-disabled input{cursor:not-allowed}
.pp-ai-pro-copy{display:grid;gap:3px;min-width:0;color:var(--ink)}
.pp-ai-pro-copy strong{font:700 .94rem/1.25 var(--body)}
.pp-ai-pro-copy small{font-size:.82rem;line-height:1.4;color:var(--muted,var(--graphite));overflow-wrap:anywhere}
.pp-ai-pro-cost{align-self:center;white-space:nowrap;border:1px solid var(--line);border:1px solid color-mix(in srgb,var(--seal) 28%,var(--line));border-radius:999px;padding:4px 8px;color:var(--seal);font:700 .72rem/1 var(--body);letter-spacing:.01em}
@media(max-width:720px){.pp-ai-date-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;max-width:100%}.pp-ai-date-field input,.pp-ai-control{min-width:0;max-width:100%;font-size:16px}.pp-ai-date-sep{min-width:18px}
/* iOS date inputs keep a wide intrinsic size and ignore width:100% unless appearance is reset (same fix as .field input[type=date] below) — without this the research-form dates poke out of the panel on phones. The picker still opens on tap. */
.pp-ai-date-field input[type=date],.pp-date-range input[type=date]{-webkit-appearance:none;appearance:none}}
@media(max-width:720px){.pp-ai-research-form .pp-ai-query{font-size:16px}.pp-ai-research-form .pp-ai-submit{width:100%;min-height:44px}.pp-ai-pro-option{grid-template-columns:42px minmax(0,1fr)}.pp-ai-pro-cost{grid-column:2;justify-self:start}}
@media(max-width:430px){.pp-ai-date-range{grid-template-columns:1fr}.pp-ai-date-sep{display:none}}
.check{display:flex;gap:9px;align-items:flex-start;font-size:.93rem;margin:8px 0;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--ink);width:16px;height:16px}
.check>span{flex:1 1 auto;min-width:0}
.check:not(.switchy) input[type=checkbox],.check:not(.switchy) input[type=radio]{flex:none;width:16px;min-width:16px;max-width:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kpis .card,.stats .card{display:flex;flex-direction:column;justify-content:center;margin:0}
.acol{display:flex;flex-direction:column;gap:18px;min-width:0}
.acol>.card{margin:0}
.acol>.card:last-child{flex:1}
.kpis,.stats{align-items:stretch}
.howto-ov{position:fixed;inset:0;z-index:120;display:none;background:rgba(18,48,61,.45);padding:20px}
.howto-ov.open{display:grid;place-items:center}
.howto-open{overflow:hidden}
.howto-card{position:relative;z-index:1;background:var(--card);border:1px solid var(--line);border-radius:16px;max-width:740px;width:100%;max-height:90vh;overflow:auto;padding:26px;box-shadow:0 18px 50px rgba(18,48,61,.25)}
.howto-back{position:absolute;inset:0;background:transparent;border:0;cursor:default}
.howto-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;margin:16px 0}
.howto-step{display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px}
.howto-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--seal);color:#fff;display:grid;place-items:center;font:700 .95rem var(--display)}
.howto-step p{margin:3px 0 0;font-size:.9rem;line-height:1.5}
.howto-step b{font-size:.96rem}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:stretch}
.vgrid .card{margin:0;display:flex;flex-direction:column;gap:6px}
.vgrid .card p{margin:0}
.grid2 .card,.grid3 .card{margin-top:0}
@media(max-width:680px){.grid2,.grid3{grid-template-columns:1fr}}
.fr{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hp{position:absolute;left:-6000px;top:-6000px}

/* Cards & panels */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card+.card{margin-top:18px}
.grid2>.card+.card,.grid3>.card+.card{margin-top:0}
.card h3{display:flex;align-items:center;gap:9px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.panel-head>:is(h2,h3),.panel-head>div>:is(h2,h3){margin:0}

/* Tables */
.tbl{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tbl th{font:700 .76rem var(--body);letter-spacing:.05em;text-transform:uppercase;color:var(--graphite);text-align:left;padding:11px 13px;background:#FBFAF6;border-bottom:1px solid var(--line)}
.tbl td{padding:11px 13px;border-bottom:1px solid #EFEDE5;vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr:hover td{background:#FBFAF6}
.tbl-wrap{position:relative;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
.tbl .actions{white-space:nowrap;text-align:right}
.empty{padding:42px 20px;text-align:center;color:var(--graphite)}
.empty h3{justify-content:center} /* .card h3 is display:flex (icon+title), which ignored .empty's text-align:center — center the flex content so the empty-state heading ("Launch your first campaign", "Start your first petition", etc.) is centred too */
.empty .postmark{color:#cfccc0;margin-bottom:8px}

/* ===================== MARKETING ===================== */
/* Public pages are set entirely in Sina Nova, so the monospace token (cookie names, counters, badges) follows the body face there. */
/* The face is locked here so an admin font setting can never split the public pages (design contract 2.3). */
body.mk{--display:'Sina Nova','Sina Nova Fallback',Georgia,'Times New Roman',serif;--body:var(--display);--mono:var(--body)}
/* Public buttons draw a 1px edge (1.5px rendered unevenly on standard screens); form controls keep 1.5px. */
body.mk .btn{border-width:1px}
/* Primary action on the ink closing band. */
.btn.paper{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn.paper:active{background:#fff;border-color:#fff}
@media(hover:hover) and (pointer:fine){.btn.paper:hover{background:#fff;border-color:#fff}}
.mk-head{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:50}
.mk-nav{display:flex;align-items:center;gap:8px 26px;min-height:64px;height:auto;min-width:0;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.logo{display:flex;align-items:center;gap:10px;font:700 1.18rem var(--display);text-decoration:none;letter-spacing:-.01em}
.mk-nav .logo{position:relative;top:4px}
.logo .seal-dot{width:26px;height:26px;border-radius:50%;background:var(--seal);display:grid;place-items:center;color:#fff;flex:none}
.logo .seal-dot svg{width:15px;height:15px}
.mk-links{display:flex;gap:8px 22px;margin-left:auto;align-items:center;justify-content:flex-end;flex-wrap:wrap;min-width:0;max-width:100%}
.mk-links a{text-decoration:none;font-weight:500;font-size:.9375rem;max-width:100%;overflow-wrap:break-word}
@media(hover:hover) and (pointer:fine){.mk-links a:not(.btn):not(.lang-tog):hover{text-decoration:underline;text-decoration-color:rgba(18,48,61,.35);text-decoration-thickness:1px;text-underline-offset:5px}}
/* Header CTA: .mk-links a (0,1,1) used to override .btn.sm down to 14.56px / 500. */
.mk-links .btn{font-weight:700;font-size:.9375rem}
/* Language switch as a sliding toggle: an ink knob sits under the active language and slides to the
   other on click (the whole control is one link to switch). Both EN/FR always visible; clearly a toggle. */
.lang-tog{position:relative;display:inline-flex;align-items:center;width:76px;height:28px;flex:none;border:1px solid var(--line);border-radius:999px;background:var(--card,#fff);font:700 .75rem/1 var(--body);text-decoration:none;overflow:hidden;cursor:pointer}
.mk-links a.lang-tog{font:700 .75rem/1 var(--body)}
.lang-tog .seg{position:relative;z-index:1;flex:1;text-align:center;letter-spacing:.08em;color:#3A4C56;transition:color .12s}
.lang-tog .seg:first-child{color:#fff}
.lang-tog.is-fr .seg:first-child{color:#3A4C56}
.lang-tog.is-fr .seg:nth-child(2){color:#fff}
.lang-tog .knob{position:absolute;top:2px;left:2px;width:calc(50% - 3px);height:calc(100% - 4px);background:var(--ink);border-radius:999px;transition:left .28s ease;z-index:0}
.lang-tog.is-fr .knob{left:calc(50% + 1px)}
@media(hover:hover) and (pointer:fine){.lang-tog:hover .seg:nth-child(2),.lang-tog.is-fr:hover .seg:first-child{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.lang-tog .knob,.lang-tog .seg{transition:none}}
@media(forced-colors:active){.lang-tog .knob{outline:2px solid Highlight;outline-offset:-3px}.mk-head .logo img{background:#F7F6F0;border-radius:4px;padding:2px 6px;forced-color-adjust:none}}
/* In the mobile dropdown, .mk-links a is forced to block/full-width/padded for tappable nav rows — that
   wrecks the fixed-size pill. Re-assert the toggle's shape with higher specificity (a.lang-tog beats .mk-links a). */
@media(max-width:880px){.mk-links a.lang-tog{display:inline-flex;width:108px;height:44px;min-height:44px;padding:0;align-self:flex-start}}
/* Burger: bare 22px icon needs a ≥44px hit area — pad the button and pull the padding back out
   with negative margins so the visual layout is unchanged. */
.mk-burger{display:none;padding:11px;margin:-11px -11px -11px auto;background:none;border:0;cursor:pointer;color:var(--ink)}
.mk-burger .mkb-menu,.mk-burger .mkb-x{display:inline-flex}
.mk-burger .mkb-x{display:none}
.mk-burger[aria-expanded="true"] .mkb-menu{display:none}
.mk-burger[aria-expanded="true"] .mkb-x{display:inline-flex}
/* Compact header CTA shown only when the nav links are collapsed behind the burger.
   The burger keeps margin-left:auto so it stays pinned right when the CTA is absent (signed-in users). */
.mk-cta-m{display:none}
/* ≤880px the nav collapses behind the burger (the French row wrapped to two lines up to ~820px). */
@media(max-width:880px){
  .mk-nav{height:auto;min-height:56px;gap:8px;min-width:0;flex-wrap:nowrap}
  .mk-head .mk-nav{position:relative}
  .mk-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;padding:8px 22px 16px;gap:0;max-height:calc(100vh - var(--mk-header-height,56px) - 12px);max-height:calc(100dvh - var(--mk-header-height,56px) - 12px);overflow-y:auto;overscroll-behavior:contain}
  .mk-links.open{display:flex}.mk-burger{display:block;flex:0 0 44px;min-width:44px;min-height:44px;margin:0 0 0 auto}
  .mk-links a{display:flex;align-items:center;min-height:44px;padding:0;width:100%}
  .mk-links .btn{display:inline-flex;width:auto;align-self:flex-start;justify-content:center;margin-top:8px}
  .mk-links .btn.seal{order:-1;width:100%;align-self:stretch;min-height:44px;margin:0 0 8px}
  /* the bar already shows the trial button: don't repeat it at the top of the open menu */
  .mk-cta-m~.mk-links .btn.seal{display:none}
  /* 56px bar: keep the mark proportional while allowing it to yield space to the CTA + burger
     on 320px/French layouts. The same sizing lives in pp_critical_css, preventing a CSS-load shift. */
  .mk-nav .logo{top:0;width:clamp(92px,38vw,168px);min-width:92px;max-width:42vw;overflow:hidden;flex:0 1 clamp(92px,38vw,168px)}
  .mk-nav .logo img{display:block;width:100%!important;height:auto!important;max-width:100%;max-height:44px;object-fit:contain;object-position:left center}
  .mk-cta-m{display:inline-flex;margin-left:auto;min-width:0;max-width:none;flex:0 1 auto;min-height:44px;white-space:normal;overflow-wrap:break-word;text-align:center;justify-content:center;padding-left:14px;padding-right:14px;font-size:.9375rem}
  .mk-cta-m+.mk-burger{margin-left:0}
  html.mk-nav-open{overflow:hidden}
}
@media(max-width:640px){.mk-links{padding-left:16px;padding-right:16px}}
.hero{padding:72px 0 28px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}
/* Single-column hero (after the interactive demo was removed): centred, comfortable measure. */
.hero-solo{max-width:760px;margin:0 auto;text-align:center}
.hero-solo .lede{margin-left:auto;margin-right:auto}
.hero-solo .hero-cta{justify-content:center}
/* Envelope back-flap hanging from the top of the hero — ties to the airmail bar. */
.hero:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:158%;height:150px;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(18,48,61,.055),rgba(18,48,61,.01));clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 1px 0 rgba(18,48,61,.15)) drop-shadow(0 7px 7px rgba(18,48,61,.06))}
.hero.has-heroimg:before{background:linear-gradient(180deg,rgba(247,246,240,.55),rgba(247,246,240,.94)),var(--flap-img);background-size:cover;background-position:center;background-repeat:no-repeat}
.hero>.wrap{position:relative;z-index:1}
@media(max-width:860px){.hero:before{width:200%;height:150px}.hero.has-heroimg{padding-top:90px}.hero.has-heroimg:before{background:linear-gradient(180deg,rgba(247,246,240,.18),rgba(247,246,240,.6) 48%,rgba(247,246,240,.95) 82%),var(--flap-img);background-size:cover;background-position:center;background-repeat:no-repeat}}
.kicker{font:700 .72rem var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--seal);margin-bottom:14px;display:flex;gap:10px;align-items:center}
.kicker:before{content:"";width:18px;height:2px;background:var(--seal);flex:none}
.kicker:before{content:"";width:26px;height:2px;background:var(--seal)}
.hero p.lede{font-size:1.13rem;color:var(--graphite);max-width:46ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-note{margin-top:14px;font-size:.86rem;color:var(--graphite)}
/* envelope visual */
.envelope{position:relative;max-width:430px;margin:0 auto;filter:drop-shadow(0 18px 30px rgba(18,48,61,.18))}
.env-letter{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px 24px 20px;font-family:'Sina Nova',Georgia,serif;font-size:.82rem;line-height:1.7;color:var(--ink);
  transform:translateY(34px) rotate(-1.2deg);animation:rise 1.1s .25s cubic-bezier(.2,.8,.3,1) both}
.env-letter .el-head{font:700 .68rem var(--body);letter-spacing:.1em;text-transform:uppercase;border-top:5px solid var(--ink);padding-top:10px;margin-bottom:12px;display:flex;justify-content:space-between;color:var(--graphite)}
.env-letter .el-line{height:7px;background:#EDEBE2;border-radius:4px;margin:9px 0}
.env-letter .el-line.w60{width:60%}.env-letter .el-line.w85{width:85%}.env-letter .el-line.w72{width:72%}
.env-letter .el-sign{font-family:var(--hand);font-style:italic;font-size:1.5rem;color:var(--ink);margin-top:14px}
.env-body{position:relative;margin-top:-30px;background:linear-gradient(180deg,#fff, #F4F2EA);border:1px solid var(--line);border-radius:8px;height:118px;
  -webkit-mask:linear-gradient(#000,#000)}
.env-body:before{content:"";position:absolute;inset:0;border-radius:8px;background:repeating-linear-gradient(135deg,var(--seal) 0 12px,transparent 12px 22px,var(--ink) 22px 34px,transparent 34px 44px);
  -webkit-mask:linear-gradient(#000,#000) top/100% 7px no-repeat;mask:linear-gradient(#000,#000) top/100% 7px no-repeat}
.env-stamp{position:absolute;right:18px;top:20px;width:58px;height:68px;background:#fff;border:1px solid var(--line);border-radius:4px;
  box-shadow:0 0 0 5px #fff,0 0 0 6px var(--line);display:grid;place-items:center;color:var(--seal);transform:rotate(3deg)}
.env-mark{position:absolute;left:16px;top:12px;color:rgba(18,48,61,.5)}
@keyframes rise{from{transform:translateY(112px) rotate(-1.2deg);opacity:.2}to{transform:translateY(34px) rotate(-1.2deg);opacity:1}}
.trustline{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--line);padding:22px 0;color:var(--graphite);font-size:.9rem;align-items:center}
.trustline strong{color:var(--ink)}

.sec{padding:64px 0}
.sec.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:640px;margin-bottom:40px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px 22px 22px}
.step:before{counter-increment:s;content:counter(s,decimal-leading-zero);font:700 .8rem var(--mono);color:var(--seal);letter-spacing:.1em}
.step h3{margin-top:10px}
.delivery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.delivery{grid-template-columns:1fr}}
.dcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative;overflow:hidden}
.dcard .di{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1.5px solid var(--seal);margin-bottom:14px;color:var(--seal)}
.dcard.hot{border-color:var(--seal)}
.dcard.hot:after{content:none}
.hand-demo{font-family:var(--hand);font-style:italic;font-size:1.35rem;color:var(--ink);background:#fff;border:1px dashed var(--line);border-radius:8px;padding:10px 14px;margin-top:12px;transform:rotate(-.6deg)}
.featgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.feat{display:flex;gap:13px}
.feat .fi{flex:none;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}
.feat h3{margin-bottom:3px;font-size:1.05rem}.feat p{font-size:.9rem;color:var(--graphite);margin:0}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
@media(max-width:860px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:28px 24px;display:flex;flex-direction:column}
.plan.hot{border-color:var(--ink);box-shadow:var(--shadow);position:relative}
.plan.hot .pop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font:700 .68rem var(--body);letter-spacing:.08em;padding:4px 12px;border-radius:99px}
.plan .price{font:700 2.3rem var(--display);margin:8px 0 2px}
.plan .price span{font:500 .95rem var(--body);color:var(--graphite)}
.plan ul{list-style:none;padding:0;margin:18px 0 22px;flex:1}
.plan li{padding:6px 0;font-size:.93rem;display:flex;gap:9px;align-items:flex-start}
.plan li .i{color:var(--green);flex:none;margin-top:2px}
.plan .muted,.plan .price span,.plan li.cap{color:var(--ink)}
.faq{max-width:740px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{font:700 1rem var(--body);padding:12px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq summary:after{content:"+";font-family:var(--display);color:var(--seal);font-size:1.2rem}
.faq details[open] summary:after{content:"–"}
.faq p{color:var(--graphite);padding-bottom:12px}
.cta-band{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:46px 38px;display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band h2{color:#fff;margin:0}
.cta-band .postmark{position:absolute;right:-14px;top:-18px;color:rgba(255,255,255,.16)}
.mk-foot{border-top:1px solid var(--line);padding:72px 0;color:var(--graphite);font-size:.9rem}
/* Membership credentials, under the footer's cookie-settings control. */
.mk-foot-member{margin-top:22px}
.mk-foot-member .lp-member-group{display:flex;flex-direction:column;gap:9px;min-width:0}
.mk-foot-member .lp-member-t{font:700 11px/1 var(--display);letter-spacing:1.3px;text-transform:uppercase;color:var(--graphite)}
.mk-foot-member .lp-member-logos{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.mk-foot-member .lp-member-logo{height:26px;width:auto;max-width:170px;object-fit:contain;display:block}
/* phone: the strip centres under the cookie control (desktop stays left-aligned). 640px
 matches where the footer's own link columns collapse. */
@media(max-width:640px){.mk-foot-member{text-align:center}.mk-foot-member .lp-member-group{align-items:center}.mk-foot-member .lp-member-logos{justify-content:center}.mk-foot-member .lp-member-logo{height:22px}}
.mk-foot .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.mk-foot .cols{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:24px 42px;line-height:2.35}
.mk-foot .mk-foot-grid{display:grid;grid-template-columns:minmax(280px,430px) minmax(0,680px);justify-content:space-between;gap:30px 56px;align-items:start}
.mk-foot .mk-foot-grid .cols{justify-self:end;width:min(100%,680px);grid-template-columns:minmax(110px,145px) minmax(150px,220px) minmax(min-content,1fr);gap:22px 34px} /* shrinkable tracks — fixed 673px min overflowed every 961–1255px viewport */
.mk-foot .mk-foot-grid .cols a{overflow-wrap:break-word}
.mk-foot .cols b{display:block;color:var(--ink);margin-bottom:8px;font-size:.95em}
/* Footer links: colour-only at rest (the 2.35 line-height list read as a heavy ruled block), underline on hover/focus */
.mk-foot .cols a{text-decoration:none;display:block;padding:4px 0;margin:0;min-height:32px}.mk-foot .cols br{display:none} /* ≥24px hit area inside the same 2.35 line pitch */
.mk-foot .cols a:focus-visible{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.mk-foot .cols a:hover{text-decoration:underline}}
@media(max-width:960px){.mk-foot .mk-foot-grid{grid-template-columns:1fr}.mk-foot .mk-foot-grid .cols{justify-self:stretch;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.mk-foot .cols,.mk-foot .mk-foot-grid .cols{grid-template-columns:1fr;gap:14px 30px}}
.mk-foot .support-line{margin-top:20px;font-size:1em}
.mk-foot .support-line a{display:inline-block;padding:4px 2px;margin:-4px -2px} /* comfortable tap area for the mailto without shifting the line */
.mk-foot .foot-addr{margin-top:18px;font-style:normal;line-height:1.7;color:var(--graphite);font-size:.95em}
/* Public-shell footer (design contract 3.17): 14px throughout, one heading style for Product/Company/Legal/Member of,
 * links in ink with an underline only on hover or focus, and a left-aligned two-column phone layout. Campaign footers keep theirs. */
body.mk .mk-foot{font-size:.875rem;padding:64px 0 calc(64px + env(safe-area-inset-bottom))}
body.mk .mk-foot .cols b,body.mk .mk-foot-member .lp-member-t{display:block;margin:0 0 8px;font:700 .875rem/1.3 var(--body);letter-spacing:0;text-transform:none;text-decoration:none;color:var(--ink)}
body.mk .mk-foot .cols a{color:var(--ink)}
body.mk .mk-foot .foot-addr{font-size:1em}
@media(max-width:640px){
  body.mk .mk-foot{text-align:left;padding-top:48px;padding-bottom:calc(48px + env(safe-area-inset-bottom))}
  body.mk .mk-foot .mk-foot-grid{justify-items:stretch}
  body.mk .mk-foot .cols,body.mk .mk-foot .mk-foot-grid .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
  body.mk .mk-foot .cols>div:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;column-gap:20px}
  body.mk .mk-foot .cols>div:last-child>b{flex-basis:100%}
  body.mk .mk-foot .cols a{display:flex;align-items:center;min-height:44px;min-width:0;padding:0}
  body.mk .mk-foot-member{text-align:left}
  body.mk .mk-foot-member .lp-member-group{align-items:flex-start}
  body.mk .mk-foot-member .lp-member-logos{justify-content:flex-start}
}
/* Readability: subtle only — the Aa+ control (header/footer) is the opt-in path to larger text. */
.mk-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;font-weight:700}
.pub .field input,.pub .field select,.pub .field textarea{font-size:1.05rem}
.consent-opt{display:flex;gap:9px;align-items:flex-start;margin:8px 0;cursor:pointer;font-size:.98em}
.consent-opt input{margin-top:3px;flex:0 0 auto}
.uniq-band{background:var(--ink);color:#EDEAE0;border-radius:var(--r);padding:24px 28px;margin-top:22px}
.uniq-band h3{color:#fff;margin:0 0 14px;font-family:var(--display)}
.uniq-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px}
.uniq-band li{display:flex;gap:9px;align-items:flex-start;font-size:.95em}
.uniq-band li svg{color:#9BC4A4;flex:0 0 auto;margin-top:3px}
@media(max-width:820px){.uniq-band ul{grid-template-columns:1fr}}
.evidence{border-left:4px solid var(--seal)}
.matrix-fold{margin:26px auto 0}
.matrix-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:14px 22px;font:700 1rem var(--body);color:var(--ink)}
.matrix-fold>summary::-webkit-details-marker{display:none}
.matrix-fold>summary:after{content:"▾";color:var(--seal);transition:transform .15s ease}
.matrix-fold>summary:hover{border-color:var(--ink)}
.matrix-fold[open]>summary{border-radius:var(--r) var(--r) 0 0;border-bottom-color:var(--paper)}
.matrix-fold[open]>summary:after{transform:rotate(180deg)}
.matrix-fold .matrix-wrap{border:1.5px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);background:#fff;padding:4px 14px 14px;margin-top:0}
.ev-stat{font-family:var(--display);font-size:2.1rem;margin:4px 0 0}
.cr-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.cr-rows li{display:flex;gap:10px;align-items:flex-start}
.cr-rows li svg{flex:0 0 auto;margin-top:3px;color:var(--seal)}

/* ===================== AUTH ===================== */
.auth{--auth-pad-t:max(34px,env(safe-area-inset-top));--auth-pad-r:max(16px,env(safe-area-inset-right));--auth-pad-b:max(34px,env(safe-area-inset-bottom));--auth-pad-l:max(16px,env(safe-area-inset-left));width:100%;min-width:0;min-height:100vh;min-height:100dvh;display:block;padding:34px 16px;padding:var(--auth-pad-t) var(--auth-pad-r) var(--auth-pad-b) var(--auth-pad-l);background:
  radial-gradient(900px 480px at 85% -10%,#fff 0%,transparent 60%),var(--paper)}
/* Centre only the language switch + card in the usable viewport. Accessibility and legal links
 * remain below and may scroll. The auto margins collapse to zero whenever long copy or browser
 * zoom makes the card taller than the viewport, which keeps the top of the form reachable. */
.auth>.auth-shell{width:100%;max-width:430px;min-width:0;margin-inline:auto}
.auth-core{width:100%;min-width:0;min-height:calc(100vh - var(--auth-pad-t) - var(--auth-pad-b) - var(--pp-cc-h,0px));min-height:calc(100dvh - var(--auth-pad-t) - var(--auth-pad-b) - var(--pp-cc-h,0px));display:flex;flex-direction:column}
.auth-lang{display:flex;justify-content:flex-end;margin-top:auto;margin-bottom:12px;min-width:0}
.auth-card{width:100%;max-width:430px;min-width:0;margin-bottom:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px} /* borders-only (shadow dropped for the one sitewide shadow policy) */
.auth-card .logo{justify-content:center;min-width:0;max-width:100%;margin-bottom:8px;text-align:center;overflow-wrap:anywhere}
.auth-card .logo img{width:auto;height:auto;max-width:100%;max-height:56px}
.auth-card h1{font-size:1.5rem;text-align:center}
.auth-card form,.auth-card .field,.auth-card .field>div{min-width:0;max-width:100%}
.auth-password-row{display:flex;gap:8px;min-width:0;max-width:100%}
.auth-password-row input{flex:1 1 auto!important;width:auto!important;min-width:0}
.auth-password-row .btn{flex:0 0 auto}
.auth-card .sub{text-align:center;color:var(--graphite);margin-bottom:22px;font-size:.93rem}
.auth-foot{text-align:center;margin-top:18px;font-size:.9rem;color:var(--graphite)}
.auth-foot a{display:inline-block;padding:6px 8px} /* distinct ≥24px targets for the adjacent dot-separated links */
.auth-foot.auth-legal{margin-top:6px}
.auth-extras{margin-top:14px;text-align:center}
.auth-card .check input[type=checkbox]{width:22px;min-width:22px;max-width:22px;height:22px;margin-top:1px} /* match the 24px dpa-gate convention */
.auth-card .sub,.auth-card .muted{overflow-wrap:anywhere} /* the 2FA sub + support line interpolate a full email address — break it rather than overflow the 430px card */
/* Small phones: use the full safe width. The 320px rule below leaves a little extra card width for
   Turnstile's documented 300px rectangular minimum without changing the centred card geometry. */
@media(max-width:560px){
  .auth{--auth-pad-t:max(20px,env(safe-area-inset-top));--auth-pad-r:max(10px,env(safe-area-inset-right));--auth-pad-b:max(20px,env(safe-area-inset-bottom));--auth-pad-l:max(10px,env(safe-area-inset-left));padding:20px 10px;padding:var(--auth-pad-t) var(--auth-pad-r) var(--auth-pad-b) var(--auth-pad-l)}
  .auth-card{max-width:100%;padding:24px 16px}
  .auth-foot a{padding:12px 8px} /* ≥44px targets for the adjacent dot-separated links */
  .auth-card #suback{display:inline-block;padding:12px 14px} /* signup "Back" text link → real thumb target */
  .auth-card details>summary{padding:10px 0} /* promo-code toggle; the su-opt summary keeps its inline 12px 14px */
}
@media(min-width:320px) and (max-width:340px){
  .auth{--auth-pad-r:max(8px,env(safe-area-inset-right));--auth-pad-l:max(8px,env(safe-area-inset-left))}
}

/* ===================== APP SHELL ===================== */
.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.app-client{grid-template-columns:280px minmax(0,1fr)}
/* Dashboard left bar: fixed navy protects label contrast even when administrators customize page colours.
 * The dark theme below shifts it to a deeper navy; all children remain light-on-dark. */
.side{background:#12303D;color:#E8EFF4;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid rgba(0,0,0,.14);overflow:hidden}
.side-head{display:flex;align-items:center;gap:8px;padding:0 8px 0 0}
.dash-logo{display:flex;align-items:center;gap:11px;padding:20px 18px 14px;text-decoration:none;min-width:0;flex:1}
.dash-logo img{max-height:38px;max-width:172px;display:block}
.dash-logo-ph .dlm{width:36px;height:36px;border-radius:9px;background:var(--seal);color:#fff;display:grid;place-items:center;font:700 1.05rem var(--display);flex:none}
.app-client .dash-logo-ph .dlm{background:#5E7FAE}
.dash-logo-ph .dlt{display:flex;flex-direction:column;line-height:1.12;min-width:0}
.dash-logo-ph .dlt b{font:700 1.06rem var(--display);color:#fff;letter-spacing:-.01em}
.dash-logo-ph .dlt small{font:700 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9AAFBC;margin-top:3px;white-space:nowrap}
.side-close{display:none;border:0;background:transparent;color:#fff;border-radius:8px;width:44px;height:44px;place-items:center;cursor:pointer;flex:none}
.side-search{padding:0 12px 8px}
.side-context{padding:0 14px 10px}
.side-context-label{display:block;color:#B9CCD4;font:700 .69rem/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.side-context-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.side-context select{min-width:0;width:100%;min-height:40px;border:1px solid #465F6D;background:#223B4A;color:#F4F8FA;border-radius:8px;padding:7px 8px;font:600 .8rem var(--body)}
.side-context-submit{min-height:40px;border:1px solid #52717F;background:#364F5E;color:#fff;border-radius:8px;padding:7px 10px;font:700 .78rem var(--body);cursor:pointer}
.side-context-submit:hover{background:#465F6D}
.side nav{padding:4px 10px 12px;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.24) transparent}
.side .nv{display:flex;align-items:center;gap:10px;min-height:44px;color:#C1D1D7;text-decoration:none;font:500 .91rem/1.28 var(--body);padding:9px 12px;border-radius:9px;margin:2px 0;position:relative}
.side .nv:hover{background:rgba(255,255,255,.09);color:#fff}
.side .nv.on{background:#F7F9FB;color:#12303D;font-weight:700;box-shadow:inset 3px 0 0 var(--seal),0 1px 3px rgba(0,0,0,.18)}
.side .nv-icon{width:18px;height:18px;display:inline-grid;place-items:center;flex:none}
.side .nv-label{flex:1;min-width:0;overflow-wrap:anywhere}
.side .nv .i{opacity:.82}.side .nv.on .i{opacity:1}
.side .grp{color:#C1D1D7;padding:8px 10px}
.side details.navgrp{margin:4px 0}
.side .navsum{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:52px;cursor:pointer;list-style:none;user-select:none;border-radius:9px}
.side .navsum::-webkit-details-marker{display:none}
.side .navsum:hover{background:rgba(255,255,255,.055);color:#fff}
.side details.navgrp.is-current>.navsum{color:#fff}
.side .navsum-main{display:block;min-width:0;flex:1}
.side .navsum-line{display:flex;align-items:center;gap:8px}
.side .navsum-icon{width:18px;height:18px;display:inline-grid;place-items:center;color:#D5E1E6;flex:none}
.side .navsum-label{font:800 .76rem/1.15 var(--body);letter-spacing:.09em;text-transform:uppercase;color:inherit}
.side .navsum-desc{display:block;margin:3px 0 0 26px;color:#98B0B8;font:500 .7rem/1.25 var(--body);overflow-wrap:anywhere;letter-spacing:0;text-transform:none}
.side .nav-caret{flex:none;opacity:.55;transition:transform .15s ease}
.side details.navgrp[open]>.navsum .nav-caret{transform:rotate(180deg)}
.side .navgrp-body{padding:2px 0 4px}
/* Client navigation uses the public palette from database settings.
 * Root brand aliases keep the menu Ink blue when dark-mode text becomes light. */
.app.app-client .side,.app.app-client.theme-dark .side{--nav-paper:var(--brand-paper,var(--paper));--nav-muted:color-mix(in srgb,var(--nav-paper) 82%,transparent);--nav-section:color-mix(in srgb,var(--nav-paper) 5%,transparent);--nav-hover:color-mix(in srgb,var(--nav-paper) 9%,transparent);--nav-current:color-mix(in srgb,var(--nav-paper) 18%,transparent);background:var(--brand-ink,var(--ink));color:var(--nav-paper);border-right-color:rgba(0,0,0,.14)}
.app-client .side .dash-logo{padding-block:14px 10px}
/* The larger-text preference zooms the app; keep viewport-sized sidebar bounds on screen. */
.app-client.text-lg .side{height:calc(100vh / 1.1)}
.app-client .side .side-search{padding:0 12px 6px}
.app-client .side nav{padding:3px 12px 12px;min-height:0;scroll-padding-block:6px}
.app-client .side nav>.nv[data-nav-route="app"]{margin-bottom:12px}
.app-client .side details.navgrp{margin:3px 0}
.app-client .side .navsum{min-height:44px;padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--nav-paper);box-shadow:none;transition:background .15s ease,color .15s ease}
.app-client .side details.navgrp[open]>.navsum,.app-client .side details.navgrp.is-current>.navsum{background:var(--nav-section);color:var(--nav-paper)}
.app-client .side .navsum:hover{background:var(--nav-hover);color:var(--nav-paper)}
.app-client .side .navsum-icon,.app-client .side .nav-caret{color:var(--nav-muted);opacity:1}
.app-client .side details.navgrp[open]>.navsum .navsum-icon,.app-client .side details.navgrp[open]>.navsum .nav-caret{color:var(--nav-paper)}
.app-client .side .navsum-label{font:700 .91rem/1.2 var(--body);letter-spacing:0;text-transform:none}
.app-client .side .navsum-desc{display:none}
.app-client .side .navgrp-body{padding:3px 0 5px 10px}
.app-client .side .navgrp-body .nv{min-height:44px;margin:0;padding:7px 10px;border-radius:7px;color:var(--nav-muted);font:500 .89rem/1.25 var(--body)}
.app-client .side .navgrp-body .nv:hover{background:var(--nav-hover);color:var(--nav-paper)}
.app.app-client .side .navgrp-body .nv.on{padding-left:13px;background:var(--nav-current);color:var(--nav-paper);font-weight:700;box-shadow:none}
.app-client .side .navgrp-body .nv.on:before{content:"";position:absolute;left:2px;top:50%;width:3px;height:20px;border-radius:3px;background:var(--nav-paper);transform:translateY(-50%)}
.app-client .side .navgrp-body .nv.on .nv-icon{color:var(--nav-paper)}
.app-client .side .nav-subhead{padding:8px 10px 3px;color:var(--nav-muted);font-size:.64rem;letter-spacing:.075em}
.side .nav-subhead{color:#AEC1C8;font:800 .68rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:10px 12px 3px}
.side .sfoot{padding:14px;border-top:1px solid rgba(255,255,255,.10);font-size:.84rem}
.side .sfoot .who{color:#fff;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.side .sfoot a{color:#AEC1C8}
.side .sfoot-email{color:#9AAFBC;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.side .sfoot-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;flex-wrap:wrap}
.app-client .side .sfoot-actions{gap:6px;flex-wrap:nowrap}
.side .sfoot-actions form{margin:0}
.side-pref-actions{display:none}
.side .side-pref{width:100%;height:44px;padding:0 10px;justify-content:flex-start;gap:8px;border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#D7DFEB;font:700 .78rem/1.2 var(--body)}
.side .side-pref:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);color:#fff}
.side .side-pref>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side .side-pref.text-toggle[aria-pressed="true"]{background:rgba(126,169,222,.2);border-color:rgba(145,185,234,.4);color:#fff}
/* EN│FR toggle on the always-dark sidebar. NO container track/border/overflow: a translucent-white track over the
   dark sidebar reads as a blue block on the INACTIVE side (and a blue rim at the active corners). Instead each
   segment rounds ITSELF — the active one is a clean white pill, the inactive one is just text on the sidebar. */
.side .side-lang{display:inline-flex;align-items:center;gap:5px;font:700 .72rem/1 var(--mono,ui-monospace,monospace);background:none;border:0}
.side .side-lang-seg{display:inline-grid;place-items:center;min-width:44px;min-height:40px;padding:7px 11px;border-radius:999px;color:#C1D1D7;text-decoration:none;letter-spacing:.06em;transition:background .15s ease,color .15s ease}
.side .side-lang-seg:hover{color:#fff}
.side .side-lang-seg.on{background:#fff;color:#12303D}
/* Sign-out button */
.side .side-out{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#E8EFF4;border-radius:8px;padding:7px 13px;font:700 .82rem var(--body);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.side .side-out:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.32);color:#fff}
.side .side-out:focus-visible{outline:2px solid #fff;outline-offset:2px}
.side .side-out .i{opacity:.85}
.app-client .side .sfoot-actions .side-out{gap:5px;padding-inline:7px;font-size:.75rem;white-space:nowrap}
.credits-pill{display:flex;align-items:center;gap:8px;margin:8px 12px 10px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px;font-size:.82rem;line-height:1.25;color:#C1D1D7;text-decoration:none}
.credits-pill>.credits-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.credits-pill>.i{flex:none;opacity:.72}
.credits-pill:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);color:#fff}
.credits-pill b{color:#fff;font-size:1.05rem}.credits-trial{color:#F0B9B0;font-size:.76rem}
.app-client .credits-pill{margin:0 14px 6px;padding:10px 2px;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.1);border-radius:0}
.app-client .credits-pill:hover{background:rgba(255,255,255,.04);border-top-color:rgba(255,255,255,.16)}
.app-client .side .sfoot{padding:12px 14px 14px}
.side-backdrop{display:none}.side-backdrop[hidden]{display:none!important}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:14px;padding:14px 26px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:30;flex-wrap:wrap}
.topbar h1{font-size:1.3rem;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .sp{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.content{padding:26px;max-width:1280px;width:100%;margin:0 auto}
.pp-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.pp-page-actions.after-mast{margin-top:-10px}
.pp-page-actions>form{display:flex;margin:0}
.imp-banner{background:var(--seal);color:#fff;padding:9px 26px;font-size:.9rem;display:flex;gap:12px;align-items:center}
.imp-banner a{color:#fff;font-weight:700}
.menu-btn{display:none;background:none;border:0;color:var(--ink);cursor:pointer}
@media(max-width:900px){
  .app{grid-template-columns:1fr}
  html.side-drawer-open{overflow:hidden}
  html.side-drawer-open body{overflow:hidden;overscroll-behavior:none}
  .side{position:fixed;left:0;top:0;bottom:0;width:min(288px,calc(100vw - 44px));z-index:80;transform:translateX(-100%);transition:transform .2s ease,visibility .2s;visibility:hidden;pointer-events:none;height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}
  .app-client .side{width:min(320px,calc(100vw - 24px))}
  .app-client.text-lg .side{width:min(320px,calc((100vw - 24px) / 1.1));height:calc(100dvh / 1.1)}
  .side.open{transform:none;visibility:visible;pointer-events:auto;box-shadow:8px 0 28px rgba(10,16,28,.28)}
  .app-client .side.open{transition-property:transform}
  .side-close{display:grid;background:rgba(255,255,255,.055)}
  .side-close:hover{background:rgba(255,255,255,.11)}
  .side-backdrop{display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(20,28,46,.48);cursor:pointer}
  .side nav{-webkit-overflow-scrolling:touch}
  .app-client .side .navsum{min-height:50px}
  .app-client .side .navgrp-body .nv{min-height:48px}
  .side .side-lang-seg,.side .side-out,.side-context select,.side-context-submit{min-height:44px}
  .menu-btn{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
  .content{padding:18px 16px}
  .topbar{padding:12px 16px}
  .topbar h1{font-size:1.08rem}
}
@media(max-width:760px){
  .topbar .theme-toggle{display:none}
  .side-pref-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
}
@media(max-width:420px){.app-client .side{width:calc(100vw - 16px)}}
@media(max-width:420px){.app-client.text-lg .side{width:calc((100vw - 16px) / 1.1)}}
@media(prefers-reduced-motion:reduce){.side,.side .nav-caret{transition:none!important}}
@media(max-width:640px){
  .pp-page-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .pp-page-actions>:last-child:nth-child(odd){grid-column:1/-1}
  .pp-page-actions>.btn,.pp-page-actions>form,.pp-page-actions>form>.btn{width:100%;justify-content:center}
}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:22px}
.stat{display:flex;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.stat-i{width:38px;height:38px;flex:none;border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}
.stat-v{font:700 1.5rem var(--display);line-height:1.1;font-variant-numeric:tabular-nums}
.stat-l{font-size:.8rem;color:var(--graphite);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.stat-s{font-size:.8rem;color:var(--graphite);margin-top:2px}
.checklist li{list-style:none;display:flex;gap:10px;padding:7px 0;align-items:flex-start;font-size:.93rem}
.checklist{padding:0;margin:0}
.checklist .ok{color:var(--green)} .checklist .no{color:var(--faint)} .checklist .warn{color:var(--amber)}
.copyrow{display:flex;gap:8px}
.copyrow input{flex:1;min-height:44px;font-family:var(--mono);font-size:.85rem;border:1.5px solid var(--control-border);border-radius:var(--r);background:#fff;color:var(--ink);padding:0 10px}

/* ===================== PUBLIC CAMPAIGN ===================== */
.pub{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.pub-shell{flex:1 0 auto;min-width:0}
.pub-head{border-bottom:1px solid var(--line);background:#fff}
.pub-head .wrap{display:flex;align-items:center;gap:14px;width:100%;height:60px}
.pub-org{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1 auto;overflow:hidden;font:700 1rem var(--display)}
.pub-org-logo{display:block;flex:0 1 auto;width:auto;max-width:min(150px,40vw);height:30px;object-fit:contain}
.pub-org-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub-head-actions{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:14px;min-width:0;max-width:100%}
.pub-pow{min-width:0;margin-left:auto;font-size:.85rem;color:var(--graphite);text-decoration:none;white-space:nowrap}
.pub-shell:not(.embed-mode) .pub-head>.wrap,.pub-shell:not(.embed-mode) .pub-main>.wrap,.pub-shell:not(.embed-mode)>.mk-foot>.wrap,.pub-shell:not(.embed-mode)>div.wrap{width:100%;margin-left:auto;margin-right:auto;padding-left:22px;padding-left:max(22px,env(safe-area-inset-left));padding-right:22px;padding-right:max(22px,env(safe-area-inset-right))}
.pub-main{flex:1;padding:34px 0 64px}
.pub-main>.wrap{width:100%;min-width:0}
.pub-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:34px;align-items:start;width:100%;max-width:100%;margin-inline:auto}
.pub-grid>*{min-width:0;max-width:100%}
.pub .card{min-width:0;max-width:100%}
@media(max-width:900px){.pub-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .pub-head .wrap{height:auto;min-height:56px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-top:10px;padding-bottom:10px}
  .pub-org,.pub-head-actions{width:100%;grid-column:1}
  .pub-org-name{white-space:normal;overflow-wrap:anywhere}
  .pub-head-actions{justify-content:space-between;gap:8px;flex-wrap:wrap}
  .pub-pow{margin-left:auto;white-space:normal;overflow-wrap:anywhere;text-align:right}
  .pub-shell:not(.embed-mode) .pub-head>.wrap,.pub-shell:not(.embed-mode) .pub-main>.wrap,.pub-shell:not(.embed-mode)>.mk-foot>.wrap,.pub-shell:not(.embed-mode)>div.wrap{padding-left:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:16px;padding-right:max(16px,env(safe-area-inset-right))}
}
.pub .campaign-progress{margin:20px 0 28px}
.pub .campaign-step-summary{margin:0 0 10px;color:var(--ink);font:700 .95rem/1.4 var(--body)}
.pub .campaign-step-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line)}
.pub .campaign-step-item{position:relative;display:flex;align-items:center;gap:9px;min-width:0;min-height:56px;padding:8px 10px;border-bottom:3px solid transparent;background:transparent;color:var(--graphite)}
.pub .campaign-step-item:first-child{padding-left:0}
.pub .campaign-step-item:last-child{padding-right:0}
.pub .campaign-step-marker{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1.5px solid var(--control-border);border-radius:50%;background:var(--card);color:var(--ink);font:700 .78rem/1 var(--body)}
.pub .campaign-step-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.pub .campaign-step-label{color:inherit;font:700 .84rem/1.3 var(--body);overflow-wrap:anywhere}
.pub .campaign-step-state{color:var(--graphite);font:700 .7rem/1.3 var(--body)}
.pub .campaign-step-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.pub .campaign-step-item.is-current{border-bottom-color:var(--ink);color:var(--ink)}
.pub .campaign-step-item.is-current .campaign-step-marker{border-color:var(--ink);background:var(--ink);color:#fff}
.pub .campaign-step-item.is-complete{color:var(--ink)}
.pub .campaign-step-item.is-complete .campaign-step-marker{border-color:var(--green);background:var(--green);color:#fff}
.pub .campaign-step-item.is-complete .campaign-step-state{color:var(--green)}
@media(max-width:640px){
  .pub .campaign-progress{margin:16px 0 22px}
  .pub .campaign-step-summary{margin-bottom:10px}
  .pub .campaign-step-list{grid-template-columns:repeat(5,minmax(0,1fr))}
  .pub .campaign-step-item,.pub .campaign-step-item:first-child,.pub .campaign-step-item:last-child{justify-content:center;min-height:44px;padding:6px 2px}
  .pub .campaign-step-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
}
@media(forced-colors:active){
  .pub .campaign-step-marker{border-color:CanvasText}
  .pub .campaign-step-item.is-current{border-bottom-color:Highlight}
  .pub .campaign-step-item.is-current .campaign-step-marker{border-color:Highlight;background:Highlight;color:HighlightText}
  .pub .campaign-step-item.is-complete .campaign-step-marker{border-color:CanvasText;background:Canvas;color:CanvasText}
}
.camp-title,.camp-title h1,.camp-bg,.camp-blocks{min-width:0;overflow-wrap:anywhere}
.camp-title h1{font-size:clamp(1.6rem,4vw,2.4rem)}
.camp-bg{color:var(--graphite);font-size:1.02rem;max-width:60ch}
.points{margin:14px 0;padding:0;list-style:none}
.points li{display:flex;gap:10px;padding:5px 0;font-size:.95rem}
.points li .i{color:var(--seal);flex:none;margin-top:3px}
.rep-card{display:flex;gap:14px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;transition:border-color .12s,box-shadow .12s;width:100%;text-align:left;font:inherit;color:inherit;align-items:center}
.rep-card:hover{border-color:var(--ink)} .rep-card.sel{border-color:var(--seal);box-shadow:0 0 0 3px rgba(110,47,43,.14)}
.rep-card+.rep-card{margin-top:10px}
/* Rep-picker action box: a dedicated "what to do next" card that sits right under the campaign
 * intro (fixed, predictable spot — DESIGN-STANDARD §1 primary-action area), instead of a Continue
 * lost below a long councillor list. Greyed/disabled until a representative is picked; then the
 * border and button turn seal and the status line names the pick. The in-form button at the end
 * of the list stays as a convenience for people who choose near the bottom. */
.rep-continue{margin-top:12px}
.act-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}
.act-next-ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--paper);color:var(--graphite);display:grid;place-items:center;transition:background .15s,color .15s}
.act-next-tx{flex:1 1 220px;min-width:0;font-size:.95rem;color:var(--graphite)}
.act-next .btn{flex:0 0 auto;margin-left:auto}
.act-next .btn:disabled{opacity:.45;cursor:not-allowed}
.act-next.on{border-color:var(--seal)}
.act-next.on .act-next-ic{background:rgba(110,47,43,.10);color:var(--seal)}
.act-next.on .act-next-tx{color:var(--ink);font-weight:700}
.act-next.on .btn{background:var(--seal);border-color:var(--seal);color:#fff}
.act-next.on .btn:hover{background:var(--seal-d)}
@media(max-width:560px){.act-next .btn{width:100%;margin-left:0;justify-content:center}}
.rep-av{position:relative;width:46px;height:46px;flex:none;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 1rem var(--display);overflow:hidden}
.rep-av img,.rep-av .rep-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--ink)}
.rep-meta{min-width:0}.rep-meta b{display:block}.rep-meta span{font-size:.85rem;color:var(--graphite)}
.tone-row{display:flex;gap:9px;flex-wrap:wrap;margin:6px 0 14px}
.tone{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:7px 15px;font:700 .87rem var(--body);cursor:pointer;color:var(--graphite)}
.tone.sel{border-color:var(--ink);color:var(--ink);background:var(--paper)}
.meth{display:flex;gap:12px;flex-wrap:wrap}
.meth label{flex:1;min-width:150px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:14px;cursor:pointer;display:block}
.meth label.sel{border-color:var(--seal);box-shadow:0 0 0 3px rgba(110,47,43,.12)}
.meth input{position:absolute;opacity:0}
.meth b{display:flex;gap:8px;align-items:center}
.meth small{display:block;margin-top:4px}
.meth .cost{font:700 .72rem var(--mono);color:var(--seal);margin-top:6px;display:block}

/* Letter paper preview */
.letter-sheet{background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 4px rgba(18,48,61,.07),0 16px 40px -18px rgba(18,48,61,.3);
  padding:34px 36px;font-family:'Sina Nova',Georgia,'Times New Roman',serif;font-size:.96rem;line-height:1.7;position:relative}
.letter-sheet:before{content:"";position:absolute;top:10px;right:12px;width:44px;height:52px;border:1px dashed var(--line);border-radius:3px;opacity:.6}
.letter-head{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;margin-bottom:26px;gap:14px}
.letter-org{font:700 .74rem var(--body);letter-spacing:.09em;text-transform:uppercase}
.letter-date{color:var(--graphite);font-size:.83rem}
.letter-to{margin-bottom:22px}
.letter-body p{margin:0 0 13px}
.letter-from{margin-top:24px}
.letter-foot{margin-top:34px;padding-top:9px;border-top:1px solid var(--line);color:var(--faint);font:400 .72rem var(--body)}
.letter-sheet.hand .letter-body{font-family:var(--hand);font-style:italic;font-size:1.34rem;line-height:1.55}
.letter-edit textarea{font-family:'Sina Nova',Georgia,serif;font-size:.98rem;line-height:1.65;min-height:340px;background:#fff}
.gen-wait{display:none;text-align:center;padding:46px 20px;color:var(--graphite)}
.gen-wait .postmark{color:var(--seal);animation:spin 7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.busy .gen-wait{display:block}.busy .gen-hide{display:none}
.share-box{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.success-mark{color:var(--green);margin:0 auto 14px;display:block;width:fit-content}
.pub-side .card{position:sticky;top:20px}
.counter{font:700 2rem var(--display)}
.progressbar{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin:10px 0 4px}
.progressbar i{display:block;height:100%;background:linear-gradient(90deg,var(--seal),var(--ink));border-radius:99px}

/* Setup wizard */
.wiz{max-width:640px;margin:40px auto;padding:0 18px}
.wiz-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:var(--shadow)}
.wiz-steps{display:flex;gap:6px;margin-bottom:26px}
.wiz-steps i{height:5px;flex:1;border-radius:99px;background:var(--line)}
.wiz-steps i.on{background:var(--seal)}
.req{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #EFEDE5;font-size:.93rem}

@media print{
  .side,.topbar,.btn,.flashes,.stepper,.campaign-progress,.no-print{display:none!important}
  body{background:#fff}.app{display:block}.content{padding:0;max-width:none}
  .letter-sheet{border:0;box-shadow:none}
  /* Never print the dark theme: its light-on-dark text is invisible on white paper (the "blank PDF"
   * symptom on Disclosure / receipts / letters). Reset the themed tokens to their light values and
   * force the surfaces that hardcode a dark fill back to white, so any dashboard document prints
   * dark-on-white regardless of the on-screen theme. */
  .app.theme-dark{--ink:#12303D;--ink-2:#1B4456;--graphite:#5A6972;--faint:#8A9DA6;--line:#E3E0D6;--card:#fff;--paper:#fff;background:#fff;color:#12303D}
  .app.theme-dark .card,.app.theme-dark .tbl,.app.theme-dark .stat{background:#fff!important;color:#12303D}
  .app.theme-dark .tbl th{background:#F5F3EC!important;color:#5A6972}
  .app.theme-dark .tbl td{border-bottom-color:#EFEDE5}
  .app.theme-dark .stat-i{background:#F5F3EC!important;color:#12303D}
  .card{box-shadow:none;border-color:#E3E0D6}
}
/* Print, marketing/public shell (body.mk — legal docs, help, auth): strip the sticky nav, footer
 * grid, cookie bar, language chip and decoration so a saved PDF is just the document. The app
 * print rules above are untouched. */
@media print{
  body.mk .mk-head,body.mk .mk-foot,body.mk #ccroot,body.mk .ccbar,body.mk .lang-chip,body.mk .postmark,body.mk .skip-link,body.mk .flashes,body.mk .a11y-ctl{display:none!important}
  body.mk{background:#fff;color:#000}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
/* ------------------------------ v2: tabs, switches, review UI, a11y ----- */
.skip-link{position:absolute;left:-9999px;top:0;max-width:calc(100% - 16px);box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:300;font:700 .9rem var(--body);text-decoration:none}
.skip-link:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:10px;z-index:200;background:var(--ink);color:#fff;padding:10px 18px;border-radius:10px;font:700 .9rem var(--body);text-decoration:none}
.skip:focus{left:10px}
.sec[id]{scroll-margin-top:80px}
/* Public shell: every anchor lands below the sticky header (its measured height, written on the root by the header script) plus 32px. */
html.mk-root{scroll-padding-top:calc(var(--mk-header-height,65px) + 32px)}
html.mk-root .sec[id]{scroll-margin-top:0}
body.mk .skip-link{padding:10px 16px;border-radius:0 0 6px 0;font:700 .9375rem var(--body)}
body.mk .skip-link:focus{left:22px}
@media(max-width:640px){body.mk .skip-link:focus{left:16px}}
mark{background:#FFE08A;color:inherit;padding:0 3px;border-radius:4px}
.hero h1,.sec-head h2,.cta-band h2{text-wrap:balance}
.hero .lede{max-width:60ch}
.sec-head>.muted{max-width:68ch}
.delivery{align-items:stretch}
.dcard{display:flex;flex-direction:column}
.dcard>.mono{margin-top:auto;padding-top:12px}
.featgrid{gap:20px 24px}
.feat{align-items:flex-start}
.trustline{margin-top:36px}
.cta-band{gap:22px}
:focus-visible{outline:3px solid var(--seal);outline-offset:2px}
.btn:focus-visible,.tab:focus-visible{outline-offset:3px}
/* WCAG 2.4.7: guarantee a visible keyboard-focus ring on text controls even where a module
   set outline:none on :focus. Keyboard-only (:focus-visible) so mouse focus is untouched;
   !important is the accepted a11y override. Excludes checkbox/radio (custom sibling focus). */
input[type=text]:focus-visible,input[type=search]:focus-visible,input[type=email]:focus-visible,input[type=url]:focus-visible,input[type=tel]:focus-visible,input[type=number]:focus-visible,input[type=password]:focus-visible,input[type=date]:focus-visible,input:not([type]):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--seal)!important;outline-offset:2px}
.num,.tnum{font-variant-numeric:tabular-nums}
.btn{min-height:40px}
.btn.sm{min-height:34px}
/* Public shell: the sm role is 15px; the compact header CTA is a 44px target beside the 44px burger; touch screens get 44px targets at every width. */
body.mk .btn.sm{font-size:.9375rem}
.mk-nav .btn.mk-cta-m{min-height:44px;padding-left:14px;padding-right:14px;font-size:.9375rem}
@media(pointer:coarse){body.mk .btn.sm{min-height:44px}}
@media(pointer:coarse) and (min-width:881px){.mk-links a.lang-tog{width:108px;height:44px}body.mk .mk-links a:not(.btn):not(.lang-tog){display:inline-flex;align-items:center;min-height:44px}}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 16px}
.tab{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--graphite);font:700 .86rem var(--body);text-decoration:none;min-height:40px}
.tab:hover{border-color:var(--ink);color:var(--ink)}
.tab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tabs{border-bottom:0}
.tabs a{margin-bottom:0;border-bottom:0}
.tabs a.on{color:#fff;border-color:var(--ink)}
.tabs a.tab{border:1.5px solid var(--line)}
.tabs a.tab.on{border-color:var(--ink)}
.choice .pv-theme{font-size:.78rem;margin-top:6px;display:inline-block;color:var(--seal);text-decoration:underline;position:relative;z-index:2}
.check.switchy{align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.check.switchy:last-of-type{border-bottom:0}
.check.switchy input{appearance:none;-webkit-appearance:none;width:42px;height:24px;flex:none;border-radius:999px;cursor:pointer;margin-top:1px;background-color:var(--line);background-image:radial-gradient(circle at 13px 12px,#fff 8.5px,rgba(255,255,255,0) 9.5px);background-repeat:no-repeat;background-position:0 0;transition:background-color .15s ease,background-position .15s ease}
.check.switchy input:checked{background-color:var(--green);background-position:18px 0}
.navnum{display:inline-block;min-width:20px;text-align:center;background:var(--seal);color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;padding:1px 6px;margin-left:6px;vertical-align:1px}
.letter-readonly{border:1.5px solid var(--line);border-radius:10px;background:#fff;margin-top:12px;overflow:hidden}
.lr-subject{font:700 1rem var(--body);padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink);background:#FBFAF7}
.lr-body{white-space:pre-wrap;font-family:'Sina Nova',Georgia,'Times New Roman',serif;font-size:.97rem;line-height:1.62;padding:14px 16px;color:var(--ink);max-height:340px;overflow:auto}
.card.approval{margin-bottom:18px}
input[type=color]{border:1.5px solid var(--line);border-radius:8px;background:#fff}
input[type=date]{font-family:var(--body)}
@media (prefers-contrast: more){.muted{color:#415056}.tab{border-color:var(--graphite)}}

/* --------------------- hosted campaign pages: themes, blocks, embeds ---- */
.camp-hero{margin:-4px 0 18px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 26px rgba(18,48,61,.10)}
.camp-hero img{display:block;width:100%;max-height:330px;object-fit:cover}
.camp-blocks{margin:4px 0 22px}
.camp-blocks h2{font-family:var(--display);font-size:1.45rem;margin:18px 0 8px;color:var(--ink)}
.camp-blocks h3{font-size:1.05rem;margin:14px 0 6px;color:var(--ink)}
.camp-blocks p{color:var(--graphite);margin:0 0 12px;line-height:1.65}
.camp-blocks blockquote{border-left:4px solid var(--seal);background:#fff;padding:12px 16px;border-radius:0 10px 10px 0;font-family:var(--display);font-style:italic;font-size:1.05rem;color:var(--ink);margin:14px 0}
.camp-blocks figure{margin:8px 0 16px}
.camp-blocks img{max-width:100%;border-radius:12px;border:1px solid var(--line);display:block}
.camp-blocks figcaption{font-size:.82rem;color:var(--graphite);margin-top:6px}
.camp-blocks hr{border:0;border-top:1px dashed var(--line);margin:18px 0}
.pub.theme-ink .pub-head{background:var(--ink)}
.pub.theme-ink .pub-org{color:#fff}
.pub.theme-ink .pub-pow{color:#C6D3DA}
.pub.theme-bold .pub-head{background:var(--seal)}
.pub.theme-bold .pub-org{color:#fff}
.pub.theme-bold .pub-pow{color:rgba(255,255,255,.85)}
.pub.theme-white .pub-main,.pub.theme-transparent .pub-main{background:transparent}
.pub.theme-transparent .card{box-shadow:none}
.pub.embed-mode .pub-main{padding:8px 0 4px}
.pub.embed-mode .pub-grid{grid-template-columns:minmax(0,1fr)}
.pub.embed-mode .wrap{width:100%;min-width:0;margin-left:auto;margin-right:auto;padding-left:8px;padding-right:8px;max-width:760px}
.emb-pow{text-align:right;padding:2px 10px 8px;font-size:.72rem}
.emb-pow a{color:var(--graphite);text-decoration:none}
.emb-pow a:hover{color:var(--seal)}

/* coming-soon delivery tiles + contact-list chips */
.meth label{position:relative;overflow:hidden}
.meth label.soon{cursor:not-allowed;border-style:dashed;opacity:.9}
.meth label.soon input{pointer-events:none}
.meth label.soon b,.meth label.soon small,.meth label.soon .cost{opacity:.55}
.ribbon{position:absolute;top:14px;right:14px;background:transparent;color:var(--seal);font:700 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border:1.5px solid var(--seal);border-radius:3px;pointer-events:none;white-space:nowrap}
.tag-chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;font:700 .82rem var(--body);background:#fff;margin:0 6px 8px 0;color:var(--ink)}
input[type=file]{border:1.5px dashed var(--line);border-radius:10px;padding:10px;background:#fff;width:100%;font:500 .9rem var(--body)}
/* v3 polish — institutional finish */
.field .hint{display:none}
.field:focus-within .hint{display:block}
.field>label{font-weight:700}
details.card>summary{list-style:none}
details.card>summary::-webkit-details-marker{display:none}
.ccbar{position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -10px 30px -12px rgba(18,48,61,.35);padding:14px 0 calc(14px + env(safe-area-inset-bottom));max-height:70vh;max-height:70dvh;overflow-y:auto;overscroll-behavior:contain}
.ccbar-in{max-width:1196px;margin:0 auto;padding:0 22px;display:flex;gap:16px;align-items:center;flex-wrap:wrap} /* the page .wrap: same left edge as the logo at every width */
.cctext{flex:1 1 380px;min-width:0;overflow-wrap:break-word;font-size:.9375rem;line-height:1.45;color:#3A4C56}
.cctext b{color:var(--ink)}
.cctext a{display:inline-block;padding:8px 4px;margin:-8px -4px;border-radius:6px} /* ≥24px effective target for the inline policy link (WCAG 2.5.8) without shifting the prose */
.ccacts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-width:0;max-width:100%}
.ccacts .btn{max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;text-align:center}
body.mk .ccacts .btn{padding:6px 12px;font-size:.9375rem;min-height:34px;border-radius:var(--r-sm,6px)}
@media(max-width:760px),(pointer:coarse){body.mk .ccacts .btn{min-height:44px}}
body.mk .cctext a{color:var(--seal);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
@media(min-width:641px){body.mk .ccbar{padding:16px 0 calc(16px + env(safe-area-inset-bottom))}}
.ccoverlay{position:fixed;inset:0;background:rgba(20,28,46,.5);z-index:150}
.ccmodal{position:fixed;z-index:160;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:min(86vh,640px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 30px 80px -20px rgba(20,28,46,.5)}
.ccrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:14px 0}
.ccrow>div{min-width:0}
.ccrow p{margin:3px 0 0;font-size:.85rem;color:var(--graphite)}
.ccon{display:inline-flex;align-items:center;gap:7px;min-height:30px;font:750 .68rem var(--body);letter-spacing:.045em;background:#F0EEE8;color:var(--ink);border:1px solid var(--line);border-radius:99px;padding:5px 10px;white-space:nowrap}
.ccon:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--graphite);flex:0 0 auto}
.ccon.cc-fixed{background:#EDF5EF;color:#285B3A;border-color:#C7DDCE}
.ccon.cc-fixed:before{background:var(--green)}
.ccon.cc-none{background:#F4F3EF;color:var(--graphite)}
/* Cookie preference switches keep their native checkbox semantics while presenting one
 * generous, labelled control. The invisible input covers the full 72x44 touch target. */
.ccsw{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;cursor:pointer;flex:0 0 auto;-webkit-tap-highlight-color:transparent}
.ccsw input{position:absolute;inset:0;z-index:2;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.ccsw-ui{position:relative;display:block;width:72px;height:34px;border-radius:999px;background:#E6E3DC;border:1px solid #859195;color:var(--ink);box-shadow:inset 0 1px 2px rgba(18,48,61,.08);transition:background-color .15s ease,border-color .15s ease}
.ccsw-ui:before{content:attr(data-off);position:absolute;right:9px;top:50%;transform:translateY(-50%);font:800 .62rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase}
.ccsw-knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid rgba(18,48,61,.16);box-shadow:0 2px 5px rgba(18,48,61,.25);transition:transform .15s ease}
.ccsw input:checked+.ccsw-ui{background:var(--green);border-color:var(--green);color:#fff}
.ccsw input:checked+.ccsw-ui:before{content:attr(data-on);left:10px;right:auto}
.ccsw input:checked+.ccsw-ui .ccsw-knob{transform:translateX(38px)}
.ccsw:hover .ccsw-ui{border-color:var(--ink)}
.ccsw input:focus-visible+.ccsw-ui{outline:3px solid var(--seal);outline-offset:2px}
/* Keep the three banner actions in one row; larger labels wrap within equal-size controls. */
@media(max-width:640px){
  .ccbar{padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
  .ccbar-in{padding:0 16px;gap:8px}
  .cctext{font-size:.9375rem;line-height:1.45;flex:1 1 100%;min-width:0} /* never below 15px: the legal copy stays readable */
  .cctext a{padding:3px 2px;margin:-3px -2px}
  .ccbar .ccacts{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
  .ccbar .ccacts .btn,.ccbar .ccacts .btn.sm{width:100%;min-width:0;min-height:44px;justify-content:center;padding:6px 7px;font-size:.9375rem;line-height:1.15;text-align:center;white-space:normal}
  .ccmodal{padding:18px 16px}
  .ccrow{gap:10px}
  .ccmodal .ccacts{width:100%}
  .ccmodal .ccacts .btn{flex:1;justify-content:center}
}
@media(max-width:380px){
  .ccmodal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px 14px}
  .ccrow{align-items:start}
}
@media(prefers-reduced-motion:reduce){.ccsw-ui,.ccsw-knob{transition:none}}
@media(forced-colors:active){
  .ccon,.ccon.cc-fixed,.ccon.cc-none{background:Canvas;color:CanvasText;border-color:CanvasText}
  .ccon:before,.ccon.cc-fixed:before{background:CanvasText}
  .ccsw-ui{forced-color-adjust:none;background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none}
  .ccsw-knob{background:CanvasText;border-color:CanvasText;box-shadow:none}
  .ccsw input:checked+.ccsw-ui{background:Highlight;color:HighlightText;border-color:Highlight}
  .ccsw input:checked+.ccsw-ui .ccsw-knob{background:HighlightText;border-color:HighlightText}
  .ccsw input:focus-visible+.ccsw-ui{outline-color:Highlight}
}
.proof{font-size:.86rem;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.proof .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(30,122,70,.5);animation:proofpulse 2.2s infinite}
@keyframes proofpulse{0%{box-shadow:0 0 0 0 rgba(30,122,70,.45)}70%{box-shadow:0 0 0 7px rgba(30,122,70,0)}100%{box-shadow:0 0 0 0 rgba(30,122,70,0)}}
li.cap{display:flex;gap:8px;align-items:flex-start;color:var(--graphite);font-size:.92rem;margin:6px 0}
html.a11y-lg{font-size:115%}
html.a11y-dys body, html.a11y-dys input, html.a11y-dys textarea, html.a11y-dys select, html.a11y-dys button{font-family:Verdana,'Trebuchet MS',Tahoma,var(--body)!important;letter-spacing:.01em;word-spacing:.06em}
html.a11y-dys .letter-body, html.a11y-dys .dletter{font-family:Verdana,'Trebuchet MS',Tahoma,Georgia,serif!important;line-height:1.75}
html.a11y-dys body{font-family:Verdana,'Trebuchet MS',Tahoma,var(--body);letter-spacing:.01em;word-spacing:.06em;line-height:1.65}
html.a11y-dys .letter-body,html.a11y-dys h1,html.a11y-dys h2,html.a11y-dys h3{font-family:Verdana,'Trebuchet MS',Tahoma,sans-serif}
.a11y-ctl{display:inline-flex;gap:6px;align-items:center}
.a11y-ctl button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
/* landing demo */
.demo-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:none;position:relative}
.demo-chip{position:absolute;top:-12px;right:14px;background:var(--ink);color:#fff;font:700 .68rem/1 var(--body);letter-spacing:.08em;padding:6px 10px;border-radius:99px;display:flex;gap:6px;align-items:center}
.demo-chip .ddot{width:7px;height:7px;border-radius:50%;background:#F0B429;animation:proofpulse 2.2s infinite}
.dlabel{display:block;font:700 .8rem var(--body);color:var(--graphite);margin:10px 0 6px}.dlabel small{font-weight:500}
.drow{display:flex;gap:8px;flex-wrap:wrap}.drow input{flex:1;min-width:140px}
.dhint{font-size:.78rem;color:var(--graphite);margin:8px 0 0}
/* Demo card text fields — polished postal "address-field" styling */
.demo-card input,.demo-card textarea{width:100%;border:1.5px solid var(--line);border-radius:11px;background:#FCFBF7;color:var(--ink);font:500 1rem var(--body);padding:13px 14px;box-shadow:inset 0 1px 2px rgba(18,48,61,.05);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.demo-card input::placeholder,.demo-card textarea::placeholder{color:#6F6B5E}
.demo-card input:hover,.demo-card textarea:hover{border-color:#CFCBBE}
.demo-card input:focus,.demo-card textarea:focus{outline:none;border-color:var(--seal);background:#fff;box-shadow:0 0 0 4px rgba(110,47,43,.13),inset 0 1px 2px rgba(18,48,61,.04)}
#dm-postal{font:700 1.2rem/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;text-align:center;caret-color:var(--seal)}
#dm-postal::placeholder{font-weight:700;letter-spacing:.2em;color:#6F6B5E}
.demo-card textarea{resize:vertical;min-height:64px;line-height:1.5;font-size:.97rem}
.drep{display:flex;gap:10px;align-items:center;background:#FBFAF6;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.dava{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font:700 .85rem var(--body)}
.dtag{margin-left:auto;font:700 .62rem var(--body);letter-spacing:.1em;color:var(--green);border:1px solid var(--green);border-radius:99px;padding:3px 8px}
.dtones{display:flex;gap:6px;flex-wrap:wrap}
.dtone{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 12px;font:700 .8rem var(--body);cursor:pointer}
.dtone.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
#dm-note{width:100%;margin-bottom:10px}
.dwriting{text-align:center;padding:26px 8px}
.dring{display:inline-flex;width:54px;height:54px;border-radius:50%;border:2px dashed var(--seal);color:var(--seal);align-items:center;justify-content:center;font:700 .9rem Georgia,serif;animation:dspin 1.4s linear infinite}
@keyframes dspin{to{transform:rotate(360deg)}}
.demo-sheet{padding:18px;max-height:300px;overflow:auto}
.dsub{font:700 .8rem var(--body);color:var(--graphite);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.dletter{font-family:'Sina Nova',Georgia,serif;font-size:.92rem;line-height:1.6;white-space:pre-wrap}
.dletter .caret{display:inline-block;width:2px;height:1em;background:var(--ink);vertical-align:-2px;animation:dblink .8s steps(1) infinite}
@keyframes dblink{50%{opacity:0}}
.ddone{text-align:center;padding:6px 4px}.ddone h3{margin:10px 0 6px}
@media(prefers-reduced-motion:reduce){.dring,.demo-chip .ddot,.dletter .caret{animation:none}}
/* pricing matrix */
.matrix-wrap{overflow:auto;margin-top:26px;border:1px solid var(--line);border-radius:12px;background:#fff}
table.matrix{width:100%;border-collapse:collapse;min-width:640px}
.matrix th,.matrix td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:center;font-size:.92rem}
.matrix td:first-child,.matrix th:first-child{text-align:left}
.matrix thead th{font:700 .8rem var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--graphite);background:#FBFAF6}
.matrix .pop{position:relative}
.matrix .pop .badge-pop{position:absolute;top:-1px;left:50%;transform:translate(-50%,-100%);background:var(--seal);color:#fff;font:700 .6rem var(--body);letter-spacing:.1em;padding:4px 9px;border-radius:99px 99px 0 0}
.matrix .yes{color:var(--green)}.matrix .no{color:#C8C4B8}
.matrix tbody tr:last-child td{border-bottom:0}
.tbl th{font:700 .7rem/1.2 var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--graphite);background:#FBFAF6;border-bottom:2px solid var(--line);padding:10px 12px;text-align:left}
.tbl td{padding:11px 12px;vertical-align:top}
.tbl tr:nth-child(even) td{background:#FCFBF8}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:18px}
.kpis .stat .n,.mono{font-variant-numeric:tabular-nums}
table.bars{width:100%;border-collapse:collapse}
table.bars td{padding:5px 6px;font-size:.86rem;color:var(--graphite)}
.bar{height:10px;background:var(--line);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ink);border-radius:99px;min-width:2px}
.bar i.alt{background:var(--green)}
.btn{letter-spacing:.01em}
/* Single global :focus-visible lives earlier in this sheet; the rounded ring is scoped to bare
 * text links so buttons/pills keep their own corner radius while focused. */
a:not([class]):focus-visible{border-radius:4px}
.side .nv:focus-visible,.side a:focus-visible,.side button:focus-visible,.side select:focus-visible,.side .side-lang-seg:focus-visible,.side summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Keep client keyboard focus visible, including selects whose global focus rule uses !important. */
.app-client .side :is(a,button,select,summary):focus-visible{outline:3px solid var(--nav-paper)!important;outline-offset:2px}
@media(forced-colors:active){
  .app-client .side :is(a,button,select,summary):focus-visible{outline-color:Highlight!important}
  .app.app-client .side .nv[aria-current="page"]{outline:2px solid Highlight;outline-offset:-2px;text-decoration:underline;text-underline-offset:3px}
}
/* Dark public surfaces: the seal ring is <3:1 on the navy CTA band and invisible on error toasts */
.cta-band :focus-visible,.flash :focus-visible{outline-color:#fff}
.card h3{font-size:1rem}
.lang-chip{display:inline-block;border:1.5px solid var(--line);border-radius:999px;padding:5px 12px;font:700 .76rem var(--body);color:var(--ink);text-decoration:none;background:#fff}
.lang-chip:hover{border-color:var(--seal);color:var(--seal)}
/* On the marketing shell the sticky header's EN|FR toggle already covers ≥761px — the in-content
 * chip duplicated it. ≤760px it stays: the header links (and toggle) are behind the burger there.
 * Campaign/petition shells (body.pub) keep the chip at every width — they have no marketing header. */
@media(min-width:761px){body.mk .lang-chip{display:none}}

/* ===================== v4 — GUIDED CAMPAIGN WIZARD ===================== */
.wz{max-width:none}
.wz-track{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 20px;flex-wrap:wrap}
.wz-track li{flex:1;min-width:110px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1.5px solid var(--line);border-radius:11px;background:#fff;font:700 .82rem var(--body);color:var(--graphite)}
.wz-track li i{width:26px;height:26px;flex:none;border-radius:50%;background:var(--line);color:var(--graphite);display:grid;place-items:center;font-style:normal;font-size:.78rem;font-weight:700;transition:background .15s}
.wz-track li.on{border-color:var(--ink);color:var(--ink);box-shadow:0 3px 10px rgba(18,48,61,.09)}
.wz-track li.on i{background:var(--ink);color:#fff}
.wz-track li.done{border-color:#bcd3c4;color:var(--green);cursor:pointer}
.wz-track li.done:hover{border-color:var(--green)}
.wz-track li.done i{background:var(--green);color:#fff}
@media(max-width:820px){.wz-track li span{display:none}.wz-track li{min-width:0;justify-content:center;padding:9px 6px}}
.wz-step{display:none;animation:fin .22s ease}
.wz-step.on{display:block}
.wz-step>.card>h3{font-size:1.3rem;margin-bottom:4px}
.wz-lede{color:var(--graphite);font-size:.98rem;margin:0 0 18px;max-width:62ch}
.wz .field input,.wz .field select,.wz .field textarea{font-size:1.03rem;padding:12px 14px}
.wz .field label{font-size:.95rem}
.wz .field small{font-size:.86rem;line-height:1.5}
.wz-nav{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:18px;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:13px;position:sticky;bottom:12px;box-shadow:0 8px 26px -10px rgba(18,48,61,.28);z-index:8}
.wz-count{font:700 .9rem var(--body);color:var(--graphite);text-align:center}
.wz-err{display:none;background:#FAF0EE;border:1.5px solid #E8C4BE;color:#8E2A1F;border-radius:10px;padding:12px 15px;margin:0 0 14px;font-weight:700;font-size:.95rem}
.wz-err.show{display:flex;gap:9px;align-items:flex-start}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin:6px 0 6px}
.choices.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.choice{position:relative;display:block;border:1.5px solid var(--line);border-radius:13px;background:#fff;padding:16px 16px 15px;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .06s}
.choice:hover{border-color:var(--ink)}
.choice:active{transform:translateY(1px)}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice b{display:flex;gap:9px;align-items:center;font-size:1.02rem;padding-right:26px}
.choice small{display:block;color:var(--graphite);margin-top:6px;font-size:.87rem;line-height:1.5}
.choice .tick{position:absolute;top:11px;right:11px;width:23px;height:23px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:#fff;background:#fff;transition:background .12s}
.choice.sel{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.choice.sel .tick{background:var(--green);border-color:var(--green)}
.choice.dis{opacity:.62;cursor:not-allowed}
.choice.dis:hover{border-color:var(--line)}
.choice .swatch{height:36px;border-radius:8px;margin-bottom:10px;border:1px solid var(--line)}
.pt-list{display:flex;flex-direction:column;gap:9px;margin:4px 0 10px}
.pt-row{display:flex;gap:9px;align-items:center}
.pt-row .pt-n{width:28px;height:28px;flex:none;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;font:700 .8rem var(--mono);color:var(--seal)}
.pt-row input{flex:1;border:1.5px solid var(--line);border-radius:9px;padding:12px 13px;font:400 1.02rem var(--body);min-width:0}
.pt-row input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.pt-row .pt-x{flex:none;border:1.5px solid var(--line);background:#fff;color:var(--graphite);width:38px;height:38px;border-radius:9px;cursor:pointer;font-size:1.15rem;line-height:1}
.pt-row .pt-x:hover{color:var(--seal);border-color:var(--seal)}
.wz-ai{border:1.5px dashed #C9B8A4;border-radius:13px;padding:16px 18px;background:linear-gradient(135deg,#FDFBF5,#FAF6EC);margin-bottom:18px}
.wz-ai b{display:flex;gap:8px;align-items:center}
.wz-ai .drow{margin-top:10px}
.wz-ai textarea{border:1.5px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;font:400 .95rem var(--body);color:var(--ink);transition:border-color .12s,box-shadow .12s}
.wz-ai textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.wz-restore{background:#EEF4F9;border:1.5px solid #C2D4E3;border-radius:11px;padding:12px 15px;margin-bottom:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.93rem}
.wz-review .rv{display:flex;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.96rem;align-items:baseline}
.wz-review .rv:last-child{border-bottom:0}
.wz-review .rv>b{flex:none;width:158px;font-weight:700}
.wz-review .rv>span{flex:1;color:var(--ink);overflow-wrap:anywhere}
.wz-review .rv>a{flex:none;font-size:.85rem;color:var(--blue)}
.rv-ok{color:var(--green);font-weight:700} .rv-no{color:var(--seal);font-weight:700}
.wz-preview{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 4px rgba(18,48,61,.07),0 16px 40px -18px rgba(18,48,61,.3);padding:26px 28px;position:relative}
.wz-preview:before{content:"";position:absolute;top:9px;right:11px;width:38px;height:46px;border:1px dashed var(--line);border-radius:3px;opacity:.6}
.wz-preview .pv-org{font:700 .7rem var(--body);letter-spacing:.09em;text-transform:uppercase;border-top:5px solid var(--ink);padding-top:9px;margin-bottom:12px;color:var(--graphite)}
.wz-preview h4{font-size:1.15rem;margin:0 0 8px}
.wz-preview .pv-bg{color:var(--graphite);font-size:.9rem}
.wz-preview ul{margin:10px 0;padding:0;list-style:none}
.wz-preview li{display:flex;gap:8px;padding:3px 0;font-size:.88rem}
.wz-preview li:before{content:"✓";color:var(--seal);font-weight:700}
.wz-preview .pv-ask{font-weight:700;font-size:.92rem;border-left:3px solid var(--seal);padding-left:10px;margin-top:10px}
.wz-skip{text-align:center;margin-top:10px}
.wz-skip a{color:var(--graphite);font-size:.88rem}
@media(max-width:680px){.wz-nav{position:static;flex-wrap:wrap}.wz-nav .btn{flex:1;justify-content:center}.wz-count{width:100%;order:-1}.wz-review .rv{flex-wrap:wrap}.wz-review .rv>b{width:100%}}

/* ===================== v4 — FRIENDLY DASHBOARD ===================== */
.dash-hero{background:linear-gradient(135deg,#FFFFFF 0%,#FBFAF4 100%);border:1.5px solid var(--line);border-radius:16px;padding:26px 28px 24px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden;margin-bottom:18px}
.dash-hero:before{content:"";position:absolute;inset:0 0 auto 0;height:7px;background:repeating-linear-gradient(135deg,var(--seal) 0 14px,#fff 14px 24px,var(--ink) 24px 38px,#fff 38px 48px)}
.dash-hero h2{margin:4px 0 4px;font-size:1.7rem}
.dash-hero .postmark{color:#D8D4C6;flex:none}
.dash-hero p{margin:0;color:var(--graphite)}
.dash-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.dash-cta .btn.lg{font-size:1.11rem}
.onb-row{display:flex;gap:15px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--line)}
.onb-row:last-child{border-bottom:0;padding-bottom:4px}
.onb-row:first-of-type{padding-top:4px}
.onb-n{width:36px;height:36px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font:700 1rem var(--display);color:var(--graphite);background:#fff}
.onb-row.done .onb-n{background:var(--green);border-color:var(--green);color:#fff}
.onb-row.next .onb-n{border-color:var(--seal);color:var(--seal)}
.onb-row.done .onb-t{color:var(--graphite);text-decoration:line-through}
.onb-t{font-weight:700;font-size:1.02rem}
.onb-row p{margin:2px 0 0;font-size:.88rem;color:var(--graphite)}
.onb-row .btn{margin-left:auto;flex:none}
.campcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px}
.campcard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;flex-direction:column;gap:9px;transition:box-shadow .15s,border-color .15s}
.campcard:hover{border-color:var(--ink);box-shadow:var(--shadow)}
.campcard h4{margin:0;font-size:1.06rem;display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.campcard .cc-meta{display:flex;gap:14px;color:var(--graphite);font-size:.86rem;flex-wrap:wrap}
.campcard .cc-meta b{color:var(--ink)}
.campcard .cc-act{display:flex;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.dash-help{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--ink);color:#E8EDF0;border-radius:14px;padding:18px 22px;margin-top:18px}
.dash-help b{color:#fff}
.dash-help a{color:#fff}
.dash-help .btn.ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.dash-help .btn.ghost:hover{background:rgba(255,255,255,.1)}
@media(max-width:560px){.dash-cta,.dash-help{align-items:stretch}.dash-cta .btn,.dash-help .btn{width:100%;justify-content:center}}
@media(max-width:680px){.onb-row{flex-wrap:wrap}.onb-row .btn{margin-left:0;margin-top:2px}.dash-hero .postmark{display:none}}
/* Client home: use the existing 1280px shell, with work before supporting updates. */
.client-dashboard{font-family:var(--body);min-width:0}
.client-dashboard .dash-header{margin:0 0 24px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.client-dashboard .dash-header h1{font-family:var(--display);font-size:1.8rem}
.dash-eyebrow{margin:0 0 6px;color:var(--graphite);font-size:.85rem}
.client-dashboard h2,.client-dashboard h3{font-family:var(--display);font-size:1.2rem;margin:0 0 12px;line-height:1.3}
.client-dashboard .panel-head h2{margin:0}
.client-dashboard .panel-head{gap:12px;flex-wrap:wrap}
.client-dashboard .btn{min-height:40px;white-space:normal;text-align:center}
.client-dashboard :is(a,button,summary):focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.client-dashboard .dash-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.client-dashboard .dash-stats .stat-i{display:none}
.client-dashboard .stat{padding:18px 16px;gap:10px}
.client-dashboard .stat-v{font-family:var(--body);font-size:1.65rem;line-height:1.15}
.client-dashboard .stat-l{text-transform:none;letter-spacing:0;font-size:.88rem;color:var(--ink);margin-top:5px}
.client-dashboard .stat-s{font-size:.8rem;line-height:1.45;margin-top:5px}
.dash-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,330px);gap:20px;align-items:start}
.dash-primary,.dash-secondary{min-width:0}
.dash-workspace-single{grid-template-columns:minmax(0,1fr)}.dash-workspace-single>.dash-primary:empty{display:none}
.client-dashboard .campcards{grid-template-columns:minmax(0,1fr);gap:0}
.client-dashboard .campcard{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;background:transparent}
.client-dashboard .campcard:first-child{padding-top:6px}
.client-dashboard .campcard:last-child{border-bottom:0;padding-bottom:4px}
.client-dashboard .campcard:hover{box-shadow:none}
.client-dashboard .campcard h3{display:flex;flex:1 1 100%;gap:8px 16px;margin:0;font:700 1.08rem/1.4 var(--body);align-items:baseline;flex-wrap:wrap;justify-content:space-between;min-width:0}
.client-dashboard .campcard h3>span:first-child{overflow-wrap:anywhere;flex:1 1 180px}
.client-dashboard .campcard h3 .badge{flex:none}
.client-dashboard .campcard .cc-meta{flex:1 1 220px;gap:5px 14px;font-size:.86rem;line-height:1.5}
.client-dashboard .campcard .cc-act{flex:0 1 auto;flex-direction:row;justify-content:flex-start;gap:8px;padding:0;margin:0;max-width:100%}
.client-dashboard .campcard .cc-act .btn{font-size:.9rem;padding:8px 12px}
.client-dashboard .dash-attention{border-left:4px solid var(--amber);margin-bottom:22px;padding:18px 20px}
.dash-attention-row{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.dash-attention-row:first-child{border-top:0;padding-top:0}
.dash-attention-row:last-child{padding-bottom:0}
.dash-attention-row p,.dash-chart-empty p{margin:4px 0 0;color:var(--graphite);font-size:.88rem;line-height:1.5}
.dash-attention-row>.btn{flex:none}
.client-dashboard .dash-secondary .card{padding:18px;margin-bottom:18px}
.client-dashboard .wc-dash-head{display:flex;gap:10px;align-items:flex-start}
.client-dashboard .wc-dash h2{font-size:1.1rem;line-height:1.4;margin:6px 0}
.client-dashboard .wc-dash p{font-size:.85rem;line-height:1.5}
.client-dashboard .wc-dash-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:flex-start}
.client-dashboard .wc-dash-quiet{border-top:1px solid var(--line)}
.client-dashboard .wc-dash-items>a{min-height:44px}
.client-dashboard .wc-dash-items small{white-space:normal}
.client-dashboard .wc-dash-setup{display:flex;flex-wrap:wrap;gap:12px}
.client-dashboard .ev-dash-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:12px 0}
.client-dashboard .ev-dash-d{grid-column:1/-1;width:auto;font-size:.82rem}
.client-dashboard .ev-dash-t{white-space:normal;overflow-wrap:anywhere;font-size:.9rem;line-height:1.5}
.client-dashboard .ev-dash-n{font-size:.8rem}
.client-dashboard .dash-account p{margin:0 0 12px;font-size:.9rem;color:var(--graphite)}
.dash-account strong{font-size:1.4rem;color:var(--ink)}
.client-dashboard .dash-bars{margin-bottom:18px}
.client-dashboard .dash-bars svg[role=img]{height:auto}
.dash-chart-empty{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:8px 0}
.dash-chart-empty>svg{flex:none;color:var(--graphite)}
.dash-chart-empty>div{flex:1 1 240px;min-width:0}
.dash-status-note{color:var(--graphite);font-size:.85rem;line-height:1.5;margin:0 0 14px}
.client-dashboard .tbl-wrap{position:relative;max-width:100%;overflow-x:auto}
.client-dashboard .dash-crm-tiles:empty{display:none}
.client-dashboard .dash-crm-asks a{display:inline-flex;align-items:center;gap:8px;min-height:32px}
.app-client .side nav{font-family:var(--body)}
.app-client .side nav>.nv{font-family:var(--body);font-size:.94rem;min-height:44px}
.app.app-client .side nav>.nv.on{background:var(--nav-current);color:var(--nav-paper);box-shadow:none}
.app.theme-dark .client-dashboard .btn.ghost{border-color:#77849A}
.app.theme-dark .demo-disclosure{background:#2E291D;color:#EEE5C4}
.app.theme-dark .demo-disclosure b{color:#F0CD75}
@media(min-width:901px){.app-client .topbar [data-cmdk-open]{display:none}}
@media(max-width:1150px){.dash-workspace{grid-template-columns:minmax(0,1fr)}.dash-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.client-dashboard .dash-secondary>.card{margin:0 0 18px}.dash-secondary>style{display:none}.client-dashboard .dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.client-dashboard .dash-header h1{font-size:1.55rem}.client-dashboard .dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-dashboard .stat{display:block;padding:14px}.client-dashboard .stat-i{display:none}.dash-secondary{display:block}.client-dashboard .campcard{align-items:stretch}.client-dashboard .campcard .cc-meta{flex-basis:100%}.client-dashboard .campcard .cc-act{flex-basis:100%;margin-top:2px}.client-dashboard .btn{min-height:44px}.dash-attention-row,.dash-chart-empty{align-items:flex-start;flex-wrap:wrap}.dash-attention-row>.btn{width:100%}.dash-chart-empty>.btn{margin-left:36px}.client-dashboard .wc-dash-head{flex-direction:row}.client-dashboard .dash-help{padding:18px}.client-dashboard .dash-help>.btn{width:100%}.client-dashboard .dash-stats .stat-v{font-size:1.45rem}}
@media(max-width:360px){.client-dashboard .dash-stats{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.client-dashboard *{scroll-behavior:auto;transition:none}}
/* v4 — two-step signup */
.su-steps{display:flex;gap:6px;margin:0 0 18px}
.su-steps i{height:6px;flex:1;border-radius:99px;background:var(--line);transition:background .2s}
.su-steps i.on{background:var(--seal)}
.auth-card .btn.lg{font-size:1.1rem}
.auth-card .field input,.auth-card .field select{font-size:1.03rem;padding:12px 14px}
/* v4 — receipts */
/* The receipt is a white "paper" document — pin ink/graphite/line locally so it stays dark-on-white
 * and fully legible in BOTH light and dark mode (descendants inherit these custom-property values). */
.rcpt-sheet{--ink:#12303D;--ink-2:#1B4456;--graphite:#5A6972;--line:#E3E0D6;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px rgba(18,48,61,.07),0 16px 40px -18px rgba(18,48,61,.3);padding:36px 40px;max-width:640px;margin:0 auto;font-size:.95rem}
.rcpt-logo{height:34px;width:auto;display:block;margin:0 0 12px}
.rcpt-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:18px}
.rcpt-head h2{margin:0;font-size:1.4rem;font-family:var(--display);color:var(--ink)}
.rcpt-meta{font-size:.85rem;color:var(--graphite);text-align:right}
.rcpt-rows{width:100%;border-collapse:collapse;margin:14px 0}
.rcpt-rows td{padding:9px 4px;border-bottom:1px solid #EFEDE5}
.rcpt-rows td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rcpt-rows tr.total td{border-top:2px solid var(--ink);border-bottom:0;font-weight:700;font-size:1.05rem}
.rcpt-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--graphite)}
@media(max-width:640px){
  .rcpt-actions{display:grid;grid-template-columns:1fr;align-items:stretch}
  .rcpt-actions>.btn{width:100%;justify-content:center}
  .rcpt-sheet{padding:24px 18px}
  .rcpt-head{flex-direction:column}
  .rcpt-meta{text-align:left;max-width:100%;overflow-wrap:anywhere}
  .rcpt-rows td{overflow-wrap:anywhere}
}
@media print{.rcpt-sheet{box-shadow:none;border:0;max-width:none;padding:0}}
/* ============== v4 — supporter campaign page polish (all themes) ============== */
.pub-head .wrap{height:auto;min-height:64px}
.pub-org{font-size:1.06rem;display:flex;align-items:center;gap:9px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pub-main{padding:38px 0 72px}
.camp-title h1{font-size:clamp(1.7rem,4.2vw,2.6rem);margin-bottom:10px;letter-spacing:-.015em}
.camp-bg{font-size:1.06rem;line-height:1.7;max-width:62ch}
.points li{font-size:1rem;padding:6px 0}
.pub .card{padding:24px;border-radius:14px;box-shadow:0 1px 2px rgba(18,48,61,.05),0 10px 30px -18px rgba(18,48,61,.18)}
.pub .field input,.pub .field select,.pub .field textarea{font-size:1.03rem;padding:12px 14px}
.pub .btn.lg{font-size:1.11rem}
.pub .btn{min-height:44px}
.pub .btn.sm{min-height:36px}
.rep-card{padding:18px;border-radius:14px}
.rep-card:focus-within,.tone:focus-within,.meth label:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.tone{min-height:40px;display:inline-flex;align-items:center}
.meth label{min-height:96px;border-radius:14px}
.counter{font-size:2.2rem}
.progressbar{height:10px}
.camp-hero{border-radius:16px}
.camp-hero img{max-height:360px}
.pub.theme-craft .pub-main{background:linear-gradient(180deg,rgba(231,216,188,.38),rgba(231,216,188,0) 260px)}
.pub.theme-white .card{border-color:#ECEAE2}
.pub .card.pub-done{text-align:center;padding:42px 26px} /* was inline on the step-5 card, which beat the mobile density rule below */
@media(max-width:760px){.tone{min-height:44px}} /* tone pills: 44px touch target on mobile (matches the .btn convention above) */
@media(max-width:640px){.pub-org{white-space:normal;text-overflow:clip;overflow:visible;overflow-wrap:anywhere;line-height:1.25}.pub .card{padding:18px}.pub .btn.lg{width:100%;justify-content:center}.share-box .btn{flex:1 1 40%;justify-content:center}.pub-main{padding:24px 0 56px}.pub .card.pub-done{padding:28px 16px}}

/* Step 2: keep the chosen riding context clear without presenting its locked postal code as a field. */
.campaign-recipient-card{background:var(--card);border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}
.pub.theme-white .campaign-recipient-card{border-color:color-mix(in srgb,var(--ink) 18%,var(--line))}
.pub .campaign-recipient-card,.pub .campaign-details-card{box-shadow:none}
.campaign-recipient-card>h3{margin-bottom:14px}
.campaign-recipient-card .rep-card{cursor:default;background:transparent;border:0;border-radius:0;padding:2px 0;box-shadow:none;transition:none}
.campaign-postal-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.campaign-postal-value{display:flex;flex-direction:column;gap:3px;min-width:0}
.campaign-postal-label{font:700 .72rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite)}
.campaign-postal-code{font:700 clamp(1.35rem,3vw,1.75rem) var(--mono);letter-spacing:.08em;line-height:1.15;color:var(--ink);overflow-wrap:anywhere}
.campaign-postal-back{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;color:var(--graphite);font-size:.9rem;text-align:right}
.campaign-postal-back form,.campaign-recipient-back{margin:0}
.campaign-postal-back .btn,.campaign-recipient-back .btn{flex:none;background:#fff;white-space:nowrap}
.campaign-recipient-back{display:flex;justify-content:flex-end;margin-top:16px}

.pub .campaign-details-card{padding:clamp(24px,4vw,32px)}
.campaign-details-head{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.campaign-details-head h3{font-size:1.38rem;margin-bottom:6px}
.campaign-details-intro{max-width:62ch;margin:0;color:var(--graphite);font-size:.96rem;line-height:1.6}
.campaign-required-note{margin:-8px 0 22px;color:var(--graphite);font-size:.8rem;text-align:right}
.campaign-form-section{min-width:0;margin:0;padding:0;border:0}
.campaign-form-section+.campaign-form-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.campaign-form-section>legend{display:block;width:100%;margin:0 0 16px;padding:0;color:var(--ink);font:700 1rem var(--display)}
.campaign-address-grid{gap:0 18px}
.campaign-choice-label{display:block;margin-bottom:6px;color:var(--ink);font:700 .86rem var(--body)}
.campaign-tone-control{margin-bottom:0}
.pub .campaign-tone-control .tone-row{display:flex;align-items:stretch;gap:9px;flex-wrap:wrap;margin:6px 0 14px}
.pub .campaign-tone-control .tone{display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-align:center;line-height:1.3}
.campaign-form-actions{display:flex;align-items:center;justify-content:flex-start;gap:16px 20px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.pub .campaign-form-actions .cf-ts-public{width:300px;max-width:100%;min-width:0;flex:0 1 300px;margin:0;text-align:left}
.campaign-form-actions .btn{flex:none;margin-left:auto}

/* The supporter-data disclosure belongs to the page footer, not the form card. */
.mk-foot.campaign-page-footer{padding:38px 0}
.campaign-page-footer .campaign-footer-content{width:100%;min-width:0}
.campaign-privacy-note{max-width:74ch;margin:0;color:var(--ink);font-size:.94rem;line-height:1.65}
.campaign-footer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.campaign-footer-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.campaign-footer-controls .btn{min-height:44px}
html.campaign-report-open{overflow:hidden}
.pub .campaign-report-dialog{box-sizing:border-box;inset:0;width:min(520px,calc(100vw - 32px));max-height:min(86vh,680px);max-height:min(86dvh,680px);margin:auto;padding:0;overflow:auto;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 64px rgba(20,28,46,.28)}
.pub .campaign-report-dialog::backdrop{background:rgba(20,28,46,.58)}
.campaign-report-form{padding:24px}
.campaign-report-form h2{margin:0 0 20px;color:var(--ink);font-size:1.35rem;line-height:1.25}
.campaign-report-form .field{margin-bottom:16px}
.campaign-report-form textarea{min-height:120px;resize:vertical}
.campaign-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.pub .campaign-report-actions .btn{min-height:44px}
.campaign-page-footer-embed{margin:12px 8px 0;padding:12px 10px 8px;border-top:1px solid var(--line);color:var(--graphite)}
.campaign-page-footer-embed .campaign-privacy-note{max-width:76ch;font-size:.76rem;line-height:1.5;color:var(--graphite)}
.campaign-page-footer-embed .emb-pow{padding:8px 0 0}

@media(max-width:640px){
  .campaign-postal-summary{align-items:stretch;flex-direction:column;gap:14px}
  .campaign-postal-back{justify-content:flex-start;text-align:left}
  .pub .campaign-postal-back .btn,.pub .campaign-recipient-back .btn{min-height:44px}
  .pub .campaign-details-card{padding:20px 18px}
  .campaign-required-note{text-align:left}
  .campaign-form-section+.campaign-form-section{margin-top:20px;padding-top:20px}
  .campaign-form-actions{align-items:stretch;flex-direction:column;gap:14px;overflow:visible}
  .pub .campaign-form-actions .cf-ts-public{width:100%;max-width:300px;flex:none;align-self:flex-start;margin:0;min-height:65px}
  .pub .campaign-form-actions .cf-ts-public[data-wide-breakout="1"]{position:relative;left:50%;transform:translateX(-50%);width:300px;max-width:none;min-height:65px;flex:none;align-self:flex-start}
  .campaign-form-actions .btn{width:100%;margin-left:0;justify-content:center}
  .campaign-footer-meta{align-items:flex-start;flex-direction:column}
}
@media(forced-colors:active){
  .pub .campaign-report-dialog{border:2px solid CanvasText}
}
@media(max-width:480px){
  .campaign-footer-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .campaign-footer-controls>.btn,.campaign-footer-controls .a11y-ctl,.campaign-footer-controls .a11y-ctl .btn{width:100%}
  .campaign-footer-controls .btn{justify-content:center;white-space:normal;text-align:center}
  .pub .campaign-report-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .campaign-report-form{padding:20px 16px}
  .campaign-report-actions{align-items:stretch;flex-direction:column}
  .campaign-report-actions .btn{width:100%;justify-content:center}
}
@media(max-width:380px){
  .campaign-postal-back{align-items:flex-start;flex-direction:column;gap:8px}
}
.pp-air-box{margin:0 0 18px;padding:14px 16px;border:1px solid #E8C66A;border-left:4px solid #B7791F;border-radius:var(--r,8px);background:#FFF8E6;color:var(--ink,#12303D)}.pp-air-title{margin:0 0 6px;font:700 .98rem/1.35 var(--body,inherit);color:#5C3D00}.pp-air-body{margin:0 0 8px;font-size:.9rem;line-height:1.55}.pp-air-details summary{cursor:pointer;font-weight:700;font-size:.88rem;color:#5C3D00;padding:6px 0;line-height:1.4}.pp-air-details summary:focus-visible{outline:2px solid #B7791F;outline-offset:2px;border-radius:2px}.pp-air-list{margin:8px 0 0;padding-left:22px;display:grid;gap:10px;font-size:.88rem;line-height:1.5}.pp-air-list q{display:block;margin:2px 0}.pp-air-where{display:block;color:var(--graphite,#5A6972);font-size:.8rem}.pp-air-why{display:block;color:var(--graphite,#5A6972);font-size:.82rem}mark.pp-air-flag{background:#FFF1C2;color:inherit;border-bottom:1px dashed #B7791F;padding:0 2px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.pp-air-impl{margin:22px 0 8px;padding:14px 16px;border:1px dashed var(--line,#E3E0D6);border-radius:var(--r,8px);background:var(--paper,#FBFAF7)}.pp-air-impl-h{margin:0 0 4px;font-size:1.05rem}.pp-air-impl-note{margin:0 0 10px;font-size:.84rem;line-height:1.5;color:var(--graphite,#5A6972)}.pp-air-impl-list{margin:0;padding-left:20px;display:grid;gap:8px;font-size:.95rem;line-height:1.55}

.mk-foot .mono{display:none}
.hero{padding:40px 0 18px}
.sec{padding:36px 0}
.sec-head{margin-bottom:22px}
.sec-head h2{line-height:1.12}
.sec-head p.muted{margin-top:8px}
.trustline{padding:10px 0 14px;gap:12px 20px;font-size:.85rem}
.steps,.delivery{gap:16px}
.step{padding:20px 18px 18px}
.dcard{padding:20px}
.featgrid{gap:14px}
.plans{gap:18px}
.plan{padding:24px 22px}
.cta-band{padding:44px 36px;gap:24px}
.mk-foot{padding:64px 0 calc(72px + env(safe-area-inset-bottom))}
.mk-foot .wrap{gap:22px 32px}
.mk-foot .mk-foot-grid{gap:30px 56px}
.kicker{margin-bottom:10px}
img{max-width:100%}
.matrix-wrap th,.matrix-wrap td{padding:9px 12px}
.matrix-wrap{margin-top:20px}
@media(max-width:860px){
  .hero{padding:38px 0 34px}
  .hero-grid{gap:26px}
  .lede{font-size:1.05rem}
  .sec{padding:46px 0}
  .pub-side .card{position:static}
  .pub-grid{gap:22px}
  .content{padding:18px 16px}
}
@media(max-width:900px){input,select,textarea,.field input,.field select,.field textarea{font-size:16px!important}}/* >=16px so iOS Safari never zooms on focus (drawer layout runs to 900) */
@media(max-width:760px){
  input,select,textarea,
  .field input,.field select,.field textarea{font-size:16px!important}
  .btn{min-height:44px}
  .btn.sm{min-height:44px}
  .tab{min-height:44px}
  .check{min-height:44px;align-items:center}.check input{margin-top:0}
  .campaign-region-choice{min-height:44px}
  /* The marketing header's compact bar and drawer live in the ≤880px block of the MARKETING section. */
}
@media(max-width:640px){
  .wrap{padding:0 16px}
  .hero{padding:28px 0 26px}
  .hero-note{margin-top:10px;font-size:.84rem}
  .hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .hero-cta .btn{justify-content:center}
  .sec{padding:38px 0}
  .sec-head{margin-bottom:18px}
  .steps,.delivery,.plans,.featgrid{gap:12px}
  .card{padding:18px 16px}
  .plan{padding:20px 16px}
  .cta-band{padding:30px 22px;flex-direction:column;align-items:flex-start;text-align:left}
  .cta-band .btn{width:100%;justify-content:center}
  .letter-sheet{padding:20px 16px}
  .demo-sheet{max-height:260px}
  .demo-card{padding:14px}
  .drow{flex-wrap:wrap}
  .drow input{flex:1 1 160px;min-width:0}
  .drow .btn{flex:1 1 auto;justify-content:center}
  .dtones .dtone{flex:1 1 30%;text-align:center}
  .matrix-wrap{font-size:.84rem}
  .matrix-wrap th,.matrix-wrap td{padding:7px 8px;white-space:nowrap}
  /* nowrap is for the pricing matrix' short cells — long-form legal tables (privacy subprocessors)
     have paragraph-length cells that must wrap, not pan 11 screenfuls sideways */
  .legal-doc .matrix-wrap th,.legal-doc .matrix-wrap td{white-space:normal}
  .tbl{font-size:.86rem}
  .copyrow{flex-wrap:wrap}
  .copyrow input{flex:1 1 100%;min-width:0}
  /* Client-dashboard 360px hardening (adversarial mobile sweep): native date/number/select
     inputs carry a wide intrinsic min-width. Let .field controls shrink so they can never
     force a stacking .grid2/.grid3 track or the auto-fit letters-filter grid off-screen. */
  .field input,.field select,.field textarea{min-width:0;max-width:100%}
  /* Native date/time inputs on iOS keep a wide intrinsic size and ignore width:100% unless appearance is reset; normalize them to match the text boxes (the picker still opens on tap). */
  .field input[type=date],.field input[type=month],.field input[type=time],.field input[type=datetime-local]{-webkit-appearance:none;appearance:none}
  /* Page/panel headers (e.g. the campaign-detail head: user-entered title + status badge +
     toolbar). The container already wraps; let a long unbreakable title break instead of
     overflowing, and allow the title block to shrink. */
  .panel-head{min-width:0}
  .panel-head>div{min-width:0}
  .panel-head h3,.panel-head>div>b{overflow-wrap:anywhere;min-width:0}
  .pub-grid{gap:16px}
  .points li{margin:8px 0}
  .mk-foot{font-size:.84rem;text-align:center;padding-top:52px;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .mk-foot .wrap{flex-direction:column;align-items:center}
  .mk-foot .mk-foot-grid{grid-template-columns:1fr;justify-items:center}
  .mk-foot .cols a{display:block;min-width:44px;padding:6px 0} /* ~44px vertical pitch for the stacked link list */
}
@media(max-width:440px){
  body{font-size:.9375rem} /* .9375rem = 15px — rem so large-text mode scales it */
  h1{font-size:1.85rem}
  .hero{padding:22px 0 20px}
  .kicker{font-size:.7rem;letter-spacing:.1em}
  .cta-band .postmark{display:none}
  .hand-demo{font-size:1.12rem}
  .kpis{grid-template-columns:repeat(2,1fr);gap:10px}
  .btn.lg{padding:12px 16px;font-size:1.02rem}
  .demo-chip{font-size:.66rem}
  .drep{padding:8px 10px;gap:8px}
  .plan .price{font-size:1.9rem}
}

/* ===================== DARK MODE (dashboards only) =====================
 * Scoped to .app.theme-dark so marketing/public pages (which never render
 * .app) stay light. Only adds overrides; light defaults above are untouched.
 * Palette tuned for WCAG-AA legibility on a dark navy surface. */
.app.theme-dark{
  --ink:#E8EDF1; --ink-2:#D4DFE4; --paper:#111A1F; --card:#1A2830;
  --seal:#E8584A; --seal-d:#D14638; --green:#5BAE7B; --blue:#6FA8D6;
  --graphite:#A7B8C0; --faint:#7E9099; --line:#2C3E47; --control-border:#657C87; --amber:#D9A441;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px -14px rgba(0,0,0,.6);
  background:var(--paper); color:var(--ink);
}
.app.theme-dark a{color:var(--ink);text-decoration-color:rgba(232,234,241,.4)}
.app.theme-dark a:hover{text-decoration-color:var(--seal)}
/* Sidebar + topbar (hardcoded light backgrounds in the base sheet) */
.app.theme-dark .side{background:#152227;border-right-color:var(--line)}
.app.theme-dark .side .nv{color:#C1D1D7}
.app.theme-dark .side .nv:hover{background:rgba(255,255,255,.06);color:var(--ink)}
.app.theme-dark .side .nv.on{background:#F7F9FB;color:#12303D}
.app.theme-dark .side .grp{color:#C1D1D7}
.app.theme-dark .side .navsum-desc{color:#98B0B8}.app.theme-dark .side .nav-subhead{color:#AEC1C8}
.app.theme-dark .side .sfoot{border-top-color:var(--line)}
.app.theme-dark .side .sfoot .who{color:var(--ink)}
.app.theme-dark .credits-pill{background:#142128;border-color:var(--line);color:var(--graphite)}
.app.theme-dark .credits-pill:hover{color:#fff;border-color:#465F6D}
.app.app-client.theme-dark .credits-pill{background:transparent;border:0;border-top:1px solid rgba(255,255,255,.1);color:#C1D1D7}
.app.app-client.theme-dark .credits-pill:hover{background:rgba(255,255,255,.04);border-top-color:rgba(255,255,255,.16);color:#fff}
.app.theme-dark .credits-pill b{color:var(--ink)}
.app.theme-dark .topbar{background:#152227;border-bottom-color:var(--line)}
/* Cookie bar + consent dialog render OUTSIDE .app (end of body) — reach them as siblings so the dark theme covers the full viewport */
.app.theme-dark~#ccroot{--ink:#E8EDF1;--ink-2:#D4DFE4;--paper:#111A1F;--card:#1A2830;--seal:#E8584A;--seal-d:#D14638;--graphite:#A7B8C0;--faint:#7E9099;--line:#2C3E47}
.app.theme-dark~#ccroot .ccbar{box-shadow:0 -10px 30px -12px rgba(0,0,0,.6)}
.app.theme-dark~#ccroot .btn{background:#283D49;border-color:#3A5461;color:#fff}
.app.theme-dark~#ccroot .btn:hover{background:#324B58}
.app.theme-dark~#ccroot .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.app.theme-dark~#ccroot .btn.ghost:hover{background:rgba(255,255,255,.06)}
.app.theme-dark~#ccroot .ccmodal{background:var(--card)}
.app.theme-dark~#ccroot .ccon,.app.theme-dark~#ccroot .ccon.cc-fixed,.app.theme-dark~#ccroot .ccon.cc-none{background:#283D49;border-color:#465F6D;color:var(--ink)}
.app.theme-dark~#ccroot .ccon:before,.app.theme-dark~#ccroot .ccon.cc-fixed:before{background:#B9CCD3}
.app.theme-dark~#ccroot .ccsw-ui{background:#3A5461;border-color:#7E97A2;color:#fff}
.app.theme-dark~#ccroot .ccsw input:checked+.ccsw-ui{background:#1E7A46;border-color:#6AA47D;color:#fff}
@media(forced-colors:active){
  .app.theme-dark~#ccroot .ccon,.app.theme-dark~#ccroot .ccon.cc-fixed,.app.theme-dark~#ccroot .ccon.cc-none{background:Canvas;color:CanvasText;border-color:CanvasText}
  .app.theme-dark~#ccroot .ccon:before,.app.theme-dark~#ccroot .ccon.cc-fixed:before{background:CanvasText}
  .app.theme-dark~#ccroot .ccsw-ui{background:Canvas;color:CanvasText;border-color:CanvasText}
  .app.theme-dark~#ccroot .ccsw input:checked+.ccsw-ui{background:Highlight;color:HighlightText;border-color:Highlight}
}
/* Cards, stats, tables, inputs (override hardcoded #fff / light fills) */
.app.theme-dark .card{background:var(--card);border-color:var(--line)}
.app.theme-dark .stat{background:var(--card);border-color:var(--line)}
.app.theme-dark .stat-i{background:#22343C;border-color:var(--line);color:var(--ink)}
.app.theme-dark .tbl{background:var(--card);border-color:var(--line)}
.app.theme-dark .tbl th{background:#1F3038;border-bottom-color:var(--line);color:var(--graphite)}
.app.theme-dark .tbl td{border-bottom-color:#263840}
.app.theme-dark .tbl tr:nth-child(even) td{background:#1D2C34}
.app.theme-dark .tbl tr:hover td{background:#1F3038}
.app.theme-dark .field input,.app.theme-dark .field select,.app.theme-dark .field textarea{background:#0E171B;border-color:var(--line);color:var(--ink)}
.app.theme-dark .field input::placeholder,.app.theme-dark .field textarea::placeholder{color:var(--faint)}
.app.theme-dark .field input:focus,.app.theme-dark .field select:focus,.app.theme-dark .field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)}
.app.theme-dark .field label{color:var(--ink)}
.app.theme-dark .pp-ai-date-field input,.app.theme-dark .pp-ai-control{background:#0E171B;border-color:var(--line);color:var(--ink);color-scheme:dark}
.app.theme-dark .pp-ai-date-field input:focus,.app.theme-dark .pp-ai-control:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)}
.app.theme-dark .pp-ai-research-form .pp-ai-query{background:#0E171B;border-color:var(--line);color:var(--ink)}
.app.theme-dark .pp-ai-research-form .pp-ai-query:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)}
.app.theme-dark .copyrow input{background:#0E171B;border:1.5px solid var(--control-border);color:var(--ink);border-radius:var(--r)}
.app.theme-dark .check input{accent-color:var(--blue)}
/* Buttons: base .btn uses var(--ink) as its fill, which becomes near-white in
 * dark mode, so restate a dark surface with light text; accents stay vivid. */
.app.theme-dark .btn{background:#283D49;border-color:#3A5461;color:#fff}
.app.theme-dark .btn:hover{background:#324B58}
.app.theme-dark .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.app.theme-dark .btn.ghost:hover{background:rgba(255,255,255,.06)}
.app.theme-dark .btn.seal{background:var(--seal);border-color:var(--seal);color:#1A1010}
.app.theme-dark .btn.seal:hover{background:var(--seal-d)}
/* Badges: lift fills/borders for contrast on dark */
.app.theme-dark .badge{border-color:var(--line)}
.app.theme-dark .b-green{color:#86D3A6;border-color:#2E5641;background:rgba(91,174,123,.14)}
.app.theme-dark .b-red{color:#F49184;border-color:#6B2E2A;background:rgba(232,88,74,.15)}
.app.theme-dark .b-blue{color:#9FC8EC;border-color:#2C4A66;background:rgba(111,168,214,.15)}
.app.theme-dark .b-amber{color:#EBC579;border-color:#5C481F;background:rgba(217,164,65,.15)}
.app.theme-dark .b-muted{color:var(--graphite);border-color:var(--line);background:rgba(255,255,255,.05)}
.app.theme-dark .navnum{background:var(--seal);color:#1A1010}
.app.theme-dark .tabs{border-bottom-color:var(--line)}
.app.theme-dark .tabs a.on{color:var(--ink)}
.app.theme-dark .tab{background:var(--card);color:var(--graphite);border-color:var(--line)}
.app.theme-dark .tab:hover{border-color:var(--graphite);color:var(--ink)}
.app.theme-dark .tab.on,.app.theme-dark .tabs a.tab.on{background:#283D49;border-color:#3A5461;color:#fff}
.app.theme-dark .empty .postmark{color:#3A5461}
/* Dashboard content surfaces that hardcode a light fill (v4 friendly dashboard, the guided
 * campaign wizard, letter-approval readonly box, admin tag chips, neutral flash) — each has
 * themed (now-light) text, so restate a dark surface to keep it legible. All dark-scoped:
 * light mode is untouched. State variants (.done/.sel/.on/.err/.ok) are excluded so their
 * accent fills survive. */
.app.theme-dark .dash-hero{background:var(--card)}
.app.theme-dark .campcard{background:var(--card)}
.app.theme-dark .plan{background:var(--card);border-color:var(--line)}
.app.theme-dark .plan.hot{border-color:var(--ink)}
.app.theme-dark .plan.hot .pop{background:#283D49;color:#fff}
.app.theme-dark .matrix-fold>summary{background:var(--card)}
.app.theme-dark .matrix-wrap{background:var(--card)}
.app.theme-dark .dash-help{background:#1F3038}
.app.theme-dark .onb-row:not(.done) .onb-n{background:var(--card)}
.app.theme-dark .wz-track li{background:var(--card)}
.app.theme-dark .wz-track li.on i{background:#283D49}
.app.theme-dark .wz-nav{background:var(--card)}
.app.theme-dark .choice{background:var(--card)}
.app.theme-dark .choice:not(.sel) .tick{background:var(--card);color:var(--card)}
.app.theme-dark .wz-ai{background:rgba(217,164,65,.07);border-color:#5C481F}
.app.theme-dark .wz-ai textarea{background:#0E171B}
.app.theme-dark .wz-restore{background:rgba(111,168,214,.12);border-color:#2C4A66}
.app.theme-dark .wz-preview{background:var(--card)}
.app.theme-dark .pt-row .pt-x{background:var(--card)}
.app.theme-dark .pt-row input{background:#0E171B;color:var(--ink)}
.app.theme-dark input[type=file]{background:#142128;border-color:var(--line);color:var(--graphite)}
.app.theme-dark input[type=color]{background:#142128;border-color:var(--line)}
.app.theme-dark .letter-readonly{background:var(--card)}
.app.theme-dark .lr-subject{background:#1F3038}
.app.theme-dark .tag-chip{background:var(--card)}
.app.theme-dark .flash:not(.err):not(.ok){background:#283D49}
.app.theme-dark .flash.err{background:#6E2F2B}
.app.theme-dark .flash.ok{background:#1E7A46}
/* Module light hexes that leak into dark (hover borders, progress tracks, quote rule) — dark-scoped here
 * because those modules have no dark blocks of their own; light mode untouched. */
.app.theme-dark .bt-card:hover,.app.theme-dark .gg-card:hover,.app.theme-dark a.crm-stat:hover,.app.theme-dark .crm-pc:hover,.app.theme-dark .nm-topic:hover,.app.theme-dark .wr-roomcard:hover{border-color:#3A5461}
.app.theme-dark .wr-stagebar,.app.theme-dark .wr-progwrap{background:#22343C}
.app.theme-dark .wr-quote,.app.theme-dark blockquote.wr-quote{border-left-color:#3A5461}
/* Theme toggle control, styled for both modes */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1.5px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.theme-toggle:hover{background:rgba(18,48,61,.06);border-color:var(--ink)}
.theme-toggle .ic-moon{display:none}
.theme-toggle .ic-sun{display:inline-block}
@media(max-width:760px){.theme-toggle{width:44px;height:44px}}
.app.theme-dark .theme-toggle{color:var(--ink);border-color:var(--line)}
.app.theme-dark .theme-toggle:hover{background:rgba(255,255,255,.08);border-color:var(--graphite)}
.app.theme-dark .theme-toggle .ic-sun{display:none}
.app.theme-dark .theme-toggle .ic-moon{display:inline-block}
/* Larger-text toggle (sits beside the dark/light toggle): scales the whole dashboard
 * ~10% (≈ +1.5px on body text). zoom reflows like browser-zoom, so no horizontal overflow. */
.text-toggle .tt-lg{font:800 18px/1 var(--display)}
.text-toggle .tt-sm{font:800 11px/1 var(--display)}
.text-toggle[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.app.theme-dark .text-toggle[aria-pressed="true"]{background:#283D49;border-color:#3A5461;color:#fff}
.app.text-lg{zoom:1.1}
/* Thin divider between the QR/poster tools and the social-share buttons in campaign/petition share rows */
.share-sep{width:1px;align-self:stretch;min-height:22px;background:var(--line);margin:0 4px}
@media(max-width:560px){.share-sep{display:none}}
/* Collapsible card: a whole card that opens on click of its summary header (a rotating chevron marks state) */
details.card>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font:700 1.06rem var(--display);color:var(--ink)}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary>.sum-ic{color:var(--seal);display:inline-flex;flex:none}
details.card>summary::after{content:"";width:9px;height:9px;margin-left:auto;border-right:2px solid var(--graphite);border-bottom:2px solid var(--graphite);transform:rotate(-45deg);transition:transform .15s;flex:none}
details.card[open]>summary::after{transform:rotate(45deg)}
details.card>summary:hover::after{border-color:var(--ink)}
details.card[open]>summary{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
/* ---- Global loading overlay: shown during slow AI / API waits (opt-in via data-busy / data-loading) ---- */
.pp-loading{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(17,21,31,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.pp-loading.on{display:flex;animation:pploadfade .18s cubic-bezier(0.23,1,0.32,1)}
@keyframes pploadfade{from{opacity:0}to{opacity:1}}
.pp-loading-card{box-sizing:border-box;background:var(--card,#fff);color:var(--ink,#12303D);border:1px solid var(--line,#E3E0D6);border-radius:16px;padding:28px 30px;max-width:340px;width:100%;text-align:center;box-shadow:0 10px 44px -10px rgba(0,0,0,.45);animation:pploadpop .22s cubic-bezier(0.23,1,0.32,1)}
@keyframes pploadpop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.pp-loading-spin{width:40px;height:40px;margin:0 auto 16px;border-radius:50%;border:3px solid var(--line,#E3E0D6);border-top-color:var(--seal,#6E2F2B);animation:ppspin .7s linear infinite}
@keyframes ppspin{to{transform:rotate(360deg)}}
.pp-loading-msg{font:700 1.05rem var(--display,Georgia,serif);color:var(--ink,#12303D);margin:0 0 5px;text-wrap:balance;line-height:1.3}
.pp-loading-sub{font-size:.88rem;color:var(--graphite,#5A6972);line-height:1.5;margin:0;text-wrap:pretty}
/* Indeterminate progress: a segment glides left->right on a continuous loop so the bar ALWAYS shows
 * forward motion ("the system isn't frozen") instead of easing to ~92% and then crawling (which read
 * as stuck). COMPOSITOR-DRIVEN transform + a pure CSS loop (no JS timer) so it keeps moving during a
 * form-submit navigation wait — iOS suspends JS timers once navigation commits. */
.pp-loading-bar{height:6px;border-radius:99px;background:var(--line,#E3E0D6);margin:14px auto 0;max-width:230px;overflow:hidden;position:relative}
.pp-loading-bar-fill{position:absolute;top:0;left:0;height:100%;width:38%;border-radius:99px;background:var(--seal,#6E2F2B);transform:translateX(-120%);will-change:transform;animation:pploadbar 1.6s cubic-bezier(0.45,0,0.35,1) infinite}
@keyframes pploadbar{0%{transform:translateX(-120%)}100%{transform:translateX(280%)}}
@media(max-width:480px){.pp-loading{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.pp-loading-card{max-width:100%;padding:22px 18px;border-radius:14px}}
@media(prefers-reduced-motion:reduce){.pp-loading.on,.pp-loading-card,.pp-loading-spin{animation:none}.pp-loading-bar-fill{animation:none!important;transform:translateX(85%)!important}}
/* ---- Styled native selects: custom chevron + room for it, so dropdowns don't render as raw OS controls.
 * Placed at sheet end so it wins source-order over the .field / .app.theme-dark `background` shorthands
 * (which reset background-image); the mid-grey chevron reads on both the light and dark input fills. */
.field select,.tm-panel select,select.pp-sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A93A6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:15px}
/* The dark `.app.theme-dark .field select` background SHORTHAND (higher specificity than the light
 * chevron rule above) resets repeat/position/size to initial in dark — restate all three here or the
 * chevron tiles across the whole control. */
.app.theme-dark .field select,.app.theme-dark .tm-panel select,.app.theme-dark select.pp-sel{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A93A6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:15px}
select.pp-sel{width:100%;border:1.5px solid var(--control-border);border-radius:8px;background-color:#fff;padding:10px 38px 10px 12px;font:400 .95rem var(--body);color:var(--ink);transition:border-color .12s,box-shadow .12s;cursor:pointer}
select.pp-sel:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.app.theme-dark select.pp-sel{background-color:#0E171B;border-color:var(--control-border);color:var(--ink)}
.app.theme-dark select.pp-sel:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)}
/* ---- Plain-language help tooltip: pp_help($en,$fr). A focusable info button beside a function
 * area that reveals a 1-sentence, grade-4 explanation. WCAG 1.4.13 (hoverable/dismissible/persistent):
 * shows on hover, keyboard focus, and tap; Esc / click-outside close it (a.js). ---- */
.pp-help{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:4px}
/* Keep the compact glyph while giving it a forgiving hit area. Negative margins
 * preserve inline heading rhythm; the phone breakpoint expands to a 44px target. */
.pp-help-btn{display:inline-grid;place-items:center;width:32px;height:32px;margin:-5px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--graphite,#5A6972);cursor:pointer;line-height:0;-webkit-tap-highlight-color:transparent;transition:color .12s}
.pp-help-btn:hover,.pp-help-btn:focus-visible{color:var(--ink,#12303D)}
.pp-help-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(18,48,61,.20)}
.pp-help-pop{position:absolute;left:0;top:calc(100% + 7px);z-index:200;width:max-content;max-width:min(264px,78vw);background:var(--card,#fff);color:var(--ink,#12303D);border:1px solid var(--line,#E3E0D6);border-radius:9px;padding:9px 11px;font:400 .82rem/1.45 var(--body,system-ui);font-weight:400;text-transform:none;letter-spacing:normal;text-align:left;white-space:normal;box-shadow:0 8px 24px -8px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .12s,transform .12s,visibility .12s;pointer-events:none}
.pp-help:hover .pp-help-pop,.pp-help:focus-within .pp-help-pop,.pp-help.open .pp-help-pop{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
/* JS (a.js) pins the open popover as position:fixed directly under its icon, clamped to the
 * viewport — ONE consistent placement everywhere, immune to overflow-hidden ancestors, flex/grid
 * quirks and table cells, and physically unable to push page layout around. */
.pp-help.pp-fx .pp-help-pop{position:fixed;transform:none}
.app.theme-dark .pp-help-pop{background:#0E171B;border-color:var(--line);color:var(--ink)}
@media(max-width:760px){.pp-help-btn{width:44px;height:44px;margin:-11px}}
@media(prefers-reduced-motion:reduce){.pp-help-pop,.pp-help-btn{transition:none}}
/* ---- Shared client-module masthead (DESIGN-STANDARD §1). One building block so every module's
 * page header is identical: domain glyph in a ~44 box + serif h1 + one-line dossier subtitle +
 * one optional primary (seal) action on the right. Borders-only depth; reserves --seal for action. ---- */
.pp-mast{display:flex;align-items:flex-start;gap:14px;margin:0 0 20px;flex-wrap:wrap}
.pp-mast-ic{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--ink) 7%,var(--card));color:var(--ink);display:grid;place-items:center}
/* flex-basis floor: the title block may never be starved into one-word-per-line by a fat CTA
 * row — when space is tight the CTA wraps BELOW the title instead (flex-wrap above). */
.pp-mast-tt{flex:1 1 240px;min-width:0} /* 240px basis: 44px glyph + 14px gap + 240px fits a 343px content line at 375px, so glyph and h1 share a row */
.pp-mast h1{font-family:var(--display);font-size:1.5rem;line-height:1.15;letter-spacing:-.018em;margin:0 0 3px;color:var(--ink);overflow-wrap:anywhere}
.pp-mast-sub{color:var(--graphite);font-size:.94rem;line-height:1.5;margin:0;max-width:64ch;overflow-wrap:anywhere}
.pp-mast-cta{flex:0 1 auto;margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:100%}
/* A help icon inside any button/action row rides inline, centered with the buttons — never on
 * its own line with stray gaps. */
.pp-mast-cta .pp-help,.fr .pp-help{align-self:center;margin-left:0}
@media(max-width:640px){.pp-mast{flex-wrap:wrap}.pp-mast-cta{margin-left:0;width:100%}
/* CTA buttons/forms stretch full-width when the mast stacks (moved here from press-release.php's
 * unscoped rules — every module's masthead already relied on this behaviour via the global bundle) */
.pp-mast-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.pp-mast-cta>:only-child,.pp-mast-cta>:last-child:nth-child(odd){grid-column:1/-1}
.pp-mast-cta>.btn,.pp-mast-cta>form{width:100%;min-width:0}
.pp-mast-cta>.btn{justify-content:center}
.pp-mast-cta>form{display:flex}
.pp-mast-cta>form>.btn{width:100%;justify-content:center}}
/* ---- Shared collection cards. Mirrors the petitions index so Campaigns, Petitions, and Votes
 * present work with the same scan order: identity/status, context, metrics, then actions. ---- */
.pp-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pp-item-summary .stat{min-height:108px}
.pp-status-filter{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px}
.pp-status-filter-option{display:inline-flex;align-items:center;justify-content:center;min-height:36px;box-sizing:border-box;padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font:600 .85rem var(--body)}
.pp-status-filter-option:hover{border-color:var(--ink);color:var(--ink)}
.pp-status-filter-option.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.pp-status-filter-option:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pp-item-card{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow-sm,0 1px 2px rgba(18,48,61,.05))}
.pp-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pp-item-head>div{min-width:0}
.pp-item-head h2{font-size:1.08rem;line-height:1.3;margin:5px 0 0;overflow-wrap:anywhere}
.pp-item-head h2 a{color:var(--ink);text-decoration:none}
.pp-item-head h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pp-item-key{display:block;color:var(--faint);font:.72rem/1.3 var(--mono);overflow-wrap:anywhere}
.pp-item-desc{color:var(--graphite);font-size:.9rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pp-item-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pp-item-metric{padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.pp-item-metric b{display:block;font-size:1.08rem;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pp-item-metric span{display:block;margin-top:2px;color:var(--faint);font-size:.72rem}
.pp-item-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:2px}
.pp-item-actions{display:flex;gap:8px;flex-wrap:wrap}
.pp-item-updated{color:var(--faint);font-size:.76rem}
@media(max-width:760px){.pp-item-grid{grid-template-columns:1fr}.pp-item-card{padding:17px}.pp-item-foot{align-items:flex-end}.pp-status-filter-option{min-height:44px;padding:8px 14px}}
@media(max-width:480px){.pp-item-metrics{grid-template-columns:1fr 1fr}.pp-item-metric:last-child{grid-column:1/-1}.pp-item-foot{align-items:stretch;flex-direction:column}.pp-item-actions{display:grid;grid-template-columns:1fr 1fr}.pp-item-actions .btn{justify-content:center}.pp-item-actions .btn:last-child:nth-child(odd){grid-column:1/-1}}
/* Jurisdiction-coverage flag row under a monitor masthead's h1 (pp_jur_flags): Canada always
 * first, then provinces west->east, then territories. Height-normalized 2x PNGs in assets/flags. */
.pp-jurflags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;list-style:none;margin:6px 0 2px;padding:0}
.pp-jurflags li{display:flex}
.pp-jurflags img{height:15px;width:auto;display:block;border:1px solid var(--line);border-radius:2px;background:#fff}
/* "Act on this" — the shared Monitor->Mobilize action row (pp_act_links in inc/23), rendered on
 * monitor detail pages (consultations, gazette, hansard, committees; bills use bi-actions). */
.pp-act{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:16px 0}
.pp-act-h{font:700 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);margin-bottom:9px}
.pp-act-b{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
/* Mobile: the "Act on this" mobilize buttons (Start a campaign / Add to war room / Draft a press release)
 * stack full-width and equal-size — one consistent treatment for every monitor's action row (shared
 * .pp-act-b + bill-intel's .bi-actions-b), instead of wrapping to uneven widths. */
@media(max-width:560px){
  .pp-act-b{flex-direction:column;align-items:stretch}
  .pp-act-b>.btn,.pp-act-b>form,.pp-act-b>form>.btn{width:100%;justify-content:center;min-height:44px}
  .bi-actions-b{grid-template-columns:1fr}
}
/* Cloudflare Turnstile renders into an initially-empty div, so the sign-in/signup card grew by
 * ~65px when the widget iframe loaded — a visible layout jump. Reserve the widget's fixed height
 * ("normal" size is 300x65) up front so the card is stable from first paint. */
.cf-turnstile,.cf-ts-defer,.cf-ts-auth,.cf-ts-public{min-height:65px;width:300px;max-width:100%;margin:10px 0}
.auth-card .cf-turnstile,.auth-card .cf-ts-defer,.auth-card .cf-ts-auth{width:100%;min-width:0;max-width:300px;margin-left:auto;margin-right:auto;text-align:center}
@media(min-width:320px) and (max-width:560px){
  .auth-card .cf-ts-auth,.auth-card .cf-ts-defer{width:300px;max-width:300px;position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0;min-height:65px}
}
.pub .cf-ts-public{width:100%;min-width:0;max-width:300px;margin-left:auto;margin-right:auto;text-align:center}
/* AI research-briefing charts (pp_ai_chart_svg): the OPTIONAL data figure a synthesis may attach.
 * Token-driven throughout so the dark theme recolours it for free. */
.aichart{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:14px 16px;margin:14px 0;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.aichart-t{font:700 .72rem var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);margin:0 0 10px}
.aichart-row{display:grid;grid-template-columns:minmax(72px,30%) 1fr 52px;gap:10px;align-items:center;padding:3px 0}
.aichart-l{font-size:.84rem;color:var(--graphite);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aichart-track{height:10px;border-radius:99px;overflow:hidden}
.aichart-track svg{display:block;width:100%;height:100%}
.aichart-v{font-size:.84rem;font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.aichart-line svg{display:block;width:100%;height:auto}.pp-draft-recovery{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-color:color-mix(in srgb,var(--seal) 32%,var(--line));border-left:4px solid var(--seal);border-radius:var(--r);background:var(--card);background:color-mix(in srgb,var(--seal) 6%,var(--card));color:var(--ink)}
.pp-draft-recovery-copy{flex:1 1 280px;min-width:0}.pp-draft-recovery-copy b{display:block;margin-bottom:2px}.pp-draft-recovery-copy small{display:block;color:var(--graphite);line-height:1.45}.pp-draft-recovery-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pp-draft-toast{position:fixed;right:18px;bottom:18px;z-index:175;max-width:min(360px,calc(100vw - 24px));padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 8px 24px rgba(15,25,45,.18);font:700 .78rem var(--body);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .16s,transform .16s}.pp-draft-toast.on{opacity:1;transform:none}.pp-draft-toast.warn{background:#6A4A18}
@media(max-width:640px){.pp-draft-recovery{padding:13px}.pp-draft-recovery-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.pp-draft-recovery-actions .btn{justify-content:center;width:100%}.pp-draft-toast{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border-radius:10px}}
@media(prefers-reduced-motion:reduce){.pp-draft-toast{transition:none}}.aas-wrap{max-width:1180px;margin:0 auto}
.aas-tabs{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.aas-tab{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font-size:.88rem}
.aas-tab:hover{border-color:var(--ink);color:var(--ink)}
.aas-tab.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.aas-inline-form{display:inline-block;margin:0 0 0 auto}
.aas-tabs .aas-inline-form{margin-left:auto}
.aas-meta{font-size:.8rem;margin-bottom:14px}
.aas-h{display:flex;align-items:center;gap:10px;font:800 1.15rem var(--body);color:var(--ink);margin:6px 0 10px}
.aas-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:18px}
.aas-scard{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px}
.aas-scard.aas-good{border-left:4px solid var(--green)}
.aas-scard.aas-warn{border-left:4px solid var(--amber)}
.aas-scard.aas-bad{border-left:4px solid var(--seal)}
.aas-scard.aas-unknown{border-left:4px solid var(--graphite)}
.aas-slabel{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--graphite);margin-bottom:6px}
.aas-sval{font:800 1.5rem var(--body);color:var(--ink)}
.aas-sof{font:700 .85rem var(--body);color:var(--graphite);margin-left:4px}
.aas-snote{margin-top:4px;font-size:.8rem;color:var(--graphite)}
.aas-sin{margin-top:8px}
.aas-sin>summary{cursor:pointer;font-size:.76rem;color:var(--graphite);list-style:none;border:1px solid var(--line);border-radius:5px;padding:1px 8px;display:inline-block}
.aas-sin>summary::-webkit-details-marker{display:none}
.aas-mini{width:100%;border-collapse:collapse;margin-top:6px;font-size:.78rem}
.aas-mini td,.aas-mini th{padding:3px 6px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.aas-mini th{font-weight:700;color:var(--graphite)}
.aas-sec{margin-bottom:22px}
.aas-sec h2{font:800 .95rem var(--body);color:var(--ink);margin:0 0 8px}
.aas-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:860px){.aas-cols{grid-template-columns:1fr}}
.aas-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:var(--radius)}
.aas-table-scroll:focus-visible{outline:3px solid color-mix(in srgb,var(--ink) 35%,transparent);outline-offset:2px}
.aas-tbl{width:100%;min-width:640px;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-size:.86rem}
.aas-tbl th{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.aas-tbl td{padding:7px 10px;border-bottom:1px solid var(--paper);vertical-align:top}
.aas-tbl tr:hover td,.aas-tbl tr:hover th[scope="row"]{background:var(--paper)}
.aas-tbl a{color:var(--ink)}
.aas-kv{min-width:520px}
.aas-kv th[scope="row"]{font:700 .84rem var(--body);text-transform:none;letter-spacing:0;color:var(--graphite);width:280px;vertical-align:top}
.aas-num{text-align:right;font-variant-numeric:tabular-nums}
.aas-note{color:var(--graphite);font-size:.82rem}
.aas-unk{color:var(--graphite);font-weight:700}
.aas-next{color:var(--ink);font-weight:700}
.aas-chip{display:inline-flex;align-items:center;gap:5px;font:700 .74rem var(--body);border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--graphite);white-space:nowrap}
.aas-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--graphite);flex:none}
.aas-chip.ok{color:var(--green);border-color:var(--green)}.aas-chip.ok .aas-chip-dot{background:var(--green)}
.aas-chip.warn{color:var(--amber);border-color:var(--amber)}.aas-chip.warn .aas-chip-dot{background:var(--amber)}
.aas-chip.bad{color:#fff;background:var(--seal);border-color:var(--seal)}.aas-chip.bad .aas-chip-dot{background:#fff}
.aas-chip.unknown{border-style:dashed}
.aas-chip.off{opacity:.65}
.aas-chip.info{color:var(--ink)}
.aas-attn{display:grid;gap:6px}
.aas-attn-row{display:flex;align-items:baseline;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none}
.aas-attn-row .aas-chip-dot{align-self:center}
.aas-attn-row.bad{border-left:4px solid var(--seal)}.aas-attn-row.bad .aas-chip-dot{background:var(--seal)}
.aas-attn-row.warn{border-left:4px solid var(--amber)}.aas-attn-row.warn .aas-chip-dot{background:var(--amber)}
.aas-attn-t{font-weight:700;color:var(--ink)}
.aas-attn-d{color:var(--graphite);font-size:.84rem;flex:1;min-width:0}
.aas-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:22px 16px;text-align:center;color:var(--graphite)}
.aas-empty.ok{color:var(--green);border-color:var(--green)}
.aas-mini-row{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border-bottom:1px solid var(--paper);text-decoration:none;font-size:.86rem}
.aas-mini-row:hover{background:var(--paper)}
.aas-mr-t{color:var(--ink);flex:1;min-width:0;word-break:break-word}
.aas-mr-d{flex:none;font-size:.78rem;white-space:nowrap}
.aas-mr-code{font:700 .74rem var(--mono,monospace);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 6px;flex:none}
.aas-flt{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px 14px;margin-bottom:14px}
.aas-flt label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.aas-flt select{font-size:.88rem;padding:5px 8px}
.aas-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}
.aas-actions .aas-inline-form{margin:0}
.aas-evd{margin-top:12px}
.aas-evd>summary{cursor:pointer;font-weight:700;color:var(--ink)}
.aas-json{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:6px 0 2px;font:700 .78rem var(--mono,monospace);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto}
.aas-packhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.aas-redact{border:1px solid var(--green);border-radius:var(--radius);background:var(--card);color:var(--green);font-size:.82rem;padding:8px 12px;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.aas-list{margin:0;padding-left:18px;color:var(--ink);font-size:.88rem}
.aas-list li{margin-bottom:4px}
@media(max-width:640px){
  .aas-tabs{align-items:stretch}
  .aas-tabs .aas-inline-form{width:100%;margin-left:0}
  .aas-tabs .aas-inline-form .btn{width:100%;justify-content:center}
  .aas-attn-row{align-items:center;flex-wrap:wrap}
  .aas-attn-d{flex-basis:100%;padding-left:17px}
  .aas-mini-row{align-items:flex-start;flex-wrap:wrap}
  .aas-mr-d{white-space:normal}
  .aas-kv th[scope="row"]{width:210px}
}.gacc-shell{max-width:1320px;margin:0 auto;color:var(--ink)}
.gacc-mast{margin-bottom:18px}
.gacc-mast>div:first-child{max-width:760px}
.gacc-mast .btn{min-height:44px}
.gacc-mast p{max-width:70ch;margin:6px 0 0;color:var(--muted);font-size:.94rem;line-height:1.58}
.gacc-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.085em;text-transform:uppercase}
.gacc-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;margin:0 0 14px;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-summary.is-attention{border-left-color:var(--seal)}
.gacc-summary.is-warming{border-left-color:var(--amber)}
.gacc-summary.is-calm{border-left-color:var(--green)}
.gacc-summary-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}
.gacc-summary.is-attention .gacc-summary-mark{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 32%,var(--line))}
.gacc-summary.is-calm .gacc-summary-mark{color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
.gacc-summary.is-warming .gacc-summary-mark{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 38%,var(--line))}
.gacc-summary h2{margin:0 0 3px;font-family:var(--display);font-size:1.18rem;line-height:1.3}
.gacc-summary p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.gacc-freshness{display:grid;justify-items:end;gap:2px;min-width:138px;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}
.gacc-freshness span{font-size:.72rem;font-weight:750;letter-spacing:.075em;text-transform:uppercase}
.gacc-freshness time{color:var(--ink);font-weight:700}
.gacc-partial{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0 0 14px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:10px;background:var(--card);font-size:.86rem}
.gacc-partial span{flex:1;line-height:1.45}
.gacc-partial a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--ink);font-weight:700;text-decoration:none}
.gacc-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 14px}
.gacc-kpi{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:126px;padding:16px;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-kpi.is-attention{border-left-color:var(--seal)}
.gacc-kpi.is-calm{border-left-color:var(--green)}
.gacc-kpi-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.gacc-kpi.is-attention .gacc-kpi-icon{color:var(--seal)}
.gacc-kpi.is-calm .gacc-kpi-icon{color:var(--green)}
.gacc-kpi-value{margin:-2px 0 1px;font-family:var(--display);font-size:1.55rem;font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums}
.gacc-kpi h3{margin:0;font-size:.92rem;line-height:1.3}
.gacc-kpi p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
.gacc-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:14px;margin:0 0 20px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-filter{display:grid;gap:6px;min-width:150px;margin:0}
.gacc-filter>span:first-child{font-size:.72rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.gacc-filter select,.gacc-filter input{min-height:44px;margin:0}
.gacc-search{flex:1;min-width:230px}
.gacc-input-wrap{position:relative;display:flex;align-items:center}
.gacc-input-wrap svg{position:absolute;left:12px;color:var(--muted);pointer-events:none}
.gacc-input-wrap input{width:100%;padding-left:38px}
.gacc-filters>.btn{min-height:44px}
.gacc-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,540px),1fr));gap:18px;align-items:start}
.gacc-main{min-width:0}
.gacc-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 12px}
.gacc-section-head h2{margin:3px 0 0;font-family:var(--display);font-size:1.18rem;line-height:1.3}
.gacc-section-head>p{max-width:48ch;margin:0;color:var(--muted);font-size:.82rem;text-align:right}
.gacc-owner-note{display:flex;align-items:flex-start;gap:7px;margin:0 0 12px;color:var(--muted);font-size:.8rem;line-height:1.45}
.gacc-owner-note svg{flex:0 0 auto;margin-top:2px}
.gacc-issues{display:grid;gap:10px}
.gacc-issue{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 14px 14px 16px;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-issue.is-critical,.gacc-issue.is-high{border-left-color:var(--seal)}
.gacc-issue.is-medium{border-left-color:var(--amber)}
.gacc-issue:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ink) 20%,var(--line));transition:transform .08s,border-color .15s}
.gacc-issue-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 5px}
.gacc-severity{font-size:.72rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.gacc-issue.is-critical .gacc-severity,.gacc-issue.is-high .gacc-severity{color:var(--seal)}
.gacc-issue.is-medium .gacc-severity{color:var(--amber)}
.gacc-issue.is-info .gacc-severity{color:var(--muted)}
.gacc-source{padding-left:8px;border-left:1px solid var(--line);color:var(--muted);font-size:.76rem}
.gacc-issue h3{margin:0;font-size:.98rem;font-weight:680;line-height:1.35}
.gacc-reason{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.48}
.gacc-next{margin:8px 0 0;font-size:.84rem;line-height:1.48}
.gacc-next>span{display:inline-flex;margin-right:4px;color:var(--muted)}
.gacc-meta{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.gacc-meta>span,.gacc-customer{display:inline-flex;align-items:center;gap:5px}
.gacc-customer{max-width:240px;min-height:44px;color:var(--ink);font-weight:700;text-decoration:none}
.gacc-customer:hover{text-decoration:underline}
.gacc-state{padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.gacc-open{min-width:138px;min-height:44px;justify-content:center;white-space:nowrap}
.gacc-aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.gacc-side-card{padding:16px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.gacc-side-head h2{margin:3px 0 0;font-family:var(--display);font-size:1.08rem}
.gacc-side-head>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);text-decoration:none}
.gacc-pulse-list{display:grid}
.gacc-pulse-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:8px;align-items:center;min-height:44px;border-top:1px solid var(--line);color:var(--ink);font-size:.82rem;text-decoration:none}
.gacc-pulse-row:first-child{border-top:0}
.gacc-pulse-row strong{font-variant-numeric:tabular-nums}
.gacc-pulse-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gacc-pulse-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--muted)}
.gacc-pulse-dot.is-ok{background:var(--green)}
.gacc-pulse-dot.is-watch,.gacc-pulse-dot.is-warming{background:var(--amber)}
.gacc-pulse-dot.is-critical{background:var(--seal)}
.gacc-pulse-dot.is-unknown{background:transparent;border:1.5px solid var(--muted)}
.gacc-side-foot{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.45}
.gacc-customer-list{display:grid}
.gacc-customer-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:54px;padding:6px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.gacc-customer-row:first-child{border-top:0}
.gacc-avatar{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-family:var(--display);font-size:.78rem;font-weight:750}
.gacc-customer-copy{display:grid;min-width:0}
.gacc-customer-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.gacc-customer-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}
.gacc-customer-row time{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.gacc-mini-empty{display:flex;align-items:center;gap:8px;padding:12px 0;color:var(--muted);font-size:.82rem}
.gacc-motion{margin:24px 0 0;padding:16px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}
.gacc-motion .gacc-customer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 18px}
.gacc-motion .gacc-customer-row:nth-child(-n+3){border-top:0}
.gacc-coverage{margin:14px 0 0;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.gacc-coverage summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;cursor:pointer;font-size:.82rem;font-weight:700}
.gacc-coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;padding:12px 14px 14px;border-top:1px solid var(--line)}
.gacc-coverage-grid a{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:44px;color:var(--ink);font-size:.78rem;text-decoration:none}
.gacc-coverage-grid small{color:var(--muted);font-size:.72rem}
.gacc-footnote{display:flex;align-items:flex-start;justify-content:center;gap:7px;max-width:860px;margin:18px auto 0;color:var(--muted);font-size:.76rem;line-height:1.5;text-align:center}
.gacc-footnote svg{flex:0 0 auto;margin-top:2px}
.gacc-empty{border-left:4px solid var(--green)}
.gacc-empty-icon{color:var(--green)}
.gacc-empty .btn{margin-top:8px}
.gacc-limit-note{display:flex;align-items:center;gap:7px;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.8rem}
@media(max-width:640px){
  .gacc-summary{grid-template-columns:auto minmax(0,1fr);padding:14px}
  .gacc-freshness{grid-column:2;justify-items:start;min-width:0}
  .gacc-kpis{grid-template-columns:1fr}
  .gacc-kpi{min-height:0}
  .gacc-filters{display:grid;grid-template-columns:1fr;padding:14px}
  .gacc-filter,.gacc-search{width:100%;min-width:0}
  .gacc-filters>.btn{width:100%}
  .gacc-section-head{align-items:flex-start;flex-direction:column;gap:5px}
  .gacc-section-head>p{text-align:left}
  .gacc-issue{grid-template-columns:1fr;padding:14px}
  .gacc-open{width:100%}
  .gacc-aside{grid-template-columns:1fr}
  .gacc-motion{padding:16px}
  .gacc-motion .gacc-customer-list{grid-template-columns:1fr}
  .gacc-motion .gacc-customer-row{border-top:1px solid var(--line)}
  .gacc-motion .gacc-customer-row:first-child{border-top:0}
  .gacc-coverage-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .gacc-issue:hover{transform:none;transition:none}
}
@media print{
  .gacc-filters,.gacc-open,.gacc-coverage,.gacc-footnote{display:none!important}
  .gacc-aside{position:static}
  .gacc-issue:hover{transform:none}
}.gcasl-mast{background:linear-gradient(135deg,rgba(34,91,78,.12),rgba(18,48,61,.04));border:1px solid rgba(34,91,78,.18)}
.gcasl-help{margin-bottom:18px}.gcasl-help summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center}.gcasl-help summary::-webkit-details-marker{display:none}.gcasl-help[open] summary{padding-bottom:14px;border-bottom:1px solid var(--line)}
.gcasl-search{margin-bottom:18px}.gcasl-search-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(220px,1fr) auto;gap:14px;align-items:end}.gcasl-search-row .field{margin:0}.gcasl-search-row button{min-height:44px}
.gcasl-stats{margin-bottom:18px}.gcasl-filter{margin-bottom:18px;padding:14px}.gcasl-filter-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1.1fr .8fr .8fr auto;gap:10px;align-items:end}.gcasl-filter-grid .field{margin:0}.gcasl-filter-actions{display:flex;gap:7px;padding-bottom:1px}
.gcasl-detail{border:1px solid rgba(34,91,78,.22);background:var(--card);border-radius:18px;padding:20px;margin:18px 0;box-shadow:0 12px 30px rgba(18,48,61,.06)}.gcasl-detail h2{margin:2px 0 4px}.gcasl-detail code{font-size:.75rem;word-break:break-all}.gcasl-org-tabs{display:flex;gap:8px;overflow:auto;padding:14px 0;margin:8px 0 16px;border-bottom:1px solid var(--line)}.gcasl-org-tab{white-space:nowrap;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--text)}.gcasl-org-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.gcasl-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.gcasl-state-grid article{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg)}.gcasl-state-grid span,.gcasl-state-grid small{display:block;color:var(--muted)}.gcasl-state-grid b{display:block;font-size:1.03rem;margin:5px 0}.gcasl-detail-grid{align-items:start}.gcasl-plain-list{margin:8px 0 0;padding-left:20px}.gcasl-plain-list li{margin:8px 0}.gcasl-pref-list>div{padding:9px 0;border-bottom:1px solid var(--line)}.gcasl-pref-list>div:last-child{border:0}.gcasl-pref-list small{display:block;color:var(--muted);margin-top:3px}
.gcasl-override-history{margin-top:14px}.gcasl-override-history article{padding:13px 0;border-bottom:1px solid var(--line)}.gcasl-override-history article:last-child{border:0}.gcasl-override-history article small{display:block;color:var(--muted);margin-top:4px}.gcasl-override-history article p{margin:8px 0 0}.gcasl-override-form{margin-top:14px;border-left:4px solid var(--seal)}.gcasl-confirm{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.gcasl-confirm input{margin-top:4px}.gcasl-submit{display:flex;justify-content:flex-end;margin-top:14px}
.gcasl-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:750;background:#e9edf3;color:#344C54}.gcasl-badge.ok{background:#e5f5ed;color:#17633d}.gcasl-badge.stop{background:#fdebea;color:#9d2923}.gcasl-badge.neutral{background:#eef2f3;color:#53666c}.gcasl-table th{white-space:nowrap}.gcasl-table td{vertical-align:top}.gcasl-table code{font-size:.72rem}.gcasl-pages{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:14px}.gcasl-empty{text-align:center;padding:34px;color:var(--muted)}.gcasl-empty h3{color:var(--text);margin:8px 0}.gcasl-activity{margin-top:18px}
@media(max-width:1100px){.gcasl-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gcasl-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gcasl-search-row{grid-template-columns:1fr 1fr}.gcasl-search-row button{grid-column:1/-1}}
@media(max-width:700px){.gcasl-search-row,.gcasl-filter-grid,.gcasl-state-grid{grid-template-columns:1fr}.gcasl-filter-actions{padding:0}.gcasl-detail{padding:15px}.gcasl-submit .btn{width:100%}}
/* Organization 360° — quiet, documentary support cockpit */
.o360-shell{--o360-good:#2f6b50;--o360-good-soft:color-mix(in srgb,var(--o360-good) 8%,var(--card));--o360-warn:#9a6518;--o360-warn-soft:color-mix(in srgb,#d99a33 10%,var(--card));--o360-danger:var(--seal);--o360-danger-soft:color-mix(in srgb,var(--seal) 7%,var(--card));max-width:1220px;margin:0 auto;color:var(--ink)}
.o360-shell *{box-sizing:border-box}
.o360-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 8px;color:var(--muted);font-size:.85rem;font-weight:650;text-decoration:none}
.o360-back svg{transform:rotate(180deg)}
.o360-back:hover{color:var(--ink)}
.o360-mast{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:22px 24px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}
.o360-identity{display:flex;align-items:center;gap:16px;min-width:0}
.o360-monogram,.o360-avatar{display:inline-grid;place-items:center;flex:0 0 auto;border:1.5px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:700;letter-spacing:.02em}
.o360-monogram{width:56px;height:56px;font-size:1.04rem}
.o360-avatar{width:38px;height:38px;font-size:.76rem}
.o360-eyebrow,.o360-kicker,.o360-stat-label{display:block;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.o360-mast h1{margin:2px 0 8px;font:700 1.5rem/1.18 var(--display);overflow-wrap:anywhere}
.o360-mast-meta,.o360-actions,.o360-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.o360-actions{justify-content:flex-end}
.o360-actions form{margin:0}
.o360-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 14px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:650 .82rem/1 var(--body);text-decoration:none;cursor:pointer}
.o360-action:hover{border-color:color-mix(in srgb,var(--ink) 38%,var(--line));transform:translateY(-1px)}
.o360-action.is-primary{border-color:var(--ink);background:var(--ink);color:var(--card)}
.o360-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.02em;text-transform:capitalize;white-space:nowrap}
.o360-pill.is-good{border-color:color-mix(in srgb,var(--o360-good) 35%,var(--line));background:var(--o360-good-soft);color:var(--o360-good)}
.o360-pill.is-warn{border-color:color-mix(in srgb,var(--o360-warn) 38%,var(--line));background:var(--o360-warn-soft);color:var(--o360-warn)}
.o360-pill.is-danger{border-color:color-mix(in srgb,var(--seal) 35%,var(--line));background:var(--o360-danger-soft);color:var(--seal)}
.o360-pill.is-info{border-color:color-mix(in srgb,var(--ink) 22%,var(--line));background:color-mix(in srgb,var(--ink) 5%,var(--card));color:var(--ink)}
.o360-brief{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:24px;align-items:center;margin-bottom:14px;padding:22px 24px;border:1.5px solid var(--line);border-left:4px solid var(--ink);border-radius:12px;background:var(--card)}
.o360-brief.is-watch,.o360-brief.is-unknown{border-left-color:var(--o360-warn)}
.o360-brief.is-risk{border-left-color:var(--seal)}
.o360-brief.is-good{border-left-color:var(--o360-good)}
.o360-brief h2{max-width:72ch;margin:5px 0 7px;font:650 1.18rem/1.42 var(--display)}
.o360-brief p{max-width:80ch;margin:0;color:var(--muted);font-size:.86rem;line-height:1.58}
.o360-score{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:8px;padding-left:22px;border-left:1px solid var(--line);font-variant-numeric:tabular-nums}
.o360-score-label{grid-column:1/-1;color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.o360-score strong{font:700 2.45rem/1 var(--display)}
.o360-score>span:not(.o360-score-label){padding-bottom:3px;color:var(--muted);font-size:.76rem}
.o360-score-blocks{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:10px}
.o360-score-blocks span{height:5px;border-radius:999px;background:var(--line)}
.o360-brief.is-good .o360-score-blocks .is-filled{background:var(--o360-good)}
.o360-brief.is-watch .o360-score-blocks .is-filled{background:var(--o360-warn)}
.o360-brief.is-risk .o360-score-blocks .is-filled{background:var(--seal)}
.o360-facts,.o360-metric-row{display:grid;gap:0;margin-bottom:24px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.o360-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
.o360-stat{display:flex;min-width:0;min-height:98px;flex-direction:column;justify-content:center;gap:4px;padding:15px 16px;border-right:1px solid var(--line)}
.o360-stat:last-child{border-right:0}
.o360-stat strong{font:700 1.14rem/1.2 var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.o360-stat-detail{color:var(--muted);font-size:.75rem;line-height:1.35}
.o360-section{margin:24px 0}
.o360-section-head,.o360-subhead{display:flex;align-items:center;justify-content:space-between;gap:14px}
.o360-section-head{margin-bottom:12px}
.o360-section-head h2{margin:3px 0 0;font:650 1.18rem/1.35 var(--display)}
.o360-section-note{color:var(--muted);font-size:.78rem;font-weight:650;font-variant-numeric:tabular-nums}
.o360-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.o360-signal{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:12px 14px;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);text-decoration:none}
a.o360-signal:hover{border-color:color-mix(in srgb,var(--ink) 30%,var(--line));transform:translateY(-1px)}
.o360-signal.is-danger{border-left-color:var(--seal)}
.o360-signal.is-warn{border-left-color:var(--o360-warn)}
.o360-signal.is-good{border-left-color:var(--o360-good)}
.o360-signal.is-info{border-left-color:color-mix(in srgb,var(--ink) 45%,var(--line))}
.o360-signal-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}
.o360-signal.is-danger .o360-signal-mark{color:var(--seal)}
.o360-signal.is-warn .o360-signal-mark{color:var(--o360-warn)}
.o360-signal.is-good .o360-signal-mark{color:var(--o360-good)}
.o360-signal-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.o360-signal-copy strong{font-size:.88rem;line-height:1.35}
.o360-signal-copy small{color:var(--muted);font-size:.78rem;line-height:1.45}
.o360-signal-go{color:var(--muted)}
.o360-disclosure{margin:14px 0;border:1.5px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}
.o360-disclosure>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto 28px;align-items:center;gap:10px;min-height:72px;padding:12px 16px;list-style:none;cursor:pointer}
.o360-disclosure>summary::-webkit-details-marker{display:none}
.o360-disclosure>summary:hover{background:color-mix(in srgb,var(--paper) 72%,var(--card))}
.o360-summary-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted)}
.o360-summary-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.o360-summary-copy strong{font:650 .98rem/1.35 var(--display)}
.o360-summary-copy small{max-width:75ch;color:var(--muted);font-size:.78rem;line-height:1.4}
.o360-summary-aside{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.o360-chevron{display:grid;place-items:center;color:var(--muted);transition:transform .15s ease}
.o360-disclosure[open] .o360-chevron{transform:rotate(90deg)}
.o360-disclosure-body{padding:18px 20px 20px;border-top:1px solid var(--line)}
.o360-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.o360-two-col>section{min-width:0}
.o360-subhead{min-height:44px;margin-bottom:10px}
.o360-subhead h3{margin:0;font:650 .98rem/1.35 var(--display)}
.o360-activation{padding:16px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper)}
.o360-activation-label{display:flex;flex-direction:column;gap:3px}
.o360-activation-label strong{font:650 1.08rem/1.3 var(--display)}
.o360-activation-label span{color:var(--muted);font-size:.8rem}
.o360-activation ol{display:grid;grid-template-columns:repeat(5,1fr);margin:20px 0 14px;padding:0;list-style:none}
.o360-activation li{position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center}
.o360-activation li:before{position:absolute;top:13px;right:50%;left:-50%;height:1px;background:var(--line);content:""}
.o360-activation li:first-child:before{display:none}
.o360-activation li>span{z-index:1;display:grid;place-items:center;width:28px;height:28px;border:1.5px solid var(--line);border-radius:50%;background:var(--card);color:var(--muted);font-size:.72rem;font-weight:750}
.o360-activation li.is-done>span{border-color:var(--o360-good);background:var(--o360-good);color:#fff}
.o360-activation li.is-done:before{background:var(--o360-good)}
.o360-activation li small{color:var(--muted);font-size:.72rem;line-height:1.25}
.o360-mini-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.o360-mini-facts div{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.o360-mini-facts dt{color:var(--muted);font-size:.72rem}
.o360-mini-facts dd{margin:4px 0 0;font-size:.8rem;font-weight:650}
.o360-list{border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.o360-person{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}
.o360-person:last-child{border-bottom:0}
.o360-person-main,.o360-person-role{display:flex;min-width:0;flex-direction:column;gap:2px}
.o360-person-main strong{font-size:.84rem}
.o360-person-main small,.o360-person-role small{color:var(--muted);font-size:.73rem;line-height:1.35;overflow-wrap:anywhere}
.o360-person-role{align-items:flex-end;text-align:right}
.o360-quiet{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:.8rem}
.o360-quiet span{color:var(--muted)}
.o360-footnote{margin:10px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}
.o360-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 16px}
.o360-metric-row.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.o360-metric-row .o360-stat{min-height:86px}
.o360-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.o360-content-card{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:10px;min-height:92px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);text-decoration:none}
.o360-content-card:hover{border-color:color-mix(in srgb,var(--ink) 35%,var(--line));transform:translateY(-2px)}
.o360-content-icon,.o360-timeline-icon,.o360-audit-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted)}
.o360-content-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.o360-content-copy>small,.o360-content-copy>span small{color:var(--muted);font-size:.72rem}
.o360-content-copy>strong{font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}
.o360-content-copy>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.o360-content-go{color:var(--muted)}
.o360-key-values{margin:0;border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.o360-key-values>div{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.o360-key-values>div:last-child{border-bottom:0}
.o360-key-values dt{color:var(--muted);font-size:.76rem}
.o360-key-values dd{margin:0;text-align:right;font-size:.8rem;font-weight:650;overflow-wrap:anywhere}
.o360-key-values dd small{color:var(--muted);font-weight:500}
.o360-key-values code,.o360-table code{font-size:.72rem}
.o360-table-wrap{max-width:100%;border:1.5px solid var(--line);border-radius:12px;overflow:auto}
.o360-table{width:100%;border-collapse:collapse;font-size:.78rem}
.o360-table caption{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden}
.o360-table th{padding:9px 11px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:.72rem;text-align:left;text-transform:uppercase;letter-spacing:.06em}
.o360-table td{padding:10px 11px;border-bottom:1px solid var(--line);vertical-align:middle}
.o360-table tr:last-child td{border-bottom:0}
.o360-table td strong,.o360-table td small{display:block}
.o360-table td small{margin-top:2px;color:var(--muted)}
.o360-table .o360-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.o360-timeline{border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.o360-timeline-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.o360-timeline-row:last-child{border-bottom:0}
.o360-timeline-row:hover{background:var(--paper)}
.o360-timeline-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
.o360-timeline-row small{color:var(--muted);font-size:.72rem}
.o360-timeline-row strong{font-size:.82rem;overflow-wrap:anywhere}
.o360-timeline-dot{justify-self:center;width:9px;height:9px;border:2px solid color-mix(in srgb,var(--ink) 35%,var(--line));border-radius:50%;background:var(--card)}
.o360-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.o360-feature{display:flex;align-items:center;gap:9px;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.o360-feature>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--paper);color:var(--muted)}
.o360-feature div{display:flex;min-width:0;flex-direction:column;gap:2px}
.o360-feature strong{font-size:.8rem}
.o360-feature small{color:var(--muted);font-size:.72rem;line-height:1.35}
.o360-state{display:flex;align-items:flex-start;gap:12px;min-height:104px;padding:24px 18px;border:1.5px dashed var(--line);border-radius:12px;background:var(--paper)}
.o360-state.is-warming{border-left:4px solid var(--o360-warn)}
.o360-state.is-error{border-left:4px solid var(--seal)}
.o360-state.is-unavailable{border-style:solid;background:var(--card)}
.o360-state-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}
.o360-state.is-error .o360-state-icon{color:var(--seal)}
.o360-state.is-warming .o360-state-icon{color:var(--o360-warn)}
.o360-state h3{margin:1px 0 4px;font:650 .9rem/1.35 var(--display)}
.o360-state p{max-width:70ch;margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}
.o360-anomaly-list{display:flex;flex-direction:column;gap:8px}
.o360-anomaly{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);text-decoration:none}
.o360-anomaly.is-danger{border-left-color:var(--seal)}
.o360-anomaly.is-warn{border-left-color:var(--o360-warn)}
.o360-anomaly.is-info{border-left-color:color-mix(in srgb,var(--ink) 40%,var(--line))}
.o360-anomaly:hover{border-color:color-mix(in srgb,var(--ink) 35%,var(--line));transform:translateY(-1px)}
.o360-anomaly-main{display:flex;min-width:0;flex-direction:column;gap:4px}
.o360-anomaly-main>small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem}
.o360-anomaly-main strong{font-size:.86rem}
.o360-anomaly-main>span{color:var(--muted);font-size:.76rem;line-height:1.45}
.o360-anomaly-date{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.72rem;white-space:nowrap}
.o360-audit-list{border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.o360-audit-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border-bottom:1px solid var(--line)}
.o360-audit-row:last-child{border-bottom:0}
.o360-audit-row>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}
.o360-audit-row strong{font-size:.8rem;text-transform:capitalize}
.o360-audit-row small,.o360-audit-row time{color:var(--muted);font-size:.72rem}
.o360-audit-row time{font-variant-numeric:tabular-nums;white-space:nowrap}
.o360-coverage{display:flex;align-items:flex-start;gap:10px;margin:18px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}
.o360-coverage>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--paper)}
.o360-coverage strong{color:var(--ink);font-size:.78rem}
.o360-coverage p{margin:2px 0 0;font-size:.74rem;line-height:1.45}
.o360-action,.o360-signal,.o360-content-card,.o360-anomaly{transition:transform .08s ease,border-color .15s ease}
.o360-back:focus-visible,.o360-action:focus-visible,.o360-signal:focus-visible,.o360-content-card:focus-visible,.o360-timeline-row:focus-visible,.o360-anomaly:focus-visible,.o360-disclosure>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--seal) 55%,transparent);outline-offset:3px}

@media(max-width:640px){
  .o360-shell{margin:0}
  .o360-mast{align-items:flex-start;flex-direction:column;padding:18px 16px}
  .o360-identity{align-items:flex-start}
  .o360-monogram{width:48px;height:48px}
  .o360-actions,.o360-actions form,.o360-actions .o360-action{width:100%}
  .o360-brief{grid-template-columns:1fr;padding:18px 16px}
  .o360-score{padding:14px 0 0;border-top:1px solid var(--line);border-left:0}
  .o360-facts,.o360-metric-row,.o360-metric-row.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .o360-facts .o360-stat,.o360-metric-row .o360-stat{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .o360-facts .o360-stat:nth-child(even),.o360-metric-row .o360-stat:nth-child(even){border-right:0}
  .o360-facts .o360-stat:nth-last-child(-n+2),.o360-metric-row .o360-stat:nth-last-child(-n+2){border-bottom:0}
  .o360-signal-grid,.o360-two-col,.o360-card-grid,.o360-feature-grid{grid-template-columns:1fr}
  .o360-disclosure>summary{grid-template-columns:36px minmax(0,1fr) 24px;padding:12px}
  .o360-summary-aside{grid-column:2/3;justify-content:flex-start}
  .o360-chevron{grid-column:3;grid-row:1}
  .o360-disclosure-body{padding:16px}
  .o360-subhead{align-items:flex-start;flex-direction:column;margin-bottom:12px}
  .o360-subhead>.o360-action,.o360-subhead>.o360-inline-actions,.o360-inline-actions .o360-action{width:100%}
  .o360-inline-actions{display:grid;grid-template-columns:1fr}
  .o360-mini-facts{grid-template-columns:1fr}
  .o360-activation ol{overflow-x:auto;padding-bottom:4px}
  .o360-activation li{min-width:70px}
  .o360-person{grid-template-columns:38px minmax(0,1fr)}
  .o360-person-role{grid-column:2;align-items:flex-start;text-align:left}
  .o360-quiet{align-items:flex-start;flex-direction:column}
  .o360-key-values>div{grid-template-columns:1fr;gap:4px}
  .o360-key-values dd{text-align:left}
  .o360-anomaly{grid-template-columns:1fr}
  .o360-anomaly-date{justify-content:space-between}
  .o360-audit-row{grid-template-columns:34px minmax(0,1fr)}
  .o360-audit-row time{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  .o360-shell *{scroll-behavior:auto!important;transition:none!important}
  .o360-action:hover,.o360-signal:hover,.o360-content-card:hover,.o360-anomaly:hover{transform:none}
}
@media print{
  .o360-back,.o360-actions,.o360-inline-actions,.o360-subhead .o360-action{display:none!important}
  .o360-disclosure{break-inside:avoid}
  .o360-action,.o360-signal,.o360-content-card,.o360-anomaly{transform:none!important}
}.padopt-shell{max-width:1380px;margin:0 auto;color:var(--ink)}
.padopt-mast{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:22px 24px;margin-bottom:14px;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}
.padopt-mast h1{font:700 1.5rem/1.2 var(--display);margin:5px 0 8px}.padopt-mast>div>p:last-child{margin:0;color:var(--muted);max-width:72ch;line-height:1.55}.padopt-eyebrow{margin:0;color:var(--muted);font-size:.72rem;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.padopt-filters{display:flex;gap:8px;align-items:end;flex:0 0 auto}.padopt-filters>div{display:grid;gap:5px}.padopt-filters label{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.padopt-filters select{min-height:44px;min-width:150px}.padopt-filters .btn{min-height:44px}
.padopt-contract{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.padopt-contract>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--card)}.padopt-contract p{margin:0;font-size:.84rem;line-height:1.45}.padopt-contract small{color:var(--muted);font-size:.76rem;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.padopt-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:24px}.padopt-kpi{border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card);min-width:0}.padopt-kpi.is-calm{border-left-color:#39865b}.padopt-kpi.is-warming{border-left-color:#c58b25}.padopt-kpi>p{margin:0;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.padopt-kpi strong{display:block;font:700 1.45rem/1.1 var(--display);margin:7px 0 6px;font-variant-numeric:tabular-nums}.padopt-kpi small{display:block;color:var(--muted);font-size:.78rem;line-height:1.4}
.padopt-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;margin-bottom:24px}.padopt-panel,.padopt-section{border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:18px 20px}.padopt-section{margin-bottom:24px}.padopt-sec-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.padopt-sec-head h2,.padopt-boundary h2{font:700 1.18rem/1.25 var(--display);margin:4px 0 0}.padopt-sec-head>span{color:var(--muted);font-size:.78rem;font-weight:650;text-align:right;font-variant-numeric:tabular-nums}
.padopt-funnel{list-style:none;padding:0;margin:0}.padopt-funnel li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:11px 0;border-top:1px solid var(--line)}.padopt-funnel li:first-child{border-top:0;padding-top:0}.padopt-funnel-copy{display:flex;gap:10px;align-items:center}.padopt-step{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:grid;place-items:center;flex:0 0 28px;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.padopt-funnel-copy strong{display:block;font-size:.88rem}.padopt-funnel-copy small{display:block;color:var(--muted);font-size:.76rem;line-height:1.4;margin-top:2px}.padopt-funnel-measure{display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.padopt-funnel-measure b{font:700 1rem var(--display)}.padopt-funnel-measure span{color:var(--muted);font-size:.78rem;font-weight:700}.padopt-funnel progress,.padopt-segments progress{grid-column:1/-1;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:var(--paper);accent-color:var(--ink)}.padopt-funnel progress::-webkit-progress-bar,.padopt-segments progress::-webkit-progress-bar{background:var(--paper);border-radius:999px}.padopt-funnel progress::-webkit-progress-value,.padopt-segments progress::-webkit-progress-value{background:var(--ink);border-radius:999px}
.padopt-segments{display:grid;gap:8px}.padopt-segments article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:11px 12px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;background:var(--paper)}.padopt-segments article.is-activated{border-left-color:#7d91a9}.padopt-segments article.is-expanding{border-left-color:#c58b25}.padopt-segments article.is-embedded{border-left-color:#39865b}.padopt-segments strong{display:block;font-size:.86rem}.padopt-segments small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}.padopt-segments b{font:700 1rem var(--display);font-variant-numeric:tabular-nums}.padopt-note{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:.78rem;line-height:1.5}
.padopt-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.padopt-table{width:100%;border-collapse:collapse;min-width:900px}.padopt-table th,.padopt-table td{padding:12px 13px;border-top:1px solid var(--line);vertical-align:top;text-align:left}.padopt-table thead th{border-top:0;background:var(--paper);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.padopt-table tbody th{width:30%;font-weight:400}.padopt-table tbody tr:first-child th,.padopt-table tbody tr:first-child td{border-top:0}.padopt-table tbody strong{display:block;font:650 .9rem/1.35 var(--display)}.padopt-table b{display:block;font:700 1rem/1.2 var(--display);font-variant-numeric:tabular-nums}.padopt-table small{display:block;margin-top:3px;color:var(--muted);font-size:.74rem;line-height:1.4}.padopt-coverage{display:inline-flex;min-height:28px;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.72rem;font-weight:800}.padopt-coverage.is-complete{color:#21643d;border-color:color-mix(in srgb,#21643d 35%,var(--line))}.padopt-coverage.is-partial{color:#8a5b0f;border-color:color-mix(in srgb,#c58b25 50%,var(--line))}.padopt-coverage.is-unavailable{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 35%,var(--line))}
.padopt-opps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.padopt-opps>article{display:flex;flex-direction:column;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--card);padding:14px 16px}.padopt-opps>article.is-onboarding,.padopt-opps>article.is-retention{border-left-color:var(--seal)}.padopt-opps>article.is-activation,.padopt-opps>article.is-expansion{border-left-color:#c58b25}.padopt-opps>article.is-champion{border-left-color:#39865b}.padopt-opp-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.padopt-opp-head span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.padopt-opp-head h3{font:700 1.02rem/1.3 var(--display);margin:4px 0 2px}.padopt-opp-head h3 a{color:inherit}.padopt-opp-head p{margin:0;color:var(--muted);font-size:.76rem;font-variant-numeric:tabular-nums}.padopt-opp-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.padopt-opp-body>div{border-top:1px solid var(--line);padding-top:10px}.padopt-opp-body strong{font-size:.76rem}.padopt-opp-body p{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.48}.padopt-opps footer{margin-top:auto;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem;font-weight:650;font-variant-numeric:tabular-nums}.padopt-rules{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px}.padopt-rules summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.82rem;font-weight:750}.padopt-rules ol{margin:6px 0 4px;padding-left:22px;color:var(--muted);font-size:.8rem;line-height:1.55}
.padopt-cohort-table{min-width:720px}.padopt-cohort-table tbody th{width:auto}.padopt-state{display:flex;gap:12px;align-items:flex-start;border:1.5px dashed var(--line);border-radius:12px;padding:22px 18px;margin-bottom:14px;background:var(--card)}.padopt-state.is-error{border-style:solid;border-left:4px solid var(--seal)}.padopt-state.is-warming{border-style:solid;border-left:4px solid #c58b25}.padopt-state>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.padopt-state h3{font:650 .98rem var(--display);margin:0 0 5px}.padopt-state p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;max-width:80ch}.padopt-unknown{color:var(--muted)}
.padopt-boundary{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:22px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid #c58b25;border-radius:12px;background:var(--paper);margin-bottom:24px}.padopt-boundary ul{margin:0;padding-left:20px;color:var(--muted);font-size:.82rem;line-height:1.55}.padopt-boundary li+li{margin-top:6px}
@media (prefers-reduced-motion:reduce){.padopt-shell *{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:640px){.padopt-mast{display:grid;padding:18px 16px}.padopt-filters{display:grid;grid-template-columns:1fr 1fr}.padopt-filters select{width:100%;min-width:0}.padopt-filters .btn{grid-column:1/-1;width:100%;justify-content:center}.padopt-contract{grid-template-columns:auto minmax(0,1fr)}.padopt-contract small{grid-column:2;white-space:normal}.padopt-kpis,.padopt-two,.padopt-opps,.padopt-boundary{grid-template-columns:1fr}.padopt-panel,.padopt-section{padding:16px}.padopt-sec-head{display:grid;align-items:start;gap:4px}.padopt-sec-head>span{text-align:left}.padopt-opp-body{grid-template-columns:1fr}.padopt-opp-head{display:grid}.padopt-opp-head .btn{width:100%;justify-content:center}}.u360-shell{max-width:1320px;margin:0 auto;color:var(--ink)}
.u360-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:8px;color:var(--muted);font-weight:700;text-decoration:none}
.u360-back:hover{color:var(--ink)}
.u360-mast{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:14px}
.u360-mast-main,.u360-title-line,.u360-mast-actions{display:flex;align-items:center}.u360-mast-main{gap:14px;min-width:0}.u360-title-line{gap:10px;flex-wrap:wrap}.u360-mast-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.u360-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:0 0 52px;background:var(--paper);border:1.5px solid var(--line);font:700 1.2rem var(--display)}
.u360-mast h1{font:700 1.5rem/1.2 var(--display);margin:0}.u360-identity{margin:4px 0 0;font-weight:650;overflow-wrap:anywhere}.u360-context{margin:2px 0 0;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.u360-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.u360-status.is-active{color:#21643d;border-color:color-mix(in srgb,#21643d 38%,var(--line))}.u360-status.is-disabled,.u360-status.is-suspended{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 38%,var(--line))}
.u360-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.u360-fact{position:relative;border:1.5px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--card);padding:14px 16px;min-width:0}.u360-fact.is-calm{border-left-color:#39865b}.u360-fact.is-warming{border-left-color:#c58b25}.u360-fact strong{display:block;margin:3px 0 5px;font:700 1.06rem/1.25 var(--display);overflow-wrap:anywhere}.u360-fact>p:last-child{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.u360-kicker,.u360-eyebrow{margin:0;color:var(--muted);font-size:.72rem;line-height:1.3;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.u360-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.u360-main{min-width:0}.u360-side{display:grid;gap:14px;position:sticky;top:18px}.u360-section{margin-bottom:24px}.u360-sec-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.u360-sec-head h2,.u360-side-card h2{font:700 1.18rem/1.25 var(--display);margin:4px 0 0}.u360-asof{color:var(--muted);font-size:.78rem;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.u360-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.u360-card,.u360-side-card{border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:16px}.u360-card h3,.u360-device h3{font:650 .98rem/1.35 var(--display);margin:0 0 10px}.u360-dl{margin:0}.u360-dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line)}.u360-dl>div:first-child{border-top:0;padding-top:0}.u360-dl dt{color:var(--muted);font-size:.82rem}.u360-dl dd{margin:0;text-align:right;font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}
.u360-checks,.u360-key-list,.u360-side-card ul{list-style:none;padding:0;margin:0}.u360-checks li,.u360-key-list li{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.u360-checks li:first-child,.u360-key-list li:first-child{border-top:0;padding-top:0}.u360-checks li>span,.u360-key-list li>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 28px;background:var(--paper);border:1px solid var(--line)}.u360-checks strong,.u360-key-list strong{display:block;font-size:.85rem}.u360-checks small,.u360-key-list small{display:block;color:var(--muted);font-size:.78rem;line-height:1.45;margin-top:2px}.u360-checks .is-warming>span{color:#9a6815;border-color:#c58b25}.u360-checks .is-calm>span{color:#21643d}
.u360-timeline{list-style:none;padding:0;margin:0;border:1.5px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.u360-timeline li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);border-left:4px solid var(--line)}.u360-timeline li:first-child{border-top:0}.u360-timeline li.is-attention{border-left-color:var(--seal)}.u360-timeline li.is-warming{border-left-color:#c58b25}.u360-timeline li.is-calm{border-left-color:#39865b}.u360-timeline-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.u360-timeline strong{display:block;font-size:.88rem}.u360-timeline small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}.u360-event-time{text-align:right;color:var(--muted);font-size:.8rem;font-weight:650;font-variant-numeric:tabular-nums}.u360-note{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}
.u360-device-list{display:grid;gap:10px}.u360-device{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;background:var(--card);border:1.5px solid var(--line);border-radius:12px}.u360-device-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line)}.u360-device h3{margin:0}.u360-device p{margin:3px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.u360-device form{margin:0}
.u360-side-card p{font-size:.85rem;line-height:1.55;color:var(--muted)}.u360-side-card.is-security{border-left:4px solid var(--seal)}.u360-side-card.is-boundary{background:var(--paper)}.u360-side-card.is-boundary ul{list-style:disc;padding-left:18px}.u360-side-card.is-boundary li{color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:8px}.u360-epoch{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 12px;margin:12px 0}.u360-epoch span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.u360-epoch strong{font-size:.86rem;font-variant-numeric:tabular-nums}.u360-side-card form .btn{width:100%;justify-content:center}.u360-control-note{font-size:.76rem!important;margin-bottom:0!important}.u360-side-card h3{font:700 .82rem var(--body);margin:14px 0 7px}.u360-chips{display:flex;flex-wrap:wrap;gap:6px}.u360-chips span{display:inline-flex;min-height:30px;align-items:center;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.72rem;font-weight:750;overflow-wrap:anywhere}.u360-unknown{color:var(--muted)}
.u360-state{display:flex;gap:12px;align-items:flex-start;border:1.5px dashed var(--line);border-radius:12px;padding:24px 20px;background:var(--card)}.u360-state.is-error{border-left:4px solid var(--seal);border-style:solid}.u360-state.is-warming{border-left:4px solid #c58b25;border-style:solid}.u360-state-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex:0 0 38px;background:var(--paper)}.u360-state h3{font:650 .98rem var(--display);margin:0 0 5px}.u360-state p{margin:0 0 10px;color:var(--muted);font-size:.88rem;max-width:70ch}
.u360-launch{max-width:720px;margin:24px auto;border:1.5px solid var(--line);border-radius:12px;background:var(--card);padding:30px 26px}.u360-launch h1{font:700 1.5rem var(--display);margin:6px 0 10px}.u360-launch>p:not(.u360-eyebrow){color:var(--muted);max-width:62ch}.u360-launch-form{margin:20px 0 12px}.u360-launch-form label{display:block;font-size:.82rem;font-weight:750;margin-bottom:6px}.u360-launch-form>div{display:flex;gap:8px}.u360-launch-form input{min-height:44px;max-width:220px}
@media (prefers-reduced-motion:reduce){.u360-shell *{scroll-behavior:auto!important;transition:none!important}}
@media (max-width:640px){.u360-mast,.u360-mast-main{align-items:flex-start}.u360-mast{padding:16px;display:grid}.u360-mast-actions{justify-content:stretch}.u360-mast-actions .btn{flex:1}.u360-avatar{width:44px;height:44px;flex-basis:44px}.u360-facts,.u360-layout,.u360-brief-grid{grid-template-columns:1fr}.u360-side{position:static}.u360-sec-head{align-items:flex-start;display:grid;gap:4px}.u360-timeline li{grid-template-columns:32px minmax(0,1fr)}.u360-event-time{grid-column:2;text-align:left}.u360-device{grid-template-columns:38px minmax(0,1fr)}.u360-device form{grid-column:1/-1}.u360-device form .btn{width:100%}.u360-launch{padding:24px 18px}.u360-launch-form>div{display:grid}.u360-launch-form input{max-width:none;width:100%}.u360-launch-form .btn{width:100%;justify-content:center}.u360-dl>div{display:grid;gap:3px}.u360-dl dd{text-align:left}}
.aih-pill{display:inline-block;font:700 .68rem var(--body);letter-spacing:.05em;padding:3px 9px;border-radius:999px;text-transform:uppercase}
.aih-pill.is-ok{color:var(--green);background:rgba(30,122,70,.1)}
.aih-pill.is-warn{color:var(--amber);background:rgba(138,94,0,.1)}
.aih-pill.is-crit{color:#fff;background:var(--seal)}
.aih-pill.is-skip{color:var(--graphite);background:rgba(90,96,114,.1)}
.aih-banner{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px 14px;border-radius:10px;font-weight:700;border:1.5px solid var(--line)}
.aih-banner.is-ok{color:var(--green);border-color:rgba(30,122,70,.4);background:rgba(30,122,70,.06)}
.aih-banner.is-warn{color:var(--amber);border-color:rgba(138,94,0,.4);background:rgba(138,94,0,.06)}
.aih-banner.is-crit{color:var(--seal);border-color:rgba(110,47,43,.4);background:rgba(110,47,43,.06)}
.aih-detail{font-size:.84rem;color:var(--ink-2);overflow-wrap:anywhere}
.aih-ts{font:700 .76rem var(--mono);color:var(--graphite);white-space:nowrap}
.aiops-wrap{max-width:1320px;margin:0 auto;min-width:0}
.aiops-wrap code{overflow-wrap:anywhere}
.aiops-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.aiops-filter{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;align-items:end;padding:14px;margin-bottom:16px}
.aiops-filter label{display:grid;gap:5px;min-width:0;font:700 .72rem var(--body);color:var(--graphite);text-transform:uppercase;letter-spacing:.04em}
.aiops-filter input,.aiops-filter select{min-width:0;width:100%;font-size:.88rem;padding:7px 9px}
.aiops-filter-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.aiops-count{color:var(--graphite);font-size:.86rem;margin:0 0 9px}
.aiops-list{display:grid;gap:10px;list-style:none;padding:0;margin:0}
.aiops-row{display:grid;grid-template-columns:auto minmax(250px,1fr) minmax(120px,auto) auto;gap:14px;align-items:center;margin:0;padding:14px 16px;min-width:0}
.aiops-row-state{align-self:start}.aiops-row-main{min-width:0}.aiops-row-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.aiops-row-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--ink) 7%,var(--card));flex:none}
.aiops-row-meta{display:flex;gap:7px 13px;align-items:center;flex-wrap:wrap;margin-top:7px;color:var(--graphite);font-size:.82rem;min-width:0}
.aiops-stage{margin-top:7px;color:var(--ink-2);font-size:.83rem;overflow-wrap:anywhere}
.aiops-row-time{display:grid;gap:5px;text-align:right;font-size:.8rem;color:var(--graphite);white-space:nowrap}.aiops-open{justify-self:end}
.aiops-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:42px 18px;text-align:center;color:var(--graphite)}
.aiops-empty.compact{padding:22px}.aiops-empty h2{margin:8px 0 5px}.aiops-empty p{margin:0}
.aiops-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0}
.aiops-back{display:inline-flex;align-items:center;gap:6px;color:var(--graphite);font-size:.88rem;text-decoration:none;margin:0 0 14px}.aiops-back:hover{color:var(--ink);text-decoration:underline}
.aiops-gate{max-width:620px;margin:8px auto}.aiops-gate .card{padding:28px}.aiops-gate h1{margin:10px 0}.aiops-gate-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--ink) 8%,var(--card))}
.aiops-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:start}.aiops-detail-grid main,.aiops-detail-grid aside{display:grid;gap:16px;min-width:0}.aiops-detail-grid .card{margin:0;min-width:0}
.aiops-detail .panel-head p{margin:5px 0 0;color:var(--graphite);max-width:70ch}
.aiops-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.aiops-dl>div{padding:11px 13px;border-bottom:1px solid var(--line);min-width:0}.aiops-dl>div:nth-last-child(-n+2){border-bottom:0}.aiops-dl>div:nth-child(odd){border-right:1px solid var(--line)}
.aiops-dl dt{font:700 .7rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite);margin-bottom:4px}.aiops-dl dd{margin:0;overflow-wrap:anywhere}
.aiops-progress-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.aiops-progress-meter{border:1px solid var(--line);border-radius:10px;padding:13px;min-width:0;background:color-mix(in srgb,var(--ink) 2%,var(--card))}
.aiops-progress-meter-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.aiops-progress-meter h3{font-size:.88rem;margin:0}.aiops-progress-meter-head b{font:700 .8rem var(--mono);white-space:nowrap}
.aiops-progress-meter progress{display:block;width:100%;height:10px;margin:11px 0 9px;accent-color:var(--seal)}.aiops-progress-meter p{margin:0;color:var(--ink);font-size:.8rem;overflow-wrap:anywhere}.aiops-progress-meter small{display:block;margin-top:5px;color:var(--graphite);font-size:.72rem;overflow-wrap:anywhere}
.aiops-progress-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:12px 0;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.aiops-progress-meta>div{padding:10px 12px;background:var(--card);min-width:0}.aiops-progress-meta dt{font:700 .66rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite);margin:0 0 3px}.aiops-progress-meta dd{margin:0;font-size:.8rem;overflow-wrap:anywhere}
.aiops-progress-eta{border-left:3px solid var(--seal);padding:9px 11px;background:color-mix(in srgb,var(--seal) 7%,var(--card));border-radius:0 8px 8px 0}.aiops-progress-eta b{font-size:.8rem}.aiops-progress-eta p{margin:4px 0 2px;font-size:.86rem}.aiops-progress-eta small{color:var(--graphite);font-size:.72rem}
.aiops-progress-poll{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--graphite);font-size:.75rem}.aiops-progress-unavailable{margin:12px 0 0}
.aiops-pre{max-width:100%;max-height:620px;overflow:auto;margin:10px 0 0;padding:13px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--ink) 3%,var(--card));font:500 .78rem/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.aiops-pre.aiops-query{font-size:.9rem;color:var(--ink);max-height:360px}.aiops-pre.aiops-output{max-height:900px}.aiops-pre.mini{font-size:.72rem;max-height:180px;margin-top:6px}
.aiops-details>summary{cursor:pointer;font-weight:700;color:var(--ink);padding:3px 0}.aiops-details[open]>summary{margin-bottom:7px}
.aiops-timeline{list-style:none;padding:0;margin:14px 0 0}.aiops-timeline li{display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;position:relative;padding:0 0 16px;min-width:0}.aiops-timeline li:not(:last-child)::after{content:"";position:absolute;left:5px;top:13px;bottom:0;width:1px;background:var(--line)}
.aiops-timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--ink);margin-top:4px;z-index:1}.aiops-timeline time{display:block;color:var(--graphite);font-size:.75rem;margin-top:2px}
.aiops-operation-meta{display:block;margin-top:3px;color:var(--graphite);font-size:.72rem;overflow-wrap:anywhere}.aiops-purpose{margin-top:7px;padding:8px 10px;border-left:3px solid var(--line);background:color-mix(in srgb,var(--ink) 3%,var(--card));font-size:.8rem;overflow-wrap:anywhere}
.aiops-replay-grid{display:grid;grid-template-columns:1fr;gap:12px}.aiops-replay-form{border:1px solid var(--line);border-radius:11px;padding:14px;min-width:0}.aiops-replay-form h3{margin:0 0 6px}.aiops-replay-form>p{margin:0 0 12px;color:var(--graphite);font-size:.88rem}.aiops-replay-form .btn{width:100%;justify-content:center}
.aiops-json-input{font-family:var(--mono);font-size:.78rem;overflow-wrap:anywhere}
@media(max-width:1120px){.aiops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.aiops-filter{grid-template-columns:repeat(3,minmax(120px,1fr))}.aiops-detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.aiops-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.aiops-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.aiops-row-main{grid-column:2}.aiops-row-time{grid-column:2;text-align:left;display:flex;gap:10px;flex-wrap:wrap;white-space:normal}.aiops-open{grid-column:1/-1;width:100%;justify-content:center;min-height:44px}.aiops-dl,.aiops-progress-meters,.aiops-progress-meta{grid-template-columns:1fr}.aiops-dl>div,.aiops-dl>div:nth-child(odd){border-right:0;border-bottom:1px solid var(--line)}.aiops-dl>div:last-child{border-bottom:0}.aiops-progress-poll{align-items:flex-start;flex-direction:column}.aiops-progress-poll .btn{width:100%;justify-content:center}}
@media(max-width:520px){.aiops-stats,.aiops-filter{grid-template-columns:1fr}.aiops-filter-actions,.aiops-filter-actions .btn{width:100%}.aiops-filter-actions .btn{justify-content:center;min-height:44px}.aiops-row{padding:13px}.aiops-gate .card{padding:20px}.aiops-pre{font-size:.72rem}.aiops-detail .pp-mast-cta{display:flex}.aiops-detail .pp-mast-cta>*{flex:1 1 auto;justify-content:center}}
@media(prefers-reduced-motion:reduce){.aiops-wrap *{scroll-behavior:auto!important;transition:none!important}}
@media print{.aiops-filter,.aiops-stats,.aiops-replay,.aiops-pager,.aiops-back,.pp-mast-cta,.aiops-progress-poll{display:none!important}.aiops-detail-grid{display:block}.aiops-detail-grid aside{margin-top:16px}.aiops-pre{max-height:none;overflow:visible;white-space:pre-wrap}}.aisched-row{border-top:1px solid var(--line);padding:13px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.aisched-row:first-of-type{border-top:0}.aisched-row.is-off .aisched-main{opacity:.6}.aisched-main{flex:1 1 320px;min-width:0;overflow-wrap:anywhere}.aisched-q{color:var(--graphite);font-size:.88rem;margin-top:2px}.aisched-meta{color:var(--graphite);font-size:.84rem;margin-top:4px}.aisched-last a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}.aisched-err{color:var(--seal);font-size:.84rem;margin-top:4px}.aisched-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.aisched-acts form{margin:0}.aisched-edit{flex-basis:100%;margin-top:4px}.aisched-edit summary{cursor:pointer;font-size:.86rem;font-weight:700;color:var(--graphite);display:inline-flex;align-items:center;gap:6px;min-height:44px}.aisched-edit summary:hover{color:var(--ink)}.aisched-form{border:1px solid var(--line);border-radius:8px;padding:14px;margin-top:8px;background:var(--paper)}.aisched-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 14px}@media(max-width:640px){.aisched-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;align-items:stretch}.aisched-acts>.badge{grid-column:1/-1;justify-self:start}.aisched-acts form{min-width:0}.aisched-acts form .btn{width:100%;justify-content:center}}.aim-wrap{max-width:880px}.aim-row{border:1px solid var(--line);border-radius:8px;padding:10px 14px 12px;margin:10px 0 4px}.aim-row legend{padding:0 6px;font-weight:700}.aim-checks{display:flex;gap:6px 18px;flex-wrap:wrap;margin:2px 0 6px}.aim-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.92rem;cursor:pointer}.aim-check:has(input:disabled){cursor:not-allowed;color:var(--muted)}.aim-check input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--ink)}.aim-check-copy{display:flex;flex-direction:column;gap:1px}.aim-check-state{font-size:.76rem;line-height:1.25;color:var(--muted)}.aim-module-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1}.aim-module-icon svg{display:block}.aim-note{display:block;font-size:.82rem}.aim-byline{margin:4px 0 0;font-size:.88rem}.aim-subs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.aim-sublink{display:inline-flex;min-height:44px;text-decoration:none}.aim-sub{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.86rem;color:var(--ink);background:var(--card)}.aim-sub b{font-weight:700;font-size:.8rem}.aim-sub.is-done b{color:var(--green)}.aim-sub.is-err b{color:var(--seal)}.aim-sub.is-run b{color:var(--graphite)}.aim-sublink:hover .aim-sub{border-color:var(--ink)}.aim-waiting{margin:6px 0 14px}.aim-report{line-height:1.6;margin:6px 0 0;overflow-wrap:anywhere}.aim-report>h2,.aim-answer h2,.aim-comparison h2,.aim-watch h2{font-family:var(--display);font-size:1.18rem;margin:22px 0 10px}.aim-answer h2{margin-top:0}.aim-answer{border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:18px 20px;background:var(--card)}.aim-sum{font-size:1.04rem;line-height:1.6;margin:0}.aim-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.aim-sections article{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card);min-width:0}.aim-sections h3{margin:0 0 5px;font-size:1rem}.aim-sections p,.aim-comparison p{margin:0;line-height:1.6}.aim-comparison{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:18px;background:var(--card)}.aim-comparison h2{margin-top:0}.aim-caveat{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:18px;color:var(--graphite)}.aim-caveat .aim-list{margin-top:6px}.aim-watch{margin-top:18px}.aim-watch h2{margin-top:0}.aim-list{margin:0;padding-left:20px}.aim-list li{margin:0 0 5px;line-height:1.5}.aim-provenance{margin-top:22px}.aim-provenance>h2{font-family:var(--display);font-size:1.18rem;margin:0 0 6px}.aim-provenance>p{margin:0 0 10px;font-size:.85rem}.aim-prov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px}.aim-prov-grid article{min-width:0;border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:var(--card);display:grid;gap:4px}.aim-prov-grid b,.aim-prov-grid span{overflow-wrap:anywhere}.aim-prov-grid>article>span:not(.aim-prov-module){font-size:.8rem;color:var(--graphite)}.aim-prov-module{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:var(--graphite)}.aim-prov-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:3px}.aim-prov-links a{font-size:.8rem;font-weight:700}.aim-foot{font-size:.85rem;margin:12px 0 0}@media(max-width:640px){.aim-checks{flex-direction:column;gap:2px}.aim-sections{grid-template-columns:1fr}.aim-answer{padding:16px}.aim-byline a,.aim-prov-links a{display:inline-flex;align-items:center;min-height:44px}}/* Access to Information monitor — module-local styles (shared contracts do the
   heavy lifting: .pp-mast/.pp-module-tabs/.pp-state/.pp-search-panel/.pp-qbox/.pp-ai-*). */
.ati-wrap{max-width:1180px;min-width:0;width:100%}
.ati-watch-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--card);border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:12px 16px;margin:0 0 14px}
.ati-watch-banner.on{border-left-color:var(--green)}
/* Self-owned badge tones: consultations' unscoped .badge.blue/.amber rules are
   the only other source, and a module must not depend on a sibling's CSS. */
.ati-wrap .badge.blue{color:var(--blue);border-color:var(--blue);background:rgba(44,95,138,.08)}
.ati-wrap .badge.amber{color:var(--amber);border-color:var(--amber);background:rgba(138,94,0,.1)}
/* Disposition segments (gazette gg-seg idiom, incl. its dark-theme specificity fix). */
.ati-seg{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.ati-seg-tab{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font:700 .85rem var(--body)}
.ati-seg-tab:hover{border-color:var(--ink);color:var(--ink)}
.ati-seg .ati-seg-tab.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.ati-seg-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ati-wrap .pp-mast-tt,.ati-wrap .pp-mast-sub{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.ati-back{margin:0 0 10px}
.ati-hero{margin:0 0 14px}
.ati-search-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.ati-search-row select{border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);color:var(--ink);font:700 .84rem var(--body);padding:8px 10px;min-height:44px;max-width:46vw}
.ati-search-ic{display:inline-flex;color:var(--graphite);flex:none}
.ati-search-hint{display:block;margin-top:10px}
.ati-coverage{margin:0 0 20px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);padding:8px 14px}
.ati-coverage>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font:700 .88rem var(--body);color:var(--graphite)}
.ati-coverage>summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--r-sm)}
.ati-coverage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-top:12px}
.ati-coverage-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;min-width:0}
.ati-coverage-row small{grid-column:1/-1}
.ati-coverage-row a{grid-column:1/-1;font-size:.78rem;color:var(--seal);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.ati-coverage-row a:hover{text-decoration:underline}
.ati-coverage-row a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ati-coverage-row.is-off b{color:var(--graphite)}
.ati-sec{margin:0 0 24px}
.ati-sec-head{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.ati-h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:0}
.ati-count{margin-left:auto;color:var(--graphite);font:700 .78rem var(--body);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-variant-numeric:tabular-nums}
.ati-pager{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:18px 0 0;text-align:center}
.ati-pager-info{color:var(--graphite);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.ati-pager .disabled{opacity:.45;pointer-events:none}
.ati-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
.ati-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ati-num{margin-left:auto;font:700 .78rem var(--mono);color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14ch}
.ati-card-tt{margin:0;font-size:.98rem;line-height:1.35;font-weight:700}
.ati-card-tt a{color:var(--ink);text-decoration:none}
.ati-card-tt a:hover{text-decoration:underline}
.ati-card-meta{margin:0;color:var(--graphite);font-size:.85rem}
.ati-card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:.82rem}
.ati-view{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--seal);font-weight:700;text-decoration:none;white-space:nowrap}
.ati-view:hover{text-decoration:underline}
.ati-jur{color:var(--blue);border-color:var(--blue);text-transform:uppercase}
.ati-disp{color:var(--graphite);border-color:var(--line);overflow:hidden;text-overflow:ellipsis;max-width:22ch;white-space:nowrap}
.ati-off{color:var(--graphite);border-color:var(--line)}
.ati-st.ok{color:var(--green);border-color:var(--green)}
.ati-st.wait{color:var(--amber);border-color:var(--amber)}
.ati-st.late{color:var(--seal);border-color:var(--seal)}
.ati-st.info{color:var(--blue);border-color:var(--blue)}
.ati-st.off{color:var(--graphite);border-color:var(--line)}
.ati-clock{display:inline-flex;align-items:center;gap:4px;color:var(--graphite);font-variant-numeric:tabular-nums}
.ati-clock b{color:var(--ink)}
.ati-clock.late{color:var(--seal)}
.ati-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:0 0 16px}
.ati-status-line{display:inline-flex;align-items:center;gap:6px;color:var(--graphite);font-size:.92rem}
.ati-body,.ati-informal,.ati-act{padding:16px;margin:0 0 16px;min-width:0;max-width:100%}
.ati-text{margin:8px 0 10px;line-height:1.62;max-width:75ch}
.ati-act-cap{display:block;font:700 .72rem var(--body);letter-spacing:.05em;color:var(--graphite);margin-bottom:10px}
.ati-act-row{display:flex;gap:8px;flex-wrap:wrap}
.ati-inline-form{display:inline-flex}
.ati-follow-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.ati-watchform,.ati-reqform{max-width:620px} /* same measure as the hansard/committees/gazette alert forms */
.ati-watchform textarea,.ati-reqform textarea,.ati-reqform input,.ati-reqform select{width:100%;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);padding:10px 12px;font:400 .95rem var(--body);color:var(--ink)}
.ati-jurset{border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 14px;margin:0 0 14px;display:flex;gap:6px 16px;flex-wrap:wrap}
.ati-jurset legend{font:700 .8rem var(--body);color:var(--graphite);padding:0 6px}
.ati-jur-check{display:inline-flex;align-items:center;gap:6px}
.ati-reqform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}
.ati-req-list{display:flex;flex-direction:column;gap:12px}
.ati-req{padding:14px 16px}
.ati-req-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.ati-req-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.ati-info{max-width:78ch;margin:-2px 0 14px;line-height:1.55}
.ati-related{margin:0 0 16px}
.ati-ai-lede{margin:0 0 12px;max-width:70ch}
.ati-ai-report{line-height:1.6;margin:0 0 20px}.ati-ai-report h2{font-family:var(--display);font-size:1.18rem;margin:22px 0 10px}.ati-ai-answer h2{margin-top:0}
.ati-ai-answer{border:1.5px solid var(--line);border-radius:var(--r);padding:18px 20px;background:var(--card)}
.ati-ai-answer .ati-report-body{margin-bottom:0}.ati-ai-evidence>h2{margin-bottom:10px}
.ati-ai-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.ati-ai-sections article{border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--card);min-width:0;overflow-wrap:anywhere}
.ati-ai-caveat{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin-top:18px;color:var(--graphite)}.ati-ai-caveat p{margin:4px 0 0}
.ati-report-body{line-height:1.62;max-width:75ch;min-width:0;margin-bottom:10px;overflow-wrap:anywhere;word-break:break-word}
.ati-report-body .ati-ai-cite{color:var(--seal);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ati-ai-sources{margin:0 0 20px}.ati-ai-source-note{margin:-4px 0 12px;max-width:72ch}
.ati-empty{margin:6px 0}.ati-empty p{overflow-wrap:anywhere;word-break:break-word}
.ati-upsell{margin-top:6px}
.ati-card-workbox{display:flex;align-items:center;justify-content:flex-end;min-width:0;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
@media(max-width:640px){
  .ati-search-row select{max-width:100%;flex:1 1 100%}
  .ati-card-workbox{justify-content:flex-start}
  .ati-grid,.ati-ai-sections,.ati-coverage-grid{grid-template-columns:1fr}
  .ati-ai-answer{padding:16px}
  .ati-status{align-items:flex-start;flex-direction:column;gap:8px}
  .ati-reqform-grid{grid-template-columns:1fr}
  .ati-req-actions{flex-direction:column}.ati-req-actions>.btn,.ati-req-actions>.ati-inline-form,.ati-req-actions>.ati-inline-form>.btn{width:100%;justify-content:center}
}
.app.theme-dark .ati-watchform textarea,.app.theme-dark .ati-reqform textarea,.app.theme-dark .ati-reqform input,.app.theme-dark .ati-reqform select{background:#0E171B;border-color:var(--line)}
.app.theme-dark .ati-search-row select{background:#0E171B;border-color:var(--line)}.autoinv-wrap{max-width:1180px;margin:0 auto}
.autoinv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:16px}
.autoinv-card{display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:11px 13px;text-decoration:none;color:inherit}
.autoinv-card:hover{border-color:var(--ink)}
.autoinv-card.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.autoinv-card.total{background:var(--paper)}
.autoinv-card-h{display:flex;align-items:center;gap:6px;font:700 .76rem var(--body);color:var(--graphite)}
.autoinv-card-n{font:800 1.5rem var(--body);color:var(--ink);margin-top:3px}
.autoinv-card-s{font-size:.76rem;color:var(--graphite)}
.autoinv-flt{padding:12px 14px;margin-bottom:14px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.autoinv-flt label{display:flex;flex-direction:column;gap:3px;font:700 .72rem var(--body);color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.autoinv-flt input,.autoinv-flt select{font-size:.88rem;padding:5px 8px}
.autoinv-count{margin:0 0 8px;font-size:.85rem}
.autoinv-note{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 11px;margin-bottom:10px;font-size:.82rem;color:var(--graphite);display:flex;align-items:center;gap:6px}
.autoinv-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:36px 16px;text-align:center;color:var(--graphite)}
.autoinv-tbl table{width:100%}
.autoinv-type{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;white-space:nowrap}
.autoinv-org{color:var(--ink);text-decoration:none;border-bottom:1px dotted var(--line)}
.autoinv-org:hover{border-bottom-color:var(--ink)}
.autoinv-actas{background:none;border:1px solid var(--line);border-radius:5px;cursor:pointer;color:var(--graphite);padding:1px 5px;vertical-align:middle}
.autoinv-actas:hover{color:var(--ink);border-color:var(--ink)}
.autoinv-lbl{font-size:.88rem;color:var(--ink)}
.autoinv-detail{font-size:.76rem;color:var(--graphite);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.autoinv-badge{font:700 .74rem var(--body);border-radius:999px;padding:1px 8px;white-space:nowrap}
.autoinv-badge.on{color:var(--green)}
.autoinv-badge.off{color:var(--seal)}
.autoinv-badge.always{color:var(--graphite);border:1px solid var(--line)}
.autoinv-when{font-size:.82rem;color:var(--graphite);white-space:nowrap}
.autoinv-acts{text-align:right;white-space:nowrap}
.autoinv-acts .danger:hover{color:#fff;background:var(--seal);border-color:var(--seal)}
.autoinv-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}.autest-wrap{max-width:1100px;margin:0 auto}
.autest-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.autest-sum{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.autest-chip{font:700 .76rem var(--body);border-radius:999px;padding:2px 10px;border:1px solid var(--line);color:var(--graphite)}
.autest-chip.pass{color:var(--green);border-color:var(--green)}
.autest-chip.changed{color:var(--amber);border-color:var(--amber)}
.autest-chip.fail{color:#fff;background:var(--seal);border-color:var(--seal)}
.autest-group{margin-bottom:18px}
.autest-group h3{margin:0 0 8px;font:800 .95rem var(--body)}
.autest-rows{display:grid;gap:6px}
.autest-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 12px}
.autest-row.st-ok{border-left:4px solid var(--green)}
.autest-row.st-warn{border-left:4px solid var(--amber)}
.autest-row.st-err{border-left:4px solid var(--seal)}
.autest-row.st-new,.autest-row.st-none{border-left:4px solid var(--line)}
.autest-st{flex:0 0 78px}
.autest-badge{display:inline-block;font:800 .72rem var(--body);letter-spacing:.04em;border-radius:5px;padding:2px 7px;border:1px solid var(--line);color:var(--graphite)}
.autest-badge.ok{color:#fff;background:var(--green);border-color:var(--green)}
.autest-badge.warn{color:#111;background:var(--amber);border-color:var(--amber)}
.autest-badge.err{color:#fff;background:var(--seal);border-color:var(--seal)}
.autest-main{flex:1;min-width:0}
.autest-label{font-size:.92rem;color:var(--ink)}
.autest-type{font:700 .68rem var(--mono,monospace);text-transform:uppercase;color:var(--graphite);border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-right:4px}
.autest-meta{font-size:.8rem;color:var(--graphite);margin-top:3px}
.autest-diff{font-size:.82rem;margin-top:4px}
.autest-diff.rm{color:var(--seal)}
.autest-diff.ad{color:var(--green)}
.autest-diff code,.autest-sample code,.autest-err code{font:700 .8rem var(--mono,monospace);word-break:break-word}
.autest-err{font-size:.82rem;color:var(--seal);margin-top:4px;word-break:break-word}
.autest-sample{font-size:.78rem;color:var(--graphite);margin-top:3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.autest-acts{flex:0 0 auto;display:flex;gap:6px;align-items:flex-start}.bt-ai-box{margin-top:14px}.bt-ai-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.bt-ai-left{font-size:.82rem;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}.bt-ai-form{margin:8px 0 4px}.bt-ai-form .btn{white-space:nowrap;flex:0 0 auto}.bt-ai-form .btn.is-busy{opacity:.6;pointer-events:none}@media(max-width:520px){.bt-ai-form .btn{width:100%;justify-content:center}}.bt-ai-results{margin-top:8px}.bt-ai-spin{display:flex;align-items:center;gap:9px;color:var(--faint);padding:10px 2px;font-size:.92rem}.bt-ai-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--seal,#6e2f2b);border-right-color:transparent;display:inline-block;animation:btaispin .7s linear infinite}@keyframes btaispin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bt-ai-dot{animation:none}}.bt-ai-banner{background:var(--card,#fff);border:1px solid var(--line);border-left:3px solid var(--seal,#6e2f2b);border-radius:8px;padding:9px 12px;margin:6px 0;font-size:.9rem}.bt-ai-lede{font-size:.85rem;margin:2px 0 8px}.bt-ai-scope{display:flex;gap:8px;align-items:flex-start;background:var(--card,#fff);border:1.5px solid var(--line);border-left:3px solid var(--green,#1E7A46);border-radius:10px;padding:9px 12px;margin:6px 0;font-size:.9rem;line-height:1.5;color:var(--ink,#12303d)}.bt-ai-scope svg{flex:none;margin-top:2px;color:var(--green,#1E7A46)}.bt-ai-emailed{background:var(--card,#fff);border:1px solid var(--line);border-left:3px solid var(--green,#1E7A46);border-radius:8px;padding:11px 14px;margin:6px 0;font-size:.9rem;line-height:1.5}.bt-ai-note{font-size:.83rem;margin:6px 0}.bt-ai-foot{font-size:.8rem;margin-top:10px}.bt-ai-recent{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 2px}.bt-ai-recent-lbl{font-size:.8rem;color:var(--faint);font-weight:700}.bt-ai-chip{display:inline-flex;align-items:center;font-size:.82rem;padding:6px 12px;min-height:44px;border:1px solid var(--line);border-radius:99px;color:var(--ink,#12303d);text-decoration:none;background:var(--paper)}.bt-ai-chip:hover{border-color:var(--seal,#6e2f2b)}.bt-ai-why{margin:6px 0 0;font-size:.83rem;color:var(--faint);line-height:1.45}.bt-ai-brief{background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:0;margin:10px 0 18px;overflow:hidden;overflow-wrap:anywhere}.bt-ai-answer{padding:18px 20px;background:var(--card,#fff);border-left:4px solid var(--seal,#6e2f2b);border-bottom:1px solid var(--line)}.bt-ai-brief-kicker{display:block;margin:0 0 4px;font-size:.72rem;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--seal,#6e2f2b);font-weight:700}.bt-ai-answer h2,.bt-ai-brief-title{font-family:var(--display);color:var(--ink,#12303d)}.bt-ai-answer h2{margin:0 0 8px;font-size:1.18rem}.bt-ai-brief-title{margin:18px 20px 10px;font-size:1.08rem}.bt-ai-brief-lead{margin:0;font-size:1.02rem;line-height:1.65;color:var(--ink,#12303d);font-weight:500;overflow-wrap:anywhere}.bt-ai-brief>.aichart{margin:16px 20px}.bt-ai-toc{display:flex;flex-wrap:wrap;gap:6px 12px;margin:14px 20px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.83rem;background:var(--card,#fff)}.bt-ai-evidence{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:0 20px 2px}.bt-ai-brief-sec{margin:0;padding:14px 15px;background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;min-width:0}.bt-ai-brief-sec h3{margin:0 0 5px;font-size:.98rem;color:var(--ink,#12303d);overflow-wrap:anywhere}.bt-ai-brief-sec p{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink,#12303d);overflow-wrap:anywhere}.bt-ai-brief-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:16px 20px 0}.bt-ai-brief-block{margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);min-width:0}.bt-ai-brief-lbl{display:block;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--seal,#6e2f2b);font-weight:700;margin:0 0 5px}.bt-ai-brief-block p{margin:0;font-size:.9rem;line-height:1.55;color:var(--ink,#12303d);overflow-wrap:anywhere}.bt-ai-brief a{color:var(--seal,#6e2f2b);text-decoration:underline}.bt-ai-brief-disc{margin:16px 20px 18px;padding-top:10px;border-top:1px solid var(--line);font-size:.78rem;line-height:1.45}.bt-ai-bills-h{margin:4px 0 8px;font-size:1rem;color:var(--ink,#12303d)}.bt-chip-st{margin-left:6px;font-size:.7rem;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:6px;padding:1px 5px}.bt-ai-toc a{color:var(--ink,#12303d);text-decoration:none;border-bottom:1px dotted var(--faint)}.bt-ai-toc a:hover{color:var(--seal,#6e2f2b)}.bt-ai-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}.bt-ai-askrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 2px}.bt-ai-followall{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px;padding-top:12px;border-top:1px solid var(--line)}.bt-ai-followall .bt-ai-note{margin:0}.bt-ai-refining{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-left:3px solid var(--seal,#6e2f2b);border-radius:8px;background:var(--card,#fff)}.bt-ai-byline{margin:2px 0 10px}.bt-ai-warroom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 4px;padding-top:12px;border-top:1px solid var(--line)}.bt-ai-wrform{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.bt-ai-wrlbl{font-size:.85rem;font-weight:700;color:var(--ink,#12303d)}.bt-ai-wrform select{max-width:260px;font:inherit;font-size:.85rem;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink,#12303d)}.bt-ai-schedwrap{margin-top:14px}.bt-print-q{display:none}@media(max-width:640px){.bt-ai-answer{padding:16px}.bt-ai-brief-title{margin:16px 16px 9px}.bt-ai-evidence,.bt-ai-brief-blocks{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.bt-ai-toc{margin-left:16px;margin-right:16px}.bt-ai-brief-disc{margin-left:16px;margin-right:16px}}@media print{.app:has(.bt-print) .side,.app:has(.bt-print) .topbar,.app:has(.bt-print) .imp-banner{display:none!important}.app:has(.bt-print) .main,.app:has(.bt-print) .content{margin:0!important;padding:0!important;max-width:none!important}.bt-print .pp-mast,.bt-print .bt-ai-tools,.bt-print .bt-ai-toc,.bt-print .bt-ai-askrow,.bt-print .bt-ai-warroom,.bt-print .bt-ai-followall,.bt-print .pp-act,.bt-print .bt-ai-recent,.bt-print .bt-ai-chip,.bt-print .btn,.bt-print .pp-help{display:none!important}.bt-print .bt-print-q{display:block;font-size:1.05rem;font-weight:700;margin:0 0 10px;color:#000}.bt-print .bt-ai-brief{border:none;border-left:none;border-radius:0;padding:0;margin:0 0 14px;background:none}.bt-print .bt-ai-brief a,.bt-print a{color:#000;text-decoration:none}.bt-print .bt-grid{display:block}.bt-print .bt-card,.bt-print .bt-ai-brief-sec{break-inside:avoid;page-break-inside:avoid}}.bt-wrap{max-width:1180px}
.bt-watch-banner{display:flex;gap:9px;align-items:flex-start;color:var(--graphite);font-size:.9rem;margin:0 0 14px;line-height:1.55;background:var(--card);border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:12px 15px}
.bt-search{margin:0 0 16px}
.bt-search-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap} /* plain layout row — the .pp-qbox query field carries the input affordance */
.bt-search-ic{display:grid;place-items:center;padding:0 4px 0 8px;color:var(--graphite)}
.bt-search-q{flex:1 1 260px;border:0;background:transparent;font:400 1rem var(--body);color:var(--ink);padding:8px 4px;min-width:160px}
.bt-search-q:focus{outline:none}
.bt-search-jur{flex:0 0 auto;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:700 .86rem var(--body);padding:8px 10px}
.bt-search .pp-search-actions{flex:0 0 auto}
.bt-search-tip{margin:8px 2px 0}
.bt-search-tip>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--graphite);font-size:.85rem;list-style:none;width:fit-content;user-select:none;min-height:44px;padding:4px 0}
.bt-card-link:focus-visible,.bt-chip:focus-visible,.bt-back:focus-visible,.bt-search-tip>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.bt-search-tip>summary::-webkit-details-marker{display:none}
.bt-search-tip>summary:hover{color:var(--ink)}
.bt-search-tip[open]>summary{color:var(--ink);font-weight:700;margin-bottom:6px}
.bt-search-tip-list{list-style:none;margin:6px 0 0;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;max-width:540px}
.bt-search-tip-list li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:6px 0;font-size:.88rem}
.bt-search-tip-list li+li{border-top:1px solid var(--line)}
.bt-search-tip-list b{color:var(--ink);flex:0 0 auto;min-width:150px}
.bt-search-tip-list span{color:var(--graphite)}
.bt-sec{margin:0 0 30px}
.bt-h2{font-family:var(--display);font-size:1.18rem;display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--ink)}
.bt-fold:not(.pp-monitor-how){margin:0 0 30px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px}
.bt-fold:not(.pp-monitor-how)[open]{padding-bottom:16px}
.bt-fold:not(.pp-monitor-how)>summary{font-family:var(--display);font-size:1.18rem;display:flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer;list-style:none;min-height:44px;padding:12px 0;user-select:none}
.bt-fold:not(.pp-monitor-how)>summary::-webkit-details-marker{display:none}
.bt-fold:not(.pp-monitor-how)>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.bt-fold-ar{display:inline-flex;color:var(--graphite)}
.bt-fold[open]>summary .bt-fold-ar{transform:rotate(90deg)}
.bt-fold-n{color:var(--graphite);font-size:.95rem;font-weight:700}
.bt-fold-body{padding:2px 0 0}
.bt-card{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;transition:transform .08s,border-color .15s}
.bt-card-link{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;text-decoration:none;color:inherit}
.bt-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.bt-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--line) 60%, var(--ink))}
.bt-card-follow{border-left:4px solid var(--seal)}
.bt-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.bt-num{font:700 1.05rem var(--display);color:var(--ink);letter-spacing:.01em}
.bt-jur{font:700 .74rem var(--body);color:var(--graphite);text-transform:uppercase;letter-spacing:.04em;text-align:right}
.bt-chamber{font-size:.62rem;padding:1px 7px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}
.bt-senate{color:var(--seal);border-color:var(--seal);background:color-mix(in srgb, var(--seal) 9%, var(--card))}
.bt-house{color:var(--green);border-color:var(--green);background:color-mix(in srgb, var(--green) 9%, var(--card))}
.bt-card-title{font:700 .95rem var(--body);color:var(--ink);line-height:1.4;min-height:2.6em;margin:0 0 12px}
.bt-card-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:auto;padding-top:10px}
.bt-card-status .badge{flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5} /* one line; the full status is the tooltip */
.bt-card-meta{display:inline-flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap}
.bt-sess{font:700 .72rem var(--body);color:var(--graphite);font-variant-numeric:tabular-nums}
.bt-pbar{height:7px;background:var(--paper);border-radius:99px;overflow:hidden;margin:4px 0}
.bt-pbar-fill{display:block;height:100%;border-radius:99px;transition:width .4s}
.bt-pbar-fill.green{background:var(--green)}.bt-pbar-fill.blue{background:var(--blue)}.bt-pbar-fill.seal{background:var(--seal)}
.bt-wrap .badge.green{color:var(--green);border-color:var(--green);background:rgba(30,122,70,.08)}
.bt-wrap .badge.blue{color:var(--blue);border-color:var(--blue);background:rgba(44,95,138,.08)}
.bt-wrap .badge.seal{color:var(--seal);border-color:var(--seal);background:rgba(110,47,43,.08)}
.bt-wrap .badge.amber{color:var(--amber);border-color:var(--amber);background:rgba(138,94,0,.1)}
.bt-empty{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--graphite);background:var(--card);border:1.5px dashed var(--line);border-radius:12px;padding:32px}
.bt-empty p{margin:0;max-width:460px}
.bt-warming{border-style:solid;border-color:rgba(138,94,0,.4);background:rgba(138,94,0,.05)}
.bt-warming>.pp-state-icon{color:var(--amber)}
.bt-warming p b{color:var(--ink)}
.bt-intro{text-align:center;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:40px 28px}
.bt-intro-ic{width:62px;height:62px;border-radius:50%;background:rgba(44,95,138,.10);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.bt-intro h2{font-size:1.4rem;margin:0 0 10px}
.bt-intro p{color:var(--graphite);max-width:540px;margin:0 auto 16px}
.bt-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 14px}
.bt-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px}
.bt-pager-pages{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.bt-pager-n{display:inline-grid;place-items:center;min-width:36px;min-height:36px;padding:0 8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font:700 .85rem var(--body);color:var(--ink);background:var(--card)}
.bt-pager-n.is-current{background:var(--seal);border-color:var(--seal);color:#fff}
.bt-pager-gap{padding:0 4px;color:var(--graphite)}
.bt-pager .is-disabled{opacity:.45;pointer-events:none}
.bt-chip{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:700 .85rem var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:8px 16px}
.bt-chip:hover{border-color:var(--ink);background:var(--card)}
.bt-fineprint{font-size:.8rem;color:var(--graphite);margin:6px 0 0}
.bt-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--graphite);font:700 .85rem var(--body);margin:0 0 6px;min-height:44px}
.bt-back:hover{color:var(--ink)}
.bt-hd-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.bt-spon{color:var(--graphite);font-size:.92rem;display:flex;align-items:center;gap:6px;margin:0}
.bt-followed-note{display:flex;align-items:center;gap:8px;background:rgba(30,122,70,.08);color:var(--green);border:1px solid rgba(30,122,70,.25);border-radius:12px;padding:9px 14px;font-size:.9rem;margin:14px 0 0}
.bt-band{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;margin:0}
.bt-band-l{display:flex;flex-direction:column;gap:8px;min-width:0}
.bt-band-label{font:700 .74rem var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--graphite)}
.bt-band-focal{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}
.bt-band-stage{font:700 .95rem var(--body);color:var(--ink);min-width:0}
.bt-band-date{font:700 .85rem var(--body);color:var(--graphite);font-variant-numeric:tabular-nums;white-space:nowrap}
.bt-ring{--p:0;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:conic-gradient(var(--blue) calc(var(--p)*1%),var(--paper) 0)}
.bt-ring span{width:70px;height:70px;border-radius:50%;background:var(--card);display:grid;place-items:center;font:700 1.1rem var(--display);color:var(--ink)}
.bt-next{display:flex;align-items:center;gap:12px;background:rgba(138,94,0,.07);border:1px solid rgba(138,94,0,.25);border-radius:12px;padding:14px 16px;margin:0 0 22px;color:var(--ink)}
.bt-next-label{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--amber)}
.bt-next-val{font:700 1rem var(--body)}
.bt-timeline{list-style:none;margin:6px 0 0;padding:0;position:relative}
.bt-tl{display:flex;gap:14px;padding:0 0 22px;position:relative}
.bt-tl:before{content:"";position:absolute;left:11px;top:22px;bottom:-2px;width:2px;background:var(--line)}
.bt-tl:last-child:before{display:none}
.bt-tl-dot{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:2px solid var(--line);color:#fff;z-index:1}
.bt-tl.done .bt-tl-dot{background:var(--green);border-color:var(--green)}
.bt-tl.next .bt-tl-dot{background:var(--amber);border-color:var(--amber)}
.bt-tl-body{display:flex;flex-direction:column;gap:2px;padding-top:1px}
.bt-tl-name{font:700 .96rem var(--body);color:var(--ink)}
.bt-tl.todo .bt-tl-name{color:var(--graphite)}
.bt-tl-date{font:700 .82rem var(--body);color:var(--graphite);font-variant-numeric:tabular-nums}
.bt-tl-pending{font-size:.82rem;color:var(--graphite)}
.bt-tl.next .bt-tl-pending{color:var(--amber);font-weight:700}
@media(max-width:640px){
.bt-intro{padding:28px 20px}
.bt-band{padding:14px 16px}
.bt-ring{width:78px;height:78px}.bt-ring span{width:58px;height:58px}
.bt-search-q{flex:1 1 auto;min-width:0}
.bt-search-jur{flex:1 1 100%;width:100%;min-width:0;box-sizing:border-box}
.bt-search-row .pp-search-actions{flex:1 1 100%}
.bt-search .pp-search-actions .btn.seal{width:100%;justify-content:center}
}.bv-panel{margin:0 0 16px;scroll-margin-top:84px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.bv-panel:not(details){padding:16px}
.bv-heading{display:flex;align-items:center;gap:8px;min-height:52px;padding:14px 16px;cursor:pointer;list-style:none}
.bv-heading h2{flex:1;min-width:0;margin:0;font:700 1.05rem/1.4 var(--display);letter-spacing:normal}
.bv-heading>.i{flex:none;color:var(--graphite)}
.bv-heading::-webkit-details-marker,.bv-picker>summary::-webkit-details-marker{display:none}
.bv-heading::after,.bv-picker-action::after{content:"";display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);flex:none;margin:0 3px 0 8px}
.bv-panel[open]>.bv-heading::after,.bv-picker[open] .bv-picker-action::after{transform:rotate(45deg)}
.bv-count{color:var(--graphite);font:400 .8rem var(--body);white-space:nowrap}
.bv-state{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:99px;border:1px solid var(--line);background:var(--paper);color:var(--graphite);font:700 .74rem var(--body);letter-spacing:.02em;white-space:nowrap}
.bv-state-same{color:var(--green,#1E7A46);border-color:var(--green,#1E7A46)}
.bv-state-changed{color:var(--seal);border-color:var(--seal)}
.bv-state-single{color:var(--graphite)}
.bv-state .i{flex:none}
.bv-nodiff{display:flex;align-items:flex-start;gap:12px;margin:12px 0 14px;padding:16px 18px;border:1.5px solid var(--green,#1E7A46);border-radius:12px;background:var(--card)}
.bv-nodiff>.i{flex:none;color:var(--green,#1E7A46);margin-top:2px}
.bv-nodiff strong{display:block;font:700 1rem/1.4 var(--body);color:var(--ink)}
.bv-nodiff span{display:block;margin-top:2px;font-size:.88rem;line-height:1.55;color:var(--graphite)}
.bv-nodiff.bv-single{border-color:var(--line)}
.bv-nodiff.bv-single>.i{color:var(--graphite)}
.bv-content{padding:0 16px 16px}
.bv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px}
.bv-toolbar>.bv-modes,.bv-toolbar>.pp-tab-scroll{flex:1;min-width:0;margin:0}
.bv-toolbar .pp-tab-scroll>.bv-modes{margin:0}
.bv-download{flex:none;min-height:44px;justify-content:center}
.bv-view-label{font-size:.92rem}
.bv-picker{margin:0 0 14px}
.bv-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;min-height:44px;cursor:pointer;list-style:none;font-size:.86rem}
.bv-pair{min-width:0;color:var(--graphite);overflow-wrap:anywhere}
.bv-pair-to{padding:0 5px}
.bv-picker-action{flex:none;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.bv-select{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin:8px 0 0;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.bv-choice{min-width:0}
.bv-choice label{display:block;margin:0 0 5px;color:var(--graphite);font:700 .82rem var(--body)}
.bv-choice select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1.5px solid var(--control-border,var(--line));border-radius:8px;background-color:var(--card);color:var(--ink);font:400 .9rem var(--body);padding:9px 28px 9px 10px;text-overflow:ellipsis}
.bv-compare{min-height:44px;justify-content:center}
.bv-selection-status{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--graphite)}
.bv-export-status{font-size:.84rem;line-height:1.5;color:var(--graphite);margin:0 0 12px}
.bv-export-status:empty,.bv-selection-status:empty{display:none}
.bv-export-status[data-error]{color:var(--seal)}
.bv-overview{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid var(--line);padding:0 0 12px;font-size:.84rem;color:var(--graphite)}
.bv-legend{display:flex;flex-wrap:wrap;gap:8px 18px}
.bv-added{color:var(--green)}.bv-removed{color:var(--seal)}
.bv-added ins{text-underline-offset:3px}
.bv-document{max-width:85ch}
.bv-diff{padding:18px 0;border-bottom:1px solid var(--line);scroll-margin-top:84px}
.bv-diff:last-child{border-bottom:0}
.bv-document:has(.bv-diff:not(.changed)) .bv-diff:not(.changed){border-bottom:0;padding:8px 0}
.bv-change-heading{margin:0 0 8px}
.bv-change-heading h3{margin:0;color:var(--ink);font:700 .9rem/1.4 var(--body);letter-spacing:normal}
.bv-provisions{font:400 1rem/1.8 var(--body);overflow-wrap:anywhere;color:var(--ink)}
.bv-provisions ins{background:#e4f3e9!important;color:#206641!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.bv-provisions del{background:#fae8e8!important;color:#933e43!important;text-decoration:line-through}
.bv-provisions ins,.bv-provisions del{box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:1px 0}
.bv-empty,.bv-note,.bv-single-label{font-size:.88rem;line-height:1.6;color:var(--graphite);margin:4px 0 14px}
.bv-reference{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 24px;border-top:1px solid var(--line);padding-top:12px;font-size:.82rem;color:var(--graphite)}
.bv-reference>a,.bv-sources>summary{min-height:44px;display:inline-flex;align-items:center;color:var(--graphite)}
.bv-sources>summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.bv-sources[open]{flex-basis:100%;order:1}
.bv-sources ul{margin:0 0 10px;padding-left:18px;line-height:1.8}
.bv-footnote{max-width:85ch;margin:0;line-height:1.6}
.bv-attachments{margin:12px 0;font-size:.86rem}.bv-attachments summary{cursor:pointer}
.bv-pagination{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 0;font-size:.86rem}
.bv-pagination a{display:inline-flex;align-items:center;min-height:44px}
.bv-hit{padding:16px 0;border-bottom:1px solid var(--line)}
.bv-timeline{margin:0 0 20px;min-width:0}.bv-timeline-label{font-size:.82rem;font-weight:700;margin-bottom:12px}.bv-timeline-label>span{font-size:.72rem;font-weight:400;color:var(--graphite);margin-left:6px}
.bv-timeline ol{display:flex;list-style:none;overflow-x:auto;gap:0;padding:0 0 8px;margin:0;scrollbar-width:thin}.bv-timeline li{flex:1 0 155px;max-width:235px;position:relative;padding-top:5px}.bv-timeline li:not(:last-child):before{content:'';position:absolute;top:11px;left:14px;right:0;border-top:1px solid var(--line)}
.bv-timeline-step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-decoration:none;color:var(--graphite);padding:0 16px 4px 0;min-height:90px;font-size:.76rem;line-height:1.4}.bv-timeline-step strong{font-size:.82rem;font-weight:500;color:var(--ink);margin-top:5px}.bv-timeline-step small{font-size:.72rem}.bv-timeline-dot{width:13px;height:13px;box-sizing:border-box;border-radius:50%;background:var(--card);border:2px solid var(--control-border,var(--line))}.bv-timeline-step.selected .bv-timeline-dot{background:var(--seal);border-color:var(--seal)}.bv-timeline-step.selected small{color:var(--seal);font-weight:700}.bv-timeline-step[aria-current] strong{font-weight:700}.bv-timeline-step:hover strong{text-decoration:underline;text-underline-offset:3px}.bv-timeline>p{font-size:.76rem;color:var(--graphite);margin:4px 0 0;line-height:1.5}
.bv-reader{min-width:0}.bv-outline{margin:4px 0 8px}.bv-outline>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:.85rem;font-weight:700;list-style:none}.bv-outline>summary:before{content:'›';font-size:1.2rem;font-weight:400}.bv-outline[open]>summary:before{transform:rotate(90deg)}.bv-outline>summary>span{font-size:.75rem;font-weight:400;color:var(--graphite)}.bv-outline ol{list-style:none;padding:0;margin:0 0 12px;max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border:1px solid var(--line);border-radius:8px}.bv-outline a{display:flex;align-items:center;gap:10px;min-height:44px;padding:5px 12px;box-sizing:border-box;color:var(--ink);font-size:.82rem;text-decoration:none}.bv-outline a>span{color:var(--graphite);min-width:2ch;font-size:.75rem}.bv-outline a:hover,.bv-outline a[aria-current]{background:var(--paper);text-decoration:underline;text-underline-offset:3px}
.bv-reader-tools{position:sticky;top:12px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--line);padding:8px 0}.bv-reading-modes{display:flex;gap:2px;border:1px solid var(--line);border-radius:8px;padding:2px}.bv-reading-modes a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;box-sizing:border-box;border-radius:5px;color:var(--graphite);font-size:.8rem;text-decoration:none}.bv-reading-modes a[aria-current]{background:var(--ink);color:var(--card)}.bv-change-nav{display:flex;align-items:center;gap:12px;font-size:.8rem}.bv-change-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-underline-offset:3px}.bv-change-nav a[aria-disabled]{color:var(--graphite);opacity:.5;cursor:default;text-decoration:none}.bv-change-position{color:var(--graphite);white-space:nowrap;font-variant-numeric:tabular-nums}.bv-reading-status{font-size:.76rem;color:var(--graphite);line-height:1.5;margin:10px 0 0}
.bv-reader .bv-diff{scroll-margin-top:105px}.bv-reader .bv-diff:focus-visible{outline:2px solid var(--seal);outline-offset:5px;border-radius:4px}
.bv-reader[data-bv-reading="before"] .bv-passage ins,.bv-reader[data-bv-reading="after"] .bv-passage del,.bv-absent{display:none}
.bv-reader[data-bv-reading="before"] .bv-passage del,.bv-reader[data-bv-reading="after"] .bv-passage ins{background:transparent!important;color:inherit!important;text-decoration:none!important;padding:0}
.bv-reader[data-bv-reading="before"] .bv-absent-before,.bv-reader[data-bv-reading="after"] .bv-absent-after{display:block;font-size:.88rem;color:var(--graphite);font-style:italic}
.bv-reader[data-bv-reading="before"] [data-bv-empty-before],.bv-reader[data-bv-reading="after"] [data-bv-empty-after]{display:none}
.bv-panel:has(.bv-reader[data-bv-reading="before"]) .bv-legend,.bv-panel:has(.bv-reader[data-bv-reading="after"]) .bv-legend{display:none}
.bv-context{margin-top:12px}.bv-context>summary{cursor:pointer;color:var(--graphite);font-size:.8rem;min-height:44px;display:list-item;align-content:center;list-style-position:inside}.bv-context-body{border-left:2px solid var(--line);padding:4px 0 4px 16px}.bv-context h4{font:700 .75rem/1.5 var(--body);color:var(--graphite);margin:12px 0 5px}.bv-context .bv-provisions{font-size:.92rem;color:var(--graphite)}
@media(max-width:680px){.bv-timeline li{flex-basis:150px}.bv-reader-tools{gap:2px;top:0}.bv-reading-modes{width:100%}.bv-reading-modes a{flex:1;min-height:40px}.bv-change-nav{width:100%;justify-content:space-between;gap:8px}.bv-reader .bv-diff{scroll-margin-top:130px}.bv-outline ol{grid-template-columns:1fr}}
.bv-reader-tools{top:var(--bv-header-height,72px)}.bv-reader .bv-diff{scroll-margin-top:calc(var(--bv-header-height,72px) + var(--bv-tools-height,64px) + 20px)}
.bv-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.bv-tools .btn{min-height:44px;white-space:nowrap}
.bv-analysis{border:1px solid var(--line);border-radius:8px;padding:18px;margin:0 0 20px;background:var(--card)}
.bv-analysis[hidden],.bv-analysis-result[hidden]{display:none!important}
.bv-analysis-form label{display:block;font-size:.88rem;font-weight:700;margin:0 0 8px}
.bv-analysis-form textarea{box-sizing:border-box;display:block;width:100%;resize:vertical;min-height:78px;padding:10px 12px;border:1.5px solid var(--control-border,var(--line));border-radius:8px;background:var(--card);color:var(--ink);font:400 1rem/1.5 var(--body)}
.bv-analysis-actions{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;margin-top:10px}
.bv-analysis-actions .bv-note{margin:0;flex:1 1 200px}.bv-analysis-actions .btn{min-height:44px}
.bv-analysis-status{font-size:.86rem;line-height:1.5;color:var(--graphite);margin:12px 0 0}
.bv-analysis-status:empty{display:none}.bv-analysis-status[data-error]{color:var(--seal)}
.bv-analysis-result{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;max-width:85ch;line-height:1.7;overflow-wrap:anywhere}
.bv-analysis-result h3{font:700 1.08rem/1.4 var(--body);margin:0 0 8px}.bv-analysis-result p{margin:0 0 14px}
.bv-analysis-result ul{padding-left:22px;margin:0 0 16px}.bv-analysis-result li{margin-bottom:12px}
.bv-analysis-citations{font-size:.8rem}.bv-analysis-citations a{white-space:nowrap;margin-right:6px;text-underline-offset:3px}
.bv-analysis-result .bv-footnote{font-size:.8rem;color:var(--graphite);margin-bottom:0}
.bv-panel :is(a,button,select,summary,textarea):focus-visible{outline:2px solid var(--seal);outline-offset:3px;border-radius:4px}
.bv-heading:focus-visible{outline-offset:-4px!important;border-radius:12px!important}
@media(max-width:680px){.bv-toolbar{flex-wrap:wrap;gap:10px}.bv-toolbar>.bv-modes,.bv-toolbar>.pp-tab-scroll{flex-basis:100%}.bv-tools{margin-left:0;width:100%}.bv-tools .btn{flex:1;justify-content:center}.bv-analysis{padding:14px}.bv-analysis-actions .btn{width:100%;justify-content:center}.bv-picker>summary{align-items:flex-start;flex-direction:column;gap:4px;padding:6px 0}.bv-picker-action{display:inline-flex;align-items:center;min-height:44px}.bv-select{grid-template-columns:minmax(0,1fr)}.bv-heading h2{font-size:1rem}.bv-heading{gap:7px}.bv-count{font-size:.75rem}.bv-overview{gap:8px}.bv-legend{gap:8px 14px}.bv-provisions{font-size:1rem}.bv-choice select{font-size:1rem}.bv-pagination{gap:16px}}
.bc-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.bc-cols{grid-template-columns:1fr}}
.bc-lang-tab{display:inline-block;padding:4px 12px;border:1px solid #E3E0D6;border-bottom:none;border-radius:8px 8px 0 0;background:var(--paper);cursor:pointer;font-size:13px;font-weight:700;color:var(--graphite)}
.bc-lang-tab.on{background:var(--card);color:var(--ink)}
.bc-prev{width:100%;height:560px;border:1px solid #E3E0D6;border-radius:8px;background:#fff}
.bc-help{font-size:12px;color:#8a969c;margin:4px 0 0}
.bc-chip{display:inline-block;background:var(--paper);border-radius:6px;padding:1px 7px;font-size:12px;color:var(--graphite);margin:2px 2px 0 0}
.bc-warn{background:color-mix(in srgb, var(--amber) 12%, var(--card));border:1px solid #F2D79B;border-radius:8px;padding:10px 12px;font-size:13px;color:var(--ink);margin:0 0 12px}
.bc-ok2{background:#EFF7EF;border:1px solid #BFE2BF;border-radius:8px;padding:10px 12px;font-size:13px;color:#2c5e2c;margin:0 0 12px}
.bc-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.bc-filter .field{margin:0}
.bc-filter-actions{display:flex;gap:8px;align-items:center}

/* sidebar trigger — a real full-width button, centered under the sign-out row (same bordered idiom as .side-out) */
.side-bug{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:40px;padding:7px 6px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#C8D6DD;font:700 .7rem/1 var(--body);white-space:nowrap;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.side-bug:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.32);color:#fff}
.side-bug:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:900px){.side-bug{min-height:44px}}
@media(max-width:360px){.side-bug{min-width:44px;padding:7px}.side-bug span{display:none}}
/* dialog */
.bug-back{position:fixed;inset:0;z-index:80;background:rgba(20,26,40,.45);display:flex;align-items:center;justify-content:center;padding:18px}
.bug-modal{width:min(560px,100%);max-height:min(88vh,720px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;box-shadow:0 24px 54px -30px rgba(18,48,61,.55)}
.bug-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.bug-head h2{margin:0;font-size:1.1rem;display:flex;align-items:center;gap:8px}
.bug-x{display:grid;place-items:center;min-width:40px;min-height:40px;border:0;background:transparent;color:var(--graphite);border-radius:8px;cursor:pointer}
.bug-x:hover{background:var(--paper);color:var(--ink)}
.bug-lbl{display:block;font-weight:700;font-size:.82rem;margin:0 0 5px}
#bugForm textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);color:var(--ink);padding:10px 12px;font:400 .92rem/1.5 var(--body);resize:vertical;min-height:110px}
#bugForm textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.bug-safe-note{margin:5px 0 0;color:var(--graphite);font-size:.76rem}
.bug-diag{margin:14px 0 0;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:var(--paper)}
.bug-diag summary{cursor:pointer;font-weight:700;font-size:.8rem;min-height:24px}
.bug-diag-note{font-size:.8rem;color:var(--graphite);margin:8px 0}
.bug-diag-pre{max-height:180px;overflow:auto;font-size:.68rem;line-height:1.45;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:8px;white-space:pre-wrap;word-break:break-word}
.bug-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}
.bug-state{margin-right:auto;font-size:.8rem;color:var(--graphite)}
.app.theme-dark .bug-back{background:rgba(4,7,14,.6)}
.app.theme-dark .bug-modal{box-shadow:none}
@media(max-width:640px){.bug-back{padding:0;align-items:stretch}.bug-modal{width:100%;max-height:100%;border-radius:0;border:0}
.bug-foot{flex-wrap:wrap}.bug-foot .btn{flex:1 1 40%;justify-content:center}.bug-state{flex:1 1 100%;margin:0 0 4px}}

.cbanner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:0 0 16px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--cb-accent,var(--blue));border-radius:var(--radius,10px);box-shadow:var(--shadow);color:var(--ink);font-size:.94rem;line-height:1.45}.cbanner-ic{display:flex;flex:0 0 auto;color:var(--cb-accent,var(--blue));margin-top:1px}.cbanner-msg{flex:1 1 auto;min-width:0;word-break:break-word}.cbanner-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;background:none;border:0;color:var(--graphite);cursor:pointer;line-height:1;padding:0;margin:-9px -11px -9px 2px;border-radius:var(--r,6px)}.cbanner-x:hover{color:var(--ink);background:var(--paper)}.cbanner-preview{margin-top:12px}.cbanner-preview .cbanner{margin-bottom:0}.cbanner-preview+.cbanner-preview{margin-top:14px}.cr-wrap{max-width:1180px;margin:0 auto}
.cr-tabs{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
/* Tabs render via the shared .pp-module-tab styling (inc/19-ui-and-assets.php); .cr-tab stays as a selector hook only. */
.cr-inline-form{display:inline-block;margin:0}
.cr-tabs .cr-inline-form{margin-left:auto}
.cr-hero{border:1px dashed var(--line);border-radius:var(--radius);padding:40px 24px;text-align:center;color:var(--graphite)}
.cr-hero>svg{opacity:.5;margin-bottom:6px}
.cr-hero h2{color:var(--ink);margin:0 0 8px}
.cr-hero p{max-width:560px;margin:0 auto 16px}
.cr-h{font:800 1.15rem var(--body);color:var(--ink);margin:6px 0 8px}
.cr-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.cr-stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 12px;text-align:center}
.cr-stat.hi{border-color:var(--green)}
.cr-stat.bad{border-color:var(--seal)}
.cr-stat-n{display:block;font:800 1.25rem var(--body);color:var(--ink);font-variant-numeric:tabular-nums}
.cr-stat.bad .cr-stat-n{color:var(--seal)}
.cr-stat-l{display:block;font-size:.72rem;color:var(--graphite);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.cr-stat.muted2 .cr-stat-n{font-size:.95rem}
.cr-sec{margin-bottom:22px}
.cr-sec h2{font:800 .95rem var(--body);color:var(--ink);margin:0 0 8px}
.cr-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.cr-cols{grid-template-columns:1fr}}
.cr-iss-t{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px dotted var(--line)}
.cr-new{background:var(--seal);color:#fff;border-radius:999px;padding:0 8px;font-weight:700}
.cr-trend{font-weight:800;color:var(--ink)}
.cr-mix{display:inline-block;font-size:.72rem;color:var(--graphite);border:1px solid var(--line);border-radius:5px;padding:0 5px;margin:1px}
.cr-chip{display:inline-flex;align-items:center;gap:5px;font:700 .74rem var(--body);border-radius:999px;padding:2px 9px;border:1px solid var(--line);color:var(--graphite);white-space:nowrap}
.cr-dot{width:7px;height:7px;border-radius:50%;background:var(--graphite);flex:none}
.cr-chip.ok{color:var(--green);border-color:var(--green)}.cr-chip.ok .cr-dot{background:var(--green)}
.cr-chip.warn{color:var(--amber);border-color:var(--amber)}.cr-chip.warn .cr-dot{background:var(--amber)}
.cr-chip.bad{color:#fff;background:var(--seal);border-color:var(--seal)}.cr-chip.bad .cr-dot{background:#fff}
.cr-chip.hot{color:#fff;background:var(--seal);border-color:var(--seal)}.cr-chip.hot .cr-dot{background:#fff}
.cr-chip.unknown{border-style:dashed}
.cr-chip.info{color:var(--ink)}
.cr-attn{display:grid;gap:6px}
.cr-attn-row{display:flex;align-items:baseline;gap:10px;box-sizing:border-box;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none}
.cr-attn-row .cr-dot{align-self:center}
.cr-attn-row.bad{border-left:4px solid var(--seal)}.cr-attn-row.bad .cr-dot{background:var(--seal)}
.cr-attn-row.warn{border-left:4px solid var(--amber)}.cr-attn-row.warn .cr-dot{background:var(--amber)}
.cr-attn-t{font-weight:700;color:var(--ink)}
.cr-attn-d{color:var(--graphite);font-size:.84rem;flex:1;min-width:0}
.cr-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:22px 16px;text-align:center;color:var(--graphite)}
.cr-empty.ok{color:var(--green);border-color:var(--green)}
.cr-ev{border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);background:var(--card);padding:9px 12px;margin-bottom:8px}
.cr-ev.sev-critical,.cr-ev.sev-high{border-left-color:var(--seal)}
.cr-ev.sev-medium{border-left-color:var(--amber)}
.cr-ev.sev-low,.cr-ev.sev-info{border-left-color:var(--line)}
.cr-ev.is-new{border-top-color:var(--green);border-right-color:var(--green);border-bottom-color:var(--green)}
.cr-ev-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.cr-ev-mod{font:700 .74rem var(--body);color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.cr-ev-iss{font-size:.78rem;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:0 6px}
.cr-ev-when{margin-left:auto;font-size:.78rem}
.cr-ev-title{font-weight:700;color:var(--ink)}
.cr-ev-title a{color:var(--ink)}
.cr-ev-snip{font-size:.84rem;color:var(--graphite);margin-top:2px}
.cr-ev-meta{font-size:.8rem;color:var(--graphite);margin-top:3px}
.cr-ev-next{font-size:.84rem;color:var(--ink);font-weight:700;margin-top:3px;display:flex;align-items:center;gap:5px}
.cr-ev-src{font-size:.72rem;margin-top:3px}
.cr-ev-ctl{display:flex;gap:6px;margin:-4px 0 10px 4px}
.cr-mini-row{display:flex;align-items:baseline;gap:10px;box-sizing:border-box;min-height:44px;padding:8px;border-bottom:1px solid var(--paper);text-decoration:none;font-size:.86rem}
.cr-mini-row:hover{background:var(--paper)}
.cr-mr-t{color:var(--ink);flex:1;min-width:0;word-break:break-word}
.cr-mr-d{flex:none;font-size:.78rem;white-space:nowrap}
.cr-list{margin:0;padding-left:18px;color:var(--ink);font-size:.88rem}
.cr-list li{margin-bottom:4px}
.cr-note{font-size:.8rem;margin-top:8px}
.cr-issue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cr-issue-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cr-issue-btns{display:flex;gap:8px;align-items:center}
.cr-ask{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px 14px;margin:12px 0}
.cr-ask-l{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--graphite);margin-bottom:4px}
.cr-ask-v{color:var(--ink);font-weight:700}
.cr-ask-d{color:var(--graphite);font-size:.88rem;margin-top:6px}
.cr-ask-dl{color:var(--seal);font-weight:700;font-size:.86rem;margin-top:8px;display:flex;align-items:center;gap:6px}
.cr-sin{margin:4px 0 14px}
.cr-sin>summary{cursor:pointer;font-size:.78rem;color:var(--graphite);list-style:none;border:1px solid var(--line);border-radius:5px;padding:10px 12px;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
.cr-sin>summary::-webkit-details-marker{display:none}
.cr-mini{width:100%;border-collapse:collapse;margin-top:6px;font-size:.78rem;background:var(--card);border:1px solid var(--line);border-radius:6px}
.cr-mini td{padding:4px 8px;border-top:1px solid var(--paper);vertical-align:top}
.cr-mini td:first-child{font-weight:700;color:var(--graphite);width:120px}
.cr-quick{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 14px}
.cr-art{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:10px}
.cr-art>summary{cursor:pointer;padding:10px 14px;font-weight:700;color:var(--ink);list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;min-width:0;min-height:44px;box-sizing:border-box;overflow-wrap:anywhere}
.cr-art>summary::-webkit-details-marker{display:none}
.cr-art-tag{font:700 .72rem var(--mono,monospace);color:var(--graphite);border:1px solid var(--line);border-radius:5px;padding:0 6px}
.cr-art-body{padding:0 14px 12px;color:var(--ink);font-size:.9rem;min-width:0;overflow-wrap:anywhere}
.cr-act{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:6px;flex-wrap:wrap}
.cr-act.overdue{border-left:4px solid var(--seal)}
.cr-act.done{opacity:.7}
.cr-act-t{font-weight:700;color:var(--ink);flex:1;min-width:0}
.cr-act-iss a{font-size:.8rem;color:var(--graphite)}
.cr-act-src{font-size:.74rem;display:inline-flex;align-items:center;gap:3px}
.cr-act-due{font-size:.78rem;color:var(--graphite)}
.cr-act-due.bad{color:var(--seal);font-weight:700}
.cr-act-when{font-size:.78rem}
.cr-flt{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px 14px;margin-bottom:14px}
.cr-flt label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.cr-flt select{font-size:.88rem;padding:5px 8px}
.cr-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px;display:grid;gap:10px;max-width:760px}
.cr-form label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.cr-form input,.cr-form select,.cr-form textarea{font-size:.9rem;padding:6px 8px}
.cr-form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.cr-form-row label{flex:1;min-width:140px}
.cr-form-actions{display:flex;gap:8px;align-items:center}
.cr-form-compact{margin-top:10px;max-width:none}
.btn.xs{font-size:.72rem;padding:6px 10px;min-height:44px;display:inline-flex;align-items:center;gap:4px}
.cr-tab:focus-visible,.cr-attn-row:focus-visible,.cr-mini-row:focus-visible,.cr-iss-main:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:6px}
.cr-ev-ctl{flex-wrap:wrap;align-items:center}
/* ---- rebuilt Issue Radar UX ---- */
.cr-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cr-toolbar .cr-tabs{margin-bottom:0}
.cr-toolbar>:is(.cr-tabs,.pp-tab-scroll){flex:1 1 auto;min-width:0}
.cr-tb-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cr-tb-actions .cr-inline-form{margin-left:0}
.cr-tb-second{display:flex;flex:1 1 100%;width:100%;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.cr-tb-cap{font-size:.8rem;flex:1;min-width:180px}
.cr-tb-export{margin-left:auto}
.cr-lead{margin:2px 0 14px;font-size:.9rem;max-width:720px}
.cr-focal{border:1px solid var(--line);border-left:4px solid var(--seal);border-radius:var(--radius);background:var(--card);padding:14px 16px;margin-bottom:16px}
.cr-focal.calm{border-left-color:var(--green)}
.cr-focal-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cr-focal-h h2{font:800 1rem var(--body);color:var(--ink);margin:0}
.cr-focal-h svg{color:var(--seal)}
.cr-focal.calm .cr-focal-h svg{color:var(--green)}
.cr-focal-ok{color:var(--green);font-weight:700;display:flex;align-items:center;gap:8px}
.cr-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.cr-sec-head h2{margin:0}
.cr-legend{font-size:.76rem}
.cr-legend .cr-lg{margin-left:8px;white-space:nowrap}
.cr-legend .cr-lg b{color:var(--ink)}
.cr-iss-list{display:grid;gap:8px}
.cr-iss-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 14px}
.cr-iss-main{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none}
.cr-iss-t{font-weight:700;color:var(--ink);border-bottom:1px dotted var(--line);flex:1;min-width:0}
.cr-iss-status{display:flex;align-items:center;gap:8px;flex:none}
.cr-iss-status .cr-trend{font-weight:800;color:var(--ink)}
.cr-iss-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px;font-size:.78rem}
.cr-iss-tag{display:inline-flex;align-items:center;gap:4px;color:var(--graphite)}
.cr-iss-hint{margin-top:8px;font-size:.82rem;color:var(--graphite);border-top:1px dashed var(--line);padding-top:8px}
.cr-status-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px}
.cr-status-sub{color:var(--ink);font-weight:700;font-size:.92rem}
.cr-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:6px 0}
.cr-gcard{border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 12px}
.cr-gcard.ok{border-top-color:var(--green)}
.cr-gcard.warn{border-top-color:var(--amber)}
.cr-gcard.bad,.cr-gcard.hot{border-top-color:var(--seal)}
.cr-gcard.unknown{border-top-style:dashed}
.cr-glabel{font:700 .7rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.cr-gval{font:800 1.15rem var(--body);color:var(--ink);margin:2px 0;font-variant-numeric:tabular-nums}
.cr-gdesc{font-size:.78rem}
.cr-kw-help{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:12px 14px;font-size:.84rem}
.cr-kw-h{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite);margin-bottom:6px}
.cr-kw-ex{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-family:var(--mono,monospace);color:var(--ink);margin-bottom:8px}
.cr-kw-list{margin:0 0 8px;padding-left:18px;color:var(--ink)}
.cr-kw-list li{margin-bottom:3px}
.cr-kw-list b{color:var(--ink)}
.cr-kw-hint{font-size:.82rem}
.cr-ev-more{margin-top:4px}
.cr-ev-more>summary{cursor:pointer;font-size:.74rem;color:var(--graphite);list-style:none;display:inline-flex;align-items:center;min-height:44px}
.cr-ev-more>summary::-webkit-details-marker{display:none}
.cr-ev-more>summary::before{content:"›";margin-right:4px;display:inline-block}
.cr-ev-srclink{font-size:.82rem;margin:4px 0 2px}
.cr-ev-workbox{display:flex;justify-content:flex-end;align-items:center;margin-top:8px}
/* ---- true mobile stack (monitor-family 640px canon: single column, full-width controls) ---- */
@media(max-width:640px){
.cr-wrap .pp-mast-cta{width:100%}
.cr-wrap .pp-mast-cta .btn{width:100%;justify-content:center;box-sizing:border-box}
/* toolbar: Scan now + Export become full-width tap targets under the tabs */
.cr-tb-actions{width:100%;margin-left:0}
.cr-tb-actions .cr-inline-form{display:block;flex:1 1 100%;width:100%}
.cr-tb-actions .btn{width:100%;justify-content:center;box-sizing:border-box}
.cr-tb-second{flex-direction:column;align-items:stretch}
.cr-tb-export{margin-left:0;width:100%;justify-content:center;box-sizing:border-box}
/* stat bar: an even 2-up grid instead of a cramped auto-fit row */
.cr-stats{grid-template-columns:repeat(2,1fr)}
.cr-stats>.cr-stat:last-child:nth-child(odd){grid-column:1/-1}
.cr-groups{grid-template-columns:1fr}
/* issue list + focal alerts: rows wrap, detail line gets its own row */
.cr-iss-main{flex-wrap:wrap}
.cr-iss-t{flex:1 1 100%}
.cr-attn-row{flex-wrap:wrap}
.cr-attn-d{flex:1 1 100%;margin-left:17px}
/* filters + forms: single column, full-width controls */
.cr-flt{flex-direction:column;align-items:stretch}
.cr-flt label{width:100%}
.cr-flt select,.cr-flt input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.cr-flt .btn{width:100%;justify-content:center;box-sizing:border-box}
.cr-form{max-width:100%}
.cr-form input,.cr-form select,.cr-form textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.cr-form input,.cr-form select{min-height:44px}
.cr-form textarea{min-height:88px}
.cr-form-row{flex-direction:column;align-items:stretch}
.cr-form-row label{min-width:0}
.cr-form-row .btn,.cr-form-actions .btn{width:100%;justify-content:center;box-sizing:border-box}
.cr-form-actions{flex-direction:column;align-items:stretch}
/* quick generators + per-event / per-action buttons share full-width rows */
.cr-quick .cr-inline-form{flex:1 1 calc(50% - 4px)}
.cr-quick .btn{width:100%;justify-content:center;box-sizing:border-box}
.cr-act .cr-inline-form{flex:1 1 calc(50% - 5px)}
.cr-act .cr-inline-form .btn{width:100%;justify-content:center;box-sizing:border-box}
.cr-ev-ctl .cr-inline-form{flex:1 1 auto}
.cr-ev-ctl .btn{width:100%;justify-content:center;box-sizing:border-box}
}.cmdk-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 9px 0 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--graphite);cursor:text;font:500 .86rem var(--body);transition:border-color .12s,box-shadow .12s;max-width:228px;min-width:0}
.cmdk-trigger:hover{border-color:var(--graphite);box-shadow:var(--shadow)}
.cmdk-trigger>.i{flex:none;opacity:.85}
.cmdk-trigger-lbl{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-kbd{font:700 .7rem var(--body);background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--graphite);border-radius:5px;padding:2px 6px;border:1px solid var(--line);white-space:nowrap}
.side .cmdk-trigger.side-cmdk{width:100%;max-width:none;height:44px;padding:0 9px 0 11px;justify-content:flex-start;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.18);color:#D6E2E7;cursor:pointer}
.side .cmdk-trigger.side-cmdk:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);box-shadow:none;color:#fff}
.side .cmdk-trigger.side-cmdk .cmdk-kbd{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#B9CCD4}
@media(max-width:760px){.cmdk-trigger{max-width:none;width:44px;height:44px;padding:0;justify-content:center}.cmdk-trigger-lbl,.cmdk-trigger .cmdk-kbd{display:none}.side .cmdk-trigger.side-cmdk{width:100%;padding:0 9px 0 11px;justify-content:flex-start}.side .cmdk-trigger.side-cmdk .cmdk-trigger-lbl{display:block}.side .cmdk-trigger.side-cmdk .cmdk-kbd{display:inline}}

.cmdk-back{position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:11vh 16px 16px}
html.cmdk-lock{overflow:hidden}
.cmdk{width:100%;max-width:620px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:72vh}
.cmdk-top{display:flex;align-items:center;gap:11px;padding:15px 16px;border-bottom:1px solid var(--line)}
.cmdk-top>.i{flex:none;color:var(--graphite)}
.cmdk-input{flex:1;border:0;background:none;outline:none;font:400 1.06rem var(--body);color:var(--ink);min-width:0;padding:0}
.cmdk-input::placeholder{color:var(--graphite);opacity:.75}
.cmdk-esc{flex:none;font:700 .66rem var(--body);color:var(--graphite);border:1px solid var(--line);border-radius:5px;padding:3px 6px}
.cmdk-results{overflow-y:auto;padding:6px 6px 8px;-webkit-overflow-scrolling:touch}
.cmdk-grp{font:700 .67rem var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--graphite);padding:11px 12px 4px}
.cmdk-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;text-decoration:none;color:var(--ink);cursor:pointer;scroll-margin:8px}
.cmdk-item.on{background:color-mix(in srgb,var(--blue) 13%,transparent)}
.cmdk-ic{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--graphite)}
.cmdk-item.on .cmdk-ic{color:var(--blue)}
.cmdk-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cmdk-ti{font:500 .95rem var(--body);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-ti mark{background:color-mix(in srgb,var(--amber) 50%,transparent);color:inherit;border-radius:2px;padding:0 1px}
.cmdk-su{font:400 .8rem var(--body);color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-kind{flex:none;font:700 .67rem var(--body);color:var(--graphite);background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:999px;padding:2px 9px}
.cmdk-empty{padding:30px 18px;text-align:center;color:var(--graphite);font:400 .92rem/1.5 var(--body)}
.cmdk-foot{display:flex;gap:18px;padding:9px 15px;border-top:1px solid var(--line);font:500 .73rem var(--body);color:var(--graphite)}
.cmdk-foot kbd{font:700 .69rem var(--body);background:color-mix(in srgb,var(--ink) 7%,transparent);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-right:2px}
@media(max-width:520px){.cmdk-back{padding:7vh 8px 8px}.cmdk-foot{display:none}.cmdk{max-height:84vh}}
.cmdk-loading{padding:30px 18px;text-align:center;color:var(--graphite);font:400 .92rem/1.5 var(--body)}
.cmdk-error{padding:24px 18px;text-align:center;color:var(--seal);font:400 .92rem/1.5 var(--body)}
.cmdk-error-retry{display:inline-block;margin-top:10px;font:700 .86rem var(--body);color:var(--blue);background:none;border:1px solid var(--blue);border-radius:6px;padding:5px 14px;cursor:pointer}
.cmdk-error-retry:hover{background:color-mix(in srgb,var(--blue) 8%,transparent)}.cs-ai-box{margin-top:14px}.cs-ai-report{line-height:1.6;overflow-wrap:anywhere}.cs-ai-report>h2,.cs-ai-answer h2,.cs-ai-charts>h2{font-family:var(--display);font-size:1.18rem;margin:22px 0 10px}.cs-ai-answer h2{margin-top:0}.cs-ai-answer{border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:18px 20px;background:var(--card)}.cs-ai-answer p{margin:0}.cs-ai-answer-claim+.cs-ai-answer-claim{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.cs-ai-quote{margin:8px 0 4px;padding:6px 12px;border-left:3px solid var(--line);color:var(--graphite);font-size:.92rem;font-style:italic}.cs-ai-quote cite{font-style:normal;font-size:.82rem;color:var(--faint)}.cs-ai-caption-note{margin:0 0 14px}.cs-ai-charts>.aichart:first-of-type{margin-top:0}.cs-ai-timeline{display:grid;gap:12px;border-left:2px solid var(--line);padding-left:18px;margin-left:6px}.cs-ai-timeline article,.cs-ai-sections article{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card)}.cs-ai-timeline article{position:relative;min-width:0}.cs-ai-timeline article:before{content:"";position:absolute;left:-25px;top:19px;width:10px;height:10px;border-radius:50%;background:var(--seal);border:2px solid var(--paper)}.cs-ai-period{display:flex;justify-content:space-between;gap:10px;color:var(--graphite);font-size:.8rem}.cs-ai-timeline h3,.cs-ai-sections h3{font-size:1rem;margin:5px 0}.cs-ai-timeline p,.cs-ai-sections p{margin:0 0 7px}.cs-ai-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.cs-ai-sections article{min-width:0}.cs-ai-citations{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.cs-ai-citation{display:inline-flex;align-items:center;gap:4px}.cs-ai-cite{display:inline-flex;color:var(--seal);font-weight:700;font-size:.8rem;text-decoration:none;white-space:nowrap}a.cs-ai-cite:hover{text-decoration:underline}.cs-cc-badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:.72rem;line-height:1.45;color:var(--graphite);vertical-align:1px;white-space:nowrap}.cs-ai-caveat{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:18px;color:var(--graphite)}.cs-ai-caveat p{margin:4px 0 0}.cm-fold.cs-ai-sources:not(.pp-monitor-how){margin:18px 0 0}.cs-ai-source-list{display:flex;flex-direction:column;gap:7px}.cs-ai-source-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);min-width:0}.cs-ai-source-row>a,.cs-ai-source-row>.cs-ai-source-unlinked{display:flex;flex:1 1 auto;flex-direction:column;padding:7px 0;color:var(--ink);text-decoration:none;min-width:0}.cs-ai-source-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end}.cs-ai-source-list>:last-child{border-bottom:0}.cs-ai-source-list b{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cs-ai-source-list span:not(.cs-cc-badge){font-size:.82rem;color:var(--graphite)}.cs-ai-source-row>a:hover b{text-decoration:underline}.cs-ai-disclaimer{font-size:.78rem;margin-top:14px}.cs-byline{margin:4px 0 0;font-size:.88rem}@media(max-width:640px){.cs-ai-answer{padding:15px 16px}.cs-ai-sections{grid-template-columns:1fr}.cs-ai-period{flex-wrap:wrap}.cs-ai-source-row{align-items:flex-start;flex-wrap:wrap}.cs-ai-source-actions{flex:1 0 100%;justify-content:flex-start;padding-bottom:8px}.cs-ai-report>h2,.cs-ai-answer h2,.cs-ai-charts>h2{font-size:1.1rem}}@media print{.pp-ai-report-toolbar,.pp-ai-report-back{display:none}}.mu-wrap{max-width:1180px;margin:0 auto}
.mu-sec{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:20px 22px;margin:0 0 18px}
.mu-h2{font-family:var(--display);font-size:1.16rem;display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--ink)}
.mu-h3{font-size:1rem;margin:18px 0 8px;color:var(--ink)}
.mu-airow{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
@media(max-width:760px){.mu-airow{grid-template-columns:1fr}}
.mu-scope-row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:0 0 12px}
.mu-scope-row .field{margin:0;min-width:220px}
.mu-scope-row .field select{width:100%}
.mu-report ul{margin:10px 0 0;padding-left:20px}
.mu-report li{margin:0 0 10px}
.mu-cite{font-size:12px;text-decoration:none}
.mu-sources li{margin:0 0 10px;font-size:14px}
.mu-joblist{list-style:none;margin:0;padding:0}
.mu-joblist li{padding:7px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}
.mu-joblist li:first-child{border-top:0}
.mu-badge{font-size:11px;border-radius:999px;padding:2px 9px;background:color-mix(in srgb,var(--graphite) 10%,var(--card));color:var(--graphite)}
.mu-badge-done{background:color-mix(in srgb,var(--green) 12%,var(--card));color:var(--green)}
.mu-badge-error{background:color-mix(in srgb,var(--seal) 12%,var(--card));color:var(--seal)}
.mu-progress{padding:8px 0}
.mu-ai-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 0}
.mu-ai-src-tools{margin-top:4px}
/* Rich report sections — cs/hs deep-search report canon (same metrics/vars). */
.mu-ai-h2,.mu-ai-answer h2{font-family:var(--display);font-size:1.18rem;margin:22px 0 10px}
.mu-ai-answer{border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:18px 20px;background:var(--card);margin-top:10px}
.mu-ai-answer h2{margin-top:0}
.mu-ai-answer p{margin:0}
.mu-ai-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.mu-ai-sections article,.mu-ai-timeline article{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card);min-width:0}
.mu-ai-timeline{display:grid;gap:12px;border-left:2px solid var(--line);padding-left:18px;margin-left:6px}
.mu-ai-timeline article{position:relative}
.mu-ai-timeline article:before{content:"";position:absolute;left:-25px;top:19px;width:10px;height:10px;border-radius:50%;background:var(--seal);border:2px solid var(--paper)}
.mu-ai-period{display:flex;justify-content:space-between;gap:10px;color:var(--graphite);font-size:.8rem}
.mu-ai-sections h3,.mu-ai-timeline h3{font-size:1rem;margin:5px 0}
.mu-ai-sections p,.mu-ai-timeline p{margin:0 0 7px}
.mu-ai-citations{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.mu-ai-cite{display:inline-flex;color:var(--seal);font-weight:700;font-size:.8rem;text-decoration:none;white-space:nowrap}
a.mu-ai-cite:hover{text-decoration:underline}
.mu-ai-caveat{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:18px;color:var(--graphite)}
.mu-ai-caveat p{margin:4px 0 0}.mu-intro{text-align:center;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:40px 28px;max-width:640px;margin:40px auto}
.mu-intro-ic{width:62px;height:62px;border-radius:50%;background:color-mix(in srgb,var(--blue) 10%,var(--card));color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.mu-intro h2{font-size:1.4rem;margin:0 0 10px}
.mu-intro p{color:var(--graphite);max-width:560px;margin:0 auto 16px}
.mu-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
/* City picker strip — ct-seg segmented-chip canon: 44px targets, token colors,
   visible focus ring; the active chip inverts to ink so dark mode stays legible. */
.mu-cities{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.mu-city{display:inline-flex;align-items:center;gap:6px;min-height:44px;white-space:nowrap;line-height:1.2;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font:700 .85rem var(--body);text-decoration:none;color:var(--graphite);background:var(--card)}
.mu-city:hover{border-color:var(--ink);color:var(--ink)}
.mu-city:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.mu-cities .mu-city.on{border-color:var(--ink);background:var(--ink);color:var(--card)} /* .mu-cities prefix outranks the .app.theme-dark a color override, keeping the active chip legible in dark mode */
.mu-city.soon{color:var(--faint);cursor:default;border-style:dashed}
.mu-city.soon em,.mu-sub.soon em{font-style:normal;font-size:11px;line-height:1;border-radius:999px;background:color-mix(in srgb,var(--graphite) 12%,var(--card));color:var(--graphite);padding:2px 8px}
/* Meeting cards — ct-card canon (1.5px line, 12px radius, hover lift) on the
   shared .pp-cards grid; every color rides the theme tokens for dark mode. */
.mu-meeting{display:block;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:inherit;transition:transform .08s ease-out,border-color .15s ease-out}
.mu-meeting:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--line) 60%,var(--ink))}
.mu-meeting:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:12px}
.mu-meeting-t{font:700 .98rem var(--body);color:var(--ink);line-height:1.35;margin:0 0 4px}
.mu-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.mu-pill{display:inline-flex;align-items:center;white-space:nowrap;font:700 .7rem var(--body);line-height:1;border-radius:999px;background:color-mix(in srgb,var(--graphite) 10%,var(--card));border:1px solid color-mix(in srgb,var(--graphite) 25%,var(--card));color:var(--graphite);padding:2px 9px}
.mu-items{list-style:none;margin:0 0 10px;padding:0}
.mu-items li{padding:10px 0;border-top:1px solid var(--line)}
/* Search-handoff highlighting: matched item ring, matched-passage callout,
   minutes-PDF match card, and a :target ring for the anchor jump. */
.mu-items li.mu-hit{background:color-mix(in srgb,var(--amber) 7%,var(--card));border-radius:8px;padding:10px 12px;margin:0 -12px;border-top-color:transparent}
/* scroll-margin keeps the anchor target clear of the sticky app header; the
   server-set .mu-target ring backs up :target (fragment can be lost on login
   round-trips), so the clicked result is ALWAYS visibly located. */
.mu-items li[id],.mu-minhit{scroll-margin-top:96px}
.mu-items li:target,.mu-minhit:target,.mu-items li.mu-target,.mu-minhit.mu-target{outline:2px solid var(--ink);outline-offset:3px;border-radius:8px}
.mu-hl-note{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--blue) 8%,var(--card));border:1px solid color-mix(in srgb,var(--blue) 25%,var(--card));border-radius:12px;padding:9px 14px;margin:0 0 14px;font-size:.85rem}
.mu-hl-note .mu-hl-clear{margin-left:auto;white-space:nowrap}
/* Recorded-votes view: division cards, result badges, side chips, breakdown fold. */
.mu-vtally{background:#FCFAF3;border:1px solid #E9E2CC;border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:14px}
.mu-vote-card{padding:12px 0;border-top:1px solid #EFECE3}
.mu-vote-card:first-of-type{border-top:0}
.mu-vchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.mu-vres{font-size:11px;font-weight:700;border-radius:99px;padding:2px 10px}
.mu-vres-c{background:#E4F2E8;color:#20603A}
.mu-vres-l{background:#F8E5E2;color:#8C2F24}
.mu-vres-n{background:#EFECE3;color:#5A6972} /* neutral: referred/received/tied — not a loss */
.mu-vmine{font-size:12px;font-weight:700;color:#12303D}
.mu-vfold{margin-top:7px;font-size:13px}
.mu-vfold summary{cursor:pointer;color:#5A6972;font-size:12px}
/* Per-member vote badges inside the division fold. */
.mu-vroll{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px}
.mu-vmemb{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px;border:1px solid #EFECE3;border-radius:8px;padding:3px 9px 3px 4px;background:var(--card,#fff)}
.mu-vmemb-me{border-color:#12303D;box-shadow:0 0 0 1px #12303D inset;font-weight:700}
.mu-vb{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 7px;line-height:1.3}
.mu-vb-yes{background:#E4F2E8;color:#20603A}
.mu-vb-no{background:#F8E5E2;color:#8C2F24}
.mu-vb-abs{background:#EFECE3;color:#8A97A0}
.mu-vb-oth{background:#F5E9C8;color:#8A6D1A}
.mu-hlx{background:color-mix(in srgb,var(--amber) 8%,var(--card));border:1px solid color-mix(in srgb,var(--amber) 25%,var(--card));border-radius:8px;padding:8px 11px;margin:7px 0 3px;font-size:.85rem}
.mu-hlx-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--amber);margin-bottom:3px}
.mu-minhit{border:1.5px solid var(--line);border-left:4px solid var(--amber);border-radius:12px;padding:12px 14px;margin:0 0 10px;background:var(--card)}
.mu-minhit .btn{margin-top:8px}
.mu-item-x{font-size:13px;margin-top:4px;white-space:pre-line}
.mu-docs{margin-top:6px}
.mu-doc{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;margin-right:6px;text-decoration:none;display:inline-block;margin-top:4px}
.mu-doc:hover{border-color:var(--ink)}
.mu-doc:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.mu-result{padding:12px 0;border-top:1px solid var(--line)}
.mu-result:first-of-type{border-top:0}
/* City chooser chips — verbatim gg-jur-opt canon (hidden input, drawn check). */
.mu-jur-seg{display:flex;flex-wrap:wrap;gap:8px;max-width:720px}
.mu-jur-opt{position:relative;display:flex}
.mu-jur-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.mu-jur-opt>span{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;gap:8px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);padding:8px 13px;font:700 13px var(--body);color:var(--ink);white-space:nowrap;transition:border-color .12s,background .12s}
.mu-jur-opt>span::before{content:"";width:16px;height:16px;flex:none;border:1.6px solid var(--faint);border-radius:5px;background:transparent;transition:background .12s,border-color .12s}
.mu-jur-opt:hover>span{border-color:var(--ink)}
.mu-jur-opt input:checked+span{background:color-mix(in srgb,var(--blue) 12%,var(--card));border-color:var(--blue)}
.mu-jur-opt input:checked+span::before{border-color:var(--blue);background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.mu-jur-opt input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.mu-jur-opt.soon input{cursor:not-allowed}
.mu-jur-opt.soon>span{color:var(--graphite);border-style:dashed}
.mu-search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.mu-search-row .pp-qbox{flex:1 1 240px;display:flex;align-items:center;gap:8px;min-width:0}
.mu-search-q{flex:1;min-width:0}
.mu-search-ic{display:inline-flex;color:var(--graphite)}
.mu-sb-sel{flex:0 0 auto;max-width:230px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:700 .84rem var(--body);padding:8px 10px}
.mu-sb-hint{display:block;margin-top:8px}
.mu-browse-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0} /* the pp-search-panel card supplies the outer spacing */
.mu-pager{display:flex;align-items:center;gap:14px;margin-top:14px}
.mu-result mark,.mu-item-x mark{background:color-mix(in srgb,var(--amber) 35%,transparent);color:inherit;border-radius:3px;padding:0 2px}
/* Mobile — ct canon: query, selects and actions stack full-width at 640px. */
@media(max-width:640px){
.mu-search-row .pp-qbox{flex:1 1 100%}
.mu-sb-sel{flex:1 1 100%;max-width:100%;box-sizing:border-box}
/* Actions stay INLINE in the row (gazette canon) — a full-width button row
   read as disconnected from the filters it applies. */
.mu-search-row .pp-search-actions,.mu-browse-filter .pp-search-actions{display:inline-flex;gap:8px;align-items:center}
.mu-browse-filter .pp-date-summary{flex:1 1 100%;margin:2px 0 0}
.mu-search-row .pp-search-actions .btn,.mu-browse-filter .pp-search-actions .btn{flex:1 1 auto;justify-content:center}
}.ct-wrap{max-width:1180px;margin:0 auto}
.ct-hero{padding:16px;margin:0 0 16px}
.ct-search{margin:0}
.ct-search-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap} /* plain layout row — the .pp-qbox query field carries the input affordance */
.ct-search-ic{display:grid;place-items:center;padding:0 4px 0 8px;color:var(--graphite)}
.ct-search-q{flex:1 1 220px;border:0;background:transparent;font:400 1rem var(--body);color:var(--ink);padding:8px 4px;min-width:150px}
.ct-search-q:focus{outline:none}
.ct-search-sel{flex:0 0 auto;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:700 .84rem var(--body);padding:8px 10px;max-width:46vw}
.ct-search .pp-search-actions{flex:0 0 auto}
.ct-sb-hint{display:block;margin:8px 2px 0;line-height:1.5}
.ct-seg{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.ct-seg-tab{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font:700 .85rem var(--body)}
.ct-seg-tab:hover{border-color:var(--ink);color:var(--ink)}
.ct-seg-tab.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.ct-seg-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ct-clear.btn{text-decoration:none}
.btn.seal{background:var(--seal);border-color:var(--seal)}.btn.seal:hover{background:var(--seal-d)}
.ct-watch-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--card);border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:12px 16px;margin:0 0 18px}
.ct-watch-banner.on{border-left-color:var(--green)}
.ct-watch-banner .muted{font-size:.88rem}
.ct-sec{margin:0 0 30px}
.ct-fold:not(.pp-monitor-how){margin:0 0 26px;border:1.5px solid var(--line);border-radius:14px;padding:0 16px}
.ct-fold:not(.pp-monitor-how)[open]{padding-bottom:16px}
.ct-fold:not(.pp-monitor-how)>summary{font-family:var(--display);font-size:1.16rem;display:flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer;list-style:none;min-height:44px;padding:12px 0;user-select:none}
.ct-fold:not(.pp-monitor-how)>summary::-webkit-details-marker{display:none}
.ct-fold:not(.pp-monitor-how)>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.ct-fold-ar{display:inline-flex;color:var(--graphite)}
.ct-fold[open]>summary .ct-fold-ar{transform:rotate(90deg)}
.ct-fold-n{color:var(--graphite);font-size:.95rem;font-weight:700}
.ct-fold-body{padding:2px 0 0}
.ct-h2{font-family:var(--display);font-size:1.16rem;display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--ink)}
.ct-count{font:700 .7rem var(--mono);color:var(--graphite);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-variant-numeric:tabular-nums}
.ct-card{display:flex;min-width:0;flex-direction:column;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;transition:transform .08s ease-out,border-color .15s ease-out}
.ct-card-link{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;text-decoration:none;color:inherit}
.ct-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.ct-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--line) 60%,var(--ink))}
.ct-card-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:8px}
.ct-card-follow{border-left:4px solid rgba(44,95,138,.4)}
.ct-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.ct-dept{font:700 .72rem var(--body);color:var(--graphite);text-align:right}
.ct-reg{font:700 .72rem var(--mono);color:var(--graphite)}
.ct-card-title{font:700 .98rem var(--body);color:var(--ink);line-height:1.35;margin:0 0 10px}
.ct-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.ct-tags-lg{margin:14px 0}
.ct-tag{font:700 .7rem var(--body);color:var(--blue);background:rgba(44,95,138,.08);border:1px solid rgba(44,95,138,.2);border-radius:999px;padding:2px 9px}
.ct-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;color:var(--graphite);font-size:.82rem}
.ct-arrow{color:var(--faint);display:inline-flex}
.ct-wrap .badge.green{color:var(--green);border-color:var(--green);background:rgba(30,122,70,.08)}
.ct-wrap .badge.blue{color:var(--blue);border-color:var(--blue);background:rgba(44,95,138,.08)}
.ct-wrap .badge.amber{color:var(--amber);border-color:var(--amber);background:rgba(138,94,0,.1)}
.ct-wrap .badge.graphite{color:var(--graphite);border-color:var(--graphite);background:rgba(90,96,114,.08)}
.ct-more-wrap{display:flex;justify-content:center;margin:14px 0 0}
.ct-more{min-height:44px}
.ct-more .ct-more-n{font-variant-numeric:tabular-nums}
.ct-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 0}
.ct-pager-info{font:700 .82rem var(--body);color:var(--graphite);font-variant-numeric:tabular-nums}
.ct-pager .btn.disabled{opacity:.45;pointer-events:none}
.ct-empty{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--graphite);background:var(--card);border:1.5px dashed var(--line);border-radius:12px;padding:34px 20px}
.ct-empty.pp-state.is-error,.ct-empty.pp-state.is-warming{justify-items:start;text-align:left}
.ct-empty p{margin:0;max-width:460px}
.ct-error{border-style:solid;border-color:var(--line);border-left:4px solid var(--seal)}
.ct-error>.pp-state-icon{color:var(--seal)}
.ct-warming{border-style:solid;border-color:var(--line);border-left:4px solid var(--amber)}
.ct-warming>.pp-state-icon{color:var(--amber)}
.ct-warming .muted{margin:0;font-size:.85rem}
.ct-partial-note{display:flex;align-items:center;gap:8px;background:rgba(138,94,0,.08);color:var(--amber);border:1px solid rgba(138,94,0,.25);border-radius:12px;padding:9px 14px;font:700 .85rem var(--body);margin:0 0 14px}
.ct-intro{text-align:center;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:40px 28px}
.ct-intro-ic{width:62px;height:62px;border-radius:50%;background:rgba(44,95,138,.1);color:var(--blue);display:grid;place-items:center;margin:0 auto 14px}
.ct-intro h2{font-size:1.4rem;margin:0 0 10px}.ct-intro p{color:var(--graphite);max-width:560px;margin:0 auto 16px}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ct-chip{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:700 .85rem var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 16px}
.ct-chip:hover{border-color:var(--ink);background:var(--card)}
.ct-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ct-fineprint{font-size:.8rem;color:var(--graphite);margin:18px 0 0}
.ct-back{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--graphite);font:700 .85rem var(--body);min-height:44px;margin:0 0 6px}
.ct-back:hover{color:var(--ink)}
.ct-back:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ct-detail-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.ct-strip{display:flex;align-items:center;gap:6px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;margin:18px 0;flex-wrap:wrap}
.ct-step{display:flex;align-items:center;gap:9px}
.ct-step-dot{flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:2px solid var(--line);color:#fff}
.ct-step.done .ct-step-dot{background:var(--green);border-color:var(--green)}
.ct-step.next .ct-step-dot{background:var(--amber);border-color:var(--amber)}
.ct-step-label{font:700 .9rem var(--body);color:var(--ink)}.ct-step.todo .ct-step-label{color:var(--graphite)}
.ct-step-date{font:700 .78rem var(--mono);color:var(--graphite)}
.ct-step-line{flex:1 1 24px;height:2px;background:var(--line);min-width:18px}
.ct-followed-note{display:flex;align-items:center;gap:8px;background:rgba(30,122,70,.08);color:var(--green);border:1px solid rgba(30,122,70,.25);border-radius:12px;padding:9px 14px;font-size:.9rem;margin:8px 0 0}
.ct-paused-note{background:rgba(138,94,0,.08);color:var(--amber);border-color:rgba(138,94,0,.3)}
.ct-desc{color:var(--ink-2);line-height:1.6;margin:6px 0 16px}
.ct-links{display:flex;gap:10px;flex-wrap:wrap}
.ct-watchform{max-width:620px} /* same measure as the hansard/committees/gazette alert forms */
.ct-watchform .field{margin-bottom:16px}
.ct-watchform textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;background:var(--card);padding:10px 12px;font:400 .95rem var(--body);color:var(--ink)}
.ct-watchform textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.ct-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.ct-sub{display:flex;align-items:center;gap:8px;min-height:44px;font:500 .82rem var(--body);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;line-height:1.25}
.ct-sub.on{border-color:var(--blue);background:rgba(44,95,138,.08)}
.ct-sub:focus-within{outline:2px solid var(--ink);outline-offset:2px}
.ct-sub input{accent-color:var(--blue);flex:none;margin:0;width:18px;height:18px}
@media(max-width:640px){
.ct-search-q{flex:1 1 220px;min-width:0}
.ct-search-sel{flex:1 1 100%;min-width:0;max-width:100%;box-sizing:border-box}
.ct-search-row .pp-search-actions{flex:1 1 100%}
.ct-search .pp-search-actions .btn.sm{width:100%;justify-content:center}
.ct-pager{flex-wrap:wrap}
.ct-strip{flex-direction:column;align-items:flex-start;gap:12px}
.ct-step-line{display:none}
.ct-watch-banner{flex-direction:column;align-items:stretch}
.ct-watch-banner .btn{width:100%;justify-content:center}
.ct-subs{grid-template-columns:1fr}
.ct-links{flex-direction:column}
.ct-links .btn{width:100%;justify-content:center}
.ct-intro{padding:28px 18px}
.ct-empty{padding:24px 18px}
.ct-card-actions{align-items:stretch;flex-direction:column}
.ct-card-actions>.btn,.ct-card-actions>.wb-add-form,.ct-card-actions>.wb-picker{width:100%}
.ct-card-actions>.wb-add-form>.btn,.ct-card-actions>.wb-picker>summary{width:100%;justify-content:center;min-height:44px}
}.ct-ai-form{min-width:0}.ct-ai-scope-controls{display:grid!important;grid-template-columns:minmax(180px,.45fr) minmax(180px,.45fr) minmax(0,1.25fr);align-items:start!important;gap:14px!important;width:100%}.ct-ai-scope-controls>.pp-ai-filter-field{width:100%;min-width:0;align-self:start}.ct-ai-scope-controls>.pp-ai-date-range{width:100%!important;max-width:none!important}.ct-ai-report{overflow-wrap:anywhere}.ct-ai-answer{border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:var(--r);padding:18px 20px;background:var(--card);margin:0 0 20px}.ct-ai-answer h2{margin:0 0 8px}.ct-ai-answer p{font-size:1.03rem;line-height:1.65;margin:0 0 10px}.ct-ai-sections,.ct-ai-opps,.ct-ai-watch{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0 0 22px}.ct-ai-sections article,.ct-ai-opps article,.ct-ai-watch article{min-width:0;border:1.5px solid var(--line);border-radius:var(--r);padding:15px 16px;background:var(--card)}.ct-ai-sections h3,.ct-ai-opps h3,.ct-ai-watch h3{margin:0 0 7px;font-size:1rem}.ct-ai-opps small{display:block;color:var(--green);font-weight:700;margin:0 0 5px}.ct-ai-citations{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.ct-ai-citation{display:inline-flex}.ct-ai-cite{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font:700 .72rem/1 var(--mono);text-decoration:none}.ct-ai-cite:hover{border-color:var(--seal)}.ct-ai-caveat{border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;margin:18px 0;color:var(--graphite)}.ct-ai-caveat p{margin:5px 0 0}.ct-ai-source-list{display:grid;gap:7px}.ct-ai-source-list>a,.ct-ai-source-list>div{display:grid;gap:3px;min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:11px 13px;background:var(--card);color:var(--ink);text-decoration:none}.ct-ai-source-list>a:hover{border-color:var(--seal)}.ct-ai-source-list b,.ct-ai-source-list span{overflow-wrap:anywhere}.ct-ai-source-list span{color:var(--graphite);font-size:.8rem}.ct-ai-source-primary{color:var(--ink);text-decoration:none}.ct-ai-source-primary:hover{text-decoration:underline}.ct-ai-source-list .ct-ai-report-link{color:var(--green);font-weight:700}.ct-ai-source-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:5px}.ct-ai-disclaimer{margin:16px 0 0;font-size:.8rem;line-height:1.5}.ct-ai-charts{margin:0 0 22px}
@media(max-width:1100px){.ct-ai-scope-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ct-ai-scope-controls>.pp-ai-date-range{grid-column:1/-1}}
@media(max-width:720px){.ct-ai-scope-controls{grid-template-columns:minmax(0,1fr)}.ct-ai-scope-controls>.pp-ai-date-range{grid-column:1}.ct-ai-sections,.ct-ai-opps,.ct-ai-watch{grid-template-columns:1fr}.ct-ai-answer{padding:15px 16px}}
.cl-hero{margin-top:18px}
.cl-explain{margin-top:18px}
.cl-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.cl-bar .tabs{margin:0}
.cl-bar .btn{min-height:44px}
.cl-bar-sp{flex:1}
.cl-custom{margin:8px 0 0}
.cl-empty{text-align:center;padding:34px 16px;color:var(--graphite)}
.cl-empty-ic{color:var(--faint);margin-bottom:8px}
.cl-empty p{margin:0 0 12px;font:500 .95rem var(--body)}
.cl-reset{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;color:var(--ink);font:700 .85rem var(--body);text-decoration:none;border:1.5px solid var(--line);border-radius:8px}
.cl-reset:hover{background:var(--paper);border-color:var(--ink)}
.cl-custom summary{cursor:pointer;color:var(--graphite);font:700 .82rem var(--body);padding:14px 0}
.cl-range-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:8px 0 2px}
.cl-range-form label{font:700 .8rem var(--body);color:var(--graphite);display:flex;flex-direction:column;gap:4px;flex:1 1 160px;min-width:0}
.cl-range-form input[type=date]{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;border:1.5px solid var(--line);border-radius:8px;background:var(--card);padding:11px 11px;font:500 .85rem var(--body);min-width:0;max-width:100%;min-height:44px}
.cl-range-form>.btn{flex:0 0 auto;min-height:44px}
.cl-tbl .cl-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cl-tbl .cl-date{white-space:nowrap;color:var(--graphite)}
.cl-tbl .cl-bal{font-weight:700}
.cl-in{color:var(--green);font-weight:700}
.cl-out{color:var(--amber);font-weight:700}
.cl-life{margin-top:18px}
.cl-life-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.cl-life-grid>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:0}
.cl-life-grid b{font:700 1.4rem var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}
.cl-life-grid span{font:700 .78rem var(--body);color:var(--graphite)}
@media(max-width:640px){
.cl-bar-sp{display:none}
.cl-life-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.cl-range-form{gap:10px}
.cl-range-form label{width:100%}
.cl-range-form input[type=date]{width:100%}
.cl-range-form .btn{width:100%;justify-content:center}
}
.cronmon-wrap{max-width:1180px;margin:0 auto}
.cronmon-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.cronmon-retn{margin-left:auto;font-size:.8rem}
.cronmon-warns{border:1px solid var(--seal);border-radius:var(--radius);background:var(--card);padding:10px 14px;margin-bottom:16px}
.cronmon-warns-h{font:800 .9rem var(--body);color:var(--seal);display:flex;align-items:center;gap:8px;margin-bottom:6px}
.cronmon-warns-n{background:var(--seal);color:#fff;border-radius:999px;padding:0 8px;font-size:.78rem}
.cronmon-warn{display:flex;gap:10px;align-items:baseline;padding:5px 0;border-top:1px solid var(--line)}
.cronmon-warn:first-of-type{border-top:0}
.cronmon-warn-dot{width:8px;height:8px;border-radius:50%;flex:none;align-self:center;background:var(--amber)}
.cronmon-warn.err .cronmon-warn-dot{background:var(--seal)}
.cronmon-warn-t{font-weight:700;color:var(--ink);flex:0 0 auto}
.cronmon-warn-d{color:var(--graphite);font-size:.9rem}
.cronmon-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.cronmon-hcard{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px}
.cronmon-hcard.cronmon-good{border-left:4px solid var(--green)}
.cronmon-hcard.cronmon-bad{border-left:4px solid var(--seal)}
.cronmon-hcard.cronmon-caution{border-left:4px solid var(--amber)}
.cronmon-hcard.cronmon-muted{border-left:4px solid var(--line)}
.cronmon-hlabel{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.05em;color:var(--graphite);margin-bottom:6px}
.cronmon-hval{display:flex;align-items:center;gap:8px;font:800 1.3rem var(--body);color:var(--ink)}
.cronmon-hsub{margin-top:4px;font-size:.82rem;color:var(--graphite)}
.cronmon-dot{width:10px;height:10px;border-radius:50%;background:var(--graphite);flex:none}
.cronmon-good .cronmon-dot{background:var(--green)}
.cronmon-bad .cronmon-dot{background:var(--seal)}
.cronmon-caution .cronmon-dot{background:var(--amber)}
.cronmon-filter{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.cronmon-tab{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font-size:.88rem}
.cronmon-tab:hover{border-color:var(--ink);color:var(--ink)}
.cronmon-tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.app.theme-dark .cronmon-tab.on{color:var(--paper)}
.cronmon-flt{padding:12px 14px;margin-bottom:14px}
.cronmon-flt-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.cronmon-flt label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.03em}
.cronmon-flt input,.cronmon-flt select{font-size:.88rem;padding:5px 8px}
.cronmon-actcount{margin:0 0 8px;font-size:.85rem}
.cronmon-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:40px 16px;text-align:center;color:var(--graphite)}
.cronmon-empty p{margin:8px 0 0}
.cronmon-runs{display:grid;gap:10px}
.cronmon-run{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.cronmon-run.has-err{border-color:var(--seal)}
.cronmon-sum{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;list-style:none;flex-wrap:wrap}
.cronmon-sum::-webkit-details-marker{display:none}
.cronmon-sum:hover{background:var(--paper)}
.cronmon-trig{font:800 .8rem var(--body);text-transform:uppercase;letter-spacing:.03em;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.cronmon-when{font-size:.9rem;color:var(--ink)}
.cronmon-meta{font-size:.84rem;color:var(--graphite)}
.cronmon-stage{font:700 .74rem var(--mono,monospace);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:2px 7px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cronmon-badges{margin-left:auto;display:flex;gap:7px;align-items:center}
.cronmon-badge{display:inline-flex;align-items:center;gap:4px;font:700 .76rem var(--body);border-radius:999px;padding:2px 9px;border:1px solid var(--line)}
.cronmon-badge.ok{color:var(--green);border-color:var(--green)}
.cronmon-badge.clean{color:var(--green);border-color:var(--green)}
.cronmon-badge.err{color:#fff;background:var(--seal);border-color:var(--seal)}
.cronmon-events{border-top:1px solid var(--line);padding:6px 8px 8px;display:grid;gap:2px;background:var(--paper)}
.cronmon-ev{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border-radius:var(--r);font-size:.88rem}
.cronmon-ev:hover{background:var(--card)}
.cronmon-ev-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--graphite);align-self:center}
.cronmon-ev-src{flex:0 0 120px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 .8rem var(--body);color:var(--graphite)}
.cronmon-ev-act{flex:0 0 auto;font:700 .74rem var(--mono,monospace);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.cronmon-ev-msg{flex:1;min-width:0;color:var(--ink);word-break:break-word}
.cronmon-ev-org,.cronmon-ev-org2{flex:none}
.cronmon-org{font-size:.82rem;color:var(--ink);text-decoration:none;border-bottom:1px dotted var(--line)}
.cronmon-org:hover{border-bottom-color:var(--ink)}
.cronmon-org.none{color:var(--graphite);border:0}
.cronmon-ev-ts,.cronmon-ev-ts2{flex:none;color:var(--graphite);font-size:.8rem;white-space:nowrap}
.cronmon-ev.lvl-error .cronmon-ev-dot,.cronmon-evrow.lvl-error .cronmon-ev-dot{background:var(--seal)}
.cronmon-ev.lvl-error .cronmon-ev-msg,.cronmon-evrow.lvl-error .cronmon-ev-msg{color:var(--seal)}
.cronmon-ev.lvl-warn .cronmon-ev-dot,.cronmon-evrow.lvl-warn .cronmon-ev-dot{background:var(--amber)}
.cronmon-ev.lvl-ok .cronmon-ev-dot,.cronmon-evrow.lvl-ok .cronmon-ev-dot{background:var(--green)}
.cronmon-ev.lvl-info .cronmon-ev-dot,.cronmon-ev.lvl-summary .cronmon-ev-dot{background:var(--graphite)}
.cronmon-ev.lvl-info .cronmon-ev-msg{color:var(--graphite)}
.cronmon-ev.lvl-summary{border-top:1px solid var(--line);margin-top:2px}
.cronmon-ev.lvl-summary .cronmon-ev-msg{color:var(--ink);font-weight:700}
.cronmon-ev.muted-row{color:var(--graphite)}
.cronmon-evlist{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:6px 8px}
.cronmon-evrow{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border-radius:var(--r);font-size:.86rem;border-bottom:1px solid var(--paper)}
.cronmon-evrow:hover{background:var(--paper)}
.cronmon-ev-ts2{flex:0 0 140px;font:700 .78rem var(--mono,monospace)}
.cronmon-ev-org2{flex:0 0 130px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cronmon-ev-run{flex:none;font-size:.78rem}
.cronmon-ev-run a{color:var(--graphite);text-decoration:none}
.cronmon-pl{display:inline-block;margin-left:6px;vertical-align:top}
.cronmon-pl>summary{display:inline-block;cursor:pointer;font-size:.74rem;color:var(--graphite);border:1px solid var(--line);border-radius:5px;padding:0 6px;list-style:none}
.cronmon-pl>summary::-webkit-details-marker{display:none}
.cronmon-pl[open]>summary{color:var(--ink)}
.cronmon-json{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:6px 0 2px;font:700 .78rem var(--mono,monospace);white-space:pre-wrap;word-break:break-word;max-height:340px;overflow:auto}
.cronmon-json.enc{border-color:var(--amber)}
.cronmon-enc-lbl{font-size:.74rem;color:var(--amber);font-weight:700;margin-top:6px;display:flex;align-items:center;gap:4px}
.cronmon-pager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:14px}
@media(max-width:720px){
 .cronmon-toolbar{align-items:stretch}.cronmon-toolbar form,.cronmon-toolbar .btn{width:100%;justify-content:center}.cronmon-retn{margin-left:0;text-align:center}
 .cronmon-health{grid-template-columns:1fr 1fr}.cronmon-warn{display:grid;grid-template-columns:10px 1fr}.cronmon-warn-d{grid-column:2}
 .cronmon-sum{gap:8px}.cronmon-badges{width:100%;margin-left:0}.cronmon-stage{order:6;max-width:100%}
 .cronmon-ev,.cronmon-evrow{flex-wrap:wrap;align-items:center}.cronmon-ev-src,.cronmon-ev-ts2,.cronmon-ev-org2{flex:1 1 auto;max-width:none}.cronmon-ev-msg{flex-basis:calc(100% - 24px);order:8}.cronmon-ev-ts{margin-left:auto}
 .cronmon-flt-row>label{flex:1 1 140px}.cronmon-flt input,.cronmon-flt select{width:100%}
}
@media(max-width:430px){.cronmon-health{grid-template-columns:1fr}}
.demo-disclosure{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;padding:11px 13px;border:1px solid #C99526;border-left:4px solid #C99526;border-radius:9px;background:#FFF8E8;color:var(--ink);font-size:.84rem;line-height:1.45}
.demo-disclosure svg{flex:none;margin-top:1px}.demo-disclosure b{white-space:nowrap;color:#805B00}.demo-disclosure.is-public{max-width:1120px;margin:14px auto;padding-left:16px;padding-right:16px}
.demob-health{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:99px;font-size:.78rem;font-weight:700}.demob-health.ok{color:#17633A;background:#E9F7EE}.demob-health.bad{color:#852E25;background:#FFF0EE}
.demob-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 18px}.demob-step{display:flex;gap:11px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.demob-step>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}.demob-step b,.demob-step small{display:block}.demob-step small{margin-top:3px;color:var(--graphite);line-height:1.4}
.demob-prereq{margin-bottom:18px}.demob-create{margin-bottom:26px}.demob-create h2,.demob-jobs h2{margin:0}.demob-char{text-align:right;margin-top:-12px;margin-bottom:12px;font-size:.75rem}
.demob-consent{align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.demob-consent span,.demob-consent small{display:block}.demob-consent small{margin-top:4px;color:var(--graphite);line-height:1.4}
.demob-submit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.demob-jobs>.panel-head{margin-bottom:10px}.demob-job{margin-bottom:14px}.demob-job-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.demob-job-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.demob-job-title h3{margin:0}.demob-job-head p{margin:4px 0 0}.demob-job-model{white-space:nowrap;color:var(--graphite);font-size:.78rem}
.demob-progress{height:8px;margin:14px 0 8px;border-radius:99px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}.demob-progress span{display:block;height:100%;border-radius:99px;background:var(--blue)}
.demob-stage{display:flex;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:.83rem}.demob-ready-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:18px;margin-top:15px}
.demob-ready-grid h4{margin:0 0 10px}.demob-credentials label{display:block;margin:8px 0 3px;color:var(--graphite);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.demob-copy{display:flex;gap:6px;align-items:center}
.demob-copy code{flex:1;min-width:0;overflow-wrap:anywhere;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:.82rem}.demob-count-grid{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:8px}
.demob-count-grid span{padding:9px;border:1px solid var(--line);border-radius:9px;text-align:center}.demob-count-grid b,.demob-count-grid small{display:block}.demob-count-grid b{font:700 1.2rem/1.1 var(--display)}.demob-count-grid small{margin-top:3px;color:var(--graphite);font-size:.68rem;line-height:1.2}
.demob-story{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px}.demob-story summary{cursor:pointer;font-weight:700}.demob-story p{margin:9px 0 0;line-height:1.55}.demob-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.demob-actions form{margin:0}
@media(max-width:800px){.demob-steps{grid-template-columns:1fr}.demob-ready-grid{grid-template-columns:1fr}.demob-count-grid{grid-template-columns:repeat(2,1fr)}.demob-job-head{flex-direction:column}.demo-disclosure{flex-wrap:wrap}.demo-disclosure b{white-space:normal}}
.dpa-aibox{border:1.5px solid color-mix(in srgb,var(--amber) 45%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--card));border-radius:12px;padding:16px 18px;margin-top:18px}
.dpa-scroll{height:54vh;min-height:320px;overflow:auto;border:1.5px solid var(--line);border-radius:12px;padding:18px 20px;background:var(--card)}
.dpa-scroll:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.dpa-banner{background:color-mix(in srgb,var(--amber) 10%,var(--card));border:1.5px solid color-mix(in srgb,var(--amber) 40%,var(--line));border-radius:10px;padding:12px 16px;margin:0 0 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.dpa-banner-ic{color:var(--amber);flex:none;display:flex;align-items:center}
.dpa-banner-tx{flex:1 1 200px;min-width:200px;color:var(--ink)}
.dpa-gate .check{min-height:44px;display:flex;align-items:flex-start;gap:10px}
.dpa-gate .check input[type=checkbox]{width:24px;height:24px;min-width:24px;max-width:24px;margin-top:1px;flex:none;accent-color:var(--ink)}
.dpa-gate .check input[type=checkbox][disabled]{opacity:.55;cursor:not-allowed}
.dpa-scroll h3{font-family:var(--display);font-weight:700}
.dpa-aibox h3{font-family:var(--display);font-weight:700}.eo-wrap{max-width:1100px;margin:0 auto}
.eo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.eo-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px 14px}
.eo-card.warn{border-left:4px solid var(--amber)}
.eo-card.bad{border-left:4px solid var(--seal)}
.eo-card-h{display:flex;align-items:center;gap:6px;font:700 .74rem var(--body);color:var(--graphite)}
.eo-card-n{font:800 1.5rem var(--body);color:var(--ink);margin-top:3px}
.eo-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:36px 16px;text-align:center;color:var(--graphite)}
.eo-empty p{margin:8px 0 0}
.eo-note{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:7px 11px;margin-top:10px;font-size:.82rem;color:var(--graphite);display:flex;align-items:center;gap:6px}
.eo-tbl table{width:100%}
.eo-badge{font:700 .74rem var(--body);border-radius:999px;padding:1px 9px;white-space:nowrap}
.eo-badge.queued{color:var(--ink);border:1px solid var(--line)}
.eo-badge.dead{color:#fff;background:var(--seal)}
.eo-to{font-size:.86rem;color:var(--ink);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eo-subj{font-size:.86rem;color:var(--ink);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eo-next{font-size:.84rem;color:var(--graphite);white-space:nowrap}
.eo-err{font-size:.8rem;color:var(--seal);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eo-acts{text-align:right;white-space:nowrap}
.eo-acts .danger:hover{color:#fff;background:var(--seal);border-color:var(--seal)}.igh-wrap{max-width:1180px}
.igh-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.igh-alert-policy{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--radius);background:var(--card);padding:11px 14px;margin:0 0 12px;font-size:.86rem}.igh-alert-policy svg{flex:0 0 auto;margin-top:1px}.igh-alert-policy.is-ready{color:var(--green)}.igh-alert-policy.is-ready span{color:var(--ink)}.igh-alert-policy.is-warn{border-left-color:var(--amber);color:var(--amber)}.igh-alert-policy.is-warn span{color:var(--ink)}
.igh-allgood{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--radius);background:var(--card);padding:12px 16px;margin:0 0 18px}
.igh-warns{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:6px 0;margin:0 0 18px}
.igh-warn{display:flex;align-items:baseline;gap:9px;padding:7px 16px;flex-wrap:wrap}
.igh-warn-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;align-self:center}
.igh-warn.err .igh-warn-dot{background:var(--seal)}
.igh-warn.warn .igh-warn-dot{background:var(--amber)}
.igh-warn-t{font-weight:700}
.igh-warn-d{color:var(--graphite);font-size:.9rem}
.igh-h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:22px 0 12px}
.igh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.igh-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:13px 15px}
.igh-card.igh-good{border-left:4px solid var(--green)}
.igh-card.igh-caution{border-left:4px solid var(--amber)}
.igh-card.igh-bad{border-left:4px solid var(--seal)}
.igh-card.igh-muted{border-left:4px solid var(--line)}
.igh-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px}
.igh-big{font:700 1.25rem var(--body);font-variant-numeric:tabular-nums}
.igh-meta{color:var(--graphite);font-size:.82rem;margin-top:3px}
.igh-pill{display:inline-block;font:700 .66rem var(--body);letter-spacing:.05em;padding:3px 9px;border-radius:999px;text-transform:uppercase}
.igh-pill.is-ok{color:var(--green);background:rgba(30,122,70,.1)}
.igh-pill.is-warn{color:var(--amber);background:rgba(138,94,0,.1)}
.igh-pill.is-crit{color:#fff;background:var(--seal)}
.igh-pill.is-skip{color:var(--graphite);background:rgba(90,96,114,.1)}
.igh-audit{margin-top:24px}
.igh-audit-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}
.igh-audit-head .igh-h2{margin-bottom:4px}.igh-audit-head p{margin:0}
.igh-total{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.igh-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:12px;margin-bottom:12px}
.igh-filters label{display:grid;gap:4px}.igh-filters label>span{font-size:.75rem;font-weight:700;color:var(--graphite)}
.igh-filters select,.igh-filters input{min-height:36px}.igh-filters .igh-q{flex:1 1 260px}.igh-filters .igh-q input{width:100%}
.igh-ledger{display:grid;gap:10px}.igh-entry{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.igh-entry-main{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:18px;padding:14px 16px;align-items:center}
.igh-entry-id{display:flex;align-items:flex-start;gap:10px;min-width:0}.igh-entry-id>div{min-width:0}
.igh-source{display:inline-flex;background:rgba(90,96,114,.1);border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.igh-entry-id h3{font-size:.94rem;line-height:1.25;margin:0 0 4px;overflow-wrap:anywhere}.igh-entry-id p{font-size:.76rem;color:var(--graphite);margin:0;overflow-wrap:anywhere}
.igh-chain{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:5px;align-items:stretch}
.igh-step{display:flex;align-items:flex-start;gap:6px;border:1px solid var(--line);border-radius:9px;padding:7px 8px;min-width:0;background:var(--paper)}
.igh-step-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex:0 0 auto}.igh-step.is-ok .igh-step-dot{background:var(--green)}.igh-step.is-warn .igh-step-dot{background:var(--amber)}.igh-step.is-crit .igh-step-dot{background:var(--seal)}.igh-step.is-skip .igh-step-dot{background:rgba(90,96,114,.4)}
.igh-step b,.igh-step small{display:block;overflow-wrap:anywhere}.igh-step b{font-size:.74rem}.igh-step small{font-size:.68rem;color:var(--graphite);margin-top:2px}
.igh-entry-detail{border-top:1px solid var(--line)}.igh-entry-detail>summary{cursor:pointer;padding:9px 16px;font-size:.78rem;font-weight:700;color:var(--graphite)}
.igh-entry-detail>summary:hover{color:var(--ink)}.igh-entry-detail[open]>summary{border-bottom:1px solid var(--line)}
.igh-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:14px 16px;background:rgba(90,96,114,.025)}
.igh-proof-grid>div{border-right:1px solid var(--line);padding-right:14px}.igh-proof-grid>div:last-child{border:0;padding-right:0}
.igh-proof-grid h4,.igh-client-proof h4{font-size:.82rem;margin:0 0 8px}.igh-proof-grid p{font-size:.78rem;margin:6px 0;overflow-wrap:anywhere}
.igh-proof-grid dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 8px;margin:0;font-size:.76rem}.igh-proof-grid dt{color:var(--graphite)}.igh-proof-grid dd{margin:0;overflow-wrap:anywhere}
.igh-client-proof{padding:0 16px 14px;background:rgba(90,96,114,.025)}.igh-client-proof .tbl{font-size:.76rem}.igh-client-proof>p{font-size:.78rem;margin:0}
.igh-pages{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:12px}.igh-pages>*:last-child{justify-self:end}.igh-pages>span{font-size:.8rem;color:var(--graphite)}
.igh-empty{border:1px dashed var(--line);border-radius:var(--radius);padding:24px;text-align:center}
.igh-embeds{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px 16px}
.igh-embed{display:grid;grid-template-columns:110px 1fr 130px minmax(160px,1.2fr);gap:12px;align-items:center;padding:6px 0}
.igh-embed-m{font-weight:700}
.igh-bar{display:block;height:8px;border-radius:999px;background:rgba(90,96,114,.12);overflow:hidden}
.igh-bar-fill{display:block;height:100%;border-radius:999px}
.igh-bar-fill.is-ok{background:var(--green)}
.igh-bar-fill.is-warn{background:var(--amber)}
.igh-bar-fill.is-crit{background:var(--seal)}
.igh-bar-fill.is-skip{background:rgba(90,96,114,.35)}
.igh-embed-n{font-variant-numeric:tabular-nums;font-size:.88rem}
.igh-embed-t{font-size:.8rem}
.igh-foot{font-size:.82rem;margin-top:8px}
@media(max-width:980px){.igh-entry-main{grid-template-columns:1fr}.igh-chain{grid-template-columns:repeat(5,1fr)}}
@media(max-width:700px){.igh-audit-head{align-items:start;flex-direction:column}.igh-entry-main{padding:12px}.igh-entry-id{display:grid}.igh-chain{grid-template-columns:1fr 1fr}.igh-chain .igh-step:last-child{grid-column:1/-1}.igh-proof-grid{grid-template-columns:1fr}.igh-proof-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.igh-proof-grid>div:last-child{border:0;padding:0}.igh-embed{grid-template-columns:90px 1fr;grid-auto-rows:auto}.igh-embed-n,.igh-embed-t{grid-column:2}.igh-pages{grid-template-columns:1fr 1fr}.igh-pages>span{grid-column:1/-1;grid-row:1;text-align:center}.igh-pages>*:first-child{grid-row:2}.igh-pages>*:last-child{grid-row:2}}.hp-wrap{max-width:1180px;margin:0 auto}
.hp-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.hp-top-txt h2{margin:0 0 4px}
.hp-top-txt .muted{margin:0;max-width:680px}
.hp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hp-actions .btn.on{background:var(--ink);color:var(--card)} /* var(--card) not #fff: --ink flips light in dark mode */
.hp-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--seal);color:#fff;font:800 .72rem var(--body);font-variant-numeric:tabular-nums}
/* ---- Pre-collapsed folds (explainer + "you follow") — monitor-canon idiom, no animation ---- */
.hp-fold{margin:0 0 12px;border:1.5px solid var(--line);border-radius:14px;padding:0 16px;background:var(--paper)}
.hp-fold[open]{padding-bottom:14px}
.hp-fold>summary{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);cursor:pointer;list-style:none;min-height:44px;padding:10px 0;user-select:none}
.hp-fold>summary::-webkit-details-marker{display:none}
.hp-fold>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.hp-fold-ar{display:inline-flex;color:var(--graphite)}
.hp-fold[open]>summary .hp-fold-ar{transform:rotate(90deg)}
.hp-fold-txt{display:block;line-height:1.55;max-width:900px}
.hp-fold-body{display:flex;gap:8px;flex-wrap:wrap}
.hp-fold-n{color:var(--graphite);font-size:.9rem;font-weight:700}
.hp-fold ul{margin:0 0 2px;padding:0;list-style:none;display:grid;gap:7px}
.hp-fold li{font-size:.9rem;color:var(--ink-2)}
.hp-fold li a{text-decoration:none;color:var(--ink);font-weight:700}
.hp-fold li a:hover{color:var(--seal)}
.hp-fold .hp-fold-rt{color:var(--graphite);font-size:.8rem}
.hp-fold-more{margin:10px 0 0}
.hp-fold-empty{margin:0;color:var(--ink-2);font-size:.92rem}
/* ---- Search hero ---- */
.hp-hero{padding:16px;margin-bottom:16px}
.hp-hero .pp-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
.hp-hero .pp-search-actions{align-items:stretch}
.hp-sb-hint{display:block;margin-top:8px;font-size:11.5px;line-height:1.5}
.hp-sb-sort{flex:0 0 auto;border:1.5px solid var(--control-border,var(--line));border-radius:8px;background:var(--card);color:var(--ink);font:700 .86rem var(--body);padding:8px 10px}
.hp-searchbar{display:flex;align-items:center;gap:10px;border:1.5px solid var(--control-border,var(--line));border-radius:999px;padding:2px 8px 2px 16px;background:var(--paper)}
.hp-searchbar:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.10)}
.hp-searchbar .i{color:var(--graphite);flex:none}
.hp-searchbar input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;font:inherit;font-size:1.02rem;outline:none;color:var(--ink)}
.hp-detect{font-size:.78rem;color:var(--graphite);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.hp-detect .i{color:var(--seal)}
/* "Exact" match toggle — a small labelled pill slider inside the search bar (ported from PMRA .pmra-exact). */
.hp-exact{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;cursor:pointer;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.03em;color:var(--graphite);user-select:none;transition:background .12s,border-color .12s,color .12s}
.hp-exact:hover{border-color:var(--ink);color:var(--ink)}
.hp-exact .hp-exact-sw{position:relative;display:inline-block;width:26px;height:15px;flex:none;border-radius:999px;background:var(--line);transition:background .12s}
.hp-exact .hp-exact-sw::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px rgba(18,48,61,.35);transition:transform .12s}
.hp-exact input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.hp-exact input:checked ~ .hp-exact-sw{background:var(--seal)}
.hp-exact input:checked ~ .hp-exact-sw::after{transform:translateX(11px)}
.hp-exact input:focus-visible ~ .hp-exact-sw{box-shadow:0 0 0 3px rgba(18,48,61,.18)}
.hp-exact:has(input:checked){background:var(--paper);border-color:var(--seal);color:var(--ink)}
.hp-seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.hp-seg a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font-size:.9rem}
.hp-seg a:hover{border-color:var(--ink);color:var(--ink)}
.hp-seg a.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.hp-seg a .i{flex:none}
.hp-qchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}
.hp-qchip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--graphite);font-size:.85rem;text-decoration:none}
.hp-qchip:hover{border-color:var(--ink);color:var(--ink)}
.hp-qchip.on{background:var(--ink);color:var(--card);border-color:var(--ink)} /* selected filter = ink like .hp-seg — seal stays the action accent */
.hp-qsep{width:1px;height:18px;background:var(--line);margin:0 4px}
.hp-rhead-filter{margin:4px 0 0;font-size:.82rem;color:var(--graphite)}
.hp-rhead-filter a{color:var(--seal);text-decoration:none;font-weight:700}
.hp-rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 14px}
.hp-rhead-txt h3{font-size:1.2rem;margin:0 0 2px;color:var(--ink)}
.hp-rhead-txt p{margin:0}
.hp-rhead-actions{display:flex;gap:10px;align-items:center}
.hp-rhead-count{font:800 .9rem var(--body);color:var(--graphite);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-variant-numeric:tabular-nums}
/* minmax(0,1fr): the single column may shrink below its items' min-content (the onboarding
   card's auto-fit steps otherwise size against their 900px max-width and overflow a phone). */
.hp-results,.hp-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
/* ---- Result card ---- */
.hp-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;transition:transform .12s,box-shadow .12s,border-color .15s}
.hp-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px -8px rgba(18,48,61,.18)}
.hp-card.following{border-left:4px solid var(--seal)}
.hp-card-main{min-width:0;flex:1;overflow-wrap:anywhere}
.hp-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.hp-card h3{font-size:1.08rem;margin:4px 0 0}
.hp-card h3 a{color:var(--ink);text-decoration:none;transition:color .12s ease}
.hp-card h3 a:hover{color:var(--seal)}
.hp-card-sub{margin:7px 0 0;font-size:.86rem}
.hp-chips{display:flex;gap:7px 8px;flex-wrap:wrap;margin:8px 0 0}
.hp-chip{font-size:.78rem;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 9px;line-height:1.3}
.hp-chip b{display:inline-block;font-weight:700;color:var(--graphite);text-transform:uppercase;font-size:.64rem;letter-spacing:.03em;margin-right:4px}
.hp-card-actions{position:relative;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
/* Consistent button sizing/alignment for the result-card + watch-row action rows. */
.hp-card-actions .btn,.hp-card-actions summary,.hp-fol-actions .btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.hp-card-actions form{margin:0;display:inline-flex}
.hp-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 9px;font:700 .7rem var(--body);text-transform:uppercase;color:var(--graphite);background:var(--paper);white-space:nowrap}
.hp-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font:800 .68rem var(--body);text-transform:uppercase;white-space:nowrap}
.hp-tag.open,.hp-status.open{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent)}
.hp-tag.closed,.hp-status.closed{color:var(--graphite);background:color-mix(in srgb,var(--graphite) 13%,transparent)}
.hp-tag.reeval,.hp-status.reeval{color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent)}
.hp-card-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:11px}
.hp-card-id{font:700 .76rem var(--mono);color:var(--graphite);overflow-wrap:anywhere}
.hp-card-date{font:700 .8rem var(--body);color:var(--graphite);display:inline-flex;align-items:center;gap:6px}
.hp-card-date b{color:var(--ink)}
.hp-meta{font:700 .76rem var(--mono);color:var(--graphite);margin-top:9px;overflow-wrap:anywhere}
.hp-empty{padding:24px}
/* ---- Onboarding / empty 1-2-3 ---- */
.hp-onboard{text-align:center;position:relative;padding:30px 22px}
.hp-onboard-mark{color:color-mix(in srgb,var(--ink) 22%,transparent);display:flex;justify-content:center;margin-bottom:6px}
.hp-onboard h3{justify-content:center;margin:0 0 16px}
.hp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;text-align:left;width:100%;min-width:0;max-width:900px;margin:0 auto;box-sizing:border-box;justify-self:stretch}
.hp-step{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 14px}
.hp-step-n{position:absolute;top:-10px;left:-10px;width:26px;height:26px;border-radius:50%;background:var(--seal);color:#fff;display:grid;place-items:center;font:700 .85rem var(--display)}
.hp-step-ic{flex:none;color:var(--ink)}
.hp-step b{display:block;color:var(--ink);margin-bottom:2px}
.hp-step p{margin:0;font-size:.86rem}
.hp-onboard-cta{margin:18px 0 0}
.hp-subhead{font-size:1.05rem;margin:0;display:flex;align-items:center;gap:8px;color:var(--ink)}
.hp-count{font:700 .8rem var(--body);color:var(--graphite);background:var(--paper);border:1px solid var(--line);padding:2px 9px;border-radius:999px}
.hp-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.hp-summary{margin-bottom:14px}
.hp-summary h3{font-size:1.2rem;margin:6px 0 5px}
.hp-table-card{margin-top:14px}.hp-tbl{font-size:.84rem}.hp-tbl td{vertical-align:top;font-variant-numeric:tabular-nums lining-nums}
.hp-tbl-note{margin:8px 0 0;font-size:.82rem;overflow-wrap:anywhere}.hp-tbl-note a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-weight:700}
.hp-fol-last{margin-top:6px;font-size:.84rem;color:var(--graphite);overflow-wrap:anywhere}.hp-fol-last-k{font-weight:700;color:var(--ink-2)}
.hp-live-note{margin:0 0 10px;font-size:.86rem}
/* ---- Watch / manage ---- */
.hp-watch-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 10px}
.hp-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;color:var(--graphite)}
.hp-legend span{display:inline-flex;align-items:center;gap:6px}
.hp-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.hp-dot.on{background:var(--green)}.hp-dot.off{background:var(--graphite)}.hp-dot.chg{background:var(--seal)}
.hp-watch-tools{margin:0 0 12px}
.hp-filterbox{margin:0;max-width:360px}
.hp-bulkform{display:block}
.hp-bulkbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.hp-bulk-all{display:inline-flex;align-items:center;gap:7px;min-height:44px;font:700 .82rem var(--body);color:var(--ink-2);cursor:pointer}
.hp-bulk-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.hp-updates{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:.92rem;color:var(--graphite)}
.hp-updates.has{color:var(--ink);border-left:4px solid var(--seal)}
.hp-updates .i{flex:none;color:var(--graphite)}.hp-updates.has .i{color:var(--seal)}
.hp-fol{display:flex;gap:14px;align-items:flex-start}
.hp-fol.changed{border-left:4px solid var(--seal)}
.hp-bulk-pick{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.hp-bulk-pick input,.hp-bulk-all input{accent-color:var(--ink);width:20px;height:20px;margin:0}
.hp-fol-mono{width:40px;height:40px;border-radius:9px;flex:0 0 40px;display:grid;place-items:center;background:var(--ink);color:var(--card);font:800 1rem var(--body)}
.hp-fol-main{min-width:0;flex:1;overflow-wrap:anywhere}
.hp-fol-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hp-fol-main h3{font-size:1.05rem;margin:6px 0 4px}
.hp-fol-main h3 a{text-decoration:none;color:var(--ink)}
.hp-fol-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:none}
.hp-fol.off{opacity:.7}
.hp-changed-badge{display:inline-flex;align-items:center;gap:5px;font:700 .72rem var(--body);color:var(--seal);background:color-mix(in srgb,var(--seal) 10%,transparent);border:1px solid color-mix(in srgb,var(--seal) 30%,transparent);border-radius:999px;padding:2px 9px;text-transform:uppercase}
.hp-hidden-form{display:none}
.hp-diff-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:4px;border:0;background:transparent;color:var(--seal);font:700 .82rem var(--body);cursor:pointer;padding:8px 0}
.hp-diff-body,.hp-edit-body{display:none}
.hp-diff-body.open,.hp-edit-body.open{display:block}
.hp-edit-body{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);display:none}
.hp-edit-body.open{display:block}
.hp-edit-form{display:grid;gap:10px}
.hp-edit-form .field{margin:0}
/* ---- In-app "what changed" diff ---- */
.hp-change{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.hp-change-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px;font-size:.86rem;padding:3px 0}
.hp-change-k{color:var(--graphite);font-weight:700;overflow-wrap:anywhere}
.hp-change-old{color:var(--graphite);opacity:.7;overflow-wrap:anywhere}
.hp-change-new{color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.hp-change-arrow{color:var(--faint)}
.hp-changed{font-size:.72rem;color:var(--seal);font-weight:700}
/* ---- Follow form (mode/fields disclosure) ---- */
.hp-follow1{margin:0}
.hp-foractions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.hp-follow-form{margin:0}
.hp-follow-details[open]{z-index:30}
.hp-follow-details summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink-2);font:700 .78rem var(--body);white-space:nowrap}
.hp-follow-details summary::-webkit-details-marker{display:none}
.hp-follow-panel{width:min(410px,calc(100vw - 44px));margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow);display:grid;gap:10px;z-index:30}
.hp-follow-card .hp-follow-panel{position:absolute;right:0;top:calc(100% + 6px);width:min(380px,calc(100vw - 40px));box-shadow:var(--shadow),0 0 0 1px var(--line)}
/* The open follow card must stack above its siblings (incl. a hovered/translated neighbour). */
.hp-card:has(.hp-follow-details[open]){position:relative;z-index:40}
@media(max-width:640px){.hp-foractions,.hp-foractions form,.hp-card-actions .hp-follow-card,.hp-follow-details{width:100%}.hp-follow-card .hp-follow-panel{position:static;width:100%;max-width:100%;box-sizing:border-box;box-shadow:none;margin-top:8px}} /* foractions full-width like pmra:3700 — otherwise Follow/Options sit inline beside Source and the card foot zig-zags on phones */
/* Detail-view follow options — a full-width card below the masthead, in normal
   document flow (PMRA .pmra-follow-opts idiom). Never absolute, never an overlay;
   the save button keeps its natural width via .hp-follow-save{justify-self:start}. */
.hp-follow-opts{margin:0 0 16px}
.hp-follow-opts .hp-follow-form{display:grid;gap:10px;text-align:left}
/* Notify-on options: a clear labeled radio group + a tidy field picker. */
.hp-opt-group{border:0;margin:0;padding:0;display:grid;gap:7px}
.hp-opt-legend{padding:0;margin:0 0 1px;font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.hp-radio{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}
.hp-radio:hover{border-color:var(--ink)}
.hp-radio input{margin-top:2px;accent-color:var(--seal);flex:none}
.hp-radio:has(input:checked){border-color:var(--seal);background:color-mix(in srgb,var(--seal) 7%,transparent)}
.hp-radio-txt{display:flex;flex-direction:column;line-height:1.25}
.hp-radio-txt b{color:var(--ink);font:700 .86rem var(--body)}
.hp-radio-txt small{color:var(--graphite);font-size:.76rem;margin-top:1px}
.hp-fieldsel{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:9px;transition:opacity .12s ease}
/* "Any change" mode: keep the field selector in flow (constant height, no layout shift) but inert. */
.hp-fieldsel.is-collapsed{opacity:.5;pointer-events:none}
.hp-fieldsel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hp-fieldsel-lbl{font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.hp-fieldsel-tools{display:inline-flex;gap:10px}
.hp-linkbtn{border:0;background:transparent;min-height:34px;padding:4px 6px;color:var(--seal);font:700 .76rem var(--body);cursor:pointer}
.hp-linkbtn:hover{text-decoration:underline}
@media(max-width:760px){.hp-linkbtn{min-height:44px;padding:8px 6px}.hp-field-pick span{min-height:44px}}
.hp-field-picks{display:flex;gap:7px;flex-wrap:wrap;max-height:160px;overflow:auto;padding:2px}
.hp-field-pick{position:relative;margin:0}
.hp-field-pick input{position:absolute;opacity:0;pointer-events:none}
/* Reserve a fixed checkmark gutter (padding-left) so width is identical checked/unchecked
   — the checkmark is drawn in that gutter only when checked, so chips never re-wrap. */
.hp-field-pick span{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:5px 10px 5px 1.7em;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font:700 .76rem var(--body);cursor:pointer;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}
.hp-field-pick span:hover{border-color:var(--ink)}
.hp-field-pick input:focus-visible+span{outline:3px solid var(--seal);outline-offset:2px}
.hp-field-pick input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--card)}
.hp-field-pick input:checked+span::before{content:"\2713";position:absolute;left:.7em;top:50%;transform:translateY(-50%);font-weight:800;line-height:1}
.hp-field-pick input:disabled+span{cursor:not-allowed;border-color:var(--line);background:var(--paper);color:var(--graphite);opacity:.65}
.hp-follow-save{margin-top:2px;justify-self:start}
.hp-follow-empty{font-size:.84rem;margin:0;color:var(--graphite)}
.hp-intro{max-width:680px;margin:30px auto;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center;box-shadow:var(--shadow)}
.hp-intro-ic{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
/* ---- Tracking hub tabs (Follows + New-record alerts) ---- */
.hp-hubtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--line);padding-bottom:0}
.hp-hubtabs .hp-pill{background:var(--seal)}
/* ---- New-record alert form + list ---- */
.hp-alertform{margin:0 0 18px}
.hp-alertform h3{margin:0 0 12px;font-size:1.08rem;color:var(--ink)}
.hp-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
.hp-alert-grid .field{margin:0}
.hp-alert-grid select{width:100%}
.hp-alert-hint{margin:10px 0 0;font-size:.82rem}
.hp-alert-edit-body{display:none;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.hp-alert-edit-body.open{display:block}
.hp-alert-edit-body form{display:grid;gap:10px}
.hp-alert-edit-body .hp-alert-grid{margin:0}
.hp-alert-edit-body input,.hp-alert-edit-body select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.hp-alert-edit-note{margin:0;font-size:.82rem}
.hp-alert-empty{text-align:center;padding:26px 22px}
.hp-alert-empty p{margin:0}
.hp-alert-empty-ic{width:46px;height:46px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
.hp-alert-empty-cta{margin-top:14px !important}
.hp-inline-form{margin:0;display:inline-flex}
.hp-alertrow .hp-fol-mono .i{color:var(--card)}
@media(max-width:560px){.hp-alert-grid{grid-template-columns:1fr}}
/* Phone: let the search pill wrap so the (nowrap) auto-detect chip can't shove the
   input/Search button off-screen — the chip drops to its own full-width line and wraps. */
@media(max-width:720px){.hp-hero .pp-search-row{grid-template-columns:1fr}.hp-hero .pp-search-actions{grid-column:1/-1}.hp-hero .pp-search-actions>.btn{width:100%;justify-content:center}}
@media(max-width:760px){.hp-card-actions .btn,.hp-card-actions summary,.hp-fol-actions .btn,.hp-follow-details summary{min-height:44px}}
@media(max-width:640px){.hp-searchbar{flex-wrap:wrap;border-radius:16px}.hp-searchbar input{flex:1 1 120px}.hp-searchbar .btn{flex:1 1 100%;justify-content:center}.hp-sb-sort{flex:1 1 100%;width:100%;min-width:0;box-sizing:border-box}.hp-detect{white-space:normal;order:4;flex:1 1 100%;justify-content:flex-start}.hp-steps{grid-template-columns:1fr}.hp-qsep{display:none}.hp-card-actions,.hp-fol-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;align-items:stretch}.hp-card-actions>:is(.btn,form,details,.wb-picker),.hp-fol-actions>:is(.btn,form,details,.wb-picker){width:100%;min-width:0}.hp-card-actions :is(.btn,summary),.hp-fol-actions :is(.btn,summary){width:100%;justify-content:center;box-sizing:border-box}}
@media(max-width:780px){.hp-top,.hp-card,.hp-fol,.hp-rhead{flex-direction:column;align-items:flex-start}.hp-card-actions,.hp-fol-actions,.hp-rhead-actions,.hp-actions,.hp-foractions{justify-content:flex-start}.hp-card-actions{min-width:0}.hp-bulk-actions{margin-left:0}.hp-change-row{grid-template-columns:1fr}}
/* Consistency: card/section headings use the display serif, matching pmra/infra (hp was the outlier on the body font). */
.hp-rhead-txt h3,.hp-card h3,.hp-subhead,.hp-summary h3,.hp-fol-main h3,.hp-alertform h3{font-family:var(--display)}
/* Back-link that precedes a masthead on the detail / tracking pages. */
.hp-back{margin:0 0 10px;font-size:.88rem}
.hp-back a{text-decoration:none}
/* Fetch/API error state (distinct from empty) — a human message + retry. */
.hp-error{text-align:center;padding:26px 22px}
.hp-error p{margin:0 0 8px}.hp-error p:last-child{margin:0}
.hp-error-lead{color:var(--ink)}
.hp-error-ic{width:46px;height:46px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--seal) 12%,transparent);color:var(--seal)}
.hp-error-cta{margin-top:14px !important}
/* Mobile / WCAG: bump small chip, segment and toggle tap targets toward the 44px target (never below the 24px AA floor). */
.hp-qchip{min-height:38px}
.hp-seg a{min-height:44px}
.hp-exact{min-height:38px}
.hp-field-pick span{min-height:34px}
@media(max-width:760px){.hp-field-pick span{min-height:44px}}.infra-wrap{max-width:1180px;margin:0 auto}
.infra-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.infra-top-txt h2{margin:0 0 4px}
.infra-top-txt .muted{margin:0;max-width:680px}
.infra-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.infra-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--seal);color:#fff;font:800 .72rem var(--body);font-variant-numeric:tabular-nums}
/* ---- search hero ---- */
.infra-hero{padding:16px;margin-bottom:16px}
.infra-hero .pp-search-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch}
.infra-hero .pp-search-actions{align-items:stretch}
.infra-back{margin:0 0 10px}
.infra-clear{color:var(--seal);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.infra-searchbar{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;padding:6px 8px 6px 16px;background:var(--paper)}
.infra-exact{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;cursor:pointer;position:relative;border:1px solid var(--line);border-radius:999px;padding:8px 12px;min-height:34px;font-size:.82rem;color:var(--graphite);background:var(--card)}
.infra-exact:hover{border-color:var(--ink);color:var(--ink)}
.infra-exact .infra-exact-sw{position:relative;display:inline-block;width:26px;height:15px;flex:none;background:var(--line);border-radius:999px;transition:background .15s}
.infra-exact .infra-exact-sw::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;background:#fff;border-radius:50%;transition:transform .15s}
.infra-exact input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.infra-exact input:checked ~ .infra-exact-sw{background:var(--seal)}
.infra-exact input:checked ~ .infra-exact-sw::after{transform:translateX(11px)}
.infra-exact input:focus-visible ~ .infra-exact-sw{box-shadow:0 0 0 3px rgba(18,48,61,.18)}
.infra-exact:has(input:checked){background:var(--paper);border-color:var(--seal);color:var(--ink)}
.infra-searchbar:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.10)}
.infra-searchbar .infra-search-ic{display:grid;place-items:center;color:var(--graphite);flex:none}
.infra-searchbar input{flex:1;border:0;background:transparent;font:inherit;font-size:1.02rem;outline:none;color:var(--ink);min-width:120px;padding:6px 0}
/* On a phone the search row can't fit icon+input+detect+toggle+button on one no-wrap line: let it wrap and give the submit a full-width tap target. */
@media(max-width:720px){.infra-hero .pp-search-row{grid-template-columns:1fr}.infra-hero .pp-search-actions{grid-column:1/-1}.infra-hero .pp-search-actions>.btn{width:100%;justify-content:center}}
@media(max-width:640px){.infra-searchbar{flex-wrap:wrap;border-radius:16px}.infra-searchbar input{min-width:90px}.infra-searchbar>.btn{flex:1 1 100%;justify-content:center}.infra-detect{flex:1 1 100%;white-space:normal}}
.infra-detect{font-size:.78rem;color:var(--graphite);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.infra-seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.infra-seg a{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;min-height:44px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font-size:.9rem}
.infra-seg a:hover{border-color:var(--ink);color:var(--ink)}
.infra-seg a.on{background:var(--ink);color:var(--card);border-color:var(--ink)} /* var(--card) not #fff so the dark theme's flipped --ink stays legible */
.infra-seg a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.infra-qfilters{display:grid;gap:9px}
.infra-qnav{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:7px;align-items:center}
.infra-qsep{flex:0 0 1px;align-self:stretch;min-height:18px;background:var(--line);margin:0 4px}
.infra-qchip{display:inline-flex;align-items:center;padding:8px 12px;min-height:34px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--graphite);font-size:.85rem;text-decoration:none}
.infra-qchip:hover{border-color:var(--ink);color:var(--ink)}
/* .infra-qfilters-scoped for specificity: chips are <a>, so the dark theme's ".app.theme-dark a{color:var(--ink)}"
   outranked the bare .infra-qchip.on/.reset and painted them ink-on-ink / ink in dark (gazette .gg-seg precedent). */
.infra-qfilters .infra-qchip.on{background:var(--ink);color:var(--card);border-color:var(--ink)} /* selected filter = ink like .infra-seg — seal stays the action accent */
.infra-qchip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.infra-qfilters .infra-qchip.reset{color:var(--seal);border-color:transparent;background:transparent;font-weight:700}
/* ---- results header ---- */
.infra-rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 14px}
.infra-rhead-txt h3{font-size:1.2rem;margin:0 0 2px;color:var(--ink);font-family:var(--display)}
.infra-rhead-txt p{margin:0}
.infra-rhead-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.infra-rhead-count{font:800 .9rem var(--body);color:var(--graphite);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-variant-numeric:tabular-nums}
.infra-results,.infra-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
/* ---- upstream-outage / partial-results notice ---- */
.infra-warn{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:var(--r);background:color-mix(in srgb,var(--amber) 8%,var(--card));color:var(--ink-2);font-size:.9rem;line-height:1.5}
.infra-warn svg{flex:none;color:var(--amber);margin-top:1px}
.infra-warn span{flex:1;min-width:0}
.infra-warn-retry{flex:none;align-self:center;font-weight:700;color:var(--ink);text-decoration:underline;white-space:nowrap;display:inline-flex;align-items:center;min-height:36px;padding:6px 8px;margin:-6px -8px -6px 0}
/* ---- result card ---- */
.infra-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;transition:transform .12s,box-shadow .12s,border-color .15s}
.infra-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px rgba(18,48,61,.30)}
.infra-card.following{border-left:4px solid var(--seal)}
.infra-card-main{min-width:0;flex:1;overflow-wrap:anywhere}
.infra-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.infra-card h3{font-size:1.08rem;margin:4px 0 0;font-family:var(--display)}
.infra-card h3 a{text-decoration:none}
.infra-card h3 a:hover{color:var(--seal)}
.infra-card-sub{margin:7px 0 0;font-size:.86rem}
.infra-chips{display:flex;gap:7px 8px;flex-wrap:wrap;margin:8px 0 0}
.infra-chip{font-size:.78rem;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 9px;line-height:1.3}
.infra-chip b{display:inline-block;font-weight:700;color:var(--graphite);text-transform:uppercase;font-size:.64rem;letter-spacing:.03em;margin-right:4px}
.infra-card-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.infra-foractions{display:flex;gap:2px;align-items:center}
.infra-foractions .pp-help{align-self:center;margin-left:0}
.infra-mode{font:700 .72rem var(--body);color:var(--graphite);cursor:pointer;background:none;border:0;padding:6px 0;min-height:28px;text-decoration:underline;text-underline-offset:2px}
.infra-mode:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.infra-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 9px;font:700 .7rem var(--body);text-transform:uppercase;color:var(--graphite);background:var(--paper)}
/* status pills via token tints */
.infra-status{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font:800 .68rem var(--body);text-transform:uppercase}
.infra-status.construction{color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent)}
.infra-status.complete,.infra-status.active{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent)} /* green = active per token semantics */
.infra-status.planned{color:var(--blue);background:color-mix(in srgb,var(--blue) 13%,transparent)}
.infra-status.other{color:var(--graphite);background:color-mix(in srgb,var(--graphite) 13%,transparent)}
.infra-meta{font:700 .76rem var(--mono);color:var(--graphite);margin-top:9px;overflow-wrap:anywhere;min-width:0}
.infra-card-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:11px}
.infra-card-id{font:700 .76rem var(--mono);color:var(--graphite);overflow-wrap:anywhere;min-width:0}
.infra-card-date{font:700 .8rem var(--body);color:var(--graphite);display:inline-flex;align-items:center;gap:6px}
.infra-card-date b{color:var(--ink)}
/* ---- in-app "what changed" diff ---- */
.infra-change{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.infra-change-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px;font-size:.86rem;padding:3px 0}
.infra-change-k{color:var(--graphite);font-weight:700}
.infra-change-old{color:var(--graphite);opacity:.7}
.infra-change-new{color:var(--ink);font-weight:700}
.infra-changed{font-size:.72rem;color:var(--seal);font-weight:700}
.infra-changed-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font:700 .72rem var(--body);color:var(--seal);background:color-mix(in srgb,var(--seal) 12%,transparent);border:1px solid color-mix(in srgb,var(--seal) 30%,transparent)}
.infra-recent{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--seal);border-radius:var(--r);background:var(--card)}
.infra-recent.infra-recent-in-fold{margin:0;padding:0;border:0;background:transparent}
.infra-fold{margin:0 0 14px;border:1.5px solid var(--line);border-radius:14px;padding:0 16px;background:var(--card)}
.infra-fold[open]{padding-bottom:14px}
.infra-fold>summary{font-family:var(--display);font-size:1.05rem;display:flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer;list-style:none;min-height:44px;padding:10px 0;user-select:none}
.infra-fold>summary::-webkit-details-marker{display:none}
.infra-fold>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.infra-fold-ar{display:inline-flex;color:var(--graphite)}
.infra-fold[open]>summary .infra-fold-ar{transform:rotate(90deg)}
.infra-fold-n{color:var(--graphite);font-size:.9rem;font-weight:700}
.infra-fold-body{display:block;line-height:1.55;margin:0}
.infra-sb-hint{display:block;margin:8px 6px 0;font-size:.8rem}
.infra-recent h3{margin:0 0 8px;font:700 .95rem var(--body);color:var(--ink);display:flex;align-items:center;gap:7px}
.infra-recent ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.infra-recent li{font-size:.88rem;color:var(--ink-2)}
.infra-recent li a{text-decoration:none;color:var(--ink);font-weight:700}
.infra-recent li a:hover{color:var(--seal)}
.infra-recent .rt{color:var(--graphite);font-size:.8rem}
.infra-changes-wrap{display:none;margin-top:8px}
.infra-changes-wrap.open{display:block}
.infra-subhead{font-size:1.05rem;margin:0 0 10px;display:flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--display)}
.infra-count{font:700 .8rem var(--body);color:var(--graphite);background:var(--paper);padding:2px 9px;border-radius:999px;font-variant-numeric:tabular-nums}
.infra-filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.infra-filterbar input{flex:1 1 220px;min-width:160px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font:inherit;font-size:.92rem;color:var(--ink);padding:8px 14px;outline:none}
.infra-filterbar input:focus{border-color:var(--ink)}
.infra-bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.infra-bulkbar .infra-bulk-lbl{font:700 .8rem var(--body);color:var(--graphite)}
.infra-folpick{flex:0 0 44px;align-self:center;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.infra-folcheck{width:20px;height:20px;margin:0;cursor:pointer}
/* ---- onboarding / empty states ---- */
.infra-onboard{text-align:center;padding:8px 0 4px;width:100%;max-width:920px} /* full width inside .pp-state so the 3 step cards sit 3-across like health/pmra */
.infra-onboard .postmark{color:var(--faint)}
.infra-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:18px 0;text-align:left}
.infra-step{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.infra-step-n{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--card);font:800 .85rem var(--body)}
.infra-step b{display:block;color:var(--ink);font-size:.95rem;margin-bottom:2px}
.infra-step p{margin:0;font-size:.84rem;color:var(--graphite)}
.infra-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.infra-summary{margin-bottom:14px}
.infra-summary h3{font-size:1.2rem;margin:6px 0 5px;font-family:var(--display)}
.infra-dl{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:0;margin:10px 0 0}
.infra-dl dt{font:700 .82rem var(--body);color:var(--graphite);padding:10px 14px 10px 0;border-top:1px solid var(--line)}
.infra-dl dd{margin:0;font-size:.92rem;color:var(--ink);padding:10px 0;border-top:1px solid var(--line);line-height:1.5;word-break:break-word}
.infra-dl dt:first-of-type,.infra-dl dd:first-of-type{border-top:0}
.infra-flag{margin-top:8px;font:700 .8rem var(--body);color:var(--seal);background:color-mix(in srgb,var(--seal) 10%,transparent);border:1px solid color-mix(in srgb,var(--seal) 28%,transparent);border-radius:8px;padding:8px 10px;display:flex;gap:6px;align-items:center}
.infra-fol{display:flex;gap:14px;align-items:flex-start}
.infra-fol.changed{border-left:4px solid var(--seal)}
.infra-fol-mono{width:40px;height:40px;border-radius:9px;flex:0 0 40px;display:grid;place-items:center;background:var(--ink);color:var(--card);font:800 1rem var(--body)}
.infra-fol-main{min-width:0;flex:1;overflow-wrap:anywhere}
.infra-fol-main h3{font-size:1.05rem;margin:5px 0;font-family:var(--display)}
.infra-fol-main h3 a{text-decoration:none}
.infra-fol-main h3 a:hover{color:var(--seal)}
.infra-fol-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.infra-fol.off{opacity:.66}
/* ---- tracking hub tabs + new-project alerts ---- */
.infra-hubtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--line);padding-bottom:0}
.infra-alertform{margin:0 0 18px}
.infra-alertform h3{font-size:1.1rem;margin:0 0 12px;font-family:var(--display)}
.infra-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 6px}
.infra-alert-grid .field{margin:0}
.infra-alertform select,.infra-alertform input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.infra-alert-edit-body{display:none;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.infra-alert-edit-body.open{display:block}
.infra-alert-edit-body form{display:grid;gap:10px}
.infra-alert-edit-body .infra-alert-grid{margin:0}
.infra-alert-edit-body input,.infra-alert-edit-body select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.infra-alert-edit-note{margin:0;font-size:.82rem}
.infra-alert-hint{margin:10px 0 0;font-size:.84rem}
@media(max-width:780px){.infra-alert-grid{grid-template-columns:1fr}}
.infra-intro{max-width:680px;margin:30px auto;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center}
.infra-intro-ic{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
@media(max-width:900px){.infra-dl{grid-template-columns:1fr}.infra-dl dt{padding:8px 0 2px;border-top:0}.infra-dl dd{border-top:0}}
@media(max-width:780px){.infra-top,.infra-card,.infra-fol,.infra-rhead{flex-direction:column;align-items:flex-start}.infra-card-actions,.infra-fol-actions,.infra-rhead-actions{justify-content:flex-start;align-items:flex-start}.infra-foractions{justify-content:flex-start;align-items:center}.infra-change-row{grid-template-columns:1fr}.infra-mode{min-height:44px}}
@media(max-width:640px){.infra-steps{grid-template-columns:minmax(0,1fr)}.infra-warn.pp-state.is-compact{grid-template-columns:auto minmax(0,1fr)}.infra-warn.pp-state.is-compact .infra-warn-retry{grid-column:1/-1;width:100%;justify-content:center}.infra-card-actions,.infra-fol-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;align-items:stretch}.infra-card-actions>:is(.btn,form,details,.wb-picker),.infra-fol-actions>:is(.btn,form,details,.wb-picker){width:100%;min-width:0}.infra-card-actions :is(.btn,summary),.infra-fol-actions :is(.btn,summary){width:100%;justify-content:center;box-sizing:border-box}}
/* ---- dark theme (.app.theme-dark, inc/19 canon values) — everything else above is token-driven ---- */
.app.theme-dark .infra-pill{color:#1A1010} /* dark-on-seal text, same as inc/19 .navnum/.btn.seal */
.app.theme-dark .infra-searchbar:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)} /* navy ring is invisible on dark paper */
.app.theme-dark .infra-exact input:focus-visible ~ .infra-exact-sw{box-shadow:0 0 0 3px rgba(111,168,214,.22)}
.app.theme-dark .infra-card:hover{border-color:#3A5461} /* shadows don't read in dark — border hover like inc/19's .bt-card/.gg-card */
/* Live Operations: scoped, responsive and motion-safe. */
.lo-shell{gap:22px;max-width:1600px;margin-inline:auto;min-width:0;container-type:inline-size}
.lo-mast{align-items:flex-start}
.lo-mast h1{display:flex;align-items:center;gap:10px}
.lo-mast-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.lo-mast-controls .btn{min-height:42px}
.lo-live-state{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:700 .77rem/1 var(--body);letter-spacing:.025em;white-space:nowrap}
.lo-live-state i{width:9px;height:9px;border-radius:50%;background:var(--graphite);box-shadow:0 0 0 4px color-mix(in srgb,var(--graphite) 14%,transparent)}
.lo-live-state.is-live i,.lo-live-state.is-updating i{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 16%,transparent)}
.lo-live-state.is-live i{animation:lo-breathe 1.8s ease-in-out infinite}
.lo-live-state.is-paused i{background:var(--amber)}
.lo-live-state.is-delayed i,.lo-live-state.is-updating i{background:var(--amber)}
.lo-live-state.is-error i{background:var(--seal)}
@keyframes lo-breathe{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--green) 5%,transparent)}}
.lo-privacy{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--blue) 5%,var(--card));color:var(--graphite);font-size:.86rem;line-height:1.45}
.lo-privacy>.i{color:var(--blue)}
.lo-privacy div{display:flex;align-items:baseline;gap:7px;min-width:0;flex-wrap:wrap}
.lo-privacy strong{color:var(--ink)}
.lo-privacy time{font:700 .72rem/1.3 var(--mono);color:var(--graphite);white-space:nowrap}
.lo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lo-stat{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.lo-stat-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--ink)}
.lo-stat>div{display:grid;min-width:0}
.lo-stat span:not(.lo-stat-icon){color:var(--graphite);font:700 .72rem/1.2 var(--body);letter-spacing:.055em;text-transform:uppercase}
.lo-stat strong{margin-top:2px;color:var(--ink);font:700 1.65rem/1.1 var(--display);font-variant-numeric:tabular-nums}
.lo-stat small{margin-top:3px;color:var(--graphite);font-size:.74rem;line-height:1.3}
.lo-stat.needs-attention{border-color:color-mix(in srgb,var(--seal) 32%,var(--line));background:color-mix(in srgb,var(--seal) 3%,var(--card))}
.lo-stat.needs-attention .lo-stat-icon{color:var(--seal);background:color-mix(in srgb,var(--seal) 8%,var(--card))}
.lo-primary-grid,.lo-secondary-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(330px,.8fr);gap:16px;align-items:start;min-width:0}
.lo-secondary-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr)}
.lo-panel{min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);overflow:hidden}
.lo-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}
.lo-panel-head>div{min-width:0}
.lo-panel-head h2{margin:2px 0 0;font-size:1.18rem;line-height:1.25;overflow-wrap:anywhere}
.lo-kicker{display:block;color:var(--graphite);font:700 .69rem/1.2 var(--body);letter-spacing:.09em;text-transform:uppercase}
.lo-window,.lo-count{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--graphite);font:700 .7rem/1 var(--mono);white-space:nowrap}
.lo-count{min-width:30px;color:var(--ink);font-size:.78rem;font-variant-numeric:tabular-nums}
.lo-map{display:grid;grid-template-columns:minmax(150px,1fr) 38px minmax(230px,1.35fr) 38px minmax(170px,1fr);align-items:center;gap:4px;padding:22px 20px 18px;min-height:330px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 68%,var(--card)),var(--card))}
.lo-lane{align-self:stretch;display:flex;flex-direction:column;min-width:0}
.lo-lane h3{margin:0 0 10px;color:var(--graphite);font:700 .69rem/1.2 var(--body);letter-spacing:.085em;text-transform:uppercase;text-align:center}
.lo-nodes{display:grid;align-content:center;gap:8px;min-height:100%;min-width:0}
.lo-node{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:700 .8rem/1.3 var(--body);text-align:left;cursor:pointer;transition:border-color .14s,background .14s,transform .14s}
.lo-node:hover{border-color:color-mix(in srgb,var(--ink) 45%,var(--line));background:var(--paper)}
.lo-node:focus-visible,.lo-core-chips button:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:2px}
.lo-node[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.lo-node>span{min-width:0;overflow-wrap:anywhere}
.lo-node strong{flex:none;font:700 .82rem/1 var(--mono);font-variant-numeric:tabular-nums}
.lo-node-empty{padding:14px;border:1px dashed var(--line);border-radius:11px;color:var(--graphite);font-size:.79rem;text-align:center}
.lo-flow{position:relative;height:2px;background:linear-gradient(90deg,color-mix(in srgb,var(--blue) 25%,var(--line)),var(--blue));border-radius:99px}
.lo-flow:after{content:"";position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:2px solid var(--blue);border-right:2px solid var(--blue);transform:translateY(-50%) rotate(45deg)}
.lo-flow span{position:absolute;top:50%;left:25%;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateY(-50%);animation:lo-flow 2.2s linear infinite}
@keyframes lo-flow{from{left:5%;opacity:0}15%{opacity:1}85%{opacity:1}to{left:88%;opacity:0}}
@keyframes lo-flow-vertical{from{top:0;opacity:0}15%{opacity:1}85%{opacity:1}to{top:85%;opacity:0}}
.lo-core{display:grid;gap:14px;align-content:center;justify-items:center;min-width:0}
.lo-core-ring{position:relative;display:grid;place-items:center;align-content:center;width:176px;height:176px;border:1px solid color-mix(in srgb,var(--blue) 40%,var(--line));border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,color-mix(in srgb,var(--blue) 8%,var(--card)));box-shadow:0 0 0 9px color-mix(in srgb,var(--blue) 5%,transparent),inset 0 0 0 1px #fff;text-align:center}
.lo-core-ring:before,.lo-core-ring:after{content:"";position:absolute;border-radius:50%;border:1px dashed color-mix(in srgb,var(--blue) 30%,transparent)}
.lo-core-ring:before{inset:13px}.lo-core-ring:after{inset:24px}
.lo-core-word{z-index:1;color:var(--graphite);font:700 .63rem/1 var(--mono);letter-spacing:.15em}
.lo-core-ring strong{z-index:1;margin-top:6px;font:700 2.35rem/1 var(--display);font-variant-numeric:tabular-nums}
.lo-core-ring small{z-index:1;margin-top:4px;color:var(--graphite);font-size:.7rem}
.lo-core-ring.is-pulse{animation:lo-core-pulse .7s ease-out}
@keyframes lo-core-pulse{50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--blue) 10%,transparent),inset 0 0 0 1px #fff}}
.lo-core-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
.lo-core-chips button{display:grid;gap:3px;min-width:0;padding:8px 5px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font:700 .65rem/1.25 var(--body);cursor:pointer}
.lo-core-chips button:hover{border-color:var(--ink)}
.lo-core-chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.lo-core-chips strong{font:700 .74rem/1.1 var(--mono);overflow-wrap:anywhere}
.app.theme-dark .lo-node[aria-pressed=true],.app.theme-dark .lo-core-chips button[aria-pressed=true]{border-color:#53707d;background:#283D49;color:#fff}
.app.theme-dark .lo-core-ring{background:radial-gradient(circle at 35% 30%,#2f454f,color-mix(in srgb,var(--blue) 10%,var(--card)));box-shadow:0 0 0 9px color-mix(in srgb,var(--blue) 8%,transparent),inset 0 0 0 1px #465f6d}
.app.theme-dark .lo-core-ring.is-pulse{animation:lo-core-pulse-dark .7s ease-out}
@keyframes lo-core-pulse-dark{50%{box-shadow:0 0 0 16px color-mix(in srgb,var(--blue) 14%,transparent),inset 0 0 0 1px #53707d}}
.lo-map-key{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:0 18px 18px;color:var(--graphite);font-size:.69rem}
.lo-map-key span{display:flex;align-items:center;gap:6px}
.lo-map-key i{width:7px;height:7px;border-radius:50%;background:var(--graphite)}
.lo-map-key i.is-ok{background:var(--green)}.lo-map-key i.is-warn{background:var(--amber)}.lo-map-key i.is-bad{background:var(--seal)}
.lo-node.is-pulse{animation:lo-node-pulse .7s ease-out}
@keyframes lo-node-pulse{50%{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 10%,transparent)}}
.lo-active-list,.lo-event-list{list-style:none;margin:0;padding:0}
.lo-active-list{max-height:510px;overflow:auto;overscroll-behavior:contain}
.lo-active-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.lo-active-item:last-child{border-bottom:0}
.lo-active-signal{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 10%,transparent);animation:lo-breathe 1.8s ease-in-out infinite}
.lo-active-item.is-stale .lo-active-signal{background:var(--seal);animation:none}
.lo-active-item strong{display:block;font-size:.86rem;line-height:1.35}
.lo-panel-note{margin:0;padding:12px 16px;border-top:1px solid var(--line);background:var(--paper);color:var(--graphite);font-size:.72rem;line-height:1.45}
.lo-feed-head{align-items:center}
.lo-new-events{font-size:.73rem;padding:7px 10px;min-height:36px}
.lo-filters{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.lo-filters label{display:grid;gap:4px;color:var(--graphite);font:700 .68rem/1.2 var(--body);letter-spacing:.03em;text-transform:uppercase}
.lo-filters select{min-height:38px;border:1px solid var(--control-border);border-radius:9px;background:var(--card);color:var(--ink);padding:6px 30px 6px 9px;font:500 .78rem var(--body)}
.lo-filters .btn{min-height:38px;padding:7px 10px;font-size:.74rem}
.lo-filter-count{margin-left:auto;align-self:center;color:var(--graphite);font:700 .69rem/1 var(--mono)}
.lo-event-list{max-height:680px;overflow:auto;overscroll-behavior:contain}
.lo-event{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line)}
.lo-event:last-child{border-bottom:0}
.lo-event:hover{background:color-mix(in srgb,var(--paper) 56%,var(--card))}
.lo-event-mark{width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--graphite)}
.lo-event-mark.is-green{background:var(--green)}.lo-event-mark.is-blue{background:var(--blue)}.lo-event-mark.is-amber{background:var(--amber)}.lo-event-mark.is-red{background:var(--seal)}
.lo-event-main{display:grid;gap:3px;min-width:0}
.lo-event-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.lo-event-head strong{font-size:.85rem;line-height:1.3}
.lo-event-head .badge{font-size:.59rem;padding:3px 6px}
.lo-event-path{display:flex;align-items:center;gap:6px;min-width:0;color:var(--graphite);font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}
.lo-event-path span{color:color-mix(in srgb,var(--graphite) 65%,transparent)}
.lo-event-meta{color:var(--graphite);font:500 .66rem/1.4 var(--mono);overflow-wrap:anywhere}
.lo-event-time{padding-top:2px;color:var(--graphite);font:700 .65rem/1.3 var(--mono);white-space:nowrap}
.lo-empty{padding:24px 18px;color:var(--graphite);font-size:.8rem;text-align:center}
.lo-empty.is-good{color:var(--green)}
.lo-attention .lo-event-list{max-height:568px}
.lo-drilldowns{display:flex;gap:7px;flex-wrap:wrap;padding:13px 15px;border-top:1px solid var(--line);background:var(--paper)}
.lo-drilldowns .btn{min-height:38px;padding:7px 10px;font-size:.72rem}
.lo-coverage{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 2px 4px;color:var(--graphite);font:500 .68rem/1.45 var(--mono)}
.lo-coverage span:first-child{color:var(--ink);font-weight:700}
@container (max-width:1060px){.lo-primary-grid,.lo-secondary-grid{grid-template-columns:1fr}.lo-now .lo-active-list{max-height:360px}}
@container (max-width:720px){.lo-map{grid-template-columns:1fr;gap:14px;min-height:0}.lo-flow{width:2px;height:28px;margin:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 25%,var(--line)),var(--blue))}.lo-flow:after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}.lo-flow span{left:50%;top:10%;animation:lo-flow-vertical 2.2s linear infinite}.lo-lane{width:100%}.lo-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.lo-core{width:100%}.lo-core-ring{width:160px;height:160px}}
@media(max-width:1220px){.lo-primary-grid,.lo-secondary-grid{grid-template-columns:1fr}.lo-now .lo-active-list{max-height:360px}.lo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.lo-map{grid-template-columns:1fr;gap:14px;min-height:0}.lo-flow{width:2px;height:28px;margin:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 25%,var(--line)),var(--blue))}.lo-flow:after{right:auto;left:50%;top:auto;bottom:-1px;transform:translateX(-50%) rotate(135deg)}.lo-flow span{left:50%;top:10%;animation:lo-flow-vertical 2.2s linear infinite}.lo-lane{width:100%}.lo-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.lo-core{width:100%}.lo-core-ring{width:160px;height:160px}}
@media(max-width:640px){.lo-shell{gap:16px}.lo-mast-controls{width:100%;justify-content:flex-start}.lo-mast-controls .lo-live-state{margin-right:auto}.lo-privacy{grid-template-columns:auto minmax(0,1fr)}.lo-privacy time{grid-column:2}.lo-stats{grid-template-columns:1fr 1fr;gap:8px}.lo-stat{padding:12px;gap:9px}.lo-stat-icon{width:34px;height:34px;flex-basis:34px}.lo-stat strong{font-size:1.35rem}.lo-panel-head{padding:15px}.lo-map{padding:18px 14px 14px}.lo-map-key{padding-inline:12px}.lo-nodes{grid-template-columns:1fr 1fr}.lo-event{grid-template-columns:auto minmax(0,1fr);padding:12px}.lo-event-time{grid-column:2}.lo-filters{align-items:stretch}.lo-filters label{flex:1 1 130px}.lo-filters select{width:100%}.lo-filter-count{width:100%;margin:2px 0 0}.lo-drilldowns .btn{flex:1 1 150px;justify-content:center}}
@media(max-width:430px){.lo-stats{grid-template-columns:1fr}.lo-nodes{grid-template-columns:1fr}.lo-core-chips{grid-template-columns:1fr}.lo-live-state{width:100%;justify-content:center;order:-1}.lo-mast-controls .lo-live-state{margin-right:0}.lo-mast-controls .btn{flex:1;justify-content:center}.lo-active-item{grid-template-columns:auto minmax(0,1fr)}.lo-active-item>.badge{grid-column:2;justify-self:start}.lo-window{display:none}}
@media(prefers-reduced-motion:reduce){.lo-live-state i,.lo-flow span,.lo-active-signal{animation:none!important}.lo-node,.lo-core-ring{transition:none!important}}
@media(forced-colors:active){.lo-live-state i,.lo-event-mark,.lo-active-signal,.lo-map-key i{forced-color-adjust:none}.lo-node[aria-pressed=true]{outline:2px solid CanvasText}.lo-flow{border-top:1px solid CanvasText}}
/* Order Paper monitor — module-local styles (shared contracts do the heavy lifting:
   .pp-mast/.pp-module-tabs/.pp-state/.pp-search-panel/.pp-qbox/.pp-ai-*). */
.op-wrap{max-width:1180px;min-width:0;width:100%}
.op-watch-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--card);border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:12px 16px;margin:0 0 14px}
.op-watch-banner.on{border-left-color:var(--green)}
.op-wrap .pp-mast-tt,.op-wrap .pp-mast-sub{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.op-back{margin:0 0 10px}
.op-hero{margin:0 0 20px}
.op-search-row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.op-search-row select{border:1.5px solid #8A8472;border-radius:8px;background:var(--card);color:var(--ink);font:700 .84rem var(--body);padding:8px 10px;min-height:44px;max-width:46vw}
.op-search-ic{display:inline-flex;color:var(--graphite);flex:none}
.op-search-hint{display:block;margin-top:10px}
.op-sec{margin:0 0 24px}
.op-sec-head{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.pp-ai-notice.op-follow-rollout{margin-bottom:16px}
.op-h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:0}
.op-count{margin-left:auto;color:var(--graphite);font:700 .78rem var(--body);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-variant-numeric:tabular-nums}
.op-review-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 14px}.op-review-intro p{max-width:78ch;margin:8px 0 0}
.op-review-flags{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:0 0 14px}.op-review-flags>span{display:inline-flex;align-items:center;gap:7px}.op-review-flags small{margin-left:auto}
.op-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.op-review-stat{display:flex;flex-direction:column;gap:5px}.op-review-stat>b{font:700 1.55rem var(--body);color:var(--ink)}.op-review-stat>span{font-size:.78rem}
.op-review-table-wrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:12px;background:var(--card)}.op-review-table{width:100%;border-collapse:collapse;font-size:.82rem}.op-review-table th,.op-review-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.op-review-table th{background:var(--paper);color:var(--graphite);font-size:.72rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.op-review-table tr:last-child td{border-bottom:0}.op-review-table td{max-width:260px}.op-review-table code{font-size:.76rem;white-space:nowrap}
.op-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0 0}
.op-pager .disabled{opacity:.45;pointer-events:none}
.op-pager-info{color:var(--graphite);font-size:.88rem;font-variant-numeric:tabular-nums}
.op-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.op-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.op-num{margin-left:auto;font:700 .78rem var(--mono);color:var(--graphite);white-space:nowrap}
.op-card-tt{margin:0;font-size:.98rem;line-height:1.35;font-weight:700}
.op-card-tt a{color:var(--ink);text-decoration:none}
.op-card-tt a:hover{text-decoration:underline}
.op-card-meta{margin:0;color:var(--graphite);font-size:.85rem}
.op-card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:.82rem}
.op-card-workbox{display:flex;align-items:center;justify-content:flex-end;min-width:0;border-top:1px solid var(--line);padding-top:10px;margin-top:2px}
.op-view{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;color:var(--seal);font-weight:700;text-decoration:none;white-space:nowrap}
.op-view:hover{text-decoration:underline}
.op-clock{display:inline-flex;align-items:center;gap:4px;color:var(--graphite);font-variant-numeric:tabular-nums}
.op-clock b{color:var(--ink)}
.op-clock.late{color:var(--seal)}
.op-st.ok{color:var(--green);border-color:var(--green)}
.op-st.wait{color:var(--amber);border-color:var(--amber)}
.op-st.late{color:var(--seal);border-color:var(--seal)}
.op-st.info{color:var(--blue);border-color:var(--blue)}
.op-st.off{color:var(--graphite);border-color:var(--line)}
.op-status{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;margin:0 0 16px}
.op-status-line{display:inline-flex;align-items:center;gap:6px;color:var(--graphite);font-size:.92rem}
.op-days{color:var(--ink);font-variant-numeric:tabular-nums}
.op-body,.op-sponsor,.op-act,.op-report{padding:16px;margin:0 0 16px;min-width:0;max-width:100%}
.op-text{margin:8px 0 10px;line-height:1.62;max-width:75ch;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.op-text p{margin:0 0 .85em}.op-text p:last-child{margin-bottom:0}
.op-sponsor-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.op-act-cap{display:block;font:700 .72rem var(--body);letter-spacing:.05em;color:var(--graphite);margin-bottom:10px}
.op-act-row{display:flex;gap:8px;flex-wrap:wrap}
.op-inline-form{display:inline-flex}
.op-follow-manage{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.op-watchform{max-width:620px} /* same measure as the hansard/committees/gazette alert forms */
.op-watchform textarea{width:100%;border:1.5px solid #8A8472;border-radius:8px;background:var(--card);padding:10px 12px;font:400 .95rem var(--body);color:var(--ink)}
.op-ai-lede{margin:0 0 12px;max-width:70ch}
.op-ai-report{line-height:1.6;margin:0 0 20px}.op-ai-report h2{font-family:var(--display);font-size:1.18rem;margin:22px 0 10px}.op-ai-answer h2{margin-top:0}
.op-ai-answer{border:1.5px solid var(--line);border-left:4px solid var(--seal);border-radius:12px;padding:18px 20px;background:var(--card)}
.op-ai-answer .op-report-body{margin-bottom:0}.op-ai-evidence>h2{margin-bottom:10px}
.op-ai-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.op-ai-sections article{border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--card);min-width:0;overflow-wrap:anywhere}
.op-ai-caveat{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:18px;color:var(--graphite)}.op-ai-caveat p{margin:4px 0 0}
.op-report-body{line-height:1.62;max-width:75ch;min-width:0;margin-bottom:10px;overflow-wrap:anywhere;word-break:break-word}
.op-report-body .op-ai-cite{color:var(--seal);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.op-ai-sources{margin:0 0 20px}.op-ai-source-note{margin:-4px 0 12px;max-width:72ch}
.op-empty{margin:6px 0}.op-empty p{overflow-wrap:anywhere;word-break:break-word}
.op-upsell{margin-top:6px}
@media(max-width:640px){
  .op-review-intro{display:block}.op-review-intro .btn{margin-top:12px}.op-review-flags small{width:100%;margin-left:0}.op-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .op-search-row select{max-width:100%;flex:1 1 100%}
  .op-grid,.op-ai-sections{grid-template-columns:1fr}
  .op-ai-answer{padding:16px}
  .op-status{align-items:flex-start;flex-direction:column;gap:8px}
  .op-card-workbox{justify-content:flex-start}
}
.app.theme-dark .op-watchform textarea{background:#0E171B;border-color:var(--line)}
.app.theme-dark .op-search-row select{background:#0E171B;border-color:var(--line)}.pv-wrap{max-width:var(--wrap);margin:0 auto}.pv-mut{color:var(--graphite);font-size:.92rem;line-height:1.5}.pv-count{color:var(--graphite);font-weight:400;font-size:.85rem;font-variant-numeric:tabular-nums}.pv-actions{margin-top:4px}.pv-retry-form{margin-top:10px}.pv-sec{font-family:var(--display);font-size:1.15rem;margin:26px 0 12px;color:var(--ink)}.pv-jobs{display:flex;flex-direction:column;gap:12px}.pv-job{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px}.pv-job-main{min-width:0;flex:1}.pv-job h3{font-size:1.05rem;margin:6px 0 0}.pv-job h3 a{color:var(--ink);text-decoration:none}.pv-job h3 a:hover{color:var(--seal)}.pv-job-meta{display:inline-flex;align-items:center;gap:6px;font:700 .8rem var(--body);color:var(--graphite);margin-top:8px;font-variant-numeric:tabular-nums}.pv-job-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pv-job-actions form{margin:0;display:inline-flex}.pv-add-link{border:1px solid var(--line);border-radius:12px;background:var(--card);margin:26px 0 0}.pv-add-link>summary{cursor:pointer;padding:18px 20px;font-weight:700;min-height:44px}.pv-add-link>summary:focus-visible{outline:2px solid var(--seal);outline-offset:3px}.pv-add-link>form{padding:0 20px 20px;margin:0;max-width:760px}.pv-tx-html{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;max-height:620px;overflow:auto;color:var(--ink);line-height:1.6}.pv-tx-html p{margin:.45rem 0}.pv-tx-html .pv-meta{color:var(--graphite);font-size:.86rem}.pv-tx-html:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.pv-tx-html .pv-cont{margin-left:1.1rem}.pv-summary{border-left:3px solid var(--line);padding-left:12px;color:var(--ink);margin:0 0 16px}.pv-summary h3{margin:.2rem 0 .4rem}.pv-summary p{margin:.45rem 0}.pv-summary ul{margin:.45rem 0 .75rem;padding-left:1.2rem}.pv-unable{display:flex;gap:8px;align-items:flex-start;color:var(--ink);background:color-mix(in srgb,var(--amber) 12%,var(--card));border:1px solid var(--line);border-radius:12px;padding:11px 13px}.pv-unable .i{color:var(--amber);flex:none}.pv-back{color:var(--graphite);text-decoration:none;font-size:.9rem}.pv-back:hover{color:var(--ink)}.pv-disc{color:var(--graphite);font-size:.82rem;line-height:1.5;margin:16px 2px 30px}@media(max-width:640px){.pv-job{flex-direction:column}.pv-job-actions{justify-content:flex-start;width:100%}}.pmra-wrap{max-width:1180px;margin:0 auto}
.pmra-back{margin:0 0 12px}
.pmra-back a{text-decoration:none}
.pmra-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.pmra-top-txt h2{margin:0 0 4px}
.pmra-top-txt .muted{margin:0;max-width:680px}
.pmra-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pmra-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--seal);color:#fff;font:800 .72rem var(--body);font-variant-numeric:tabular-nums}
/* ---- search hero (one rounded bar + segmented control + quick chips) ---- */
.pmra-hero{padding:16px;margin-bottom:14px}
.pmra-hero .pp-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}
.pmra-hero .pp-search-actions{align-items:stretch}
.pmra-searchbar{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:999px;padding:2px 8px 2px 16px;background:var(--paper)}
.pmra-searchbar:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.10)}
.pmra-searchbar .pmra-search-ic{display:grid;place-items:center;color:var(--graphite);flex:none}
.pmra-searchbar input{flex:1;border:0;background:transparent;font:inherit;font-size:1.02rem;outline:none;color:var(--ink);min-width:120px;min-height:44px}
.pmra-detect{font-size:.78rem;color:var(--graphite);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.pmra-seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pmra-seg a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--graphite);text-decoration:none;font-size:.9rem}
.pmra-seg a:hover{border-color:var(--ink);color:var(--ink)}
.pmra-seg a.on{background:var(--ink);color:var(--card);border-color:var(--ink)} /* var(--card) not #fff: --ink flips light in dark mode */
.pmra-qrow{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:14px 0 0}
.pmra-qlabel{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.pmra-qchip{padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--graphite);font-size:.85rem;text-decoration:none}
.pmra-qchip:hover{border-color:var(--ink);color:var(--ink)}
.pmra-qchip.on{background:var(--ink);color:var(--card);border-color:var(--ink)} /* selected filter = ink like the type segments — seal stays the action accent */
.pmra-qchip.reset{color:var(--seal);border-color:transparent;background:transparent;font-weight:700}
/* ---- pre-collapsed fold (monitor-canon ct-fold idiom) + search extras ---- */
.pmra-fold{margin:0 0 14px;border:1.5px solid var(--line);border-radius:14px;padding:0 16px;background:var(--card)}
.pmra-fold[open]{padding-bottom:14px}
.pmra-fold>summary{font-family:var(--display);font-size:1.08rem;display:flex;align-items:center;gap:8px;color:var(--ink);cursor:pointer;list-style:none;min-height:44px;padding:12px 0;user-select:none}
.pmra-fold>summary::-webkit-details-marker{display:none}
.pmra-fold>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:8px}
.pmra-fold-ar{display:inline-flex;color:var(--graphite)}
.pmra-fold[open]>summary .pmra-fold-ar{transform:rotate(90deg)}
.pmra-fold-n{color:var(--graphite);font-size:.9rem;font-weight:700}
.pmra-fold ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.pmra-fold li{font-size:.9rem;color:var(--ink-2)}
.pmra-fold li a{text-decoration:none;color:var(--ink);font-weight:700}
.pmra-fold li a:hover{color:var(--seal)}
.pmra-fold .rt{color:var(--graphite);font-size:.8rem}
.pmra-fold-txt{display:block;line-height:1.55;max-width:900px}
.pmra-fold-more{margin:10px 0 0}
.pmra-syntax{margin:7px 6px 0;font-size:.8rem}
.pmra-sort{flex:none;min-height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--graphite);font:700 .76rem var(--body);padding:6px 10px;outline:none;cursor:pointer}
.pmra-sort:hover,.pmra-sort:focus-visible{border-color:var(--ink);color:var(--ink)}
/* "Exact" match toggle — a small, clearly-labelled pill toggle that sits inside
   the rounded search bar and visibly flips on when exact matching is selected. */
.pmra-exact{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;cursor:pointer;
    padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);
    font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.03em;color:var(--graphite);
    user-select:none;transition:background .12s,border-color .12s,color .12s}
.pmra-exact:hover{border-color:var(--ink);color:var(--ink)}
.pmra-exact .pmra-exact-sw{position:relative;display:inline-block;width:26px;height:15px;flex:none;
    border-radius:999px;background:var(--line);transition:background .12s}
.pmra-exact .pmra-exact-sw::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;
    border-radius:50%;background:var(--card);box-shadow:0 1px 2px rgba(18,48,61,.35);transition:transform .12s}
.pmra-exact input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.pmra-exact input:checked ~ .pmra-exact-sw{background:var(--seal)}
.pmra-exact input:checked ~ .pmra-exact-sw::after{transform:translateX(11px)}
.pmra-exact input:focus-visible ~ .pmra-exact-sw{box-shadow:0 0 0 3px rgba(18,48,61,.18)}
.pmra-exact:has(input:checked){background:var(--paper);border-color:var(--seal);color:var(--ink)}
.pmra-rhead-filter{margin:4px 0 0;font-size:.82rem;color:var(--graphite)}
.pmra-rhead-filter a{color:var(--seal);text-decoration:none;font-weight:700}
.pmra-rhead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 14px}
.pmra-rhead-txt h3{font-size:1.2rem;margin:0 0 2px;color:var(--ink);font-family:var(--display)}
.pmra-rhead-txt p{margin:0}
.pmra-rhead-actions{display:flex;gap:10px;align-items:center}
.pmra-rhead-count{font:800 .9rem var(--body);color:var(--graphite);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-variant-numeric:tabular-nums}
/* minmax(0,1fr): the single column may shrink below its items' min-content so a wide
   card (e.g. the onboarding steps grid) can never push past a phone viewport. */
.pmra-results,.pmra-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
/* ---- result card ---- */
.pmra-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;transition:transform .12s,box-shadow .12s,border-color .15s}
.pmra-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px rgba(18,48,61,.30)}
.pmra-card.following{border-left:4px solid var(--seal)}
.pmra-card-main{min-width:0;flex:1;overflow-wrap:anywhere}
.pmra-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.pmra-card h3{font-size:1.08rem;margin:4px 0 0;font-family:var(--display)}
.pmra-card h3 a{text-decoration:none;color:var(--ink)}
.pmra-card h3 a:hover{color:var(--seal)}
.pmra-card-sub{margin:7px 0 0;font-size:.86rem}
.pmra-chips{display:flex;gap:7px 8px;flex-wrap:wrap;margin:8px 0 0}
.pmra-chip{font-size:.78rem;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 9px;line-height:1.3}
.pmra-chip b{display:inline-block;font-weight:700;color:var(--graphite);text-transform:uppercase;font-size:.64rem;letter-spacing:.03em;margin-right:4px}
.pmra-stats{display:flex;gap:10px;flex-wrap:wrap;margin:9px 0 0}
.pmra-stat{display:flex;flex-direction:column;align-items:flex-start;min-width:84px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.pmra-stat-n{font:800 1.2rem var(--body);color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.pmra-stat-l{font:700 .66rem var(--body);color:var(--graphite);text-transform:uppercase;letter-spacing:.03em;margin-top:4px}
.pmra-card-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.pmra-foractions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.pmra-mode{font:700 .72rem var(--body);color:var(--graphite);cursor:pointer;background:none;border:0;padding:2px 0;text-decoration:underline;text-underline-offset:2px}
.pmra-modebox{margin-top:8px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);max-width:520px;box-shadow:var(--shadow);font-size:.84rem;color:var(--ink)}
.pmra-modebox label{display:flex;gap:6px;align-items:flex-start;margin:0 0 5px;cursor:pointer}
.pmra-modebox label:last-child{margin-bottom:0}
/* ---- follow options (mode radios + field picker), tokenized for dark mode ---- */
.pmra-modebox:has(.pmra-follow-form){max-width:min(520px,calc(100vw - 32px))}
.pmra-follow-form{display:grid;gap:10px;text-align:left}
.pmra-follow-card{margin:0}
.pmra-follow-details{position:relative}
.pmra-follow-details>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink-2);font:700 .78rem var(--body);white-space:nowrap;transition:border-color .12s ease}
.pmra-follow-details>summary::-webkit-details-marker{display:none}
.pmra-follow-details>summary:hover{border-color:var(--ink)}
.pmra-follow-panel{position:absolute;right:0;top:calc(100% + 6px);width:min(380px,calc(100vw - 40px));padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);display:grid;gap:10px;z-index:1}
.pmra-card:has(.pmra-follow-details[open]){position:relative;z-index:40}
@media(max-width:640px){.pmra-foractions,.pmra-foractions form,.pmra-follow-details{width:100%}.pmra-follow-panel{position:static;width:100%;max-width:100%;box-sizing:border-box;box-shadow:none;margin-top:8px}}
.pmra-follow-save{justify-self:start;margin-top:2px}
.pmra-follow-opts{margin:0 0 16px}
.pmra-opt-group{border:0;margin:0;padding:0;display:grid;gap:7px}
.pmra-opt-legend{padding:0;margin:0 0 1px;font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.pmra-radio{display:flex;gap:9px;align-items:flex-start;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}
.pmra-radio:hover{border-color:var(--ink)}
.pmra-radio input{margin-top:2px;accent-color:var(--seal);flex:none}
.pmra-radio:has(input:checked){border-color:var(--seal);background:color-mix(in srgb,var(--seal) 7%,transparent)}
.pmra-radio-txt{display:flex;flex-direction:column;line-height:1.25}
.pmra-radio-txt b{color:var(--ink);font:700 .86rem var(--body)}
.pmra-radio-txt small{color:var(--graphite);font-size:.76rem;margin-top:1px}
.pmra-fieldsel{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:9px}
.pmra-fieldsel-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pmra-fieldsel-lbl{font:700 .76rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.pmra-fieldsel-tools{display:inline-flex;gap:10px}
.pmra-linkbtn{border:0;background:transparent;min-height:34px;padding:4px 6px;color:var(--seal);font:700 .76rem var(--body);cursor:pointer}
.pmra-linkbtn:hover{text-decoration:underline}
@media(max-width:760px){.pmra-linkbtn{min-height:44px;padding:8px 6px}}
.pmra-field-picks{display:flex;gap:7px;flex-wrap:wrap;max-height:160px;overflow:auto;padding:2px}
.pmra-field-pick{position:relative;margin:0;cursor:pointer}
.pmra-field-pick input{position:absolute;opacity:0;pointer-events:none}
.pmra-field-pick span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font:700 .76rem var(--body);cursor:pointer;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}
.pmra-field-pick span:hover{border-color:var(--ink)}
.pmra-field-pick input:focus-visible+span{outline:3px solid var(--seal);outline-offset:2px}
.pmra-field-pick input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--card)}
.pmra-field-pick input:checked+span::before{content:"\2713";font-weight:800;margin-right:5px}
.pmra-field-pick input:disabled+span{cursor:not-allowed;border-color:var(--line);background:var(--paper);color:var(--graphite);opacity:.65}
.pmra-follow-empty{margin:2px 0 0;font-size:.78rem}
.pmra-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 9px;font:700 .7rem var(--body);text-transform:uppercase;color:var(--graphite);background:var(--paper)}
/* status pills via token tints */
.pmra-status{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font:800 .68rem var(--body);text-transform:uppercase}
.pmra-status.open{color:var(--green);background:color-mix(in srgb,var(--green) 13%,transparent)}
.pmra-status.closed{color:var(--graphite);background:color-mix(in srgb,var(--graphite) 13%,transparent)}
.pmra-status.reeval{color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent)}
.pmra-meta{font:700 .76rem var(--mono);color:var(--graphite);margin-top:9px;overflow-wrap:anywhere}
.pmra-card-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:11px}
.pmra-card-id{font:700 .76rem var(--mono);color:var(--graphite);overflow-wrap:anywhere}
.pmra-card-date{font:700 .8rem var(--body);color:var(--graphite);display:inline-flex;align-items:center;gap:6px}
.pmra-card-date b{color:var(--ink)}
/* ---- in-app "what changed" diff ---- */
.pmra-change{margin-top:8px;border-top:1px dashed var(--line);padding-top:8px}
.pmra-change-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px;font-size:.86rem;padding:3px 0}
.pmra-change-k{color:var(--graphite);font-weight:700}
.pmra-change-old{color:var(--graphite);opacity:.7}
.pmra-change-new{color:var(--ink);font-weight:700}
.pmra-changed{font-size:.72rem;color:var(--seal);font-weight:700}
.pmra-changed-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font:700 .72rem var(--body);color:var(--seal);background:color-mix(in srgb,var(--seal) 12%,transparent);border:1px solid color-mix(in srgb,var(--seal) 30%,transparent)}
.pmra-recent{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--seal);border-radius:var(--r);background:var(--card)}
.pmra-recent h3{margin:0 0 8px;font:700 .95rem var(--body);color:var(--ink);display:flex;align-items:center;gap:7px}
.pmra-recent ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.pmra-recent li{font-size:.88rem;color:var(--ink-2)}
.pmra-recent li a{text-decoration:none;color:var(--ink);font-weight:700}
.pmra-recent li a:hover{color:var(--seal)}
.pmra-recent .rt{color:var(--graphite);font-size:.8rem}
.pmra-changes-wrap{display:none;margin-top:8px}
.pmra-changes-wrap.open{display:block}
.pmra-subhead{font-size:1.05rem;margin:0 0 10px;display:flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--display)}
.pmra-count{font:700 .8rem var(--body);color:var(--graphite);background:var(--paper);padding:2px 9px;border-radius:999px}
/* ---- tracking hub tabs ---- */
.pmra-hubtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--line);padding-bottom:0}
.pmra-quickadd{margin:0 0 18px;padding:0}
.pmra-quickadd summary{cursor:pointer;padding:13px 16px;font-weight:800;color:var(--ink);list-style:none}
.pmra-quickadd summary::-webkit-details-marker{display:none}
.pmra-quickform{display:grid;grid-template-columns:200px minmax(200px,1fr) auto;gap:12px;align-items:end;padding:0 16px 4px}
.pmra-quickform .field{margin-bottom:0}
.pmra-quickform-hint{margin:8px 16px 16px}
.pmra-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 14px;margin:8px 0 14px}
.pmra-check{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 0;font:700 .84rem var(--body);color:var(--ink-2);cursor:pointer}
.pmra-check input{width:20px;height:20px;margin:0;accent-color:var(--seal);cursor:pointer}
.pmra-alertform h3{font-size:1.1rem;margin:0 0 10px;font-family:var(--display)}
.pmra-alert-edit-body{display:none;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pmra-alert-edit-body.open{display:block}
.pmra-alert-edit-body form{display:grid;gap:10px}
.pmra-alert-edit-body .pmra-adv-row{margin:0}
.pmra-alert-edit-body input{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.pmra-alert-edit-note{margin:0;font-size:.82rem}
.pmra-adv-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;margin-bottom:12px}
.pmra-filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.pmra-filterbar input{flex:1 1 220px;min-width:160px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);font:inherit;font-size:.92rem;color:var(--ink);padding:8px 14px;outline:none}
.pmra-filterbar input:focus{border-color:var(--ink)}
.pmra-bulkbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pmra-bulkbar .pmra-bulk-lbl{font:700 .8rem var(--body);color:var(--graphite)}
.pmra-folpick{flex:0 0 44px;align-self:center;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.pmra-folcheck{width:20px;height:20px;margin:0;accent-color:var(--seal);cursor:pointer}
/* ---- onboarding / empty states ---- */
.pmra-onboard{text-align:center;padding:8px 0 4px}
.pmra-onboard .postmark{color:var(--faint)}
.pmra-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:18px 0;text-align:left}
.pmra-step{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pmra-step-n{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--card);font:800 .85rem var(--body)}
.pmra-step b{display:block;color:var(--ink);font-size:.95rem;margin-bottom:2px}
.pmra-step p{margin:0;font-size:.84rem;color:var(--graphite)}
.pmra-links{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}
.pmra-summary{margin-bottom:14px}
.pmra-pdf summary{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--ink);cursor:pointer}
.pmra-pdf-pre{white-space:pre-wrap;font:.8rem var(--mono);color:var(--ink-2);max-height:440px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px;margin:10px 0 0}
.pmra-summary h3{font-size:1.2rem;margin:6px 0 5px;font-family:var(--display)}
.pmra-banner{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);color:var(--green);font-weight:700;margin-bottom:14px}
.pmra-dl{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:0;margin:10px 0 0}
.pmra-dl dt{font:700 .82rem var(--body);color:var(--graphite);padding:10px 14px 10px 0;border-top:1px solid var(--line)}
.pmra-dl dd{margin:0;font-size:.92rem;color:var(--ink);padding:10px 0;border-top:1px solid var(--line);line-height:1.5;word-break:break-word}
.pmra-dl dt:first-of-type,.pmra-dl dd:first-of-type{border-top:0}
.pmra-flag{margin-top:8px;font:700 .8rem var(--body);color:var(--seal);background:color-mix(in srgb,var(--seal) 10%,transparent);border:1px solid color-mix(in srgb,var(--seal) 28%,transparent);border-radius:8px;padding:8px 10px;display:flex;gap:6px;align-items:center}
.pmra-fol{display:flex;gap:14px;align-items:flex-start}
.pmra-fol.changed{border-left:4px solid var(--seal)}
.pmra-fol-mono{width:40px;height:40px;border-radius:9px;flex:0 0 40px;display:grid;place-items:center;background:var(--ink);color:var(--card);font:800 1rem var(--body)}
.pmra-fol-main{min-width:0;flex:1;overflow-wrap:anywhere}
.pmra-fol-main h3{font-size:1.05rem;margin:5px 0;font-family:var(--display)}
.pmra-fol-main h3 a{text-decoration:none}
.pmra-fol-main h3 a:hover{color:var(--seal)}
.pmra-fol-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pmra-fol.off{opacity:.66}
.pmra-intro{max-width:680px;margin:30px auto;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center;box-shadow:var(--shadow)}
.pmra-intro-ic{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue)}
@media(max-width:980px){.pmra-adv-row{grid-template-columns:1fr 1fr}.pmra-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.pmra-quickform{grid-template-columns:1fr}}
@media(max-width:900px){.pmra-dl{grid-template-columns:1fr}.pmra-dl dt{padding:8px 0 2px;border-top:0}.pmra-dl dd{border-top:0}}
@media(max-width:780px){.pmra-top,.pmra-card,.pmra-fol,.pmra-rhead{flex-direction:column;align-items:flex-start}.pmra-adv-row,.pmra-checks{grid-template-columns:1fr}.pmra-card-actions,.pmra-fol-actions,.pmra-rhead-actions,.pmra-foractions{justify-content:flex-start;align-items:flex-start}.pmra-change-row{grid-template-columns:1fr}}
/* phone (<=640px / ~360px): the rounded search bar is a non-wrapping flex row
   (icon + input + detect chip + Exact toggle + Search button) that overflows on a
   narrow phone. Let it wrap, let the input shrink, and drop the Search button onto
   its own full-width line below the input. Also harden the alert/quick-add form
   inputs so a text field can never push past the viewport once its row has stacked. */
@media(max-width:720px){.pmra-hero .pp-search-row{grid-template-columns:1fr}.pmra-hero .pp-search-actions{grid-column:1/-1}.pmra-hero .pp-search-actions>.btn{width:100%;justify-content:center}}
@media(max-width:640px){
  .pmra-searchbar{flex-wrap:wrap;border-radius:16px}
  .pmra-searchbar input{flex:1 1 120px;min-width:0}
  .pmra-detect{white-space:normal}
  .pmra-searchbar .btn{flex:1 1 100%;justify-content:center}
  .pmra-adv-row .field,.pmra-quickform .field,.pmra-alertform .field{min-width:0}
  .pmra-alertform input,.pmra-adv-row input,.pmra-quickform input,.pmra-quickform select{max-width:100%;min-width:0;box-sizing:border-box}
  .pmra-modebox,.pmra-modebox:has(.pmra-follow-form){max-width:100%}
  .pmra-mode{display:inline-flex;align-items:center;min-height:44px}
  .pmra-card-actions,.pmra-fol-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%;align-items:stretch}
  .pmra-card-actions>:is(.btn,form,details,.wb-picker),.pmra-fol-actions>:is(.btn,form,details,.wb-picker){width:100%;min-width:0}
  .pmra-card-actions :is(.btn,summary),.pmra-fol-actions :is(.btn,summary){width:100%;justify-content:center;box-sizing:border-box}
  .pmra-follow-details>summary,.pmra-field-pick span{min-height:44px}
  .pmra-follow-details>summary{width:100%;justify-content:center;box-sizing:border-box}
  .pmra-steps{grid-template-columns:1fr}
}.pr-wrap{max-width:var(--wrap);margin:0 auto;padding:2px 0 48px}
.pr-back{display:inline-flex;align-items:center;gap:6px;color:var(--graphite);text-decoration:none;font:700 .88rem var(--body);margin:0 0 14px;min-height:44px}
.pr-back:hover{color:var(--ink)}
.pr-back:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.pr-h1{font:700 1.4rem/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);margin:0;min-width:0}
.pr-card{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px}
.pr-steps{margin:-2px 0 18px;border-bottom:1.5px solid var(--line)}
.pr-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pr-steps li{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:12px 10px;color:var(--faint);font:700 .79rem/1.25 var(--body)}
.pr-steps li:first-child{padding-left:0}.pr-steps li:last-child{padding-right:0}
.pr-steps li>span{display:grid;place-items:center;width:25px;height:25px;flex:none;border:1.5px solid var(--line);border-radius:50%;background:var(--card);font-size:.72rem;font-variant-numeric:tabular-nums}
.pr-steps li>b{min-width:0;overflow-wrap:anywhere}
.pr-steps li.is-done,.pr-steps li.is-current{color:var(--ink)}
.pr-steps li.is-done>span{border-color:color-mix(in srgb,var(--ink) 38%,var(--line));background:color-mix(in srgb,var(--ink) 5%,var(--card))}
.pr-steps li.is-current:after{content:"";position:absolute;left:10px;right:10px;bottom:-1.5px;height:3px;border-radius:3px;background:var(--seal)}
.pr-form-section{grid-column:1 / -1;padding-top:5px;border-top:1.5px solid var(--line)}
.pr-form-section:first-of-type{padding-top:0;border-top:0}
.pr-form-section h2{margin:0;font:700 1.03rem/1.3 var(--display);color:var(--ink)}
.pr-form-section p{margin:4px 0 0;color:var(--graphite);font:400 .85rem/1.5 var(--body)}
.pr-lblrow{display:flex;align-items:center;gap:6px}
.pr-lblrow label{margin:0}
.pr-nudge{display:flex;gap:11px;align-items:flex-start;margin:0 0 16px;padding:14px 16px;border:1.5px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-left:4px solid var(--blue);border-radius:12px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.pr-nudge>.i{flex:none;color:var(--blue);margin-top:1px}
.pr-nudge a{display:inline-block;padding:5px 0;margin:-5px 0}
.pr-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pr-draft-note{grid-column:1 / -1;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--green) 5%,var(--card));color:var(--graphite)}
.pr-draft-note>.i{flex:none;margin-top:2px;color:var(--green)}
.pr-draft-note>div{display:flex;min-width:0;flex-direction:column;gap:2px}.pr-draft-note b{font:700 .85rem var(--body);color:var(--ink)}.pr-draft-note span{font:400 .8rem/1.45 var(--body)}
.pr-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pr-field-wide{grid-column:1 / -1}
.pr-field label{font:700 .86rem var(--body);color:var(--ink)}
.pr-field input,.pr-field select,.pr-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);font:400 .95rem var(--body);color:var(--ink);transition:border-color .12s,box-shadow .12s}
.pr-field input:focus,.pr-field select:focus,.pr-field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.pr-field textarea{resize:vertical;line-height:1.55;min-height:96px}
.pr-editor{font:400 .92rem/1.7 var(--body);min-height:360px}
.pr-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pr-fineprint{font-size:.82rem}
.pr-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:24px 0 12px}
.pr-library-head h2{margin:0;font:700 1.18rem/1.3 var(--display);color:var(--ink)}
.pr-library-head p{margin:4px 0 0;color:var(--graphite);font:400 .87rem/1.45 var(--body)}
.pr-library-count{flex:none;text-align:right;color:var(--graphite);font:500 .78rem/1.35 var(--body)}
.pr-library-count>b{font:700 1.35rem var(--display);color:var(--ink)}
.pr-library-count>span{display:block;color:var(--faint)}
.pr-doc{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:34px 38px;font:400 1.02rem/1.7 var(--display);color:var(--ink);white-space:normal;overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 16px}
.pr-empty-ic{color:var(--faint);margin-bottom:10px;line-height:1}
.pr-list{display:flex;flex-direction:column;gap:12px}
.pr-item{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;transition:box-shadow .15s,border-color .15s}
.pr-item:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--line) 60%,var(--ink))}
.pr-item-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-item-title{font:700 1.08rem/1.35 var(--display);letter-spacing:-.005em;margin:10px 0 0;overflow-wrap:anywhere}
.pr-item-title a{color:var(--ink);text-decoration:none}
.pr-item-title a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.pr-item-title a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}
.pr-item-meta{display:flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--faint);font:400 .84rem var(--body);font-variant-numeric:tabular-nums}
.pr-item-meta>.i{flex:none;color:var(--faint)}
.pr-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1.5px solid var(--line)}
.pr-pill{display:inline-block;padding:2px 9px;border-radius:99px;font:700 .68rem var(--body);letter-spacing:.04em;background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 30%,var(--line))}
.pr-pill-ok{background:color-mix(in srgb,var(--green) 8%,var(--card));color:var(--green);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.pr-pill-mut{background:color-mix(in srgb,var(--graphite) 12%,var(--card));color:var(--graphite);border-color:var(--line)}
/* Dark mode: .pr-pill/.pr-pill-ok/.pr-pill-mut tints are all color-mix blends that
 * already track the theme — the overrides below only deepen them for contrast. */
.app.theme-dark .pr-pill{background:color-mix(in srgb,var(--blue) 20%,transparent);border-color:color-mix(in srgb,var(--blue) 40%,transparent)}
.app.theme-dark .pr-pill-ok{background:color-mix(in srgb,var(--green) 20%,transparent);border-color:color-mix(in srgb,var(--green) 40%,transparent)}
.app.theme-dark .pr-pill-mut{background:color-mix(in srgb,var(--graphite) 16%,transparent)}
.pr-remain{display:inline-block;min-width:18px;padding:0 6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent);font:700 .74rem var(--body);font-variant-numeric:tabular-nums;text-align:center;vertical-align:middle}
/* Release titles are user text: the shared .pp-mast already floors the title block at 300px and
 * wraps the CTA row below when tight (inc/19) — here we only make sure one long unbroken token
 * (a pasted URL, a long compound) can never overflow the masthead title box. */
.pr-release .pp-mast h1{overflow-wrap:anywhere}
.pr-preflight{border:1.5px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-left:4px solid var(--blue);border-radius:14px;padding:16px 18px;margin:0 0 16px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.pr-preflight-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px;color:var(--ink);font:700 1rem var(--display)}
.pr-preflight-head .pr-fineprint{margin-left:auto;font-weight:400}
.pr-preflight-body{font:400 .95rem/1.65 var(--body);color:var(--ink);overflow-wrap:anywhere}
.pr-result-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 14px;margin:0 0 12px;border-bottom:1.5px solid var(--line)}
.pr-result-intro div{display:flex;flex-direction:column;gap:3px}
.pr-result-intro b{font:700 .95rem var(--body);color:var(--ink)}
.pr-result-intro span{font:400 .86rem/1.45 var(--body);color:var(--graphite)}
.pr-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:20px 0 8px}
.pr-section-label h2{margin:0;font:700 1.06rem/1.3 var(--display);color:var(--ink)}
.pr-section-label span{font:500 .76rem var(--body);color:var(--faint)}
.pr-editor-form{margin-top:18px;scroll-margin-top:90px}
.pr-editor-form:focus{outline:2px solid var(--ink);outline-offset:3px}
.pr-field small{font:400 .78rem/1.4 var(--body)}
.pr-row-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pr-export-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin:0 0 12px}
.pr-danger{color:var(--seal)}
@media(max-width:640px){
  .pr-form{grid-template-columns:1fr}
  .pr-card{padding:16px}
  .pr-steps li{align-items:flex-start;gap:6px;padding:10px 5px;font-size:.72rem}
  .pr-steps li:first-child{padding-left:0}.pr-steps li:last-child{padding-right:0}
  .pr-steps li>span{width:22px;height:22px;font-size:.66rem}
  .pr-library-head{align-items:flex-start;margin-top:20px}
  .pr-library-head{flex-direction:column;gap:8px}.pr-library-count{display:flex;align-items:baseline;gap:6px;padding-top:1px;text-align:left}.pr-library-count>span{display:inline}
  .pr-doc{padding:22px 18px;border-radius:12px;font-size:1rem}
  .pr-item-actions>.btn{flex:1 1 auto;justify-content:center;min-height:44px}
  .pr-export-row>.btn{flex:1 1 auto;justify-content:center;min-height:44px}
  .pr-row-tools>form{flex:1 1 auto;display:flex}
  .pr-row-tools>form>.btn{flex:1;justify-content:center;min-height:44px}
  .pr-form-actions>.btn{width:100%;justify-content:center;min-height:46px}
  .pr-section-label{align-items:flex-start}
}
@media print{
  body{background:#fff !important}
  .side,.topbar,.flashes,.stepper,.pp-mast,.pr-back,.pr-steps,.btn,.no-print{display:none !important}
  .content{padding:0}
  .pr-doc{border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;font-size:12pt;color:#000}
}.scs-wrap{max-width:var(--wrap);margin:0 auto;padding:2px 0 48px}
.scs-back{display:inline-flex;align-items:center;gap:6px;color:var(--graphite);text-decoration:none;font:700 .88rem var(--body);margin:0 0 14px;min-height:44px}
.scs-back:hover{color:var(--ink)}
.scs-back:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.scs-h1{font:700 1.4rem/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);margin:0;min-width:0}
.scs-card{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:20px}
.scs-steps{margin:-2px 0 18px;border-bottom:1.5px solid var(--line)}
.scs-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.scs-steps li{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:12px 10px;color:var(--faint);font:700 .79rem/1.25 var(--body)}
.scs-steps li:first-child{padding-left:0}.scs-steps li:last-child{padding-right:0}
.scs-steps li>span{display:grid;place-items:center;width:25px;height:25px;flex:none;border:1.5px solid var(--line);border-radius:50%;background:var(--card);font-size:.72rem;font-variant-numeric:tabular-nums}
.scs-steps li>b{min-width:0;overflow-wrap:anywhere}
.scs-steps li.is-done,.scs-steps li.is-current{color:var(--ink)}
.scs-steps li.is-done>span{border-color:color-mix(in srgb,var(--ink) 38%,var(--line));background:color-mix(in srgb,var(--ink) 5%,var(--card))}
.scs-steps li.is-current:after{content:"";position:absolute;left:10px;right:10px;bottom:-1.5px;height:3px;border-radius:3px;background:var(--seal)}
.scs-source{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:12px 0;border-bottom:1.5px solid var(--line);color:var(--graphite)}
.scs-source>.i{flex:none;color:var(--blue);margin-top:2px}.scs-source>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.scs-source b{font:700 .88rem var(--body);color:var(--ink)}.scs-source span{font:400 .82rem/1.45 var(--body)}.scs-source-pick{margin-top:4px}
.scs-source>a{flex:none;min-height:40px;display:inline-flex;align-items:center;font:700 .82rem var(--body)}
.scs-empty-ic{color:var(--faint);margin-bottom:10px;line-height:1}
.scs-nudge{display:flex;gap:11px;align-items:flex-start;margin:0 0 16px;padding:14px 16px;border:1.5px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-left:4px solid var(--blue);border-radius:12px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.scs-nudge>.i{flex:none;color:var(--blue);margin-top:1px}
.scs-nudge a{display:inline-block;padding:5px 0;margin:-5px 0}
.scs-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scs-draft-note{grid-column:1 / -1;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--green) 5%,var(--card));color:var(--graphite)}
.scs-draft-note>.i{flex:none;margin-top:2px;color:var(--green)}
.scs-draft-note>div{display:flex;min-width:0;flex-direction:column;gap:2px}.scs-draft-note b{font:700 .85rem var(--body);color:var(--ink)}.scs-draft-note span{font:400 .8rem/1.45 var(--body)}
.scs-form-section{grid-column:1 / -1;padding-top:5px;border-top:1.5px solid var(--line)}
.scs-form-section:first-of-type{padding-top:0;border-top:0}
.scs-form-section h2{margin:0;font:700 1.03rem/1.3 var(--display);color:var(--ink)}
.scs-form-section p{margin:4px 0 0;color:var(--graphite);font:400 .85rem/1.5 var(--body)}
.scs-channel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.scs-channel-heading>div{min-width:0}
.scs-channel-total{flex:none;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--blue) 6%,var(--card));color:var(--graphite);font:700 .75rem/1.3 var(--body);font-variant-numeric:tabular-nums}
.scs-channel-total.is-over{border-color:color-mix(in srgb,var(--seal) 45%,var(--line));background:color-mix(in srgb,var(--seal) 7%,var(--card));color:var(--seal)}
.scs-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.scs-field-wide{grid-column:1 / -1}
.scs-field label{font:700 .86rem var(--body);color:var(--ink)}
.scs-field input,.scs-field select,.scs-field textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);font:400 .95rem var(--body);color:var(--ink);transition:border-color .12s,box-shadow .12s}
.scs-field input:focus,.scs-field select:focus,.scs-field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.scs-field textarea{resize:vertical;line-height:1.55;min-height:90px}
.scs-platform-field{border:0;padding:0;margin:0;min-inline-size:0}
.scs-platform-field legend{margin:0 0 8px;padding:0;font:700 .86rem var(--body);color:var(--ink)}
.scs-plats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px}
.scs-plat{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--card)}
.scs-plat-ic{flex:none;color:var(--graphite)}
.scs-plat-lbl{flex:1;font:700 .9rem var(--body);color:var(--ink)}
.scs-plat select{width:90px;flex:none;min-height:40px;padding:6px 7px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);font:700 .86rem var(--body);color:var(--ink)}
.scs-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.scs-fineprint{font-size:.82rem}
.scs-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:24px 0 12px}
.scs-library-head h2{margin:0;font:700 1.18rem/1.3 var(--display);color:var(--ink)}
.scs-library-head p{margin:4px 0 0;color:var(--graphite);font:400 .87rem/1.45 var(--body)}
.scs-library-count{flex:none;text-align:right;color:var(--graphite);font:500 .78rem/1.35 var(--body)}
.scs-library-count>b{font:700 1.35rem var(--display);color:var(--ink)}
.scs-library-count>span{display:block;color:var(--faint)}
.scs-list{display:flex;flex-direction:column;gap:10px}
.scs-row{display:flex;align-items:center;gap:13px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink);transition:transform .14s cubic-bezier(.23,1,.32,1),box-shadow .15s,border-color .15s}
.scs-row:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--ink) 12%,var(--line))}
.scs-row-main{flex:1;min-width:0}
.scs-row-title{margin:0;font:700 1rem/1.35 var(--body);color:var(--ink);overflow-wrap:anywhere}
.scs-row-title a{color:var(--ink);text-decoration:none}.scs-row-title a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}.scs-row-title a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:3px}
.scs-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:.84rem}
.scs-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}
.scs-pill{display:inline-block;padding:2px 9px;border-radius:99px;font:700 .68rem var(--body);letter-spacing:.04em;background:color-mix(in srgb,var(--blue) 8%,var(--card));color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line))}
.scs-pill-ok{background:color-mix(in srgb,var(--green) 8%,var(--card));color:var(--green);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.scs-pill-mut{background:color-mix(in srgb,var(--graphite) 10%,var(--card));color:var(--graphite);border-color:var(--line)}
.app.theme-dark .scs-pill{background:color-mix(in srgb,var(--blue) 15%,var(--card));color:var(--blue);border-color:color-mix(in srgb,var(--blue) 34%,var(--line))}
.app.theme-dark .scs-pill-ok{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green);border-color:color-mix(in srgb,var(--green) 38%,transparent)}
.app.theme-dark .scs-pill-mut{background:color-mix(in srgb,var(--graphite) 16%,transparent);color:var(--graphite);border-color:var(--line)}
/* Set titles are user text: make sure one long unbroken token (a pasted URL, a long
 * compound) can never overflow the masthead title box (mirrors .pr-release .pp-mast h1). */
.scs-wrap .pp-mast h1{overflow-wrap:anywhere}
.scs-set-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 16px;margin:0 0 8px;border-bottom:1.5px solid var(--line)}
.scs-set-summary>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.scs-set-summary b{color:var(--ink)}
.scs-set-summary span{color:var(--graphite);font:400 .84rem/1.45 var(--body)}.scs-set-summary a{width:max-content;font:700 .82rem var(--body);margin-top:3px}
.scs-save-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 12px;border-radius:9px;background:color-mix(in srgb,var(--blue) 5%,var(--card));color:var(--graphite);font:400 .8rem/1.45 var(--body)}
.scs-save-note>.i{flex:none;margin-top:2px;color:var(--blue)}
.scs-progress{display:grid;grid-template-columns:auto minmax(90px,150px) auto;align-items:center;gap:8px;flex:none;font:700 .76rem var(--body);color:var(--graphite)}
.scs-progress progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:var(--line)}
.scs-progress progress::-webkit-progress-bar{background:var(--line);border-radius:99px}.scs-progress progress::-webkit-progress-value{background:var(--green);border-radius:99px}.scs-progress progress::-moz-progress-bar{background:var(--green);border-radius:99px}
.scs-plat-head{display:flex;align-items:center;gap:8px;margin:24px 0 12px;font:700 1.12rem var(--display);color:var(--ink)}
.scs-plat-head>.i{flex:none;color:var(--graphite)}
.scs-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin:0 0 6px}
.scs-post{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}
.scs-post-final{border-color:color-mix(in srgb,var(--green) 22%,var(--line));border-left:4px solid var(--green)}
.scs-post-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.scs-post-head h3{margin:0;font:700 .9rem var(--body);color:var(--ink)}
.scs-state{font:700 .7rem var(--body);color:var(--graphite)}.scs-state.is-final{color:var(--green)}
.scs-post-form{display:flex;flex-direction:column;gap:10px}
.scs-ed-label{font:700 .86rem var(--body);color:var(--ink)}
.scs-ed{width:100%;box-sizing:border-box;border:1.5px solid var(--control-border);border-radius:8px;padding:12px;font:400 .95rem/1.55 var(--body);color:var(--ink);background:var(--card);resize:vertical;min-height:140px;transition:border-color .12s,box-shadow .12s}
.scs-ed:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.scs-post-bot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}
.scs-count{font:700 .76rem var(--mono,ui-monospace,monospace);font-variant-numeric:tabular-nums;color:var(--graphite)}
.scs-count.over{color:var(--seal)}
.scs-count.warn{color:var(--amber)}
.scs-count .scs-count-tag{font-weight:700;letter-spacing:.02em}
.scs-post-tools .btn.sm,.scs-post-btns .btn.sm{min-height:36px}
.scs-post-tools .scs-danger{min-width:36px;justify-content:center}
.scs-save{min-width:90px;border-color:color-mix(in srgb,var(--ink) 55%,var(--line));background:color-mix(in srgb,var(--ink) 4%,var(--card))}
.scs-post-btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scs-status{min-height:40px;padding:7px 9px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);font:700 .82rem var(--body);color:var(--ink)}
.scs-post-tools{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.scs-img{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.scs-subhead{flex:1 1 100%;font:700 .8rem var(--body);color:var(--graphite)}
.scs-img-thumb{width:84px;height:84px;border-radius:10px;border:1px solid var(--line);object-fit:cover;flex:none}
.scs-img-up{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scs-img-up input[type=file]{font:400 .82rem var(--body);max-width:210px;color:var(--graphite)}
.scs-alt{box-sizing:border-box;border:1.5px solid var(--control-border);border-radius:8px;padding:9px 10px;font:400 .88rem var(--body);color:var(--ink);background:var(--card)}
.scs-alt:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.scs-pf{border:1.5px solid color-mix(in srgb,var(--blue) 24%,var(--line));border-left:4px solid var(--blue);border-radius:10px;padding:12px 14px;font:400 .9rem/1.6 var(--body);color:var(--ink);overflow-wrap:anywhere;background:color-mix(in srgb,var(--blue) 5%,var(--card))}
.scs-pf-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scs-pf-head .scs-fineprint{margin-left:auto;font-weight:400}
.scs-pf-body{margin-top:6px}
.scs-danger{color:var(--seal)}
.scs-set-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;padding-top:16px;border-top:1.5px solid var(--line)}
.scs-set-foot>div{display:flex;flex-direction:column;gap:2px}.scs-set-foot>div>b{font:700 .86rem var(--body);color:var(--ink)}.scs-set-foot>div>span{font:400 .78rem/1.4 var(--body);color:var(--faint)}
.scs-copy-lbl{display:inline}
@media(max-width:640px){
  .scs-form{grid-template-columns:1fr}
  .scs-posts{grid-template-columns:1fr}
  .scs-card{padding:16px}
  .scs-steps li{align-items:flex-start;gap:6px;padding:10px 5px;font-size:.72rem}
  .scs-steps li:first-child{padding-left:0}.scs-steps li:last-child{padding-right:0}
  .scs-steps li>span{width:22px;height:22px;font-size:.66rem}
  .scs-source{flex-wrap:wrap}.scs-source>a{margin-left:27px}
  .scs-library-head{align-items:flex-start;flex-direction:column;gap:8px;margin-top:20px}.scs-library-count{display:flex;align-items:baseline;gap:6px;padding-top:1px;text-align:left}.scs-library-count>span{display:inline}
  .scs-row{align-items:flex-start;flex-direction:column}.scs-row-actions{width:100%;padding-top:11px;border-top:1px solid var(--line)}.scs-row-actions>.btn{flex:1;justify-content:center;min-height:44px}
  .scs-set-summary{align-items:flex-start;flex-direction:column}.scs-progress{width:100%;grid-template-columns:auto 1fr auto}
  .scs-channel-heading{align-items:flex-start;flex-direction:column}.scs-channel-total{align-self:flex-start}
  .scs-img-up input[type=file]{max-width:100%}
  .scs-plat select,.scs-status{min-height:44px}
  .scs-post-tools .btn.sm,.scs-post-btns .btn.sm{min-height:44px}
  .scs-post-btns{width:100%}.scs-status{flex:1 1 100%}.scs-post-btns>.btn{flex:1;justify-content:center}
  .scs-form-actions>.btn{width:100%;justify-content:center;min-height:46px}
  .scs-set-foot{align-items:flex-start;flex-direction:column}.scs-set-foot form,.scs-set-foot .btn{width:100%}.scs-set-foot .btn{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.scs-row{transition:none}.scs-row:hover{transform:none}}.wc-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0}.wc-page-actions>.btn{max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;text-align:center}@media(max-width:640px){.wc-page-actions>.btn{width:100%;justify-content:center}}
.wc-wrap{max-width:1180px;margin:0 auto}.wc-wrap .pp-monitor-how{margin:0 0 24px}.wc-kicker{display:block;font:700 .72rem var(--body);letter-spacing:.09em;color:var(--seal);margin-bottom:5px}.wc-empty{display:flex;align-items:center;gap:18px;margin-top:24px;padding:26px}.wc-empty h2,.wc-empty b{color:var(--ink)}.wc-empty>div{flex:1;min-width:0}.wc-empty h2{margin:0 0 6px;font-size:1.35rem}.wc-empty p{margin:0;max-width:720px}.wc-empty-ic,.wc-dash-icon{width:52px;height:52px;border-radius:var(--r);background:color-mix(in srgb,var(--seal) 10%,var(--paper));color:var(--seal);display:grid;place-items:center;flex:0 0 auto}.wc-setup-empty{align-items:flex-start}.wc-setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:20px 0 0;padding:0}.wc-setup-steps li{display:flex;align-items:flex-start;gap:9px;padding-top:11px;border-top:1px solid var(--line)}.wc-setup-steps li>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;background:var(--ink);color:var(--paper);border-radius:var(--r-sm);font:800 .72rem var(--body)}.wc-setup-steps li div{display:flex;flex-direction:column;gap:2px}.wc-setup-steps small{color:var(--graphite);line-height:1.4}
.wc-cover{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:24px 0 12px;padding:24px;border-top:4px solid var(--seal)}.wc-cover h2{font-size:1.55rem;margin:0 0 6px}.wc-cover p{margin:0;color:var(--graphite)}.wc-cover-meta{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:4px;min-width:210px}.wc-cover-meta span{font-size:.82rem;color:var(--graphite)}.wc-snapshot{margin:0 0 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}.wc-snapshot dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.wc-snapshot dl>div{min-width:0;padding:13px 15px;border-right:1px solid var(--line)}.wc-snapshot dl>div:last-child{border-right:0}.wc-snapshot dt{font:700 .68rem var(--body);letter-spacing:.055em;text-transform:uppercase;color:var(--graphite)}.wc-snapshot dd{margin:4px 0 0;font-weight:800;line-height:1.35;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.wc-priority-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}.wc-priority-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 14px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r-sm);background:var(--card);color:var(--ink);text-decoration:none;font-weight:800}.wc-priority-link>span{display:flex;flex-direction:column;min-width:0}.wc-priority-link strong{font:800 .88rem var(--body)}.wc-priority-link small{margin-top:2px;color:var(--graphite);font:700 .74rem/1.3 var(--body)}.wc-priority-link.band-act{border-left-color:var(--seal)}.wc-priority-link.band-prepare{border-left-color:var(--amber)}.wc-priority-link b{font-size:1.08rem;font-variant-numeric:tabular-nums}.wc-priority-link:not(.is-empty):hover,.wc-priority-link:not(.is-empty):focus-visible{border-color:var(--ink);transform:translateY(-1px)}.wc-priority-link.is-empty{color:var(--graphite);background:var(--paper)}.wc-section{margin:30px 0;scroll-margin-top:80px}.wc-section-head,.wc-log-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.wc-section-head h2,.wc-log-head h2{margin:0}.wc-section-head>span,.wc-count{min-width:36px;padding:3px 11px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:700 .82rem var(--body);color:var(--graphite);font-variant-numeric:tabular-nums;white-space:nowrap}.wc-log-head p{margin:3px 0 0;color:var(--graphite)}.wc-log-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto}.wc-log-results{min-width:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}
.wc-log-row{border-bottom:1px solid var(--line)}.wc-log-row:last-child{border-bottom:0}.wc-log-row>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:56px;padding:10px 16px 10px 12px;border-left:4px solid var(--blue);cursor:pointer;list-style:none}.wc-log-row>summary::-webkit-details-marker{display:none}.wc-log-row.band-act>summary{border-left-color:var(--seal)}.wc-log-row.band-prepare>summary{border-left-color:var(--amber)}.wc-log-row.band-routine>summary{border-left-color:var(--graphite)}.wc-log-main{display:flex;flex-direction:column;min-width:0}.wc-log-main b{overflow-wrap:anywhere}.wc-log-main small{color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wc-log-row>summary time{color:var(--faint);font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.wc-log-chev{color:var(--graphite);display:inline-flex}.wc-log-chev svg{transition:transform .15s}.wc-log-row>summary:hover{background:var(--paper)}.wc-log-row[open]>summary{background:var(--paper)}.wc-log-row[open] .wc-log-chev svg{transform:rotate(90deg)}.wc-log-row>summary:focus-visible{outline:3px solid var(--seal);outline-offset:-3px}.wc-log-detail{padding:4px 16px 16px}.wc-log-detail .wc-item{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 2px 2px}
.wc-source-warning,.wc-delivery-state{display:flex;align-items:flex-start;gap:10px;margin:0 0 24px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--amber) 10%,transparent);color:color-mix(in srgb,var(--amber) 55%,var(--ink))}.wc-source-warning>svg,.wc-delivery-state>svg{flex:0 0 auto;color:var(--amber)}.wc-source-warning>div,.wc-delivery-state>div{display:flex;flex-direction:column;min-width:0}.wc-source-warning span,.wc-delivery-state span{overflow-wrap:anywhere}.wc-delivery-state{margin:0 0 14px}.wc-delivery-state.ok{border-color:color-mix(in srgb,var(--green) 40%,var(--line));background:color-mix(in srgb,var(--green) 10%,transparent);color:color-mix(in srgb,var(--green) 55%,var(--ink))}.wc-delivery-state.ok>svg{color:var(--green)}
.wc-source-access{margin:0 0 18px}
.wc-shared-note,.wc-context-note,.wc-paused-advisory,.wc-optout-advisory{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.wc-shared-note>div,.wc-context-note>div,.wc-paused-advisory>div,.wc-optout-advisory>div{display:flex;flex:1;flex-direction:column;min-width:0}.wc-shared-note span,.wc-context-note small,.wc-paused-advisory span,.wc-optout-advisory span{color:var(--graphite);overflow-wrap:anywhere}.wc-context-note{margin:0 0 18px;padding:11px 16px}.wc-context-note>div{flex-direction:row;align-items:baseline;column-gap:10px;flex-wrap:wrap}.wc-context-label{font:700 .7rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--seal)}.wc-paused-advisory{border-color:color-mix(in srgb,var(--seal) 42%,var(--line));border-left:4px solid var(--seal);background:color-mix(in srgb,var(--seal) 7%,var(--paper))}.wc-paused-advisory>svg,.wc-optout-advisory>svg{flex:0 0 auto;color:var(--seal)}.wc-optout-advisory{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 7%,transparent)}.wc-optout-advisory>svg{color:var(--blue)}.wc-opted-out{color:var(--graphite)}
.wc-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:22px 0}.wc-page-prev{justify-self:start}.wc-page-next{justify-self:end}.wc-page-prev svg{transform:rotate(180deg)}.wc-page-count{color:var(--graphite);font-weight:700;text-align:center}.wc-page-gap{min-height:1px}
.wc-item{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r);padding:20px 22px;margin-bottom:13px;overflow-wrap:anywhere}.wc-item.band-act{border-left-color:var(--seal)}.wc-item.band-prepare{border-left-color:var(--amber)}.wc-item.band-routine{border-left-color:var(--graphite)}.wc-item-top{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.wc-band{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);font:800 .7rem var(--body);letter-spacing:.035em;text-transform:uppercase}.band-act .wc-band{background:color-mix(in srgb,var(--seal) 10%,transparent);color:var(--seal)}.band-prepare .wc-band{background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--amber)}.band-routine .wc-band{background:color-mix(in srgb,var(--graphite) 12%,transparent);color:var(--graphite)}.wc-source,.wc-trust{display:inline-flex;align-items:center;gap:4px;color:var(--graphite);font:700 .78rem var(--body)}.wc-source-count{display:inline-flex;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);font:800 .68rem var(--body)}.wc-trust{margin-left:auto;font-weight:700}.wc-item h3{font-size:1.28rem;line-height:1.25;margin:10px 0 14px}.wc-copy{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wc-copy section{border-radius:var(--r-sm);background:var(--paper);padding:13px 14px}.wc-copy h4{font:700 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);margin:0 0 6px}.wc-copy p{margin:0;line-height:1.55}.wc-copy section.wc-analysis{background:color-mix(in srgb,var(--blue) 7%,var(--paper))}.wc-analysis h4{color:var(--blue)}.wc-compare-scroll{max-width:100%;overflow-x:auto;margin-top:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);-webkit-overflow-scrolling:touch}.wc-compare{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.84rem}.wc-compare caption{text-align:left;padding:11px 13px;background:var(--paper);border-bottom:1px solid var(--line)}.wc-compare caption strong,.wc-compare caption span{display:block}.wc-compare caption span{margin-top:2px;color:var(--graphite);font-size:.76rem}.wc-compare th,.wc-compare td{text-align:left;vertical-align:top;padding:8px 11px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.wc-compare thead th{color:var(--graphite);font:700 .69rem var(--body);letter-spacing:.04em;text-transform:uppercase}.wc-compare tbody th{width:24%;font-weight:750}.wc-compare tbody tr:last-child>*{border-bottom:0}.wc-empty-value{color:var(--graphite)}.wc-compare-more{margin:6px 2px 0;color:var(--graphite);font-size:.76rem}.wc-reasons{margin:12px 0 0}.wc-reasons summary{cursor:pointer;font:700 .82rem var(--body);color:var(--graphite);display:inline-flex;align-items:center;gap:5px}.wc-reasons ul{margin:8px 0 0;padding-left:20px;color:var(--graphite);font-size:.88rem}.wc-evidence{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:15px;padding-top:14px}.wc-evidence>div:first-child{display:flex;flex-direction:column}.wc-evidence span{font-size:.78rem;color:var(--graphite)}.wc-citations{position:relative}.wc-citations>summary{cursor:pointer;list-style:none}.wc-citations>summary::-webkit-details-marker{display:none}.wc-citations>summary::after,.wc-reasons>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;flex:0 0 auto;margin-left:4px;margin-bottom:3px}.wc-citations[open]>summary::after,.wc-reasons[open]>summary::after{transform:rotate(225deg);margin-bottom:-2px}.wc-citation-list{position:absolute;z-index:5;right:0;top:calc(100% + 6px);display:grid;min-width:260px;padding:7px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow)}.wc-citation-list a,.wc-citation-list>span{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 9px;border-radius:calc(var(--r-sm) - 2px);color:var(--ink);text-decoration:none}.wc-citation-list a:hover,.wc-citation-list a:focus-visible{background:color-mix(in srgb,var(--ink) 6%,var(--card))}.wc-citation-list small{color:var(--graphite);white-space:nowrap}.wc-next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--seal) 5%,var(--paper));border:1px solid color-mix(in srgb,var(--seal) 20%,var(--line))}.wc-next-action>div{display:flex;flex-direction:column;min-width:0}.wc-next-action span{color:var(--graphite);font-size:.8rem}.wc-next-action .btn{flex:0 0 auto}.wc-routine{padding:16px 20px}.wc-routine summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:8px}.wc-routine p{color:var(--graphite)}.wc-reasons>summary:focus-visible,.wc-routine>summary:focus-visible,.wc-citations>summary:focus-visible{outline:3px solid var(--seal);outline-offset:3px;border-radius:var(--r-sm)}
.wc-filters{margin:24px 0 18px}.wc-filters .pp-filter-field.is-query{flex:2 1 240px}.wc-settings-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:25px 0 14px}.wc-settings-intro h2{margin:0 0 5px}.wc-settings-intro p{margin:0;color:var(--graphite)}.wc-status{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--graphite) 13%,transparent);color:var(--graphite);font:800 .75rem var(--body);white-space:nowrap}.wc-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--faint)}.wc-status.on{background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green)}.wc-status.on:before{background:var(--green)}.wc-settings-overview{margin:0 0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}.wc-settings-overview dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.wc-settings-overview dl>div{min-width:0;padding:14px 16px;border-right:1px solid var(--line)}.wc-settings-overview dl>div:last-child{border-right:0}.wc-settings-overview dt{font:700 .68rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}.wc-settings-overview dd{margin:4px 0 0;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.wc-settings-jumps{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 14px}.wc-settings-jumps span{margin-right:3px;color:var(--graphite);font:700 .7rem var(--body);letter-spacing:.05em;text-transform:uppercase}.wc-settings-jumps a{display:inline-flex;align-items:center;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:750}.wc-settings-jumps a:hover,.wc-settings-jumps a:focus-visible{border-color:var(--ink);background:var(--paper)}.wc-settings-form{display:grid;gap:14px}.wc-setting-card{padding:22px;scroll-margin-top:80px}.wc-setting-head{display:flex;gap:13px;margin-bottom:18px}.wc-setting-head>span{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--ink);color:var(--paper);font:800 .82rem var(--body);flex:0 0 auto}.wc-setting-head h3{margin:0 0 3px}.wc-setting-head p{margin:0;color:var(--graphite);max-width:830px}.wc-toggle-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;background:var(--paper);border-radius:var(--r-sm);margin-bottom:16px}.wc-toggle-row .check{margin:0;font-weight:800}.wc-toggle-row>span{color:var(--graphite);font-size:.85rem}.wc-weekly-field>.field{margin:0}.wc-personal-recipient,.wc-team-recipients{margin-top:14px}.wc-next{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:13px}.wc-next span{color:var(--graphite);text-align:right}.wc-sources{border:0;padding:0;margin:18px 0 0}.wc-sources legend{font-weight:800;margin-bottom:10px}.wc-source-group{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--line)}.wc-source-group>div{display:flex;flex-wrap:wrap;gap:10px 18px}.wc-recipient-list{display:grid;gap:9px}.wc-recipient{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,.8fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm)}.wc-recipient>div:first-child{align-self:center;min-width:0}.wc-recipient .check{font-weight:800}.wc-recipient small{display:block;color:var(--graphite);margin-left:28px;overflow-wrap:anywhere}.wc-recipient .field{margin:0}.wc-recipient-self{display:flex;gap:12px;align-items:flex-start;padding:15px;background:var(--paper);border-radius:var(--r-sm)}.wc-recipient-self>div{display:flex;flex-direction:column;min-width:0}.wc-recipient-self span,.wc-recipient-self small{color:var(--graphite);overflow-wrap:anywhere}.wc-savebar,.wc-test-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.wc-savebar>div,.wc-test-row>div{display:flex;flex-direction:column}.wc-savebar span,.wc-test-row span{color:var(--graphite);font-size:.85rem}.wc-test-row{margin-top:14px}
.wc-handoff{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0 6px;padding:20px 22px;border-left:4px solid var(--ink)}.wc-handoff>div:first-child{min-width:0}.wc-handoff h2{margin:0 0 4px;font-size:1.2rem}.wc-handoff p{margin:0;max-width:720px;color:var(--graphite)}.wc-handoff-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.wc-dash{display:block;margin:0 0 18px!important;border-top:4px solid var(--seal);padding:20px 22px}.wc-dash-setup{display:flex;align-items:center;gap:16px}.wc-dash-main{flex:1;min-width:0}.wc-dash h3{margin:0 0 4px;font-size:1.25rem}.wc-dash p{margin:0;color:var(--graphite)}.wc-dash-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.wc-dash-items{display:grid;margin:15px 0 0;border-top:1px solid var(--line)}.wc-dash-items>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.wc-dash-items a>div{display:flex;flex-direction:column;min-width:0}.wc-dash-items b,.wc-dash-items small{overflow-wrap:anywhere}.wc-dash-items small{color:var(--graphite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:880px}.wc-dash-label{font-weight:800;color:var(--ink)}.wc-dash-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;margin-top:15px}
@media(max-width:900px){.wc-copy{grid-template-columns:1fr}.wc-recipient{grid-template-columns:1fr}.wc-recipient>div:first-child{grid-column:auto}.wc-source-group{grid-template-columns:1fr;gap:8px}.wc-settings-overview dl,.wc-snapshot dl{grid-template-columns:1fr 1fr}.wc-settings-overview dl>div:nth-child(2),.wc-snapshot dl>div:nth-child(2){border-right:0}.wc-settings-overview dl>div:nth-child(-n+2),.wc-snapshot dl>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.wc-handoff{align-items:flex-start;flex-direction:column}.wc-handoff-actions{justify-content:flex-start}}
@media(max-width:640px){.wc-empty,.wc-dash-setup{align-items:flex-start;flex-direction:column}.wc-empty>.btn,.wc-dash-setup>.btn{width:100%}.wc-setup-steps,.wc-priority-nav{grid-template-columns:1fr}.wc-cover,.wc-settings-intro,.wc-next,.wc-savebar,.wc-test-row,.wc-dash-head,.wc-shared-note,.wc-context-note,.wc-paused-advisory,.wc-optout-advisory,.wc-next-action,.wc-log-head{align-items:stretch;flex-direction:column}.wc-cover{margin-top:18px}.wc-cover-meta{align-items:flex-start;text-align:left;min-width:0}.wc-log-actions{justify-content:space-between}.wc-item{padding:17px 16px}.wc-trust{margin-left:0}.wc-evidence{align-items:stretch;flex-direction:column}.wc-citations>summary,.wc-next-action>.btn{width:100%;justify-content:center;min-height:44px}.wc-citation-list{position:static;min-width:0;margin-top:6px;box-shadow:none}.wc-citation-list a,.wc-citation-list>span{align-items:flex-start;flex-direction:column;gap:2px}.wc-citation-list small{white-space:normal}.wc-compare th,.wc-compare td{padding:8px 7px}.wc-reasons>summary,.wc-routine>summary{min-height:44px;align-items:center}.wc-filters .pp-filter-actions,.wc-filters .pp-filter-actions .btn{width:100%}.wc-log-row>summary{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.wc-log-row>summary .wc-band{order:-1;justify-self:start}.wc-log-row>summary .wc-log-main{grid-column:1/-1}.wc-log-row>summary .wc-log-chev{display:none}.wc-log-main small{white-space:normal}.wc-recipient{grid-template-columns:1fr}.wc-recipient>div:first-child{grid-column:auto}.wc-savebar .btn,.wc-test-row .btn,.wc-shared-note .btn,.wc-context-note .btn,.wc-paused-advisory .btn,.wc-optout-advisory .btn{width:100%}.wc-settings-overview dl,.wc-snapshot dl{grid-template-columns:1fr}.wc-settings-overview dl>div,.wc-snapshot dl>div{border-right:0;border-bottom:1px solid var(--line)}.wc-settings-overview dl>div:last-child,.wc-snapshot dl>div:last-child{border-bottom:0}.wc-settings-jumps{display:grid;grid-template-columns:1fr 1fr}.wc-settings-jumps span{grid-column:1/-1}.wc-settings-jumps a{justify-content:center;min-height:44px}.wc-settings-jumps a:last-child{grid-column:1/-1}.wc-pagination{grid-template-columns:1fr 1fr}.wc-page-count{grid-column:1/-1;grid-row:1}.wc-page-prev{grid-column:1;grid-row:2}.wc-page-next{grid-column:2;grid-row:2}.wc-pagination .btn{width:100%;justify-content:center;min-height:44px}.wc-handoff-actions{width:100%;flex-direction:column}.wc-handoff-actions .btn{width:100%;justify-content:center}.wc-dash-actions{flex-direction:column}.wc-dash-actions .btn{width:100%}.wc-dash-items>a{grid-template-columns:1fr auto;min-height:44px}.wc-dash-items .wc-band{grid-column:1/-1;width:max-content}.wc-dash-items small{white-space:normal}.wc-source-group>div{display:grid;grid-template-columns:1fr}.wc-setting-card{padding:18px 15px}}
.wc-next-action>.wc-next-buttons{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;flex:0 0 auto}
@media(max-width:640px){.wc-next-action>.wc-next-buttons{width:100%;align-items:stretch;flex-direction:column}.wc-next-buttons>.btn,.wc-next-buttons>.wc-citations,.wc-next-buttons>.wb-add-form,.wc-next-buttons>.wb-picker{width:100%}.wc-next-buttons>.wb-add-form>.btn,.wc-next-buttons>.wb-picker>summary{width:100%;justify-content:center;min-height:44px}}
@media(pointer:coarse){.wc-settings-jumps a,.wc-citations>summary,.wc-pagination .btn,.wc-next-buttons>.btn,.wc-reasons>summary,.wc-routine>summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){.wc-priority-link:not(.is-empty):hover,.wc-priority-link:not(.is-empty):focus-visible{transform:none}.wc-log-chev svg,.wc-citations>summary::after,.wc-reasons>summary::after{transition:none}}
@media print{.wc-wrap .pp-monitor-how,.wc-tabs,.wc-settings-intro,.wc-settings-overview,.wc-settings-jumps,.wc-settings-form,.wc-test-row,.wc-next-action,.wc-priority-nav,.wc-snapshot,.wc-handoff,.wc-filters,.wc-pagination,.wc-citations,.wc-reasons,.wc-log-chev{display:none!important}.wc-item{box-shadow:none;break-inside:avoid;border-radius:0}.wc-copy{grid-template-columns:1fr}.wc-analysis{background:#fff!important}.wc-cover{border-radius:0;box-shadow:none}.wc-compare-scroll{overflow:visible}.wc-citation-list{position:static;box-shadow:none}}
/* Monitor consistency: quiet full borders, neutral content sections, and the shared stable pager. */
.wc-kicker{letter-spacing:0;color:var(--graphite)}
.wc-empty-ic,.wc-dash-icon{background:var(--paper);color:var(--ink)}
.wc-cover,.wc-dash{border-top:1px solid var(--line)}
.wc-wrap .wc-priority-link,.wc-wrap .wc-item,.wc-wrap .wc-handoff{border-left:1px solid var(--line)}
.wc-wrap .wc-log-row>summary{border-left:0}
.wc-priority-link:not(.is-empty):hover,.wc-priority-link:not(.is-empty):focus-visible{transform:none}
.wc-copy section{border:1px solid var(--line);background:var(--card)}
.wc-copy section.wc-analysis{background:var(--card)}.wc-analysis h4{color:var(--graphite)}
.wc-next-action{background:var(--card);border-color:var(--line)}
.wc-pagination{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:22px 0}
.wc-page-prev,.wc-page-next{justify-self:auto}.wc-page-count{font-size:.82rem;font-variant-numeric:tabular-nums}.wc-pagination .disabled{opacity:.45;pointer-events:none}
@media(max-width:640px){.wc-pagination{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wc-page-count{grid-column:1/-1;grid-row:1}.wc-page-prev{grid-column:1;grid-row:2;justify-self:stretch}.wc-page-next{grid-column:2;grid-row:2;justify-self:stretch}.wc-pagination .btn{width:100%;justify-content:center}.wc-log-row>summary .wc-log-chev{display:none}}
.wc-copy{grid-template-columns:1fr}.wc-advanced{margin:14px 0;border-top:1px solid var(--line);padding-top:12px}.wc-advanced>summary{cursor:pointer;font-weight:700;min-height:32px;align-content:center}.wc-advanced>summary:focus-visible{outline:3px solid var(--seal);outline-offset:3px}.wc-advanced>p{margin:10px 0;color:var(--graphite)}.wc-preview-actions{display:flex;gap:10px;flex-wrap:wrap}.wc-preview-actions form{margin:0}.wc-recipient{grid-template-columns:1fr}.wc-item .wc-next-action{padding:12px 0 0;border:0;border-top:1px solid var(--line);border-radius:0}.wc-next-action>span{font-size:.8rem;color:var(--graphite)}.wc-preview-actions button:disabled{opacity:.5;cursor:not-allowed}.wc-settings-form .wc-sources{margin-top:0}.wc-advanced .wc-snapshot{margin-top:12px}
@media(max-width:640px){.wc-preview-actions,.wc-preview-actions form,.wc-preview-actions .btn{width:100%}.wc-preview-actions{flex-direction:column}.wc-advanced>summary{min-height:44px}.wc-tabs.pp-module-tabs{gap:3px}.wc-tabs .pp-module-tab{flex:1;min-width:0;padding:10px 8px;gap:5px;font-size:.82rem;white-space:normal;justify-content:center;text-align:center}}.content:has(>.wci){max-width:1680px}
.wci{display:flex;flex-direction:column;gap:12px;min-width:0}
.wci-head{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap}
.wci-search{position:relative;flex:1 1 320px;max-width:640px;margin:0}
.wci-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--graphite);pointer-events:none}
.wci-search input{width:100%;min-height:40px;margin:0;padding:8px 14px 8px 36px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit}
.wci-search input:focus-visible{outline:3px solid var(--seal);outline-offset:1px}
.wci-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.wci-email-btn{display:inline-flex;align-items:center;gap:7px;min-height:38px;white-space:nowrap}
.wci-email-warn{border:1px solid color-mix(in srgb,var(--amber) 55%,var(--line));background:color-mix(in srgb,var(--amber) 12%,var(--card));color:var(--ink)}
.wci-email-warn:hover{background:color-mix(in srgb,var(--amber) 20%,var(--card));text-decoration:none}.wci-email-warn>svg{color:var(--amber)}
.wci-icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:none;color:var(--graphite);cursor:pointer}
.wci-icon-btn:hover{background:color-mix(in srgb,var(--ink) 8%,var(--card));color:var(--ink)}
.wci-icon-btn:focus-visible{outline:3px solid var(--seal);outline-offset:1px;color:var(--ink)}
.wci-keys-btn kbd,.wci-keys kbd{display:inline-block;min-width:1.5em;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--paper);font:700 .75rem var(--mono,monospace);text-align:center;color:var(--ink)}
.wci-shell{display:grid;grid-template-columns:clamp(190px,16%,240px) clamp(260px,30%,360px) minmax(0,1fr);height:calc(100vh - 170px);height:calc(100dvh - 170px);min-height:400px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}
/* Each pane is the containing block for its absolutely positioned screen-reader text; otherwise that text escapes the pane's scroll clip and stretches the page. */
.wci-folders{position:relative;min-height:0;overflow:auto;padding:10px 8px 14px;border-right:1px solid var(--line);background:var(--paper)}
.wci-folders ul{list-style:none;margin:0;padding:0}
.wci-f{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 10px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem}
.wci-f:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);text-decoration:none}
.wci-f.on{background:color-mix(in srgb,var(--blue) 14%,var(--card));font-weight:800}
.wci-f>svg{flex:0 0 auto;color:var(--graphite)}.wci-f.on>svg{color:var(--blue)}
.wci-f-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wci-n{margin-left:auto;font:800 .78rem var(--body);color:var(--blue);font-variant-numeric:tabular-nums}.wci-n.is-total{color:var(--graphite)}
.wci-fh{margin:16px 10px 6px;font:700 .68rem var(--body);letter-spacing:.07em;text-transform:uppercase;color:var(--graphite)}
.wci-list{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}
.wci-list-head{display:flex;align-items:center;gap:6px;min-height:50px;padding:6px 8px 6px 4px;border-bottom:1px solid var(--line)}
.wci[data-folder=briefings] .wci-list-head{padding-left:14px}
.wci-list-head.is-selecting{background:color-mix(in srgb,var(--blue) 7%,var(--card))}
.wci-list-head.is-selecting .wci-list-title,.wci-list-head.is-selecting .wci-folder-menu,.wci-list-head.is-selecting .wci-readall{display:none}
.wci-list-title{flex:1;min-width:0;margin:0;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wci-folder-menu{display:none;flex:1;min-width:0;position:relative}
.wci-folder-menu>summary{display:inline-flex;align-items:center;gap:6px;min-height:40px;cursor:pointer;font-weight:800;font-size:1.02rem;list-style:none}
.wci-folder-menu>summary::-webkit-details-marker{display:none}
.wci-folder-menu>nav{position:absolute;z-index:20;left:-6px;top:calc(100% + 4px);width:min(300px,86vw);max-height:70vh;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);box-shadow:var(--shadow)}
.wci-bulkbar{display:none;align-items:center;gap:2px;flex:1;min-width:0}.wci-bulkbar.is-active{display:flex}
.wci-bulkbar>span{margin-right:auto;padding-left:2px;font:700 .86rem var(--body);color:var(--ink);white-space:nowrap}
.wci:not(.wci-js) .wci-check{visibility:hidden}
.wci-pill{display:flex;justify-content:center;padding:6px;border-bottom:1px solid var(--line)}.wci-pill[hidden]{display:none}
.wci-scroll{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.wci-day{position:sticky;top:0;z-index:2;margin:0;padding:8px 14px 5px;background:var(--card);border-bottom:1px solid var(--line);font:800 .72rem var(--body);letter-spacing:.05em;text-transform:uppercase;color:var(--graphite)}
.wci-rows{list-style:none;margin:0;padding:0}
.wci-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;border-bottom:1px solid var(--line);background:var(--card)}
.wci-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.wci-row.is-unread::before{background:var(--blue)}
.wci-row:hover{background:color-mix(in srgb,var(--ink) 4%,var(--card))}
.wci-row.is-selected{background:color-mix(in srgb,var(--blue) 12%,var(--card))}
.wci-row.is-flagged{background:color-mix(in srgb,var(--amber) 9%,var(--card))}.wci-row.is-flagged.is-selected{background:color-mix(in srgb,var(--blue) 12%,var(--card))}
.wci-check{display:flex;align-items:flex-start;justify-content:center;padding:13px 0 0 6px;margin:0;cursor:pointer}
.wci-check input{width:16px;height:16px;margin:0;opacity:.35;accent-color:var(--blue)}
.wci-row:hover .wci-check input,.wci-check input:focus-visible,.wci-check input:checked,.wci-check-all input{opacity:1}
.wci-check-all{padding:0 4px}
.wci-row.is-run{grid-template-columns:minmax(0,1fr)}.wci-row.is-run .wci-row-link{padding-left:14px}
.wci-row-link{display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 14px 11px 4px;color:var(--ink);text-decoration:none}
.wci-row-link:hover{text-decoration:none}
.wci-row-link:focus-visible{outline:3px solid var(--seal);outline-offset:-3px;border-radius:4px}
.wci-row-top{display:flex;align-items:center;gap:6px;min-width:0}
.wci-from{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:1;color:var(--graphite);font:700 .8rem var(--body)}
.wci-from>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wci-row.is-unread .wci-from{color:var(--ink);font-weight:800}
.wci-row-top time{flex:0 0 auto;color:var(--graphite);font:700 .76rem var(--body);font-variant-numeric:tabular-nums}
.wci-row.is-unread .wci-row-top time{color:var(--blue);font-weight:800}
.wci-imp{display:inline-flex;color:var(--seal)}
.wci-flagmark{display:none;color:var(--amber)}.wci-row.is-flagged .wci-flagmark{display:inline-flex}
.wci-subject{font:700 .92rem/1.3 var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wci-row.is-unread .wci-subject{font-weight:800}
.wci-preview{color:var(--graphite);font-size:.82rem;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wci-quick{position:absolute;right:8px;bottom:6px;display:none;gap:2px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--card);box-shadow:var(--shadow)}
.wci-row:hover .wci-quick,.wci-row:focus-within .wci-quick{display:flex}
.wci-q{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:none;color:var(--graphite);cursor:pointer}
.wci-q:hover,.wci-q:focus-visible{background:color-mix(in srgb,var(--ink) 8%,var(--card));color:var(--ink)}
.wci-row.is-flagged .q-flag{color:var(--amber)}
.wci-more{display:flex;justify-content:center;padding:12px}
.wci-empty,.wci-read-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;padding:32px 20px;color:var(--graphite);text-align:center}
.wci-empty b,.wci-read-empty b{color:var(--ink);font-size:1.02rem}.wci-empty span,.wci-read-empty span{max-width:360px;font-size:.88rem}
.wci-empty>svg,.wci-read-empty>svg{color:var(--faint)}
.wci-read-empty{height:100%}
.wci-read{position:relative;min-width:0;min-height:0;overflow:auto;padding:18px 26px 28px;background:var(--card);container-type:inline-size}
@container (max-width:520px){.wci-msg-bar .btn>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wci-msg-bar .btn{padding:4px 9px}}
.wci-read:focus{outline:none}
.wci-back{display:none;margin:0 0 12px}
.wci-msg-bar{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px;margin:0 0 16px;border-bottom:1px solid var(--line)}
.wci-msg-bar .btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;font-size:.84rem}
.wci-kind{font-weight:700;color:var(--ink)}
.wci-row.is-unread .wci-kind{color:var(--seal)}
.wci-runview .wc-cover{flex-direction:column;align-items:stretch;gap:10px;margin:0 0 14px;padding:18px 18px 16px}
.wci-runview .wc-cover h2{font-size:1.3rem;line-height:1.25}
.wci-runview .wc-cover-meta{align-items:flex-start;text-align:left;min-width:0}
.wci-runview .wc-source-warning{margin-bottom:14px}
.wci-runview .wc-log-link{display:none}
.wci-runview .wc-next-action{flex-direction:column;align-items:stretch}.wci-runview .wc-next-buttons{flex:1 1 auto;min-width:0;flex-wrap:wrap}.wci-runview .btn{max-width:100%;white-space:normal}
.wci-read-cta{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:380px;margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.wci-read-cta>svg{color:var(--seal)}.wci-read-cta p{margin:0;color:var(--ink);font-size:.9rem}
.wci-toast{position:fixed;left:50%;bottom:24px;z-index:60;display:flex;align-items:center;gap:12px;transform:translateX(-50%);padding:10px 12px 10px 16px;border-radius:10px;background:var(--ink);color:var(--paper);box-shadow:var(--shadow);font-weight:700}
.wci-banner{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:10px 14px;border:1px solid color-mix(in srgb,var(--amber) 45%,var(--line));border-radius:var(--r-sm);background:color-mix(in srgb,var(--amber) 12%,var(--card));color:var(--ink);font-weight:700}
.wci-first-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:440px;margin-top:6px}
.wci-read-empty>.wci-back{align-self:flex-start}
.wci-msg.is-loading h2{margin:0 0 10px;font-size:1.4rem;line-height:1.25}.wci-loading-text{margin:0;color:var(--graphite)}
.wci-loading-bar{height:3px;margin:0 0 16px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);background-size:200% 100%;animation:wciload 1s linear infinite}
@keyframes wciload{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.wci-loading-bar{animation:none;background:var(--line)}}
.wci-toast[hidden]{display:none}.wci-toast button{border:0;background:none;color:inherit;font:800 .88rem var(--body);text-decoration:underline;cursor:pointer}
.wci-keys{max-width:420px;width:calc(100% - 32px);padding:20px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink)}
.wci-keys::backdrop{background:rgba(0,0,0,.35)}
.wci-keys h2{margin:0 0 12px;font-size:1.15rem}.wci-keys dl{display:grid;gap:8px;margin:0 0 16px}
.wci-keys dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}.wci-keys dd{margin:0;color:var(--graphite)}
.wci-row.is-new{animation:wcinew 1.6s ease-out}
@keyframes wcinew{from{background:color-mix(in srgb,var(--blue) 22%,var(--card))}to{background:var(--card)}}
.wci-navbadge.navnum[hidden]{display:none}
.dash-secondary .wc-dash-items>a{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.dash-secondary .wc-dash-items .wc-band{grid-column:1/-1;width:max-content}
@media(max-width:1100px){.wci-shell{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.wci-shell>.wci-folders{display:none}.wci-folder-menu{display:block}.wci-list-title{display:none}}
@media(max-width:760px){
.wci-head{gap:8px}.wci-search{max-width:none;flex-basis:100%}.wci-keys-btn{display:none}.wci-head-actions{margin-left:0;width:100%}.wci-email-btn{flex:1;justify-content:center}
.wci-shell{display:block;height:auto;min-height:0}
.wci-list{border-right:0}.wci-scroll{overflow:visible}
.wci-read{display:none;padding:16px}
.wci.is-reading .wci-list{display:none}.wci.is-reading .wci-read{display:block}
.wci-back{display:inline-flex}
.wci-quick{display:flex;position:static;grid-column:2;margin:-4px 10px 10px 4px;justify-self:start;box-shadow:none}
.wci-q{width:40px;height:40px}
.wci-msg-bar .btn,.wn-actions .btn{min-height:44px}
.wci-f{min-height:44px}
}
@media(pointer:coarse){.wci-check input{opacity:1;width:20px;height:20px}.wci-q{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.wci-row.is-new{animation:none}}
@media print{.wci-head,.wci-folders,.wci-list,.wci-msg-bar,.wci-back{display:none!important}.wci-shell{display:block;height:auto;border:0}.wci-read{overflow:visible;padding:0}}.wn-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 8px;font-size:.84rem;color:var(--graphite)}
.wn-prio{display:inline-flex;align-items:center;min-height:22px;padding:1px 9px;border-radius:999px;font:800 .7rem var(--body);letter-spacing:.05em;text-transform:uppercase;background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);cursor:help}
.band-act .wn-prio{background:color-mix(in srgb,var(--seal) 11%,transparent);color:var(--seal)}
.band-prepare .wn-prio{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--amber)}
.band-routine .wn-prio{background:color-mix(in srgb,var(--graphite) 10%,transparent);color:var(--graphite)}
.wn-src{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--ink)}
.wn-kind{font-weight:700}
.wn-kind::before{content:"·";margin-right:10px;color:var(--line)}
.wn-title{margin:0 0 8px;font-size:1.4rem;line-height:1.25;overflow-wrap:anywhere}
h3.wn-title{font-size:1.18rem}
.wn-lede{margin:0 0 16px;font-size:1.04rem;line-height:1.55}
.wn-change{margin:0 0 16px}
.wn-change-label{margin:0 0 6px;font:800 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.wn-cells{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px}
.wn-cells>div{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm)}
.wn-cells small{display:block;margin-bottom:3px;font:800 .68rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.wn-cells b{display:block;overflow-wrap:anywhere;line-height:1.4}
.wn-was{background:var(--paper)}.wn-was b{font-weight:700;color:var(--graphite)}
.wn-now{background:var(--card);border-color:color-mix(in srgb,var(--ink) 28%,var(--line))!important}.wn-now b{font-weight:800;color:var(--ink)}
.wn-arrow{display:flex;align-items:center;color:var(--graphite)}
.wn-changes-wrap{margin:0 0 16px;overflow-x:auto}
.wn-changes{width:100%;border-collapse:collapse;font-size:.9rem}
.wn-changes caption{text-align:left;margin:0 0 6px;font:800 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.wn-changes th,.wn-changes td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.wn-changes thead th{font-size:.78rem;color:var(--graphite)}
.wn-changes td:nth-child(2){color:var(--graphite)}
.wn-none{color:var(--graphite);font-style:italic}
.wn-more{margin:-8px 0 16px;color:var(--graphite);font-size:.86rem}
.wn-why,.wn-facts{margin:0 0 16px}
.wn-why h3,.wn-why h4,.wn-facts h3,.wn-facts h4{margin:0 0 6px;font:800 .72rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--graphite)}
.wn-why p{margin:0;padding:10px 12px;border-left:3px solid color-mix(in srgb,var(--ink) 30%,var(--line));background:var(--paper);border-radius:0 var(--r-sm) var(--r-sm) 0;line-height:1.5}
.wn-why a{white-space:nowrap;font-weight:700}
.wn-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 18px;margin:0}
.wn-details>div{min-width:0}
.wn-details dt{color:var(--graphite);font-size:.8rem}
.wn-details dd{margin:1px 0 0;font-size:.95rem;font-weight:700;overflow-wrap:anywhere}
.wn-ai{margin:0 0 16px;padding:10px 12px;border:1px dashed var(--line);border-radius:var(--r-sm)}
.wn-ai>summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:6px}
.wn-ai p{margin:8px 0 4px}.wn-ai small{color:var(--graphite)}
.wn-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
.wn-actions .btn{display:inline-flex;align-items:center;gap:6px}
.wn-host{margin-left:2px;font-weight:500;color:var(--graphite);font-size:.78rem}
.wn-foot{margin:14px 0 0;color:var(--graphite);font-size:.84rem;line-height:1.55}
.wn-foot span+span::before{content:" · "}
@media(max-width:640px){.wn-cells{grid-template-columns:1fr}.wn-arrow{justify-content:center;transform:rotate(90deg)}.wn-details{grid-template-columns:1fr 1fr}}
@container (max-width:400px){.wn-cells{grid-template-columns:1fr}.wn-arrow{justify-content:center;transform:rotate(90deg)}.wn-details{grid-template-columns:1fr 1fr}}.ppwh-wrap{max-width:980px;margin:0 auto}.ppwh-card{background:var(--card,#fff);border:1px solid var(--line,#e3e0da);border-radius:14px;padding:20px;margin:0 0 18px}.ppwh-plan{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(154,123,20,.12);color:#82650d;font-size:.76rem;font-weight:700;letter-spacing:.02em}.ppwh-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:24px}.ppwh-intro h2,.ppwh-card h2,.ppwh-section h2{margin:0 0 8px;font-size:1.08rem}.ppwh-intro p{margin:0 0 10px;color:var(--graphite,#485c6a)}.ppwh-intro ol,.ppwh-intro ul{margin:8px 0 0;padding-left:20px}.ppwh-intro aside{padding:15px;border-radius:12px;background:var(--paper,#faf9f5);font-size:.86rem}.ppwh-intro aside strong{display:flex;align-items:center;gap:6px}.ppwh-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ppwh-form label>span{display:block;font-size:.78rem;font-weight:700;margin-bottom:6px}.ppwh-form input[type=text],.ppwh-form input[type=url],.ppwh-form select{width:100%;min-height:42px}.ppwh-form small{display:block;margin-top:5px;color:var(--muted,#6b675f)}.ppwh-wide{grid-column:1/-1}.ppwh-check{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:10px;background:var(--paper,#faf9f5);font-size:.84rem}.ppwh-check>span{font-weight:400!important;margin:0!important}.ppwh-limit{margin-left:10px;color:var(--muted,#6b675f);font-size:.8rem}.ppwh-secret{border:1px solid #c99524;background:#fffbeb;border-radius:13px;padding:15px 17px;margin:0 0 18px}.ppwh-secret strong,.ppwh-secret code,.ppwh-secret p{display:block}.ppwh-secret code{padding:9px 11px;margin:8px 0;background:#fff;border:1px solid #ead9a2;border-radius:8px;overflow-wrap:anywhere}.ppwh-secret p{margin:0;color:#665619;font-size:.82rem}.ppwh-section{margin:22px 0}.ppwh-hook{display:flex;justify-content:space-between;gap:18px;background:var(--card,#fff);border:1px solid var(--line,#e3e0da);border-radius:14px;padding:17px 18px;margin:0 0 11px}.ppwh-hook-main{min-width:0;flex:1}.ppwh-hook-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ppwh-hook h3{margin:0;font-size:1rem}.ppwh-hook dl{display:flex;gap:18px;flex-wrap:wrap;margin:11px 0 0}.ppwh-hook dl div{min-width:130px}.ppwh-hook dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#6b675f)}.ppwh-hook dd{margin:3px 0 0;font-size:.82rem}.ppwh-actions{display:flex;align-content:flex-start;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:330px}.ppwh-actions form{margin:0}.ppwh-badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:rgba(72,80,106,.1);font-size:.7rem;font-weight:700;white-space:nowrap}.ppwh-badge.is-active,.ppwh-badge.is-delivered{background:rgba(36,132,87,.12);color:#167047}.ppwh-badge.is-retry,.ppwh-badge.is-queued,.ppwh-badge.is-sending{background:rgba(201,149,36,.14);color:#82650d}.ppwh-badge.is-dead,.ppwh-badge.is-auto_paused,.ppwh-badge.is-uncertain,.ppwh-badge.is-plan_paused{background:rgba(179,38,30,.11);color:#a02620}.ppwh-hook-error{color:#a02620;font-size:.78rem;margin:9px 0 0}.ppwh-history-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.ppwh-history-head span{color:var(--muted,#6b675f);font-size:.75rem}.ppwh-table-wrap{overflow-x:auto}.ppwh-table{width:100%;border-collapse:collapse}.ppwh-table th,.ppwh-table td{padding:9px 8px;border-bottom:1px solid var(--line,#e3e0da);text-align:left;vertical-align:top;font-size:.78rem}.ppwh-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b675f);font-size:.67rem}.ppwh-table td small{display:block;margin-top:3px;color:var(--muted,#6b675f);max-width:260px}.ppwh-table .ppwh-errtxt{color:#a02620}.ppwh-empty{padding:24px;text-align:center;border:1px dashed var(--line,#e3e0da);border-radius:13px;color:var(--muted,#6b675f)}.ppwh-details summary{cursor:pointer;font-weight:700}.ppwh-details p{margin:12px 0 0;color:var(--graphite,#485c6a);font-size:.84rem}.app.theme-dark .ppwh-intro aside,.app.theme-dark .ppwh-check{background:rgba(255,255,255,.04)}.app.theme-dark .ppwh-secret{background:rgba(201,149,36,.1)}.app.theme-dark .ppwh-secret code{background:rgba(0,0,0,.2);border-color:rgba(201,149,36,.35)}
.ppwh-ppi{border:1px solid #d7a23b;border-radius:12px;padding:14px;background:#fffbeb}.ppwh-ppi legend{padding:0 6px;font-size:.84rem;font-weight:800;color:#6f5512}.ppwh-ppi-master{background:transparent;padding:2px}.ppwh-ppi-master strong,.ppwh-ppi-master small{display:block}.ppwh-ppi-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(130,101,13,.22)}.ppwh-ppi-lead{font-size:.8rem;font-weight:750;margin:0 0 8px}.ppwh-ppi-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.ppwh-ppi-fields label{display:flex;gap:7px;align-items:flex-start;font-size:.82rem}.ppwh-ppi-fields .ppwh-field-all{grid-column:1/-1;font-weight:750}.ppwh-ppi-note,.ppwh-ppi-blocked,.ppwh-ppi-summary{font-size:.76rem;color:var(--muted,#6b675f);margin:9px 0}.ppwh-ppi-validation{font-size:.78rem;font-weight:750;color:#a02620;margin:9px 0}.ppwh-ppi-ack{margin-top:10px;background:rgba(201,149,36,.09)}.ppwh-fields-editor{margin-top:12px}.ppwh-fields-editor>summary{cursor:pointer;font-size:.78rem;font-weight:700;color:var(--graphite,#485c6a)}.ppwh-fields-editor form{margin-top:10px}.ppwh-fields-editor .ppwh-ppi{margin-bottom:10px}.ppwh-sovereign-disable{margin-top:12px;padding:10px 12px;border:1px solid rgba(179,38,30,.24);border-radius:10px;background:rgba(179,38,30,.05)}.ppwh-sovereign-disable p{font-size:.78rem;margin:0 0 8px;color:var(--graphite,#485c6a)}.ppwh-sovereign-disable form{margin:0}.ppwh-delivery-fields{color:#74590e!important;font-weight:700}.ppwh-badge.is-ppi{background:rgba(201,149,36,.17);color:#74590e}.ppwh-badge.is-ppi-blocked{background:rgba(179,38,30,.11);color:#a02620}.ppwh-badge.is-safe{background:rgba(72,80,106,.1);color:var(--graphite,#485c6a)}.app.theme-dark .ppwh-ppi{background:rgba(201,149,36,.08);border-color:rgba(201,149,36,.45)}
@media(max-width:760px){.ppwh-intro,.ppwh-form,.ppwh-ppi-fields{grid-template-columns:1fr}.ppwh-wide{grid-column:1}.ppwh-ppi-fields .ppwh-field-all{grid-column:1}.ppwh-hook{flex-direction:column}.ppwh-actions{justify-content:flex-start;max-width:none}.ppwh-history-head{align-items:flex-start;flex-direction:column}}.wb-wrap{max-width:var(--wrap);margin:0 auto}
.wb-current{display:block;min-width:0;margin-top:4px;color:var(--ink);overflow-wrap:anywhere}
.wb-explain{margin:0 0 18px}
.wb-boxes{margin:0 0 18px;padding:18px;border-radius:var(--r)}
.wb-boxes-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.wb-boxes-head h2{font-size:1.15rem;margin:0 0 3px}.wb-boxes-head p{margin:0;font-size:.84rem}
.wb-box-tab{max-width:260px}
.wb-box-tab>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wb-create{padding-top:13px;margin-top:4px}.wb-create>label,.wb-manage-panel label{display:block;font-size:.78rem;font-weight:700;margin-bottom:5px;color:var(--graphite)}
.wb-create-row{display:flex;align-items:center;gap:8px}.wb-create-row input{min-width:0;max-width:420px;min-height:44px}
.wb-manage{position:relative;flex:0 0 auto}.wb-manage>summary{list-style:none}.wb-manage>summary::-webkit-details-marker{display:none}
.wb-manage-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:22;width:min(360px,80vw);padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 14px 38px rgba(18,48,61,.18)}
.wb-manage-panel form+form{border-top:1px dashed var(--line);margin-top:13px;padding-top:13px}.wb-delete{color:var(--seal)}
.wb-no-box{margin:0 0 12px}.wb-limit-note{margin:8px 0 0;color:var(--seal);font-size:.84rem;font-weight:650}
.wb-locked-cleanup{margin-top:18px}.wb-locked-cleanup h2{margin:0 0 5px;font-size:1.15rem}.wb-cleanup-list{display:grid;gap:8px;margin-top:14px}.wb-cleanup-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.wb-cleanup-row>div{min-width:0}.wb-cleanup-row b,.wb-cleanup-row small{display:block;overflow-wrap:anywhere}.wb-cleanup-row small{margin-top:2px;color:var(--graphite)}
.wb-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--seal);color:#fff;font:800 .72rem var(--body);font-variant-numeric:tabular-nums}
.wb-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
.wb-list-head-left{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}
.wb-order-hint{color:var(--graphite);font-size:.78rem}
.wb-hint-coarse{display:none}
@media(pointer:coarse){.wb-hint-fine{display:none}.wb-hint-coarse{display:inline}}
.wb-record-count{color:var(--graphite);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}
.wb-clear-form{display:flex;justify-content:flex-end}
.wb-list{display:grid;gap:12px;margin-bottom:20px}
.wb-card{display:flex;gap:14px;align-items:flex-start;border-radius:var(--r)}
.wb-card.wb-dragging{opacity:.55;outline:2px dashed var(--line);outline-offset:2px}
.wb-card-rail{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 auto}
.wb-grip{display:none;width:26px;height:22px;border-radius:6px;background-image:radial-gradient(circle,var(--line) 1.7px,transparent 1.8px);background-size:8px 7px;background-position:center}
.wb-drag-ready .wb-grip{display:block;cursor:grab}
.wb-drag-ready .wb-grip:active{cursor:grabbing}
.wb-pos{font:700 .74rem var(--body);font-variant-numeric:tabular-nums;color:var(--graphite);min-width:20px;text-align:center}
.wb-move-form{display:block}
.wb-move{display:grid;place-items:center;min-width:34px;min-height:34px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);cursor:pointer;padding:0}
.wb-move:hover:not([disabled]),.wb-move:focus-visible{background:var(--paper)}
.wb-move[disabled]{opacity:.35;cursor:default}
.wb-move-up svg{transform:rotate(-90deg)}.wb-move-down svg{transform:rotate(90deg)}
.wb-note{margin:9px 0 0;padding:8px 11px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.wb-note-tag{display:inline-flex;align-items:center;gap:5px;font:700 .68rem var(--body);text-transform:uppercase;letter-spacing:.04em;color:var(--graphite)}
.wb-note p{margin:3px 0 0;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}
.wb-note-edit{margin-top:7px}
.wb-note-edit>summary{list-style:none;display:inline-flex;cursor:pointer}
.wb-note-edit>summary::-webkit-details-marker{display:none}
.wb-note-form{margin-top:8px}
.wb-note-form textarea{width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:8px;background:var(--card);padding:9px 11px;font:inherit;resize:vertical}
.wb-note-row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
@media(pointer:coarse){.wb-grip,.wb-drag-ready .wb-grip{display:none}.wb-move{min-width:44px;min-height:44px}}
.wb-card-main{min-width:0;flex:1}
.wb-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:3px}
.wb-card h3{font-size:1.05rem;margin:4px 0 0;overflow-wrap:anywhere}
.wb-card h3 a{text-decoration:none;color:var(--ink)}
.wb-card h3 a:hover{color:var(--seal)}
.wb-card-sub{margin:6px 0 0;font-size:.86rem;overflow-wrap:anywhere}
.wb-access-note{margin:7px 0 0;color:var(--seal);font-size:.8rem;font-weight:650}
.wb-card-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:9px}
.wb-card-id{font:700 .76rem var(--body);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--graphite);overflow-wrap:anywhere}
.wb-card-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.wb-card-actions form button{min-width:44px;min-height:44px}
.wb-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;font:500 .7rem var(--body);text-transform:uppercase;color:var(--graphite);background:var(--paper)}
.wb-badge.ghost{background:var(--card);color:var(--graphite)}
.wb-pager{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:18px 0}
.wb-pager-info{font-size:.82rem;font-weight:700;color:var(--graphite);font-variant-numeric:tabular-nums}
.wb-pager .disabled{opacity:.45;pointer-events:none}
.wb-state-neutral{border-left:1.5px solid var(--line)!important}
.wb-empty{padding:32px 24px;text-align:center;border-radius:var(--r)}
.wb-empty-ic{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink)}
.wb-empty h3{margin:0 0 6px;justify-content:center}
.wb-empty p{max-width:520px;margin:0 auto 14px}
.wb-empty-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.wb-compose{padding:18px;border-radius:var(--r)}
.wb-compose h3{font-size:1.1rem;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.wb-compose textarea{width:100%;border:1.5px solid var(--line);border-radius:8px;background:var(--card);padding:10px 12px;font:inherit;resize:vertical;min-width:0;box-sizing:border-box}
.wb-hint{font-size:.8rem;margin:6px 0 0}
.wb-add-form{display:inline-block}
.wb-picker{position:relative;display:inline-block}.wb-picker>summary{list-style:none;cursor:pointer}.wb-picker>summary::-webkit-details-marker{display:none}.wb-picker-arrow{display:inline-flex;transform:rotate(90deg);transition:transform .15s}.wb-picker[open] .wb-picker-arrow{transform:rotate(-90deg)}
.wb-picker-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:35;width:280px;max-height:360px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 14px 38px rgba(18,48,61,.2)}
.wb-picker-menu .wb-add-form{display:block}.wb-picker-row{width:100%;min-height:44px;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer;box-sizing:border-box}.wb-picker-row:hover,.wb-picker-row:focus-visible{background:var(--paper)}
.wb-picker-row span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-picker-row small{color:var(--graphite);white-space:nowrap}.wb-picker-row.is-saved{color:var(--graphite)}
.wb-picker-row.is-disabled,.wb-add-full{opacity:.65;cursor:not-allowed}.wb-picker-row.is-disabled:hover{background:transparent}
.wb-picker-manage{display:flex;align-items:center;box-sizing:border-box;min-height:44px;border-top:1px dashed var(--line);margin-top:5px;padding:9px 10px;color:var(--ink);font-size:.8rem;font-weight:700;text-decoration:none}
.wb-add-note{display:block;font-size:.72rem;color:var(--seal);margin-top:4px;max-width:160px}
.wb-intro{max-width:680px;margin:30px auto;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-align:center}
.wb-intro-ic{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink)}
@media(max-width:780px){.wb-card{flex-direction:column;align-items:flex-start}.wb-card-actions{justify-content:flex-start}.wb-card-rail{flex-direction:row;width:100%;justify-content:flex-start;gap:8px}.wb-pos{order:-1}}
@media(max-width:640px){
.wb-boxes-head{display:block}.wb-manage{margin-top:10px}.wb-manage-panel{position:static;width:auto;margin-top:7px}.wb-create-row{align-items:stretch;flex-direction:column}.wb-create-row input{max-width:none;width:100%}.wb-create-row .btn{flex:0 0 auto;width:100%;justify-content:center}
.wb-picker-menu{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));top:auto;width:auto;max-height:65vh;border-radius:14px;padding:10px 10px max(10px,env(safe-area-inset-bottom))}
.wb-cleanup-row{align-items:flex-start}.wb-cleanup-row form{flex:0 0 auto}
.wb-card-actions{width:100%}
.wb-card-actions .btn{flex:1 1 auto;justify-content:center}
.wb-compose{padding:16px}
.wb-compose>form>.btn{width:100%;justify-content:center}
}
.blog-card{border-radius:var(--r-lg)}
.blog-card:hover{box-shadow:none;transform:none;border-color:var(--ink)}
.prg-err{border-radius:var(--r)}

/* ================= client UX consistency layer =================
 * This layer is emitted after every module stylesheet. Modules may keep their
 * legacy class names while shared classes provide one stable visual contract. */
.topbar .page-title,.topbar .topbar-title{font:700 1.3rem/1.2 var(--display);letter-spacing:-.018em;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}

/* Client dashboard readability floor. The existing larger-text preference
 * still adds a second, user-controlled step above these accessible defaults. */
.app-client{font-size:1.0625rem}
.app-client .content :is(.muted,small){font-size:max(.82rem,.86em);line-height:1.5}
.app-client .content :is(input,select,textarea){font-size:max(.95rem,1em)}
.app-client .content :is(button,.btn){font-size:max(.9rem,.94em)}
.app-client .content :is(table,.tbl,.bars){font-size:max(.88rem,.92em)}
.app-client .content :is(.badge,.pill){font-size:max(.72rem,.76em)}
.app-client .side .navsum-label{font-size:.98rem}
.app-client .side .navgrp-body .nv{font-size:.96rem}
.app-client .side .nav-subhead{font-size:.72rem}
.app-client .side :is(.sfoot,.credits-pill){font-size:.9rem}

/* ONE card grid for every Monitor browse/list surface. Modules keep their own
 * content classes inside the cards; the container geometry lives here so minmax
 * drift (250 vs 260) and the .card+.card first-card misalignment bug class can
 * never recur per-module. pp-cards-wide is for precis-heavy cards (OIC). */
.pp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-items:stretch}
.pp-cards-wide{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.pp-cards>.card+.card{margin-top:0}
.pp-cards>.card{height:100%;box-sizing:border-box;min-width:0}
@media(max-width:640px){.pp-cards{grid-template-columns:1fr}} /* one column on phones for every monitor grid (the hs/cm/ct per-module rules this replaces) */

/* Page rhythm and reusable panels. */
.pp-page-stack{display:flex;flex-direction:column;gap:20px;min-width:0}
.pp-page-stack>*{margin-top:0!important;margin-bottom:0!important}
.pp-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.pp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.pp-panel-head>:is(h2,h3){margin:0}
.pp-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pp-lifecycle-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}

/* One disclosure contract for every Monitor landing page. The short summary is
 * deliberately identical across modules; source, workflow and caveat details
 * belong in the opened body, not in eleven competing headings/status chips. */
details.pp-monitor-how{box-sizing:border-box;margin:0 0 16px;border:1.5px solid var(--line);border-radius:var(--r);padding:0 16px;background:var(--card);color:var(--ink)}
details.pp-monitor-how[open]{padding-bottom:14px}
details.pp-monitor-how>summary{display:flex;align-items:center;gap:8px;box-sizing:border-box;min-height:48px;padding:11px 0;cursor:pointer;list-style:none;user-select:none;color:var(--ink);font:700 1rem/1.35 var(--display)}
details.pp-monitor-how>summary::-webkit-details-marker{display:none}
details.pp-monitor-how>summary:focus-visible{outline:2px solid var(--seal);outline-offset:2px;border-radius:var(--r-sm)}
.pp-monitor-how-arrow,.pp-monitor-how-icon{display:inline-flex;flex:0 0 auto;color:var(--graphite)}
details.pp-monitor-how[open]>summary .pp-monitor-how-arrow{transform:rotate(90deg)}
.pp-monitor-how-title{min-width:0}
.pp-monitor-how-body{min-width:0;padding-top:2px;border-top:1px solid var(--line)}
.pp-monitor-how-list{margin:0;display:grid}
.pp-monitor-how-row{display:grid;grid-template-columns:minmax(112px,148px) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.pp-monitor-how-row:last-child{border-bottom:0}
.pp-monitor-how-row dt{margin:0;color:var(--ink);font:700 .76rem/1.45 var(--body);letter-spacing:.045em;text-transform:uppercase}
.pp-monitor-how-row dd{margin:0;color:var(--graphite);font:400 .9rem/1.55 var(--body);overflow-wrap:anywhere}
.pp-monitor-how-extra{display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.pp-monitor-how-extra>:first-child{margin-top:0!important}.pp-monitor-how-extra>:last-child{margin-bottom:0!important}
@media(max-width:560px){details.pp-monitor-how{padding-inline:14px}.pp-monitor-how-row{grid-template-columns:1fr;gap:3px;padding:10px 0}details.pp-monitor-how>summary{min-height:48px}}

/* One semantic sub-navigation treatment for every client module. */
.pp-module-tabs{display:flex;flex-wrap:nowrap!important;align-items:flex-end;gap:4px;max-width:100%;margin:0 0 20px;border-bottom:1.5px solid var(--line);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin}
.pp-tab-scroll{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;max-width:100%;min-width:0;margin:0 0 20px}
.pp-tab-scroll.is-scrollable{grid-template-columns:42px minmax(0,1fr) 42px;gap:6px}
.pp-tab-scroll>.pp-module-tabs{min-width:0;margin:0!important;scrollbar-width:none;scroll-padding-inline:8px}
.pp-tab-scroll>.pp-module-tabs::-webkit-scrollbar{display:none}
.pp-tab-scroll-btn{position:relative;z-index:3;display:none;place-items:center;box-sizing:border-box;width:42px;min-width:42px;height:44px;align-self:end;padding:0;border:1.5px solid var(--line);border-radius:var(--r) var(--r) 0 0;background:var(--card);box-shadow:0 1px 2px rgba(18,48,61,.06);color:var(--ink);font:700 1.45rem/1 var(--body);cursor:pointer;transition:border-color .12s,background .12s,color .12s,opacity .12s,transform .12s}
.pp-tab-scroll.is-scrollable>.pp-tab-scroll-btn{display:grid}
.pp-tab-scroll-btn:not(:disabled):hover{border-color:var(--ink);background:var(--paper);transform:translateY(-1px)}
.pp-tab-scroll-btn:focus-visible{outline:2px solid var(--seal)!important;outline-offset:2px!important}
.pp-tab-scroll-btn:disabled{opacity:.3;box-shadow:none;cursor:default}
.pp-tab-scroll::before,.pp-tab-scroll::after{content:"";position:absolute;z-index:2;top:0;bottom:1.5px;width:24px;opacity:0;pointer-events:none;transition:opacity .15s}
.pp-tab-scroll::before{left:48px;background:linear-gradient(90deg,var(--paper),transparent)}
.pp-tab-scroll::after{right:48px;background:linear-gradient(270deg,var(--paper),transparent)}
.pp-tab-scroll.can-prev::before,.pp-tab-scroll.can-next::after{opacity:1}
.pp-module-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:44px;padding:9px 14px;border:1.5px solid transparent;border-bottom:0;border-radius:var(--r) var(--r) 0 0;background:transparent;color:var(--graphite);font:700 .88rem var(--body);line-height:1.25;text-decoration:none;white-space:nowrap;scroll-snap-align:start}
.pp-module-tab:hover{background:color-mix(in srgb,var(--card) 72%,transparent);color:var(--ink);text-decoration:none}
.pp-module-tab.on,.pp-module-tab[aria-current=page]{position:relative;margin-bottom:-1.5px;background:var(--card);border-color:var(--line);color:var(--ink)}
.pp-module-tab.on::after,.pp-module-tab[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:99px 99px 0 0;background:var(--seal)}
.pp-module-tab[aria-busy=true],a[data-loading][aria-busy=true],button[data-loading][aria-busy=true]{cursor:progress}
.pp-module-tab[aria-busy=true]::before{content:"";box-sizing:border-box;width:14px;height:14px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ppminispin .65s linear infinite}
@keyframes ppminispin{to{transform:rotate(360deg)}}
.pp-module-tab-count{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:20px;height:20px;margin-left:2px;padding:0 6px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--graphite);font:700 .72rem/1 var(--body);font-variant-numeric:tabular-nums}
@media(max-width:560px){.pp-tab-scroll.is-scrollable{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}.pp-tab-scroll-btn{width:44px;min-width:44px}.pp-tab-scroll::before{left:48px}.pp-tab-scroll::after{right:48px}}
@media(prefers-reduced-motion:reduce){.pp-module-tab[aria-busy=true]::before{animation:none;border-right-color:currentColor}}
@media print{.pp-tab-scroll{display:block;margin:0}.pp-tab-scroll-btn,.pp-tab-scroll::before,.pp-tab-scroll::after{display:none!important}.pp-tab-scroll>.pp-module-tabs{margin:0!important}}

/* Search/filter and state primitives for gradual module adoption. */
.pp-filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:0 0 18px}
.pp-filter-field{display:grid;gap:5px;flex:1 1 190px;min-width:0;margin:0;font:700 .78rem var(--body);color:var(--ink)}
.pp-filter-field.is-query{flex-basis:320px}
.pp-filter-field>:is(input,select,textarea){width:100%;min-width:0;min-height:44px;border:1.5px solid var(--control-border);border-radius:var(--r);background:var(--card);color:var(--ink);padding:9px 11px;font:400 .95rem var(--body)}
.pp-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pp-search-panel{min-width:0;margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:var(--shadow-sm,0 1px 2px rgba(18,48,61,.05))}
.app-client .content .pp-search-panel:not(.pp-special-search){margin:0 0 16px!important;padding:16px!important}
.pp-search-panel>:first-child{margin-top:0}.pp-search-panel>:last-child{margin-bottom:0}
.pp-search-row{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(142px,auto)) auto;align-items:end;gap:10px}
.pp-search-row.is-wide{display:flex;align-items:flex-end;flex-wrap:wrap}
.pp-search-row.is-wide>.pp-search-query{flex:1 1 300px;min-width:220px}
.pp-search-row.is-wide>.pp-date-range{flex:1 1 330px}
.pp-search-field{display:grid;min-width:0;gap:5px;color:var(--graphite);font-size:.78rem;font-weight:700;letter-spacing:.015em}
.pp-search-field>:is(input,select,textarea){width:100%;min-width:0;min-height:44px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);color:var(--ink);padding:9px 11px;font:400 .95rem var(--body)}
/* Query box — the ONE look for every monitor search input (icon inside a clearly-bordered field).
   Modules wrap "<span class=…-ic>icon</span><input>" in <label class="pp-qbox"> and keep their own classes. */
.pp-qbox{flex:1 1 240px;display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;border:1.5px solid var(--control-border);border-radius:8px;background:var(--card);padding:0 12px;cursor:text}
.app .pp-qbox>span:first-child{display:inline-flex!important;align-items:center;justify-content:center;flex:none;padding:0!important;color:var(--graphite)}
.pp-qbox input{flex:1;min-width:0;border:0!important;background:transparent!important;padding:10px 0;font:400 .95rem var(--body);color:var(--ink)}
.pp-qbox input:focus{outline:none;box-shadow:none} /* the box carries focus; keyboard users keep the global :focus-visible ring (!important above) */
.pp-qbox:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(18,48,61,.12)}
.app.theme-dark .pp-qbox{background:#0E171B;border-color:var(--control-border)}
.app.theme-dark .pp-qbox:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(111,168,214,.22)}
.pp-search-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
.pp-search-actions>.btn{min-height:44px}
.pp-search-hint{margin:8px 0 0;color:var(--graphite);font-size:.82rem;line-height:1.45}
.pp-date-range{display:grid;grid-template-columns:minmax(142px,1fr) auto minmax(142px,1fr);align-items:end;gap:10px;width:100%;max-width:620px;min-width:0}
.pp-search-panel>.pp-date-range,.pp-search-panel form>.pp-date-range{margin-top:12px}
.pp-date-field{display:grid;gap:5px;min-width:0;margin:0;color:var(--ink);font:700 .78rem/1.25 var(--body)}
.pp-date-field>input{width:100%;min-width:0;min-height:44px;border:1.5px solid var(--control-border);border-radius:var(--r);background:var(--card);color:var(--ink);padding:9px 11px;font:400 .95rem var(--body);font-variant-numeric:tabular-nums}
.pp-date-sep{display:grid;place-items:center;min-height:44px;color:var(--graphite);font-weight:700}
.pp-date-summary{margin:8px 0 0;color:var(--graphite);font-size:.82rem;line-height:1.45}
.pp-date-summary [data-invalid=true],.pp-ai-range-summary [data-invalid=true]{color:var(--seal)}

/* Monitor date picker — progressive enhancement around the native calendar
 * inputs. The server remains authoritative for every corpus-specific bound;
 * this layer makes those exact min/max/span rules visible before submission. */
.pp-date-picker{position:relative;display:grid!important;grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr)!important;align-items:end!important;gap:10px 12px!important;box-sizing:border-box;width:min(100%,720px)!important;max-width:720px!important;min-width:0;padding:12px!important;border:1px solid var(--line);border-radius:var(--r);background:transparent;box-shadow:none}
.pp-ai-controls .pp-date-picker{flex:1 1 620px!important}
.pp-ai-scope-layout{display:grid!important;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);align-items:start!important;gap:14px!important;width:100%}
.pp-ai-scope-layout>.pp-ai-filter-field{align-self:start;width:100%;min-width:0}
.pp-ai-scope-layout>.pp-ai-date-range{width:100%!important;max-width:none!important}
.pp-ai-submit-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:2px}
.pp-ai-submit-bar>.pp-ai-footnote{max-width:84ch;margin:0!important}
.pp-ai-submit-bar>.pp-ai-submit-row{align-self:center;justify-self:end;margin:0}
.pp-date-picker-head{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;padding-bottom:2px;border:0}
.pp-date-picker-heading{display:grid;gap:2px;min-width:0}
.pp-date-picker-title{color:var(--ink);font:700 .84rem/1.3 var(--body)}
.pp-date-picker-help{color:var(--graphite);font:400 .76rem/1.4 var(--body)}
.pp-date-picker-limit{display:block;max-width:58%;padding:1px 0;border:0;border-radius:0;background:transparent;color:var(--graphite);font:600 .72rem/1.4 var(--body);font-variant-numeric:tabular-nums;text-align:right}
.pp-date-picker :is(.pp-ai-date-field,.pp-date-field)>span{font-size:.78rem;letter-spacing:.01em}
.pp-date-picker :is(.pp-ai-date-field,.pp-date-field) input{background:var(--card);font-size:.95rem}
.pp-date-picker-presets{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0;padding-top:0}
.pp-date-picker-presets-label{margin-right:2px;color:var(--graphite);font:700 .72rem/1.25 var(--body)}
.pp-date-preset{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);color:var(--ink);font:700 .75rem/1.2 var(--body);cursor:pointer;transition:border-color .12s,background .12s}
.pp-date-preset:hover{border-color:var(--ink);background:var(--card)}
.pp-date-preset:focus-visible{outline:3px solid var(--seal);outline-offset:2px}
.pp-date-picker-status{grid-column:1/-1;display:block;min-height:20px;margin:0;color:var(--graphite);font:600 .77rem/1.4 var(--body);font-variant-numeric:tabular-nums}
.pp-date-picker-status:before{content:none}
.pp-date-picker.is-invalid{border-color:var(--seal);box-shadow:none}
.pp-date-picker.is-invalid .pp-date-picker-status{color:var(--seal)}
.pp-date-picker.is-disabled{opacity:.72;background:var(--paper)}
.pp-date-picker.is-disabled .pp-date-preset{cursor:not-allowed}
.app.theme-dark .pp-date-picker{background:transparent;border-color:var(--line);box-shadow:none}
.app.theme-dark .pp-date-picker-limit{background:transparent}.app.theme-dark .pp-date-preset{background:#0E171B}
@media(pointer:coarse){.pp-date-preset{min-height:44px;padding-inline:12px}}
@media(max-width:900px){
  .pp-ai-scope-layout{grid-template-columns:minmax(0,1fr)!important}
  .pp-ai-submit-bar{grid-template-columns:minmax(0,1fr)}
  .pp-ai-submit-bar>.pp-ai-submit-row{justify-self:stretch;width:100%}
}
@media(max-width:640px){
  .pp-date-picker{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;padding:12px!important}
  .pp-date-picker :is(.pp-ai-date-sep,.pp-date-sep){display:none!important}
  .pp-date-picker-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .pp-date-picker-limit{max-width:none;width:100%;box-sizing:border-box;text-align:left}
  .pp-date-picker-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .pp-date-picker-presets-label{grid-column:1/-1}
  .pp-date-preset{width:100%;min-width:0}
}
@media(max-width:420px){.pp-date-picker{grid-template-columns:minmax(0,1fr)!important}.pp-date-picker-presets{grid-template-columns:minmax(0,1fr)}}

/* Specialized government-registry search: Health Products, Pesticides and Major Projects
 * share one visual/interaction contract while retaining the filters their source data supports. */
.pp-special-search.pp-search-panel{padding:18px;margin-bottom:18px;border-radius:var(--r);box-shadow:none}
.pp-special-search-form{display:grid;gap:0;min-width:0;margin:0}
.pp-special-search .pp-special-primary{grid-template-columns:minmax(260px,1fr) auto auto;align-items:stretch;gap:10px}
.pp-special-qbox{display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;padding:0 12px!important;border:1.5px solid var(--control-border)!important;border-radius:var(--r)!important;background:var(--card)!important}
.pp-special-qbox:focus-within{border-color:var(--ink)!important;box-shadow:0 0 0 3px rgba(18,48,61,.10)!important}
.pp-special-qbox .pp-special-search-icon,.pp-special-qbox>.i{display:grid;place-items:center;flex:none;color:var(--graphite)}
.pp-special-qbox>input{flex:1;min-width:0;min-height:46px!important;margin:0!important;padding:9px 0!important;border:0!important;background:transparent!important;color:var(--ink)!important;font:400 .98rem/1.35 var(--body)!important;outline:0!important}
.pp-special-qbox>input:focus-visible{outline:0!important;box-shadow:none!important}
.pp-special-qbox :is(.hp-detect,.pmra-detect,.infra-detect){flex:none;max-width:34%;overflow:hidden;text-overflow:ellipsis}
.pp-special-controls{display:flex;align-items:stretch;gap:8px;min-width:0}
.pp-special-exact{position:relative;display:inline-flex!important;align-items:center!important;justify-content:center;gap:7px;box-sizing:border-box;min-height:48px!important;margin:0!important;padding:7px 11px!important;border:1.5px solid var(--control-border)!important;border-radius:var(--r)!important;background:var(--card)!important;color:var(--graphite)!important;font:700 .78rem/1.2 var(--body)!important;letter-spacing:.01em!important;text-transform:none!important;white-space:nowrap;cursor:pointer}
.pp-special-exact:hover{border-color:var(--ink)!important;color:var(--ink)!important}
.pp-special-exact .pp-special-exact-sw{position:relative;display:inline-block;width:28px;height:16px;flex:none;border-radius:999px;background:var(--line);transition:background .12s}
.pp-special-exact .pp-special-exact-sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px rgba(18,48,61,.3);transition:transform .12s}
.pp-special-exact input{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;pointer-events:none}
.pp-special-exact input:checked~.pp-special-exact-sw{background:var(--ink)!important}
.pp-special-exact input:checked~.pp-special-exact-sw::after{transform:translateX(12px)!important}
.pp-special-exact input:focus-visible~.pp-special-exact-sw{box-shadow:0 0 0 3px rgba(18,48,61,.18)!important}
.pp-special-exact:has(input:checked){border-color:var(--ink)!important;background:var(--paper)!important;color:var(--ink)!important}
.pp-special-exact>span:last-child{display:inline!important}
.pp-special-sort{box-sizing:border-box;min-height:48px!important;margin:0!important;padding:8px 30px 8px 10px!important;border:1.5px solid var(--control-border)!important;border-radius:var(--r)!important;background-color:var(--card)!important;color:var(--ink)!important;font:700 .82rem/1.2 var(--body)!important;cursor:pointer}
.pp-special-search .pp-search-actions{align-items:stretch}
.pp-special-search .pp-search-actions>.btn{min-height:48px;padding-inline:19px;border-radius:var(--r);justify-content:center;white-space:nowrap}
.pp-special-hint{display:block;margin:8px 2px 0!important;color:var(--graphite);font-size:.8rem!important;line-height:1.45}
.pp-special-source-row,.pp-special-filter-row{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap;min-width:0}
.pp-special-source-row{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.pp-special-source-row+.pp-special-filter-row{margin-top:12px!important;padding-top:12px;border-top:1px solid var(--line)}
.pp-special-label{flex:0 0 88px;padding:0;color:var(--graphite);font:700 .7rem/1.3 var(--body);letter-spacing:.055em;text-transform:uppercase}
.pp-special-sources{display:flex!important;align-items:center;gap:7px!important;flex:1 1 540px;flex-wrap:wrap;margin:0!important;min-width:0}
.pp-special-sources>a,.pp-special-chip{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:44px!important;margin:0!important;padding:7px 12px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--card)!important;color:var(--graphite)!important;font:400 .86rem/1.25 var(--body)!important;text-decoration:none!important;white-space:nowrap}
.pp-special-sources>a:hover,.pp-special-chip:hover{border-color:var(--ink)!important;color:var(--ink)!important}
.pp-special-sources>a.on,.pp-special-sources>a[aria-current],.pp-special-chip.on,.pp-special-chip[aria-current]{border-color:var(--ink)!important;background:var(--ink)!important;color:var(--card)!important;font-weight:700!important}
.pp-special-sources>a:focus-visible,.pp-special-chip:focus-visible{outline:2px solid var(--ink)!important;outline-offset:2px}
.pp-special-filters{display:grid;gap:9px;min-width:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pp-special-filter-row{margin:0!important}
.pp-special-filter-control,.pp-special-filter-row>.pp-date-range,.pp-special-filter-nav{flex:1 1 540px;min-width:0}
.pp-special-filter-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0;padding:0}
.pp-special-filter-control>.pp-date-range,.pp-special-filter-row>.pp-date-range,.pp-special-date-range{max-width:620px;margin:0}
.pp-special-filter-row .pp-date-field>input{min-height:44px;padding-block:8px}
.pp-special-filter-row .pp-date-summary{margin:4px 0 0}
.pp-special-chip.reset{border-color:transparent!important;background:transparent!important;color:var(--seal)!important;font-weight:700!important}
.app.theme-dark .pp-special-qbox,.app.theme-dark .pp-special-exact,.app.theme-dark .pp-special-sort{background:#0E171B!important;border-color:var(--control-border)!important}
@media(max-width:760px){
  .pp-special-search .pp-special-primary{grid-template-columns:1fr}
  .pp-special-controls{grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .pp-special-controls>:only-child{grid-column:1/-1}
  .pp-special-search .pp-search-actions{grid-column:1/-1;width:100%}
  .pp-special-search .pp-search-actions>.btn{width:100%}
  .pp-special-qbox :is(.hp-detect,.pmra-detect,.infra-detect){max-width:42%}
}
@media(max-width:560px){
  .pp-special-search.pp-search-panel{padding:14px}
  .pp-special-qbox{flex-wrap:wrap;padding:5px 10px!important}
  .pp-special-qbox>input{min-width:calc(100% - 36px)}
  .pp-special-qbox :is(.hp-detect,.pmra-detect,.infra-detect){flex:1 1 100%;max-width:100%;white-space:normal;margin:0 0 4px 30px}
  .pp-special-source-row,.pp-special-filter-row{align-items:flex-start}
  .pp-special-label{flex:1 1 100%;padding-top:0}
  .pp-special-sources{flex:1 1 100%;flex-wrap:wrap!important;overflow-x:visible;padding:2px 0 0}
  .pp-special-sources>a{flex:0 0 auto;min-height:44px!important}
  .pp-special-chip{min-height:44px!important}
  .pp-special-filter-control,.pp-special-filter-row>.pp-date-range{flex-basis:100%}
  .pp-special-filter-row .pp-date-summary{margin-left:0}
}
.pp-state{display:grid;justify-items:center;gap:8px;padding:34px 20px;border:1.5px dashed var(--line);border-radius:var(--r);background:var(--card);color:var(--graphite);text-align:center}
.pp-state>:is(h2,h3,p){margin:0;max-width:62ch}
.pp-state .pp-state-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--paper);color:var(--seal)}
.pp-state.is-error{border-style:solid;border-left:4px solid var(--seal);justify-items:start;text-align:left}
.pp-state.is-warming{border-style:solid;border-left:4px solid var(--amber);justify-items:start;text-align:left} /* --gold was never defined — amber is the caution token */
.pp-state.is-warming .pp-state-icon{color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,var(--paper))}
.pp-state.is-onboarding{border-style:solid;border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
.pp-state.is-compact{grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;align-items:center;padding:14px 16px;text-align:left}
:where(.bt-empty,.ct-empty,.cm-empty,.hs-empty,.gg-empty,.oic-empty,.nm-empty,.crm-empty,.ev-empty,.vp-empty,.cl-empty,.cr-empty){border-radius:var(--r)!important}
.app :where(.bt-wrap,.ct-wrap,.cm-wrap,.hs-wrap,.gg-wrap,.nm-wrap,.oic-wrap,.ati-wrap,.op-wrap,.hp-wrap,.pmra-wrap,.infra-wrap,.cr-wrap,.aim-wrap,.crm-wrap){margin-left:auto;margin-right:auto}
.app :where(.bt-card,.wr-card):hover{transform:none!important;box-shadow:none!important}

/* Complete AI-research panel contract. */
.pp-ai-panel{display:block;background:var(--card)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:20px!important;margin:0 0 20px!important;box-shadow:none!important}
.pp-ai-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
.pp-ai-title{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0!important;color:var(--ink)!important;font:700 1.08rem/1.35 var(--display)!important;letter-spacing:-.01em!important}
.pp-ai-title>.i{color:var(--seal);flex:none}
.pp-ai-quota{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--graphite)!important;font:700 .78rem/1.25 var(--body)!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.pp-ai-corpus{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--graphite);font-size:.86rem;line-height:1.5}
.pp-ai-corpus>.i{flex:none;margin-top:2px;color:var(--ink)}
.pp-ai-range-summary{display:flex!important;align-items:flex-start!important;gap:8px!important;margin:0 0 10px!important;padding:9px 12px!important;border:1px solid var(--line)!important;border-left:3px solid var(--green)!important;border-radius:var(--r)!important;background:var(--card)!important;color:var(--ink)!important;font:400 .9rem/1.5 var(--body)!important}
.pp-ai-range-summary>.i,.pp-ai-range-summary>span:first-child{flex:none;margin-top:2px;color:var(--green)}
.pp-ai-lede{max-width:78ch;margin:0 0 14px!important;color:var(--graphite)!important;font:400 .9rem/1.58 var(--body)!important}
.pp-ai-form,.pp-ai-research-form{display:grid!important;gap:12px!important;margin:0!important}
.pp-ai-question{display:grid;gap:6px;min-width:0;margin:0}
.pp-ai-label{color:var(--ink);font:700 .84rem/1.3 var(--body)}
.pp-ai-panel .pp-ai-query{display:block;width:100%!important;height:auto!important;min-width:0!important;min-height:88px!important;box-sizing:border-box!important;border:1.5px solid var(--control-border)!important;border-radius:var(--r)!important;background:var(--card)!important;color:var(--ink)!important;padding:11px 12px!important;font:400 .96rem/1.5 var(--body)!important;resize:vertical!important}
.pp-ai-panel .pp-ai-query::placeholder{color:var(--faint);opacity:1}
.pp-ai-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;min-width:0}
.pp-ai-submit-row{justify-content:flex-end}
.pp-ai-filter-field{display:grid;gap:5px;flex:1 1 190px;min-width:160px;margin:0;color:var(--ink);font:700 .78rem/1.3 var(--body)}
.pp-ai-filter-field>.pp-ai-control{width:100%;min-width:0}
.pp-ai-controls .pp-ai-date-range{flex:0 1 auto}
.pp-ai-panel .pp-ai-submit{flex:0 0 auto;align-self:flex-end;min-height:44px;padding-inline:17px;white-space:nowrap}
.pp-ai-footnote{display:block;margin:0;color:var(--graphite);font-size:.8rem;line-height:1.5}
.pp-ai-notice{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--seal);border-radius:var(--r);background:var(--paper);color:var(--ink);font-size:.88rem;line-height:1.5}
.pp-ai-notice.is-info{border-left-color:var(--blue)}
.pp-ai-notice.is-warning{border-left-color:var(--amber)}
.pp-ai-notice.is-success{border-left-color:var(--green)}
.pp-ai-notice>.i{flex:none;margin-top:2px}
.pp-ai-history{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.pp-ai-history-label{padding-top:9px;color:var(--graphite);font:700 .78rem/1.3 var(--body);white-space:nowrap}
.pp-ai-history-list{display:flex;align-items:center;gap:8px;flex:1 1 420px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.pp-ai-history-list>li{display:flex;min-width:0}
.pp-ai-history-chip{display:inline-flex!important;align-items:center;gap:7px;min-height:44px!important;max-width:100%;padding:7px 12px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:var(--card)!important;color:var(--ink)!important;font-size:.82rem!important;line-height:1.3;text-decoration:none!important}
.pp-ai-history-chip:hover{border-color:var(--seal)!important}
.pp-ai-continue-form{display:inline-flex;margin:0}
.pp-ai-continue-form .pp-ai-history-chip{font-family:var(--body);cursor:pointer}
.pp-private-prefill-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--graphite);cursor:pointer}
.pp-private-prefill-icon:hover{color:var(--seal);background:var(--paper)}
.pp-ai-history-status{display:inline-flex;align-items:center;margin-left:2px;padding:2px 6px;border-radius:999px;background:var(--paper);color:var(--graphite)!important;font:700 .66rem/1.2 var(--body)!important;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
/* Durable deep-search reports use the calm, full-width Order Paper history pattern.
 * The unmodified chip treatment above remains available for cross-module shortcuts. */
.pp-ai-history.pp-ai-history-reports{display:block!important;margin:18px 0 0!important;padding:0!important;border-top:0!important;min-width:0}
.pp-ai-history-reports .pp-ai-history-label{display:block;padding:0!important;margin:0 0 10px!important;color:var(--ink)!important;font:700 1.05rem/1.35 var(--display)!important;white-space:normal}
.pp-ai-history-reports .pp-ai-history-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%;margin:0!important;padding:0!important}
.pp-ai-history-reports .pp-ai-history-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:46px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;transition:border-color .15s ease,background .15s ease}
.pp-ai-history-reports .pp-ai-history-item:hover,.pp-ai-history-reports .pp-ai-history-item:focus-within{border-color:var(--seal)}
.pp-ai-history-reports .pp-ai-history-link{display:flex;align-items:center;align-self:stretch;min-width:0;min-height:44px;padding:9px 4px 9px 12px;color:var(--ink);text-decoration:none;outline:0}
.pp-ai-history-reports .pp-ai-history-copy{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}
.pp-ai-history-reports .pp-ai-history-link:hover .pp-ai-history-query{text-decoration:underline;text-underline-offset:3px}
.pp-ai-history-reports .pp-ai-history-link:focus-visible{outline:2px solid var(--ink);outline-offset:-3px;border-radius:6px}
.pp-ai-history-reports .pp-ai-history-query{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1.35}
.pp-ai-history-reports .pp-ai-history-meta{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--graphite);font-size:.74rem;line-height:1.3}
.pp-ai-history-reports .pp-ai-history-status{margin:0 12px 0 0;border:1px solid var(--line);padding:3px 7px;background:var(--paper)}
.pp-ai-history-reports .pp-ai-history-status.is-ready{border-color:color-mix(in srgb,var(--green) 55%,var(--line));color:var(--green)!important}
.pp-ai-history-reports .pp-ai-history-status.is-running{border-color:color-mix(in srgb,var(--amber) 60%,var(--line));color:var(--amber)!important}
.pp-ai-history-reports .pp-ai-history-status.is-queued{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));color:var(--blue)!important}
.pp-ai-history-reports .pp-ai-history-status.is-failed{border-color:color-mix(in srgb,var(--seal) 60%,var(--line));color:var(--seal)!important}
.pp-ai-history-reports .pp-ai-history-status.is-canceled{color:var(--graphite)!important}
.pp-ai-panel :is(input,select,textarea,button):disabled{opacity:.58;cursor:not-allowed}

/* Shared AI-report chrome; domain-specific report bodies remain specialized. */
.pp-ai-report-page{min-width:0}
.pp-ai-report-back{margin:0 0 12px}
.pp-ai-report-meta{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin:-4px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--graphite);font-size:.82rem;line-height:1.45}
.pp-ai-report-meta>span{display:inline-flex;align-items:center;gap:5px}
.pp-ai-report-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.pp-ai-progress{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--r);background:var(--card);color:var(--ink)}
.pp-ai-progress>.i{flex:none;margin-top:2px;color:var(--green)}
.pp-ai-progress p{margin:3px 0 0;color:var(--graphite)}
.pp-ai-progress.is-refining{border-left-color:var(--amber)}
.pp-ai-progress.is-error{border-left-color:var(--seal)}
.pp-ai-progress.is-error>.i{color:var(--seal)}
.pp-ai-integrity-stop{display:grid;gap:18px;min-width:0;margin:0 0 18px;padding:20px;border:1px solid var(--line);border-top:4px solid var(--seal);border-radius:var(--r);background:var(--card);color:var(--ink)}
.pp-ai-integrity-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.pp-ai-integrity-head>.i{margin-top:2px;color:var(--seal)}
.pp-ai-integrity-head h2{margin:0 0 6px;font:700 1.18rem/1.3 var(--display);overflow-wrap:anywhere}
.pp-ai-integrity-head p{max-width:76ch;margin:0;color:var(--graphite);line-height:1.58;overflow-wrap:anywhere}
.pp-ai-integrity-refund{display:flex;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--green) 42%,var(--line));border-radius:var(--r);background:color-mix(in srgb,var(--green) 7%,var(--card));color:var(--ink);font-weight:700;line-height:1.45}
.pp-ai-integrity-refund>.i{flex:none;margin-top:2px;color:var(--green)}
.pp-ai-integrity-sources{display:grid;gap:10px;min-width:0}
.pp-ai-integrity-sources-head{display:flex;align-items:end;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.pp-ai-integrity-sources-head h3{min-width:0;margin:0;font:700 1.02rem/1.35 var(--display);overflow-wrap:anywhere}
.pp-ai-integrity-sources-head p{flex:1 1 360px;min-width:0;margin:0;color:var(--graphite);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}
.pp-ai-integrity-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.pp-ai-integrity-source{display:grid;align-content:start;gap:7px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.pp-ai-integrity-source-title{margin:0;color:var(--ink);font-weight:700;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}
a.pp-ai-integrity-source-title{text-decoration-thickness:1px;text-underline-offset:3px}
.pp-ai-integrity-source-meta{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin:0;color:var(--graphite);font-size:.78rem;line-height:1.4}
.pp-ai-integrity-source-meta>span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.pp-ai-integrity-source-summary{margin:0;color:var(--graphite);font-size:.84rem;line-height:1.5;overflow-wrap:anywhere}
.pp-ai-integrity-empty{margin:0;padding:13px;border:1px dashed var(--line);border-radius:var(--r);color:var(--graphite);line-height:1.5}
.pp-ai-integrity-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;padding-top:2px}
.pp-ai-integrity-actions form{margin:0}
.pp-ai-integrity-actions .btn{min-height:44px}

.app.theme-dark .pp-module-tab.on,.app.theme-dark .pp-module-tab[aria-current=page]{background:var(--card);border-color:var(--line);color:var(--ink)}
.app.theme-dark :is(.pp-panel,.pp-search-panel,.pp-state,.pp-ai-panel,.pp-ai-range-summary,.pp-ai-history-chip,.pp-ai-report-meta,.pp-ai-progress,.pp-ai-integrity-stop){background:var(--card)!important;border-color:var(--line)!important}
.app.theme-dark .pp-ai-integrity-source{background:var(--paper);border-color:var(--line)}
.app.theme-dark .pp-state.is-error{border-left-color:var(--seal)!important}
.app.theme-dark .pp-state.is-warming{border-left-color:var(--amber)!important}
.app.theme-dark .pp-state.is-onboarding{border-color:color-mix(in srgb,var(--green) 45%,var(--line))!important}
.app.theme-dark :is(.pp-ai-corpus,.pp-ai-quota,.pp-ai-notice,.pp-ai-history-status){background:var(--paper);border-color:var(--line)}
.app.theme-dark .pp-ai-history-reports .pp-ai-history-item{background:var(--card);border-color:var(--line)}
.app.theme-dark .pp-ai-history-reports .pp-ai-history-item:hover,.app.theme-dark .pp-ai-history-reports .pp-ai-history-item:focus-within{border-color:var(--seal)}
.app.theme-dark .pp-ai-panel .pp-ai-query,.app.theme-dark .pp-ai-control{background:#0E171B!important;border-color:var(--line)!important;color:var(--ink)!important;color-scheme:dark}
.app.theme-dark .pp-ai-panel .pp-ai-query::placeholder{color:var(--faint)}

/* Client modules use typography, not boxed glyphs, to establish their title hierarchy.
 * Keep icons in navigation, tabs, buttons, inputs and other functional controls. */
.app-client .content .pp-mast-ic,
.app-client .content :is(h1,h2,h3,h4)>.i,
.app-client .content .pp-ai-title>.i,
.app-client .content .wz-ai>b>.i,
.app-client .content .pr-nudge>.i,
.app-client .content .pr-preflight-head>.i,
.app-client .content .scs-pf-head>.i,
.app-client .content .scs-plat-head>.i{display:none!important}

/* Client-only callout treatment: a quiet complete border replaces the coloured left rail.
 * Neutral quotation/timeline rails and all public/admin surfaces remain unchanged. */
.app-client .content :where(
  .evidence,
  .camp-blocks blockquote,
  .wz-preview .pv-ask,
  .pp-state.is-error,
  .pp-state.is-warming,
  .pp-ai-range-summary,
  .pp-ai-notice,
  .pp-ai-progress,
  .cbanner,
  .bi-sec-do,
  .bi-sec-watch,
  .bt-ai-banner,
  .bt-ai-scope,
  .bt-ai-emailed,
  .bt-ai-brief,
  .bt-ai-refining,
  .bt-card-follow,
  .cr-attn-row.bad,
  .cr-attn-row.warn,
  .cr-ev,
  .cr-act.overdue,
  .cr-focal,
  .cm-watch-banner,
  .cm-transcript,
  .cm-card-follow,
  .cm-error,
  .ct-watch-banner,
  .ct-card-follow,
  .ct-error,
  .ct-warming,
  .ati-watch-banner,
  .op-watch-banner,
  .nm-watch-banner,
  .bt-watch-banner,
  .crm-deadline,
  .crm-ai-answer,
  .crm-inbox-act,
  .gg-watch-banner,
  .gg-brief,
  .gg-error,
  .gg-ai-scope,
  .gg-ai-note,
  .gg-ai-queued,
  .gg-ai-brief,
  .hs-banner,
  .hs-ai-scope,
  .hs-ai-note,
  .hs-ai-answer,
  .hp-card.following,
  .hp-updates.has,
  .hp-fol.changed,
  .infra-warn,
  .infra-card.following,
  .infra-recent,
  .infra-fol.changed,
  .nm-srcnotice,
  .nm-res-head,
  .nm-ai-scope,
  .nm-job-note,
  .nm-tips,
  .nm-brief,
  .oic-error,
  .oic-mailnote,
  .oic-soon-note,
  .oic-ai-scope,
  .oic-ai-brief,
  .pmra-card.following,
  .pmra-recent,
  .pmra-fol.changed,
  .pr-nudge,
  .pr-preflight,
  .scs-nudge,
  .scs-post-final,
  .scs-pf,
  .vp-explain,
  .vp-idv-cost,
  .vp-aisum,
  .vp-trial
){border:1px solid var(--line)!important;border-radius:var(--r)!important}

/* Official-record and user-authored titles must not be able to widen the client canvas. */
.app-client .content :where(.ct-card h3,.hp-card h3,.pmra-card h3,.infra-card h3,.wr-card h3,.crm-card h2,.crm-card h3){overflow-wrap:anywhere;min-width:0}
.app-client .content :where(.ct-card,.cm-card,.gg-card,.hs-card,.nm-card,.hp-card,.pmra-card,.infra-card){border-radius:var(--r)!important}
.app-client .content :where(.ct-card,.cm-card,.gg-card,.hs-card,.nm-card,.hp-card,.pmra-card,.infra-card):hover{transform:none!important;box-shadow:none!important}

@media(max-width:900px){.topbar .page-title,.topbar .topbar-title{font-size:1.08rem}}
@media(max-width:720px){
  .pp-search-row{grid-template-columns:1fr 1fr}.pp-search-row>:first-child{grid-column:1/-1}.pp-search-actions{grid-column:1/-1}
  .pp-ai-panel{padding:16px!important}
  .pp-ai-controls{display:grid;grid-template-columns:1fr;width:100%}
  .pp-ai-filter-field,.pp-ai-controls .pp-ai-date-range{width:100%;min-width:0}
  .pp-ai-panel .pp-ai-submit{width:100%;justify-content:center}
  .pp-filter-bar{padding:14px}
  .pp-filter-field,.pp-filter-actions,.pp-filter-actions>.btn{width:100%}
  .pp-filter-actions>.btn{justify-content:center}
  .pp-form-actions{align-items:stretch}
  .pp-form-actions>.btn,.pp-form-actions>form,.pp-form-actions>form>.btn{width:100%;justify-content:center}
}
@media(max-width:640px){
  .pp-lifecycle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:100%}
  .pp-lifecycle-actions>:last-child:nth-child(odd){grid-column:1/-1}
  .pp-lifecycle-actions>.btn,.pp-lifecycle-actions>form,.pp-lifecycle-actions>form>.btn{width:100%;justify-content:center}
}
@media(max-width:760px){
  .app.app-client .content .btn,.app.app-client .content .btn.sm,.app.app-client .content .tab{min-height:44px}
  .app.app-client .content select{min-height:44px}
}
@media(max-width:560px){
  .pp-ai-report-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%}
  .pp-ai-report-toolbar>:is(.btn,form){width:100%;min-width:0;box-sizing:border-box}
  .pp-ai-report-toolbar>.btn,.pp-ai-report-toolbar>form>.btn{width:100%;justify-content:center}
  .pp-ai-integrity-stop{gap:16px;padding:16px}
  .pp-ai-integrity-head{grid-template-columns:minmax(0,1fr)}
  .pp-ai-integrity-head>.i{display:none}
  .pp-ai-integrity-source-list{grid-template-columns:minmax(0,1fr)}
  .pp-ai-integrity-actions,.pp-ai-integrity-actions form,.pp-ai-integrity-actions .btn{width:100%}
  .pp-ai-integrity-actions .btn{justify-content:center}
}
@media(max-width:640px){
  .pp-search-panel .pp-search-actions{flex:1 1 100%;width:100%}
  .pp-search-panel .pp-search-actions>.btn{flex:1 1 160px;justify-content:center}
  :is(.bt-card-actions,.cm-card-actions,.hs-card-workbox,.ati-card-workbox,.op-card-workbox){align-items:stretch;justify-content:flex-start}
  :is(.bt-card-actions,.cm-card-actions,.hs-card-workbox,.ati-card-workbox,.op-card-workbox)>:is(.btn,.wb-add-form,.wb-picker){width:100%;min-width:0}
  :is(.bt-card-actions,.cm-card-actions,.hs-card-workbox,.ati-card-workbox,.op-card-workbox)>.wb-add-form>.btn,
  :is(.bt-card-actions,.cm-card-actions,.hs-card-workbox,.ati-card-workbox,.op-card-workbox)>.wb-picker>summary{width:100%;min-height:44px;justify-content:center}
}
@media(pointer:coarse){
  .app-client .content :is(.bt-ai-toc,.nm-brief-toc,.gg-ai-toc,.oic-ai-toc) a,
  .app-client .content .ct-ai-cite{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px}
}
@media(max-width:480px){.pp-search-row{grid-template-columns:1fr}.pp-search-row>*{grid-column:1!important}.pp-search-row.is-wide>*{width:100%;flex-basis:100%}.pp-search-actions>.btn{flex:1 1 auto;justify-content:center}.pp-ai-date-range,.pp-date-range{grid-template-columns:1fr!important}.pp-ai-date-sep,.pp-date-sep{display:none!important}.pp-ai-history{display:block}.pp-ai-history-label{display:block;padding:0 0 8px}.pp-ai-history-chip,.pp-ai-continue-form{width:100%;justify-content:space-between}.pp-ai-history-list{display:grid;grid-template-columns:1fr}}
@media(forced-colors:active){.pp-ai-history-reports .pp-ai-history-item,.pp-ai-history-reports .pp-ai-history-status,.pp-ai-integrity-stop,.pp-ai-integrity-source,.pp-ai-integrity-refund{border-color:CanvasText}.pp-ai-history-reports .pp-ai-history-item:focus-within{outline:2px solid Highlight}}

/* A named paper keeps this document treatment scoped to deep-research reports; receipts,
 * letters and other printable dashboard pages retain their own page geometry. */
@page pp-ai-research{size:letter;margin:.65in .7in .72in}
@media print{
  .pp-ai-report-back,.pp-ai-report-toolbar,.pp-ai-history,.pp-ai-progress .btn{display:none!important}

  /* The on-screen reports are deliberately rich. On paper they become a restrained briefing:
   * one column, conventional type, grayscale, no rounded cards or decorative application chrome. */
  .pp-ai-report-page{page:pp-ai-research;display:block!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#111!important;--ink:#111;--ink-2:#222;--graphite:#4a4a4a;--faint:#666;--line:#bbb;--card:#fff;--paper:#fff;--seal:#111;--green:#111;--amber:#111;font:10pt/1.48 Arial,Helvetica,sans-serif!important;print-color-adjust:economy;-webkit-print-color-adjust:economy}
  .pp-ai-report-page,.pp-ai-report-page *{box-shadow:none!important;text-shadow:none!important}
  .pp-ai-report-page :is(h1,h2,h3,h4,p,li,div,span,small,strong,b){color:inherit}
  .pp-ai-report-page p,.pp-ai-report-page li{widows:3;orphans:3}
  .pp-ai-report-page :is(h1,h2,h3,h4){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-wrap:wrap;color:#111!important;break-after:avoid-page;page-break-after:avoid}
  .pp-ai-report-page h1{font-size:18pt!important;line-height:1.18!important;font-weight:700!important;margin:0 0 5pt!important}
  .pp-ai-report-page h2{font-size:12.5pt!important;line-height:1.28!important;font-weight:700!important;margin:15pt 0 6pt!important}
  .pp-ai-report-page h3{font-size:10.5pt!important;line-height:1.3!important;font-weight:700!important;margin:10pt 0 4pt!important}
  .pp-ai-report-page p{margin:0 0 7pt!important}
  .pp-ai-report-page ul,.pp-ai-report-page ol{margin:4pt 0 9pt!important;padding-left:18pt!important}
  .pp-ai-report-page li{margin:0 0 3pt!important}
  .pp-ai-report-page a{color:#111!important;text-decoration:underline!important;text-decoration-thickness:.5pt!important;text-underline-offset:1.5pt!important}
  .pp-ai-report-page :is(.muted,small,.pp-ai-footnote){color:#555!important}
  .pp-ai-report-page .i{display:none!important}

  /* Preserve a real document title even where older module print rules hid the on-screen mast. */
  .app .pp-ai-report-page>.pp-mast{display:block!important;margin:0 0 9pt!important;padding:0 0 11pt!important;border:0!important;border-bottom:1.25pt solid #222!important;border-radius:0!important;background:#fff!important;min-height:0!important}
  .pp-ai-report-page>.pp-mast .pp-mast-ic,.pp-ai-report-page>.pp-mast .pp-mast-cta{display:none!important}
  .pp-ai-report-page>.pp-mast .pp-mast-tt{display:block!important;max-width:none!important}
  .pp-ai-report-page>.pp-mast .pp-mast-sub{max-width:none!important;margin:0!important;color:#444!important;font:400 10pt/1.4 Arial,Helvetica,sans-serif!important}
  .pp-ai-report-page :is(.bt-print-q,.nm-print-q){display:none!important}

  /* Metadata is a quiet document line, not a dashboard card. */
  .pp-ai-report-page .pp-ai-report-meta{display:flex!important;align-items:flex-start!important;gap:3pt 16pt!important;flex-wrap:wrap!important;margin:0 0 14pt!important;padding:0 0 7pt!important;border:0!important;border-bottom:.5pt solid #aaa!important;border-radius:0!important;background:#fff!important;color:#444!important;font:400 8.5pt/1.4 Arial,Helvetica,sans-serif!important}
  .pp-ai-report-page .pp-ai-report-meta>span{display:inline!important;color:#444!important}

  /* Remove controls and web-only navigation from the printed briefing. */
  .pp-ai-report-page :is(.no-print,.pp-act,.pp-ai-report-back,.pp-ai-report-toolbar,.pp-ai-progress,.pp-ai-integrity-actions,.bt-ai-tools,.bt-ai-toc,.bt-ai-askrow,.bt-ai-warroom,.bt-ai-followall,.nm-brief-toc,.nm-tools,.nm-askin,.gg-ai-form,.oic-ai-form,.aim-subs){display:none!important}

  .pp-ai-report-page .pp-ai-integrity-stop{display:block!important;margin:0!important;padding:0!important;border:0!important;border-top:2pt solid #111!important;border-radius:0!important;background:#fff!important}
  .pp-ai-report-page .pp-ai-integrity-head{display:block!important;margin:0 0 10pt!important}
  .pp-ai-report-page .pp-ai-integrity-refund{display:block!important;margin:0 0 12pt!important;padding:6pt 0!important;border:0!important;border-top:.5pt solid #aaa!important;border-bottom:.5pt solid #aaa!important;border-radius:0!important;background:#fff!important}
  .pp-ai-report-page .pp-ai-integrity-source-list{display:block!important;margin:0!important;padding:0!important;list-style:none!important}
  .pp-ai-report-page .pp-ai-integrity-source{display:block!important;margin:0!important;padding:7pt 0!important;border:0!important;border-bottom:.5pt solid #bbb!important;border-radius:0!important;background:#fff!important;break-inside:avoid-page;page-break-inside:avoid}

  /* Every research body becomes a continuous page rather than a coloured outer card. */
  .pp-ai-report-page :is(.bt-ai-brief,.nm-brief,.gg-ai-brief,.oic-ai-brief,.hs-ai-report,.cs-ai-report,.op-ai-report,.ati-ai-report,.aim-report){display:block!important;margin:0 0 14pt!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;overflow:visible!important}
  .pp-ai-report-page :is(.bt-ai-answer,.nm-brief-answer,.gg-ai-answer,.oic-ai-answer,.hs-ai-answer,.cs-ai-answer,.op-ai-answer,.ati-ai-answer,.aim-answer){display:block!important;margin:0 0 13pt!important;padding:0 0 10pt!important;border:0!important;border-bottom:1pt solid #777!important;border-radius:0!important;background:#fff!important;break-inside:avoid-page;page-break-inside:avoid}
  .pp-ai-report-page :is(.bt-ai-brief-kicker,.nm-brief-head,.gg-ai-tag,.oic-ai-tag){display:block!important;margin:0 0 4pt!important;color:#555!important;font:700 7.5pt/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase!important}
  .pp-ai-report-page :is(.bt-ai-brief-lead,.nm-brief-lead,.gg-ai-brief-lead,.oic-ai-brief-lead,.aim-sum){font:400 10.5pt/1.5 Arial,Helvetica,sans-serif!important;color:#111!important}

  /* Multi-column evidence tiles become conventional headed paragraphs. */
  .pp-ai-report-page :is(.bt-ai-evidence,.bt-ai-brief-blocks,.nm-brief-sections,.nm-brief-blocks,.gg-ai-sections,.gg-ai-brief-blocks,.oic-ai-sections,.oic-ai-brief-blocks,.hs-ai-sections,.hs-ai-timeline,.cs-ai-sections,.cs-ai-timeline,.op-ai-sections,.ati-ai-evidence,.ati-ai-sections,.aim-sections){display:block!important;margin:0!important;padding:0!important}
  .pp-ai-report-page :is(.bt-ai-brief-sec,.nm-brief-sec,.gg-ai-brief-sec,.oic-ai-brief-sec,.hs-ai-sections article,.hs-ai-timeline article,.cs-ai-sections article,.cs-ai-timeline article,.op-ai-sections article,.ati-ai-sections article,.aim-sections article){display:block!important;margin:0 0 9pt!important;padding:0 0 7pt!important;border:0!important;border-bottom:.5pt solid #bbb!important;border-radius:0!important;background:#fff!important;break-inside:auto!important;page-break-inside:auto!important}
  .pp-ai-report-page :is(.bt-ai-brief-block,.nm-brief-block,.gg-ai-brief-block,.oic-ai-brief-block,.aim-comparison,.aim-caveat,.aim-watch){display:block!important;margin:10pt 0 0!important;padding:8pt 0 0!important;border:0!important;border-top:.5pt solid #aaa!important;border-radius:0!important;background:#fff!important}
  .pp-ai-report-page :is(.bt-ai-brief-lbl,.nm-brief-lbl,.gg-ai-brief-lbl,.oic-ai-brief-lbl){font:700 9pt/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:#111!important}

  /* Charts remain useful, but print as flat grayscale figures. */
  .pp-ai-report-page .aichart{margin:10pt 0 13pt!important;padding:8pt 0!important;border:0!important;border-top:.5pt solid #aaa!important;border-bottom:.5pt solid #aaa!important;border-radius:0!important;background:#fff!important;filter:grayscale(1);break-inside:avoid-page;page-break-inside:avoid}
  .pp-ai-report-page .aichart-t{font:700 8.5pt/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:#111!important}
  .pp-ai-report-page .aichart-row{break-inside:avoid}

  /* Closed source disclosures must still be complete in a saved PDF. */
  .pp-ai-report-page details:not([open])>:not(summary){display:block!important}
  .pp-ai-report-page details>summary{display:block!important;list-style:none!important;margin:15pt 0 5pt!important;padding:8pt 0 4pt!important;border:0!important;border-top:1pt solid #333!important;color:#111!important;font:700 11.5pt/1.3 Arial,Helvetica,sans-serif!important;cursor:default!important}
  .pp-ai-report-page details>summary::-webkit-details-marker{display:none!important}

  /* Ranked records and cited sources print as a bibliography-like list, never as tiles. */
  .pp-ai-report-page :is(.bt-grid,.nm-mlist,.gg-cards,.oic-grid,.op-grid,.ati-grid,.hs-ai-source-list,.cs-ai-source-list){display:block!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important}
  .pp-ai-report-page :is(.bt-grid>*,.nm-mrowwrap,.gg-card,.oic-card,.op-card,.ati-card,.hs-ai-source-list>*,.cs-ai-source-list>*){display:block!important;margin:0!important;padding:7pt 0!important;border:0!important;border-bottom:.5pt solid #bbb!important;border-radius:0!important;background:#fff!important;transform:none!important;break-inside:avoid-page;page-break-inside:avoid}
  .pp-ai-report-page :is(.nm-mrow,.gg-card-title a,.oic-card-link,.op-card-tt a,.ati-card-tt a,.hs-ai-source-list>a,.cs-ai-source-list>a){min-height:0!important;padding:0!important;color:#111!important;background:#fff!important;text-decoration:none!important}
  .pp-ai-report-page :is(.gg-card-acts,.gg-card-actic,.oic-card-acts,.op-card-foot .btn,.ati-card-foot .btn,.ati-card-workbox){display:none!important}
  .pp-ai-report-page :is(.badge,.bt-chip-st,.gg-ai-source-count,.oic-ai-source-count,.op-count,.ati-count,.hs-fold-n,.cm-fold-n){display:inline!important;min-width:0!important;height:auto!important;margin:0 3pt 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;color:#555!important;font:700 7.5pt/1.3 Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important;text-transform:uppercase!important}

  /* Source/disclaimer divisions read like report apparatus instead of callout boxes. */
  .pp-ai-report-page :is(.gg-ai-source-head,.oic-ai-source-head,.op-ai-sources,.ati-ai-sources,.bt-ai-bills-h){margin:15pt 0 6pt!important;padding:8pt 0 0!important;border:0!important;border-top:1pt solid #333!important;background:#fff!important}
  .pp-ai-report-page :is(.bt-ai-brief-disc,.nm-brief-disc,.gg-ai-brief-disc,.oic-ai-brief-disc,.bt-ai-foot,.nm-ai-disclaim,.op-ai-caveat,.ati-ai-caveat,.aim-foot){display:block!important;margin:12pt 0 0!important;padding:7pt 0 0!important;border:0!important;border-top:.5pt solid #aaa!important;color:#555!important;font:400 8pt/1.4 Arial,Helvetica,sans-serif!important}
}