:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dk-a0);background:var(--dk-a1);line-height:1.5;--ink:var(--dk-a2);--muted:var(--dk-a3);--line:var(--dk-a4);--blue:var(--dk-a5);--blue-dark:var(--dk-a6);--navy:var(--dk-a7);--aqua:#45d8c0;--success:var(--dk-a8)}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%}body{background:var(--dk-a1)}a{color:var(--blue-dark);text-underline-offset:3px}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #f6b73c;outline-offset:3px}[hidden]{display:none!important}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.admin-rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 22px;color:#fff;background:radial-gradient(circle at 10% 8%,rgba(35,103,232,.3),transparent 29%),linear-gradient(155deg,#10213a,#07111f)}.admin-rail .brand{display:flex;gap:11px;align-items:center;color:#fff;text-decoration:none}.admin-rail .brand>span:first-child{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:12px;color:var(--aqua);background:rgba(255,255,255,.06)}.admin-rail .brand strong,.admin-rail .brand small{display:block}.admin-rail .brand strong{font-size:.92rem}.admin-rail .brand small{color:#8191aa;font-size:.65rem}.admin-rail nav{display:grid;gap:2px;margin-top:40px}.admin-rail nav a{position:relative;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:#93a2b8;font-size:.73rem;font-weight:700;text-decoration:none}.admin-rail nav a:hover,.admin-rail nav a[aria-current="location"]{background:rgba(255,255,255,.075);color:#fff}/* The side menu (src/admin.html): an icon, the heading it opens, a count; the section in view
   carries an aqua marker, and the queue's tabs sit under it with their own counts. */
.admin-rail .nav-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.admin-rail nav a[aria-current="location"]::before{content:"";position:absolute;inset-inline-start:-22px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--aqua)}
.admin-rail nav a b{margin-inline-start:auto;min-width:22px;padding:0 7px;border-radius:99px;background:rgba(255,255,255,.1);color:#cfe0ff;font-size:.62rem;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.admin-rail nav a b.is-hot{background:#2367e8;color:#fff}
.admin-rail .nav-queue{display:grid;gap:1px;margin:2px 0 6px;padding-inline-start:28px}
.admin-rail .nav-queue a{padding:5px 8px;color:#7f8ea6;font-size:.66rem;font-weight:650}
.admin-rail .nav-queue a[aria-current="true"]{color:#fff;background:rgba(255,255,255,.05)}
.admin-rail .nav-queue a b{background:transparent;color:#9fb2cc;font-size:.6rem}
.admin-rail .nav-queue a b.is-alert{color:#ff9b93}
.admin-rail .environment{display:flex;gap:10px;align-items:center;margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.045)}.admin-rail .environment>span{width:8px;height:8px;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 4px rgba(69,216,192,.1)}.admin-rail .environment strong,.admin-rail .environment small{display:block}.admin-rail .environment strong{font-size:.7rem}.admin-rail .environment small{color:#73839a;font-size:.6rem}.admin-workspace{padding:40px clamp(25px,5vw,68px) 24px}.admin-workspace>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;max-width:1180px;margin:0 auto 24px}.header-actions{display:flex;gap:8px;align-items:center}.eyebrow{margin:0 0 7px;color:var(--blue);font-size:.65rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}h1,h2{color:var(--ink);letter-spacing:-.035em}h1{margin:0;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.05}.admin-workspace>header p:last-child{margin:11px 0 0;color:var(--muted);font-size:.84rem}.portal-link{min-height:42px;display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--dk-a9);border-radius:9px;background:var(--dk-aa);color:var(--dk-ab);font-size:.7rem;font-weight:750;text-decoration:none;cursor:pointer}.status{max-width:1180px;min-height:48px;display:flex;align-items:center;gap:10px;margin:0 auto 18px;padding:11px 14px;border:1px solid var(--dk-ac);border-radius:11px;background:var(--dk-ad);color:var(--dk-ae);font-size:.73rem;font-weight:720}.status>span:first-child{width:8px;height:8px;border:2px solid #9db8e7;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.auth-card{max-width:850px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:50px auto;padding:35px;border:1px solid var(--line);border-radius:20px;background:var(--dk-aa);box-shadow:0 22px 60px var(--dk-af)}.auth-card h2{margin:0;font-size:1.8rem}.auth-card p:last-child{color:var(--muted);font-size:.76rem}.metrics{max-width:1180px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 auto 18px}.metrics article{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--dk-aa)}.metrics span,.metrics strong,.metrics small{display:block}.metrics span{color:var(--muted);font-size:.64rem}.metrics strong{margin:5px 0 1px;color:var(--ink);font-size:1.55rem}.metrics small{color:var(--dk-ag);font-size:.6rem}.section-card{max-width:1180px;margin:0 auto 18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--dk-aa);box-shadow:0 14px 38px var(--dk-ah)}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:18px}.section-heading h2{margin:0;font-size:1.3rem}.secondary,.approve{min-height:40px;padding:8px 12px;border-radius:8px;font-size:.66rem;font-weight:800;cursor:pointer}.secondary{border:1px solid var(--dk-ai);background:var(--dk-aa);color:var(--dk-aj)}.approve{border:1px solid var(--blue);background:var(--blue);color:#fff}.approve:hover{background:var(--blue-dark)}.approve:disabled{opacity:.6;cursor:wait}.queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.queue{min-width:0;padding:15px;border:1px solid var(--dk-ak);border-radius:12px;background:var(--dk-al)}.queue h3{display:flex;justify-content:space-between;margin:0 0 12px;color:var(--dk-am);font-size:.72rem}.queue h3 .count{min-width:23px;height:23px;display:grid;place-items:center;border-radius:99px;background:var(--dk-an);color:var(--dk-ao);font-size:.61rem}.queue-list{display:grid;gap:8px}.queue-item{padding:12px;border:1px solid var(--dk-ak);border-radius:10px;background:var(--dk-aa)}.queue-item strong,.queue-item small{display:block}.queue-item strong{overflow:hidden;color:var(--dk-ap);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.queue-item small{margin-top:3px;color:var(--dk-aq);font-size:.61rem}.queue-item footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:11px}.money{color:var(--dk-ar);font-size:.65rem;font-weight:800}.empty{margin:0;padding:18px 8px;text-align:center;color:var(--dk-as);font-size:.65rem}.continuity-list{display:grid;gap:8px}.continuity-item{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;padding:14px;border:1px solid var(--dk-ak);border-radius:11px}.continuity-item strong,.continuity-item small{display:block}.continuity-item strong{font-size:.72rem}.continuity-item small{margin-top:3px;color:var(--muted);font-size:.62rem}.state{padding:5px 8px;border-radius:99px;background:var(--dk-at);color:var(--dk-au);font-size:.6rem;font-weight:800}.state.is-taken-over{background:var(--dk-av);color:var(--dk-aw)}.continuity-site a{color:inherit;text-decoration:none}.continuity-site a::after{content:" ↗"}.continuity-site a:hover{color:var(--blue-dark);text-decoration:underline}.admin-workspace>footer{max-width:1180px;display:flex;justify-content:space-between;margin:24px auto 0;color:var(--dk-ax);font-size:.61rem}.admin-workspace>footer a{color:var(--dk-ay);text-decoration:none}
@media(max-width:900px){.admin-shell{display:block}.admin-rail{position:relative;height:auto;padding:17px 20px}.admin-rail nav{display:flex;gap:6px;margin:16px -20px 0;padding:0 20px 2px;overflow-x:auto;scrollbar-width:none}.admin-rail nav::-webkit-scrollbar{display:none}.admin-rail nav a{flex:0 0 auto;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.07);white-space:nowrap}.admin-rail nav a[aria-current="location"]{background:#2367e8}.admin-rail nav a[aria-current="location"]::before,.admin-rail .nav-icon,.admin-rail .nav-queue{display:none}.admin-rail .environment{display:none}.admin-workspace{padding:28px 16px}.queue-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.admin-workspace>header,.section-heading{display:block}.portal-link,.section-heading button{margin-top:15px}.auth-card,.queue-grid{grid-template-columns:1fr}.auth-card{padding:24px 16px}.auth-card>*{min-width:0}#clerk-sign-in .cl-rootBox,#clerk-sign-in .cl-cardBox{width:100%;max-width:100%}.metrics{grid-template-columns:1fr 1fr}.admin-rail nav a{font-size:.62rem}.section-card{padding:18px 13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Language switcher: sits with the header actions and matches .portal-link. */
.lang-switch{position:relative;display:inline-flex;align-items:center}
.lang-switch-icon{position:absolute;inset-inline-start:10px;width:15px;height:15px;color:var(--dk-az);pointer-events:none}
.lang-switch-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}
.lang-switch select{min-height:42px;padding-block:8px;padding-inline:31px 12px;border:1px solid var(--dk-a9);border-radius:9px;background:var(--dk-aa);color:var(--dk-ab);font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}
.lang-switch select:focus-visible{outline:3px solid #f6b73c;outline-offset:3px}
.header-actions{flex-wrap:wrap}
/* Held back until the reader's language is applied; admin.js and a timeout both release it. */
.i18n-pending body{visibility:hidden}
.review-intro{margin:0 0 18px;color:var(--muted);font-size:.77rem;line-height:1.55}.brand-review-list{display:grid;gap:10px}.brand-review-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--dk-al)}.brand-review-row strong,.brand-review-row small{display:block}.brand-review-row strong{color:var(--ink);font-size:.83rem}.brand-review-row small{margin-top:4px;color:var(--muted);font-size:.69rem}.brand-review-detail{margin-top:20px;padding:24px;border:1px solid var(--dk-a10);border-radius:14px;background:var(--dk-a11)}.brand-review-detail h3{margin:0;color:var(--ink);font-size:1.18rem}.brand-review-detail h4{margin:27px 0 12px;color:var(--ink)}.review-meta{overflow-wrap:anywhere;color:var(--muted);font-size:.67rem}.review-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-identity>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--dk-aa)}.review-identity dt{color:var(--muted);font-size:.63rem}.review-identity dd{overflow-wrap:anywhere;margin:4px 0 0;color:var(--ink);font-size:.76rem}.review-identity dd.review-text{max-height:260px;overflow:auto;white-space:pre-wrap;line-height:1.55}.review-pages{display:grid;gap:12px}.review-pages article{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--dk-aa)}.review-pages h5{margin:0 0 10px;color:var(--ink);font-size:.84rem}.review-pages pre{max-height:260px;overflow:auto;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--dk-a12);font:inherit;font-size:.72rem;line-height:1.55}.review-note{display:grid;gap:7px;margin-top:22px;color:var(--ink);font-size:.72rem;font-weight:750}.review-note textarea{width:100%;padding:12px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:.75rem;resize:vertical}.review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.is-required::after{content:"*" / "";margin-inline-start:4px;color:var(--dk-a14);font-weight:800}.review-note-hint{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.45}.review-note textarea[aria-invalid="true"]{border-color:#c62828;box-shadow:0 0 0 3px var(--dk-a15)}.review-message{margin:10px 0 0;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.45}.review-message.is-error{color:var(--dk-a14)}.review-boundary{margin:17px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}@media(max-width:700px){.brand-review-row{align-items:stretch;flex-direction:column}.review-identity{grid-template-columns:1fr}}
/* iOS Safari zooms into any focused field smaller than 16px, so touch screens get 16px fields. */
@media(pointer:coarse){.lang-switch select,.review-note textarea,#clerk-sign-in input{font-size:16px}}
.section-note{margin:0 0 14px;color:var(--muted);font-size:.68rem;line-height:1.55}
.launch-list{display:grid;gap:14px}
.launch-row{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--dk-al)}
.launch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.launch-head strong,.launch-head small{display:block}
.launch-head strong{color:var(--ink);font-size:.83rem}
.launch-head small{margin-top:3px;color:var(--muted);font-size:.66rem}
.launch-state{flex:0 0 auto;padding:5px 9px;border-radius:99px;background:var(--dk-a16);color:var(--dk-a17);font-size:.6rem;font-weight:800}
.launch-state[data-state="ready"]{background:var(--dk-a18);color:var(--blue-dark)}
.launch-state[data-state="live"]{background:var(--dk-a19);color:var(--success)}
.launch-checks{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.launch-checks li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline;font-size:.68rem;color:var(--dk-a12)}
.launch-checks b{color:var(--ink);font-weight:750}
.launch-checks .check-state{min-width:66px;padding:2px 7px;border-radius:99px;font-size:.58rem;font-weight:800;text-align:center}
.check-state[data-state="done"]{background:var(--dk-a19);color:var(--success)}
.check-state[data-state="action"]{background:var(--dk-at);color:var(--dk-au)}
.check-state[data-state="waiting"]{background:var(--dk-a18);color:var(--blue-dark)}
.launch-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px}
.launch-controls label{display:grid;gap:5px;flex:1 1 240px;color:var(--ink);font-size:.68rem;font-weight:750}
.launch-controls input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:16px}
.launch-controls button[disabled]{opacity:.55;cursor:not-allowed}
.check-row .launch-controls textarea{width:100%;min-height:60px;padding:8px 10px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:16px;resize:vertical}
.check-row .launch-controls small{font-weight:500;color:var(--muted,var(--dk-a1a))}
.check-row > .section-note{margin:10px 0 0}
.check-row > p > a{font-size:.7rem;font-weight:750}
.incident-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:12px 0 0;font-size:.66rem}
.incident-facts dt{color:var(--muted);font-weight:700}
.incident-facts dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.incident-row > .section-note{margin:10px 0 0}
.launch-head small.incident-taken-over{color:var(--dk-a14);font-weight:700}
@media (max-width:560px){.incident-facts{grid-template-columns:1fr}.incident-facts dd{margin-bottom:6px}}
@media (max-width:650px){.launch-head{flex-direction:column}.launch-controls button{width:100%}}
/* Decision history ("Charter journeys", design A): built from the same parts as the sections
   above (eyebrow and title, white tiles, light grey item cards) and the same colours. Blue marks
   anything waiting on the reader; the banner turns green when nothing is. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.journeys-search{flex:0 1 300px;min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--dk-a9);border-radius:9px;background:var(--dk-aa);color:var(--muted)}
.journeys-search svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}
.journeys-search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink);font:inherit;font-size:.74rem}
.journeys-search:focus-within{outline:3px solid #f6b73c;outline-offset:2px}
.journeys-banner{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-bottom:14px;padding:14px 16px;border:1px solid var(--dk-a1b);border-radius:12px;background:linear-gradient(100deg,var(--dk-a1c) 40%,var(--dk-aa))}
.journeys-banner.is-waiting{border-color:var(--dk-ac);background:linear-gradient(100deg,var(--dk-ad),var(--dk-a11) 60%,var(--dk-aa))}
.journeys-banner-icon{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:var(--dk-a19);color:var(--success)}
.journeys-banner.is-waiting .journeys-banner-icon{background:var(--dk-a18);color:var(--blue)}
.journeys-banner-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.journeys-banner .is-waiting,.journeys-banner.is-waiting .is-clear{display:none}
.journeys-banner.is-waiting .is-waiting{display:block}
.journeys-banner-copy{flex:1 1 280px;min-width:0}
.journeys-banner-copy>strong,.journeys-banner-copy>span{display:block}
.journeys-banner-copy strong{color:var(--ink);font-size:.86rem;letter-spacing:-.01em}
.journeys-banner-copy>span{margin-top:2px;color:var(--muted);font-size:.7rem}
.journeys-banner-side{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.64rem}
.journeys-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.journeys-tile{min-width:0;display:block;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--dk-aa);color:inherit;font:inherit;text-align:start}
button.journeys-tile{cursor:pointer}
button.journeys-tile:hover{border-color:var(--dk-a1d)}
.journeys-tile>span,.journeys-tile>strong,.journeys-tile>small{display:block}
.journeys-tile>span{color:var(--muted);font-size:.64rem}
.journeys-tile>strong{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 1px;color:var(--ink);font-size:1.45rem;font-variant-numeric:tabular-nums}
.journeys-tile>strong b{font-weight:800}
.journeys-tile>small{color:var(--dk-ag);font-size:.6rem}
.journeys-tile.has-work{border-color:var(--dk-ac);background:var(--dk-ad)}
.journeys-tile.has-work>strong{color:var(--blue-dark)}
.journeys-clear{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;background:var(--dk-a19);color:var(--success);font-size:.56rem;font-style:normal;font-weight:800;letter-spacing:0;white-space:nowrap}
.journeys-clear::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.journeys-toolbar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
.journeys-toolbar>small{color:var(--dk-ag);font-size:.64rem}
.journeys-chips{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--dk-al)}
.journeys-chips button{min-height:34px;padding:5px 11px;border:0;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:.7rem;font-weight:700;white-space:nowrap;cursor:pointer}
.journeys-chips button b{margin-inline-start:6px;padding:1px 6px;border-radius:99px;background:var(--dk-av);color:var(--dk-aw);font-size:.6rem;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.journeys-chips button[aria-pressed="true"]{background:var(--dk-aa);color:var(--ink);box-shadow:0 1px 3px var(--dk-a1e)}
.journeys-chips button[aria-pressed="true"] b{background:var(--dk-a18);color:var(--blue-dark)}
.journeys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
.journeys-grid>.empty{grid-column:1/-1}
.journeys-readonly{display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;color:var(--muted);font-size:.66rem}
.journeys-readonly svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.8}
.journey-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;padding:15px;border:1px solid var(--dk-ak);border-radius:12px;background:var(--dk-al);transition:border-color .15s,box-shadow .15s,background .15s}
.journey-card:hover{border-color:var(--dk-a1d);background:var(--dk-aa);box-shadow:0 10px 26px var(--dk-a1f)}
.journey-card.is-you{border-color:var(--dk-ac);background:var(--dk-aa);box-shadow:inset 0 0 0 1px var(--dk-a1g)}
.journey-card header,.journey-sheet header{display:flex;gap:11px;align-items:center;min-width:0}
.journey-card header>div{flex:1;min-width:0}
.journey-card h3{margin:0;color:var(--ink);font-size:.8rem;overflow-wrap:anywhere}
.journey-card header small{display:block;overflow-wrap:anywhere;color:var(--muted);font-size:.64rem}
.journey-logo{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--dk-a1h);font-size:.8rem;font-weight:800}
.journey-status,.journey-outcome,.journey-turn{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:4px 9px;border-radius:99px;font-size:.6rem;font-weight:800;white-space:nowrap}
.journey-status::before,.journey-outcome::before,.journey-turn::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.is-review.journey-status,.is-live.journey-status,.journey-outcome.is-pending,.journey-outcome.is-authorized,.journey-outcome.is-launched,.journey-turn.is-you{background:var(--dk-a18);color:var(--blue-dark)}
.is-selling.journey-status,.journey-outcome.is-approved,.journey-outcome.is-opened,.journey-outcome.is-completed,.journey-turn.is-none{background:var(--dk-a19);color:var(--success)}
.is-paused.journey-status,.is-ending.journey-status,.journey-outcome.is-revoked,.journey-outcome.is-notice{background:var(--dk-a16);color:var(--dk-a17)}
.is-sent.journey-status,.journey-outcome.is-rejected,.journey-outcome.is-declined{background:var(--dk-at);color:var(--dk-au)}
.is-new.journey-status,.is-takenOver.journey-status,.is-ended.journey-status,.journey-outcome.is-takenOver,.journey-outcome.is-closed,.journey-outcome.is-withdrawn,.journey-outcome.is-expired,.journey-turn{background:var(--dk-av);color:var(--dk-aw)}
.journey-outcome.is-published{background:var(--dk-a1i);color:var(--dk-a1j)}
.journey-next{display:grid;gap:1px;padding:9px 11px;border:1px solid var(--dk-ak);border-radius:9px;background:var(--dk-aa);color:var(--dk-a0);font-size:.72rem}
.journey-next b{color:var(--muted);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.journey-next.is-you{border-color:var(--dk-ac);background:var(--dk-ad)}
.journey-next.is-you b{color:var(--blue)}
.journey-next.is-none b{color:var(--success)}
/* Four connected steps; the line into a step is blue once that step has been reached. */
.journey-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.journey-step{position:relative;display:grid;justify-items:center;gap:5px;min-width:0;color:var(--muted);font-size:.6rem;font-weight:650;text-align:center}
.journey-step::before{content:"";position:absolute;top:8px;inset-inline-start:calc(-50% + 11px);inset-inline-end:calc(50% + 11px);height:2px;border-radius:2px;background:var(--line)}
.journey-step:first-child::before{display:none}
.journey-step.is-done::before,.journey-step.is-review::before,.journey-step.is-bad::before,.journey-step.is-paused::before{background:var(--blue)}
.journey-step>i{position:relative;z-index:1;width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--line);border-radius:50%;background:var(--dk-aa);color:var(--dk-a1h);font-size:.55rem;font-style:normal;font-weight:900;line-height:1}
.journey-step.is-done>i{border-color:var(--blue);background:var(--blue)}
.journey-step.is-done>i::after{content:"✓" / ""}
.journey-step.is-bad>i{border-color:#e0484f;background:#e0484f}
.journey-step.is-bad>i::after{content:"!" / ""}
.journey-step.is-paused>i{border-color:#e0a100;background:#e0a100}
.journey-step.is-paused>i::after{content:"‖" / ""}
.journey-step.is-review>i{border-color:var(--blue);box-shadow:0 0 0 4px var(--dk-a1k)}
.journey-step.is-review>i::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);animation:journey-pulse 1.6s ease-in-out infinite}
.journey-step.is-done small,.journey-step.is-review small{color:var(--ink)}
.journey-step small{overflow-wrap:anywhere}
@keyframes journey-pulse{50%{opacity:.4}}
.journey-last{margin:0;overflow-wrap:anywhere;color:var(--muted);font-size:.68rem}
.journey-last q{display:block;margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--dk-a12);font-style:italic}
.journey-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--dk-ak);color:var(--dk-ag);font-size:.62rem}
.journey-card .journey-open{min-height:32px;padding:5px 10px}
.journey-open::after{content:"";position:absolute;inset:0;border-radius:12px}
/* The story opens in a side panel, so the list stays where it was. */
.journey-sheet{position:fixed;inset-block:0;inset-inline-start:auto;inset-inline-end:0;width:min(460px,100%);height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:0;border-inline-start:1px solid var(--line);background:var(--dk-aa);color:var(--dk-a0);box-shadow:-24px 0 60px var(--dk-a1l)}
.journey-sheet::backdrop{background:rgba(7,17,31,.35)}
.journey-sheet[open]{animation:journey-slide .22s ease}
@keyframes journey-slide{from{opacity:.4;translate:30px 0}}
[dir="rtl"] .journey-sheet[open]{animation-name:journey-slide-rtl}
@keyframes journey-slide-rtl{from{opacity:.4;translate:-30px 0}}
.journey-sheet-body{display:grid;gap:16px;padding:20px 22px 28px}
.journey-sheet h3{margin:0;color:var(--ink);font-size:1.05rem;letter-spacing:-.02em;overflow-wrap:anywhere}
.journey-sheet header>div{min-width:0;flex:1}
.journey-tags{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.journey-close{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--dk-aa);color:var(--muted);font-size:1.1rem;cursor:pointer}
.journey-close::before{content:"×" / ""}
.journey-sheet .journey-track{padding:12px;border:1px solid var(--dk-ak);border-radius:11px;background:var(--dk-al)}
.journey-story{position:relative;margin:0;padding:0;list-style:none}
.journey-story::before{content:"";position:absolute;inset-block:14px;inset-inline-start:8px;width:2px;background:var(--line)}
.journey-story li{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:10px 0}
.journey-dot{position:relative;z-index:1;width:18px;height:18px;margin-top:2px;border:4px solid var(--dk-aa);border-radius:50%;background:#1aa37a}
.journey-dot.is-rejected,.journey-dot.is-declined{background:#e0484f}
.journey-dot.is-revoked{background:#e0a100}
.journey-dot.is-authorized,.journey-dot.is-launched{background:var(--blue)}
.journey-dot.is-closed,.journey-dot.is-withdrawn,.journey-dot.is-expired{background:var(--dk-a1m)}
.journey-dot.is-published{background:#6d45d0}
.journey-dot.is-pending{background:var(--dk-aa);border-color:var(--blue);box-shadow:0 0 0 3px var(--dk-a1n)}
.journey-story h4{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:0;color:var(--ink);font-size:.78rem;overflow-wrap:anywhere}
.journey-meta{margin:2px 0 0;color:var(--muted);font-size:.66rem}
.journey-story blockquote{margin:7px 0 0;padding:8px 11px;border-inline-start:3px solid var(--dk-ac);border-radius:0 9px 9px 0;background:var(--dk-al);color:var(--dk-a0);font-size:.72rem;overflow-wrap:anywhere;white-space:pre-wrap}
[dir="rtl"] .journey-story blockquote{border-radius:9px 0 0 9px}
.journey-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.journey-refs>*{min-height:28px;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:7px;background:var(--dk-aa);color:var(--muted);font:inherit;font-size:.62rem}
.journey-refs button{cursor:pointer}
.journey-refs button:hover{border-color:var(--dk-a1d);color:var(--ink)}
.journey-refs code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}
.journey-review{margin-top:8px}
@media(max-width:900px){.journeys-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.journeys-search{flex:1 1 100%;margin-top:15px}.journeys-grid{grid-template-columns:1fr}.journeys-banner-side{width:100%}.journey-sheet-body{padding:16px 16px 24px}}
@media(pointer:coarse){.journeys-search input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.journey-card,.journey-sheet[open],.journey-step.is-review>i::after{transition:none;animation:none}}
/* The action queue (Option A): one tab per kind of work with its true total, a search, one page of
   rows and the shared pager (src/pager.css). */
.queue-tabs{display:flex;flex-wrap:wrap;gap:2px 4px;margin:0 0 16px;border-bottom:1px solid var(--line)}
.queue-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:42px;margin-bottom:-1px;padding:8px 11px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}
.queue-tabs button:hover{color:var(--ink)}
.queue-tabs button[aria-selected="true"]{border-bottom-color:var(--blue);color:var(--ink)}
.queue-tabs button b{min-width:22px;padding:1px 7px;border-radius:99px;background:var(--dk-an);color:var(--dk-ao);font-size:.6rem;font-variant-numeric:tabular-nums;text-align:center;unicode-bidi:isolate}
.queue-tabs button b.is-alert{background:var(--dk-at);color:var(--dk-au)}
.queue-tabs button:focus-visible{outline:3px solid #f6b73c;outline-offset:-3px;border-radius:8px}
.queue-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--dk-aa)}
.queue-panel>.section-note,.queue-panel>.review-message{margin:0 14px}
.queue-panel>.queue-list{padding:0 14px}
.queue-panel>.queue-list:empty{display:none}
.queue-panel .ft-pager{margin-top:2px}
.queue-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px 0}
.queue-search{flex:0 1 320px;min-height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--dk-a9);border-radius:9px;background:var(--dk-al);color:var(--muted)}
.queue-search svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}
.queue-search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink);font:inherit;font-size:.74rem}
.queue-search:focus-within{outline:3px solid #f6b73c;outline-offset:2px}
.queue-view{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--dk-al)}
.queue-view button{min-height:32px;padding:5px 11px;border:0;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}
.queue-view button[aria-pressed="true"]{background:var(--dk-aa);color:var(--ink);box-shadow:0 1px 3px var(--dk-a1e)}
.queue-view button b{margin-inline-start:6px;padding:0 6px;border-radius:99px;background:var(--dk-an);color:var(--dk-ao);font-size:.6rem;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
/* The All tab: a band per kind of work, then one group per queue with its first rows. */
.all-band{display:flex;align-items:center;gap:10px;margin:8px 0 2px;color:var(--dk-a1o);font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.all-band::after{content:"";flex:1;height:1px;background:var(--line)}
.all-group{display:grid;gap:8px;margin-bottom:10px}
.all-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.all-group-head h3{margin:0;font-size:.74rem}
.all-group-count{color:var(--muted);font-size:.64rem;font-weight:750;font-variant-numeric:tabular-nums}
.all-more{margin-inline-start:auto;padding:4px 2px;border:0;background:none;color:var(--blue-dark);font:inherit;font-size:.66rem;font-weight:750;cursor:pointer}
.all-more::after{content:" →"}
[dir="rtl"] .all-more::after{content:" ←"}
.all-more:hover{text-decoration:underline;text-underline-offset:3px}
.all-clear{display:flex;align-items:center;gap:10px;margin:0;padding:14px 16px;border:1px solid var(--dk-a1b);border-radius:12px;background:var(--dk-a1c);color:var(--success);font-size:.7rem;font-weight:750}
.all-clear svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Launched sites: one ledger, a status rail per row (green when selling), aligned columns. */
/* One grid for the whole ledger, shared by every row through subgrid, so the header lines up
   with each row whatever the width of its button. */
.sales-table{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(130px,1.2fr) minmax(80px,.7fr) minmax(130px,1fr) auto;column-gap:12px;border:1px solid var(--dk-ak);border-radius:12px;background:var(--dk-aa);overflow:hidden}
.sales-head,.sales-item,.sales-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center}
.sales-head,.sales-row{padding:0 14px}
.sales-confirm{grid-column:1/-1}
.sales-head{min-height:34px;border-bottom:1px solid var(--dk-ak);background:var(--dk-a1p);color:var(--dk-a1o);font-size:.56rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.sales-head span:last-child{text-align:end}
.sales-item{position:relative;align-items:stretch;border-bottom:1px solid var(--dk-ak)}
.sales-item:last-child{border-bottom:0}
.sales-item::before{content:"";position:absolute;top:10px;bottom:10px;inset-inline-start:0;width:3px;border-radius:3px;background:var(--dk-a1q)}
.sales-item.is-selling::before{background:var(--success)}
.sales-item:hover{background:var(--dk-a1p)}
.sales-row{min-height:60px;padding-block:10px}
.sales-name{display:flex;align-items:center;gap:10px;min-width:0}
.sales-name .journey-logo{width:30px;height:30px;border-radius:9px;font-size:.7rem}
.sales-name strong,.sales-name small{display:block}
.sales-name strong{font-size:.74rem;overflow-wrap:anywhere}
.sales-name small{color:var(--muted);font-size:.62rem}
.sales-site{min-width:0;overflow:hidden;color:var(--muted);font-size:.66rem;text-align:start;text-overflow:ellipsis;white-space:nowrap}
.sales-site a{color:inherit;text-decoration:none}
.sales-site a::after{content:" ↗"}
.sales-site a:hover{color:var(--blue-dark);text-decoration:underline}
.sales-offers b{font-size:.74rem;font-variant-numeric:tabular-nums}
.sales-offers small{display:block;font-size:.6rem;font-weight:700}
.sales-offers .sales-offers-label{display:none}
.sales-offers.is-warn{color:var(--dk-a1r)}
.sales-state{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.68rem;font-weight:750}
.sales-state small{display:block;font-size:.6rem;font-weight:500}
.sales-dot{flex:0 0 auto;width:16px;height:16px;margin:0 -4px;border-radius:50%;background:radial-gradient(circle,var(--dk-a1s) 0 4px,transparent 4.5px)}
.is-selling .sales-dot{background:radial-gradient(circle,#087d68 0 4px,var(--dk-a19) 4.5px)}
.is-selling .sales-state span{color:var(--success)}
.sales-act{display:flex;justify-content:flex-end}
.sales-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 14px 12px;padding:10px 12px;border:1px solid var(--dk-a1t);border-radius:10px;background:var(--dk-a1u);font-size:.68rem}
.sales-confirm p{flex:1 1 260px;margin:0}
.sales-note{flex:1 1 100%;display:grid;gap:4px;color:var(--ink);font-size:.7rem;font-weight:750}
.sales-note small{color:var(--muted);font-size:.64rem;font-weight:500}
.sales-note textarea{width:100%;min-height:52px;padding:8px 10px;border:1px solid var(--dk-a1v);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:16px;font-weight:500;resize:vertical}
@media (max-width:820px){.sales-table{grid-template-columns:minmax(0,1fr) auto}.sales-head{display:none}.sales-row{row-gap:6px}.sales-act{grid-column:2;grid-row:1}.sales-site,.sales-offers,.sales-state{grid-column:1/-1}.sales-offers{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.sales-offers .sales-offers-label{display:inline;color:var(--muted);font-weight:700}.sales-offers small{display:inline}}
.refund-row{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--dk-al)}
.refund-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.refund-head strong,.refund-head small{display:block}
.refund-head strong{color:var(--ink);font-size:.8rem}
.refund-head small{margin-top:3px;color:var(--muted);font-size:.66rem}
.refund-row .launch-controls button{width:auto}
#brand-review-detail{margin-top:16px}
@media (max-width:640px){.queue-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.queue-tabs button{flex:0 0 auto}.queue-search{flex:1 1 100%}}
/* Decline: a reason field opens under the territory or switch row; the Charter reads the reason. */
.item-actions{display:inline-flex;gap:8px;align-items:center}
.danger{min-height:40px;padding:8px 12px;border:1px solid #b42318;border-radius:8px;background:#b42318;color:#fff;font-size:.66rem;font-weight:800;cursor:pointer}
.danger:hover{background:#8f1e17}
.danger:disabled{opacity:.6;cursor:wait}
.decline-form{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--dk-ak)}
/* A restart request's confirmation (migration 059), shaped like the decline form under the row. */
.restart-confirm{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--dk-ak)}
.restart-confirm p{margin:0;font-size:.68rem;line-height:1.5}
/* Freeing a replaced site's web address, under its card in the Charter drawer (section 3.6). */
.release-hostname{display:grid;gap:8px;justify-items:start;margin-top:8px}
.release-hostname .restart-confirm{justify-self:stretch}
.queue-item q{display:block;margin-top:5px;font-size:.66rem;font-style:italic}
.queue-item small.is-alert{background:none}
.decline-form label{display:grid;gap:5px;color:var(--ink);font-size:.68rem;font-weight:750}
.decline-form textarea{width:100%;padding:9px 10px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:16px;resize:vertical}
.decline-form textarea[aria-invalid="true"]{border-color:#c62828;box-shadow:0 0 0 3px var(--dk-a15)}
.decline-form small{color:var(--muted);font-size:.64rem}
.decline-buttons{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
/* Charters and credits (src/admin.html #charters): tiles, the ledger of wallets, the Charter's
   panel (a wider journey sheet with tabs) and the warning rules. */
.charters-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.charters-tools select{min-height:40px;padding:0 10px;border:1px solid var(--dk-a9);border-radius:9px;background:var(--dk-al);color:var(--ink);font:inherit;font-size:.72rem}
.charters-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}
.charters-tiles>*{min-width:0;padding:14px 16px;border:1px solid var(--dk-ak);border-radius:12px;background:var(--dk-al);color:inherit;font:inherit;text-align:start}
.charters-tiles>button{cursor:pointer}
.charters-tiles>button:hover{border-color:var(--dk-a1d)}
.charters-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 12px}
.charters-tiles span,.charters-tiles strong,.charters-tiles small{display:block}
.charters-tiles span{color:var(--muted);font-size:.63rem;font-weight:700}
.charters-tiles strong{margin:4px 0 1px;color:var(--ink);font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.charters-tiles small{color:var(--dk-a1w);font-size:.6rem}
.charters-tiles .is-attention.has-work{border-color:var(--dk-a1x);background:var(--dk-a1y)}
.charters-tiles .is-attention.has-work strong{color:var(--dk-a1z)}
.charters-table-wrap{overflow-x:auto;border:1px solid var(--dk-ak);border-radius:12px}
.charters-table{width:100%;min-width:820px;border-collapse:collapse;font-size:.7rem}
.charters-table th{padding:10px 12px;border-bottom:1px solid var(--dk-ak);background:var(--dk-a20);color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.06em;text-align:start;text-transform:uppercase}
.charters-table td{padding:11px 12px;border-bottom:1px solid var(--dk-a21);vertical-align:middle}
.charters-table tbody tr:last-child td{border-bottom:0}
.charters-table tbody tr[data-charter-open]{cursor:pointer}
.charters-table tbody tr[data-charter-open]:hover td{background:var(--dk-a22)}
.charters-table tbody tr[data-charter-open]:focus-visible{outline:3px solid #f6b73c;outline-offset:-3px}
.charter-name strong,.charter-name small{display:block}
.charter-name strong{color:var(--ink);font-size:.74rem}
.charter-name small{margin-top:2px;color:var(--muted);font-size:.6rem;overflow-wrap:anywhere}
.charter-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.charter-num strong{color:var(--ink);font-size:.78rem}
.charter-num small{display:block;color:var(--muted);font-size:.58rem}
.charter-meter{display:flex;width:110px;height:7px;overflow:hidden;border-radius:6px;background:var(--dk-a23)}
.charter-meter i{display:block;height:100%}
.charter-meter .is-plan{background:#2367e8}
.charter-meter .is-topup{background:#45d8c0}
.charter-runway{font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}
.charter-runway.is-short{color:var(--dk-a14)}
.charter-runway.is-soon{color:var(--dk-a1z)}
.charter-runway.is-long{color:var(--dk-a24)}
.charter-runway.is-idle,.charter-runway.is-empty{color:var(--muted);font-weight:600}
.charter-apps{display:flex;flex-wrap:wrap;gap:4px}
.charter-app{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid var(--dk-ak);border-radius:7px;background:var(--dk-aa);color:var(--dk-ab);font-size:.6rem;font-weight:700;white-space:nowrap}
.charter-app.is-off{color:var(--dk-a1w);background:var(--dk-a25)}
.charter-dot{flex:0 0 auto;display:inline-block;width:8px;height:8px;border-radius:50%}
.charter-health{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:.6rem;font-weight:800;white-space:nowrap}
.charter-health::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.charter-health.is-healthy{background:var(--dk-a26);color:var(--dk-a24)}
.charter-health.is-low,.charter-health.is-ending{background:var(--dk-a27);color:var(--dk-a1z)}
.charter-health.is-warning{background:var(--dk-a28);color:var(--dk-a14)}
.charter-health.is-takenOver,.charter-health.is-notStarted{background:var(--dk-av);color:var(--dk-aw)}
.charter-drawer{width:min(600px,100%)}
.charter-owner{display:block;margin-top:4px;color:var(--muted);font-size:.64rem;overflow-wrap:anywhere}
.charter-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--dk-ak)}
.charter-tabs button{flex:0 0 auto;padding:9px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:.7rem;font-weight:800;cursor:pointer}
.charter-tabs button[aria-selected="true"]{border-bottom-color:#2367e8;color:var(--dk-a29)}
.charter-panel{display:grid;gap:12px;align-content:start}
.charter-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.charter-facts div{padding:9px 11px;border:1px solid var(--dk-ak);border-radius:10px;background:var(--dk-al)}
.charter-facts dt{color:var(--muted);font-size:.6rem;font-weight:700}
.charter-facts dd{margin:2px 0 0;color:var(--ink);font-size:.82rem;font-weight:800;font-variant-numeric:tabular-nums}
.charter-subhead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;align-items:baseline;margin-top:6px}
.charter-subhead h4{margin:0;color:var(--ink);font-size:.8rem}
.charter-subhead small{color:var(--muted);font-size:.62rem}
.charter-thresholds{display:grid;gap:8px}
.charter-threshold{display:grid;gap:7px;padding:12px;border:1px solid var(--dk-ak);border-radius:11px;background:var(--dk-aa)}
.charter-threshold header{display:flex;justify-content:space-between;gap:10px;align-items:center}
.charter-threshold header strong{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:.76rem}
.charter-app-state{padding:2px 8px;border-radius:99px;background:var(--dk-a26);color:var(--dk-a24);font-size:.6rem;font-weight:800}
.charter-app-state.is-off{background:var(--dk-av);color:var(--dk-aw)}
.charter-threshold-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.charter-threshold-row input,.rule-field input{width:130px;min-height:38px;padding:0 10px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:.78rem;font-variant-numeric:tabular-nums}
.charter-threshold-row .approve,.charter-threshold-row .secondary{min-height:38px}
.charter-threshold-note{margin:0;color:var(--muted);font-size:.64rem;line-height:1.5}
.charter-threshold-status{margin:0;min-height:0;color:var(--dk-a24);font-size:.64rem;font-weight:700}
.charter-threshold-status:empty{display:none}
.charter-threshold-status.is-error,.rule-preview.is-error{color:var(--dk-a14)}
.charter-warning{margin:0;padding:7px 10px;border-radius:8px;font-size:.64rem;font-weight:700}
.charter-warning.is-below_threshold{background:var(--dk-a27);color:var(--dk-a2a)}
.charter-warning.is-refused{background:var(--dk-a28);color:var(--dk-a2b)}
.charter-lines{display:grid;gap:5px;margin:0;padding-inline-start:18px;color:var(--dk-ab);font-size:.66rem;line-height:1.5}
.charter-ledger{display:grid;margin:0;padding:0;list-style:none;border:1px solid var(--dk-ak);border-radius:10px;overflow:hidden}
.charter-ledger li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--dk-a21);font-size:.7rem}
.charter-ledger li:last-child{border-bottom:0}
.charter-ledger li span{min-width:0}
.charter-ledger strong,.charter-ledger small{display:block}
.charter-ledger strong{color:var(--ink)}
.charter-ledger small{color:var(--muted);font-size:.6rem}
.charter-ledger b{color:var(--dk-ar);font-variant-numeric:tabular-nums;white-space:nowrap}
.charter-ledger .is-empty{color:var(--muted)}
.charter-bars{display:grid;gap:7px}
.charter-bars>div{display:grid;grid-template-columns:110px minmax(0,1fr) 70px;gap:8px;align-items:center;font-size:.68rem}
.charter-bars>div>span:first-child{display:inline-flex;align-items:center;gap:6px;min-width:0}
.charter-bar{display:block;height:9px;border-radius:5px;background:var(--dk-a2c);overflow:hidden}
.charter-bar i{display:block;height:100%;border-radius:5px}
.charter-bars b{text-align:end;font-variant-numeric:tabular-nums}
.charter-weeks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;align-items:end;height:140px;padding:8px 4px 0;border-bottom:1px solid var(--dk-ak)}
.charter-week{display:grid;grid-template-rows:1fr auto;gap:4px;height:100%;min-width:0}
.charter-week-bar{display:flex;flex-direction:column-reverse;height:100%;border-radius:4px 4px 0 0;overflow:hidden}
.charter-week-bar i{display:block;width:100%}
.charter-week small{overflow:hidden;color:var(--muted);font-size:.52rem;text-align:center;white-space:nowrap;text-overflow:ellipsis}
.charter-report{justify-self:start;display:inline-flex;align-items:center;text-decoration:none}
.charter-customer-search{flex:1 1 auto}
.charter-people{display:grid;margin:0;padding:0;list-style:none;border:1px solid var(--dk-ak);border-radius:10px;overflow:hidden}
.charter-people li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 128px;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--dk-a21);font-size:.68rem}
.charter-people .charter-order{justify-self:end}
.charter-since{align-self:center;color:var(--muted);font-size:.66rem}
.charters-table .charter-name{min-width:190px}
.charter-people li:last-child{border-bottom:0}
.charter-people strong,.charter-people small,.charter-people li>div>span{display:block;overflow-wrap:anywhere}
.charter-people strong{color:var(--ink)}
.charter-people small{color:var(--muted);font-size:.6rem}
.charter-order{padding:2px 8px;border-radius:99px;background:var(--dk-av);color:var(--dk-aw);font-size:.58rem;font-weight:800;white-space:nowrap}
.charter-order.is-active,.charter-order.is-paid{background:var(--dk-a26);color:var(--dk-a24)}
.charter-order.is-past_due,.charter-order.is-setup_pending,.charter-order.is-transitioning{background:var(--dk-a27);color:var(--dk-a1z)}
.charter-people-pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;font-size:.66rem;color:var(--muted)}
.charter-people-pager:empty{display:none}
.charter-privacy{margin:0;padding:9px 11px;border:1px dashed var(--dk-a9);border-radius:9px;color:var(--muted);font-size:.62rem;line-height:1.5}
.rules-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.rule-card{display:grid;gap:9px;align-content:start;padding:14px;border:1px solid var(--dk-ak);border-radius:12px;background:var(--dk-al)}
.rule-card header{display:flex;justify-content:space-between;gap:8px;align-items:center}
.rule-card header strong{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:.8rem}
.rule-tag{padding:2px 8px;border-radius:99px;background:var(--dk-av);color:var(--dk-aw);font-size:.56rem;font-weight:800}
.rule-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.rule-field{display:grid;gap:4px;color:var(--muted);font-size:.62rem;font-weight:700}
.rule-facts{margin:0;color:var(--dk-ab);font-size:.64rem;line-height:1.5}
.rule-facts.is-muted{color:var(--muted)}
.rule-preview{margin:0;color:var(--dk-a29);font-size:.64rem;font-weight:700;line-height:1.5}
.rule-preview:empty{display:none}
/* Application keys (#app-keys): one wide card per application; the key form and the removal
   confirmation open inside it. */
.app-keys-list{grid-template-columns:minmax(0,680px)}
.app-key-state.is-active{background:var(--dk-a2d);color:var(--success)}
.rule-facts.is-error{color:var(--dk-a14);font-weight:700}
.app-key-actions{align-items:center}
.app-key-form,.app-key-confirm{display:grid;gap:8px;padding:12px;border:1px solid var(--dk-ak);border-radius:10px;background:var(--dk-aa)}
.app-key-form .rule-field input{width:min(360px,100%);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.app-key-danger{border-color:var(--dk-a2e);color:var(--dk-au)}
.app-key-danger:hover{background:var(--dk-at)}
.app-key-history-title{margin-top:4px;font-weight:800}
.app-key-history{display:grid;gap:3px;margin:0;padding-inline-start:18px;color:var(--muted);font-size:.62rem}
@media(max-width:900px){.charters-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.charters-tools{justify-content:stretch;margin-top:15px}.charters-tools .queue-search{flex:1 1 100%}.charters-tools select{flex:1 1 100%}.charter-facts{grid-template-columns:1fr}.charter-people li{grid-template-columns:minmax(0,1fr) auto}.charter-people li>div:nth-child(2){grid-column:1/-1;grid-row:2}.charter-bars>div{grid-template-columns:90px minmax(0,1fr) 60px}}
@media(pointer:coarse){.charters-tools select,.charter-threshold-row input,.rule-field input,.app-key-form input,.charter-customer-search input{font-size:16px}}
/* Credits takeovers waiting for an administrator (Takeovers tab, design "Console", owner 2026-10-14):
   one card per site with how it got here, four figures and what approving does; Approve takeover
   unfolds two steps under the card (three checks, then the hostname typed), Not now a days field
   and a note, both required. Notice takeovers and running warnings follow, for information. */
.takeover-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--dk-al)}
.takeover-card.is-held{background:var(--dk-a2f);border-color:var(--dk-a2g)}
.takeover-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.takeover-head>div{min-width:0}
.takeover-head h3{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0;color:var(--ink);font-size:.9rem;letter-spacing:-.01em}
.takeover-app{padding:2px 8px;border-radius:99px;background:var(--dk-a18);color:var(--dk-a29);font-size:.6rem;font-weight:800}
.takeover-site{display:inline-block;margin-top:3px;color:var(--blue-dark);font-size:.68rem;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.takeover-site::after{content:" ↗"}
.takeover-site:hover{text-decoration:underline}
.takeover-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--dk-at);color:var(--dk-a2h);font-size:.62rem;font-weight:800;white-space:nowrap}
.takeover-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px var(--dk-a2i)}
.takeover-status.is-held{background:var(--dk-a1i);color:var(--dk-a2j)}
.takeover-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.takeover-steps li{position:relative;display:grid;gap:1px;padding-top:12px;color:var(--muted);font-size:.62rem}
.takeover-steps li::before{content:"";position:absolute;top:0;inset-inline:0;height:4px;border-radius:9px;background:#2367e8}
.takeover-steps li.is-now::before{background:#c62828}
.takeover-steps b{color:var(--ink);font-size:.64rem}
.takeover-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.takeover-facts div{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--dk-aa)}
.takeover-facts dt{color:var(--muted);font-size:.6rem}
.takeover-facts dd{margin:2px 0 0;color:var(--ink);font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}
.takeover-facts dd.is-bad{color:var(--dk-a14)}
.takeover-does{display:grid;gap:2px;margin:0;padding-inline-start:18px;color:var(--muted);font-size:.7rem}
.takeover-held-note{margin:0;padding:9px 11px;border-radius:9px;background:var(--dk-a1i);color:var(--dk-a2k);font-size:.68rem;overflow-wrap:anywhere}
.takeover-actions{display:flex;flex-wrap:wrap;gap:8px}
.takeover-actions .danger,.takeover-actions .approve,.takeover-actions .secondary{min-height:40px;padding:8px 13px;border-radius:9px;font-size:.68rem;font-weight:800;cursor:pointer}
.takeover-actions .danger{border:1px solid #b42318;background:#b42318;color:#fff}
.takeover-actions button:disabled{opacity:.45;cursor:not-allowed}
.takeover-flow{display:grid;gap:12px;padding:16px;border:1px solid var(--dk-a2l);border-radius:12px;background:var(--dk-aa)}
.takeover-flow.is-hold{border-color:var(--line)}
.takeover-flow-head p{margin:0;color:var(--blue);font-size:.6rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.takeover-flow-head h4{margin:2px 0 0;color:var(--ink);font-size:.92rem}
.takeover-bar{display:flex;gap:6px}
.takeover-bar span{flex:1;height:4px;border-radius:9px;background:var(--dk-a4)}
.takeover-bar span.is-on{background:#2367e8}
.takeover-checks{display:grid;gap:8px}
.takeover-checks label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--dk-aa);color:var(--ink);font-size:.7rem;cursor:pointer}
.takeover-checks label:has(input:checked){border-color:#9db8e7;background:var(--dk-ad)}
.takeover-checks input{width:18px;height:18px;margin:0;accent-color:var(--dk-a2m)}
.takeover-field{display:grid;gap:6px;color:var(--ink);font-size:.7rem;font-weight:750}
.takeover-field small{color:var(--muted);font-size:.64rem;font-weight:500}
.takeover-field input,.takeover-field textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--dk-a13);border-radius:9px;background:var(--dk-aa);color:var(--ink);font:inherit;font-size:16px;font-weight:500}
.takeover-field textarea{resize:vertical}
.takeover-field [aria-invalid]{border-color:#c62828;box-shadow:0 0 0 3px var(--dk-a15)}
.takeover-type{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
.takeover-days{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.takeover-days input{width:110px;font-variant-numeric:tabular-nums}
.takeover-days output{color:var(--muted);font-size:.66rem;font-weight:650}
.takeover-warn{margin:0;padding:9px 11px;border-radius:9px;background:var(--dk-at);color:var(--dk-a2h);font-size:.68rem;font-weight:750}
.takeover-band{margin:14px 0 2px;color:var(--muted);font-size:.6rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.takeover-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--dk-aa)}
.takeover-row.is-auto{border-style:dashed}
.takeover-notice-confirm{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px 12px;border:1px solid var(--dk-a1t);border-radius:10px;background:var(--dk-a1u);font-size:.68rem}
.takeover-notice-confirm[hidden]{display:none}
.takeover-notice-confirm .takeover-field{flex:1 1 260px}
.takeover-notice-confirm .takeover-warn{flex:1 1 100%;margin:0}
.takeover-notice-confirm .review-message{flex:1 1 100%;margin:0}
.takeover-row>span{min-width:0}
.takeover-row strong,.takeover-row small{display:block}
.takeover-row strong{color:var(--ink);font-size:.7rem}
.takeover-row small{margin-top:2px;color:var(--muted);font-size:.62rem;overflow-wrap:anywhere}
.takeover-chip{padding:3px 9px;border-radius:99px;background:var(--dk-a2n);color:var(--dk-a1r);font-size:.6rem;font-weight:800;white-space:nowrap}
.takeover-chip.is-auto{background:var(--dk-av);color:var(--dk-aw)}
.charter-health.is-ready{background:#c62828;color:#fff}
.charter-warning.is-ready{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:9px;background:var(--dk-at);color:var(--dk-a2h);font-size:.68rem;font-weight:750}
.charter-warning.is-ready .secondary{min-height:34px;padding:6px 10px;border-radius:8px;font-size:.62rem;font-weight:800;cursor:pointer}
@media (max-width:760px){.takeover-facts{grid-template-columns:1fr 1fr}.takeover-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:10px}}
@media (max-width:560px){.takeover-actions button{flex:1 1 auto}}
/* Page review studio (src/admin.js renderPageStudio): the decision on the left, the Charter's page drawn
   as its site on the right, the exact text below. The studio follows the control center's theme. */
.page-studio{display:grid;grid-template-columns:330px minmax(0,1fr);gap:0;margin:-24px -24px 0;border-bottom:1px solid var(--dk-a10)}
.studio-side{display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px 20px;border-inline-end:1px solid var(--dk-a10)}
.studio-side h3{margin:0;color:var(--ink);font-size:1.05rem;line-height:1.3}
.studio-side h4{margin:8px 0 0;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.studio-side .eyebrow{margin:0}
.studio-side .review-meta{margin:0}
.studio-side .review-note{margin-top:6px}
.studio-chips{display:flex;flex-wrap:wrap;gap:6px}
.studio-chip{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--dk-aa);color:var(--muted);font-size:.64rem;font-weight:750}
.studio-chip.is-new{border-color:var(--dk-a10);background:var(--dk-a2o);color:var(--blue-dark)}
.studio-chip.is-language{border-color:transparent;background:var(--dk-a2p);color:var(--success)}
.preview-changes{display:grid;gap:6px}
.preview-change{border:1px solid var(--line);border-radius:10px;background:var(--dk-aa)}
.preview-change summary{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--ink);font-size:.72rem;font-weight:700;cursor:pointer;list-style:none}
.preview-change summary::-webkit-details-marker{display:none}
.preview-change summary small{margin-inline-start:auto;color:var(--muted);font-size:.62rem;font-weight:700}
.preview-change-mark{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:#c77700;color:#fff;font-weight:800}
.preview-change.is-added .preview-change-mark{background:#0b8a6f}
.preview-change.is-removed .preview-change-mark{background:#c62828}
.preview-change[open]{border-color:var(--dk-a10)}
.preview-change b{display:block;margin:8px 10px 0;color:var(--muted);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase}
.preview-diff{margin:4px 10px 0;max-height:220px;overflow:auto;color:var(--dk-a12);font-size:.72rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.preview-diff ins{border-radius:3px;background:var(--dk-a2q);color:var(--dk-a2r);text-decoration:none}
.preview-diff del{border-radius:3px;background:var(--dk-a2s);color:var(--dk-a2t)}
.preview-change>button{margin:8px 10px 10px;min-height:30px;padding:4px 10px;border-radius:8px;font-size:.66rem;cursor:pointer}
.preview-snippet{display:grid;gap:2px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--dk-aa)}
.preview-snippet-url{overflow-wrap:anywhere;color:var(--dk-a2u);font-size:.64rem}
.preview-snippet strong{color:var(--dk-a2v);font-size:.86rem;font-weight:600;line-height:1.3}
.preview-snippet p{margin:0;color:var(--dk-a2w);font-size:.7rem;line-height:1.45}
.preview-snippet .is-missing{color:var(--dk-a14);font-style:italic}
.studio-main{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px}
.studio-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.studio-grow{flex:1}
.studio-seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--dk-a1)}
.studio-seg button{min-height:30px;padding:4px 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:.68rem;font-weight:750;cursor:pointer;white-space:nowrap}
.studio-seg button[aria-pressed="true"]{background:var(--dk-aa);color:var(--ink);box-shadow:0 1px 3px var(--dk-a2x)}
.studio-seg button:disabled{opacity:.45;cursor:not-allowed}
.studio-switch{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.68rem;font-weight:750;cursor:pointer}
.studio-switch input{accent-color:var(--blue)}
.studio-drawn{flex:1;min-width:160px;color:var(--muted);font-size:.64rem;text-align:end}
.studio-live-link{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border-radius:9px;font-size:.68rem;font-weight:750;text-decoration:none;white-space:nowrap}
.studio-live-link::after{content:"↗" / "";margin-inline-start:6px}
.studio-live-none{display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:.68rem;font-weight:700;cursor:help}
.studio-frames{display:grid;gap:10px;min-height:640px}
.studio-frames.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.preview-frame{display:flex;flex-direction:column;min-width:0;height:760px;border:1px solid var(--line);border-radius:14px;background:var(--dk-aa);overflow:hidden}
.preview-frame-top{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--dk-al)}
.preview-url{flex:1;min-width:0;overflow:hidden;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--dk-aa);color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.preview-label{flex:none;padding:2px 8px;border-radius:999px;background:var(--dk-a2o);color:var(--blue-dark);font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.preview-label.is-approved{background:var(--dk-a2p);color:var(--success)}
.preview-viewport{position:relative;flex:1;overflow:auto;background:var(--dk-a2y)}
.preview-viewport.is-phone{padding:18px 0}
.preview-empty{margin:60px auto;max-width:36ch;color:var(--muted);font-size:.78rem;text-align:center}
.studio-exact{margin-top:16px}
.studio-exact>summary{color:var(--blue-dark);font-size:.76rem;font-weight:750;cursor:pointer}
@media (max-width:1100px){.page-studio{grid-template-columns:1fr}.studio-side{border-inline-end:0;border-bottom:1px solid var(--dk-a10)}.studio-frames.is-two{grid-template-columns:1fr}.preview-frame{height:620px}}
@media (max-width:560px){.page-studio{margin:-16px -16px 0}.studio-drawn{text-align:start}}
/* The Charter's site as drawn by src/admin-preview.js: the Charter's own colours in light and dark, kept out
   of the control center's dark theme (build.js keeps every selector of this family as written). */
.preview-viewport.is-phone .sp-site{width:390px;max-width:100%;margin:0 auto;border:6px solid #1a2233;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(16,24,39,.25)}
.sp-site{container-type:inline-size;width:100%;min-height:100%;background:var(--sp-bg);color:var(--sp-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.55;text-align:start}
.sp-site.sp-light{--sp-bg:#ffffff;--sp-ink:#0f172a;--sp-muted:#5b6475;--sp-card:#f6f8fb;--sp-line:#e3e8ef}
.sp-site.sp-dark{--sp-bg:#0b1020;--sp-ink:#f1f4fa;--sp-muted:#a3adbf;--sp-card:#141b2e;--sp-line:#263049}
.sp-site *{box-sizing:border-box}
.sp-nav{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--sp-line)}
.sp-logo{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--sp-p);color:#fff;font-size:.66rem;font-weight:800}
.sp-logo-img{width:auto;height:30px;max-width:120px;object-fit:contain;border-radius:6px}
.sp-name{font-size:.86rem}
.sp-grow{flex:1}
.sp-langs{display:flex;gap:4px}
.sp-langs span{padding:2px 7px;border:1px solid var(--sp-line);border-radius:6px;color:var(--sp-muted);font-size:.62rem;font-weight:800}
.sp-langs span.sp-current{border-color:var(--sp-p);background:var(--sp-p);color:#fff}
.sp-sec{position:relative;padding:34px 24px;border-bottom:1px solid var(--sp-line)}
.sp-sec h1{max-width:24ch;margin:10px 0 12px;color:var(--sp-ink);font-size:2rem;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
.sp-sec h2{margin:8px 0;color:var(--sp-ink);font-size:1.3rem;letter-spacing:-.015em;text-wrap:balance}
.sp-sec h3{margin:0 0 6px;color:var(--sp-ink);font-size:.96rem}
.sp-sec p{max-width:64ch;margin:0 0 10px;color:var(--sp-muted);white-space:pre-line}
.sp-soft{opacity:.7}
.sp-center{text-align:center}
.sp-center h1,.sp-center h2,.sp-center p{margin-inline:auto}
.sp-center .sp-buttons{justify-content:center}
.sp-pill{display:inline-block;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--sp-p) 14%,transparent);color:var(--sp-p);font-size:.64rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.sp-dark .sp-pill{color:color-mix(in srgb,var(--sp-p) 50%,#fff)}
.sp-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sp-btn{display:inline-block;padding:8px 15px;border:1px solid var(--sp-p);border-radius:10px;background:var(--sp-p);color:#fff;font-size:.76rem;font-weight:700}
.sp-btn-alt{border-color:var(--sp-line);background:transparent;color:var(--sp-ink)}
.sp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.sp-grid.sp-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-card{position:relative;padding:18px;border:1px solid var(--sp-line);border-radius:14px;background:var(--sp-card)}
.sp-card p{margin:0 0 6px;font-size:.78rem}
.sp-stat strong{display:block;color:var(--sp-p);font-size:1.4rem}
.sp-stat span{color:var(--sp-muted);font-size:.74rem}
.sp-plan.sp-popular{border-color:var(--sp-p);box-shadow:0 0 0 1px var(--sp-p)}
.sp-badge{position:absolute;top:-10px;inset-inline-end:14px;padding:2px 9px;border-radius:999px;background:var(--sp-a);color:#fff;font-size:.6rem;font-weight:800}
.sp-price{display:inline-block;margin:2px 0 8px;padding:3px 8px;border:1px dashed var(--sp-line);border-radius:8px;color:var(--sp-muted);font-size:.68rem}
.sp-ticks,.sp-list{display:grid;gap:6px;margin:10px 0;padding:0;list-style:none;color:var(--sp-muted);font-size:.78rem}
.sp-ticks li::before{content:"✓";margin-inline-end:7px;color:var(--sp-p);font-weight:800}
.sp-list li{padding:9px 12px;border:1px solid var(--sp-line);border-radius:10px;background:var(--sp-card)}
.sp-faq{display:grid;gap:8px;margin-top:12px}
.sp-faq details{padding:10px 14px;border:1px solid var(--sp-line);border-radius:10px;background:var(--sp-card)}
.sp-faq summary{color:var(--sp-ink);font-size:.82rem;font-weight:700;cursor:pointer}
.sp-faq p{margin:8px 0 0;font-size:.78rem}
.sp-band{background:var(--sp-p)}
.sp-band h2,.sp-band p{color:#fff}
.sp-band p{opacity:.88}
.sp-band .sp-pill{background:rgba(255,255,255,.18);color:#fff}
.sp-band .sp-btn{border-color:#fff;background:#fff;color:var(--sp-p)}
.sp-band .sp-btn-alt{background:transparent;color:#fff}
.sp-doc p{max-width:70ch}
.sp-docs{display:grid;gap:14px;margin-top:14px}
.sp-docs .sp-card{padding:0;border:0;background:transparent}
.sp-notice{padding:10px 12px;border-inline-start:3px solid var(--sp-p);background:var(--sp-card)}
.sp-small{font-size:.72rem}
.sp-extra{font-size:.74rem}
.sp-table{width:100%;margin-top:12px;border-collapse:collapse}
.sp-table td{padding:10px;border:1px dashed var(--sp-line);color:var(--sp-muted);font-size:.72rem;text-align:center}
.sp-foot-block{padding-block:18px}
.sp-foot{padding:16px 24px;color:var(--sp-muted);font-size:.66rem}
.sp-missing{display:inline-block;padding:1px 8px;border:1px dashed #d9480f;border-radius:6px;background:rgba(217,72,15,.07);color:#d9480f;font-size:.72rem;font-style:italic;font-weight:600;letter-spacing:0;text-transform:none}
.sp-empty{margin:18px 24px;padding:20px;border:2px dashed #d9480f;border-radius:12px;color:#d9480f;font-size:.78rem;text-align:center}
.sp-app-aircm .sp-hero{background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--sp-p) 16%,transparent),transparent 62%)}
.sp-app-aeostate .sp-hero{background:linear-gradient(180deg,color-mix(in srgb,var(--sp-p) 10%,transparent),transparent)}
.sp-app-aeostate .sp-sec h1{font-size:2.25rem;font-weight:800}
.sp-app-aeostate .sp-card{border-radius:20px}
.sp-app-aeostate .sp-band{margin:20px 24px;border-bottom:0;border-radius:20px}
.sp-app-duoskill .sp-hero{background:linear-gradient(135deg,var(--sp-p),color-mix(in srgb,var(--sp-p) 55%,#0b1020))}
.sp-app-duoskill .sp-hero h1,.sp-app-duoskill .sp-hero p{color:#fff}
.sp-app-duoskill .sp-hero .sp-pill{background:rgba(255,255,255,.18);color:#fff}
.sp-app-duoskill .sp-hero .sp-btn{border-color:#fff;background:#fff;color:var(--sp-p)}
.sp-app-duoskill .sp-hero .sp-btn-alt{background:transparent;color:#fff}
.sp-app-duoskill .sp-card{border-radius:18px}
.sp-app-cverify .sp-hero{padding-block:54px}
.sp-mark{position:absolute;top:8px;inset-inline-end:10px;z-index:2;padding:2px 8px;border-radius:999px;background:#c77700;color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.sp-sec[data-change]{outline:2px dashed #c77700;outline-offset:-6px}
.sp-sec[data-change="added"]{outline-color:#0b8a6f}
.sp-sec[data-change="added"] .sp-mark{background:#0b8a6f}
.sp-sec.sp-flash{animation:sp-flash 1.2s ease}
@keyframes sp-flash{0%,100%{box-shadow:inset 0 0 0 0 transparent}30%{box-shadow:inset 0 0 0 4px var(--dk-a2z)}}
@container (max-width:560px){.sp-grid,.sp-grid.sp-two{grid-template-columns:1fr}.sp-sec{padding:26px 18px}.sp-sec h1{font-size:1.5rem}.sp-nav{padding-inline:16px}.sp-app-aeostate .sp-band{margin:16px}}
@media(prefers-reduced-motion:reduce){.sp-sec.sp-flash{animation:none}}

/* Generated by src/dark-theme.js */
:root{--dk-a0:#172033;--dk-a1:#f4f6fa;--dk-a2:#101827;--dk-a3:#68748a;--dk-a4:#dfe5ee;--dk-a5:#2367e8;--dk-a6:#174eb6;--dk-a7:#07111f;--dk-a8:#087d68;--dk-a9:#d5deea;--dk-aa:#fff;--dk-ab:#3d4b61;--dk-ac:#d6e2f5;--dk-ad:#f0f5ff;--dk-ae:#28558f;--dk-af:rgba(15,31,55,.1);--dk-ag:#99a2b0;--dk-ah:rgba(15,31,55,.055);--dk-ai:#d2dae5;--dk-aj:#46536a;--dk-ak:#e2e7ef;--dk-al:#fafbfc;--dk-am:#3a465b;--dk-an:#e9effa;--dk-ao:#315d9e;--dk-ap:#253147;--dk-aq:#7b8799;--dk-ar:#2f3b51;--dk-as:#9aa3b0;--dk-at:#fff1ef;--dk-au:#a33027;--dk-av:#eef1f5;--dk-aw:#475467;--dk-ax:#929cab;--dk-ay:#788497;--dk-az:#5b6b84;--dk-a10:#cbdcf9;--dk-a11:#f8fbff;--dk-a12:#3d485b;--dk-a13:#bdc9da;--dk-a14:#c62828;--dk-a15:rgba(198,40,40,.14);--dk-a16:#f6ecd4;--dk-a17:#6e5418;--dk-a18:#e8f0ff;--dk-a19:#daf7f0;--dk-a1a:#5b6678;--dk-a1b:#daf7f0;--dk-a1c:#f7fcfa;--dk-a1d:#ccd5e1;--dk-a1e:rgba(15,31,55,.14);--dk-a1f:rgba(15,31,55,.07);--dk-a1g:#d6e2f5;--dk-a1h:#fff;--dk-a1i:#f1ecff;--dk-a1j:#6d45d0;--dk-a1k:rgba(35,103,232,.14);--dk-a1l:rgba(7,17,31,.18);--dk-a1m:#8a94a6;--dk-a1n:rgba(35,103,232,.18);--dk-a1o:#8a95a8;--dk-a1p:#f8fafc;--dk-a1q:#c3ccd9;--dk-a1r:#8a5a00;--dk-a1s:#a3aec0;--dk-a1t:#f1c4c4;--dk-a1u:#fdecec;--dk-a1v:#e7b3b3;--dk-a1w:#8b95a5;--dk-a1x:#f3d39b;--dk-a1y:#fff8ec;--dk-a1z:#a15c07;--dk-a20:#f7f9fc;--dk-a21:#edf1f6;--dk-a22:#f6f9ff;--dk-a23:#e7ecf3;--dk-a24:#087d68;--dk-a25:#f5f7fa;--dk-a26:#e3f6ef;--dk-a27:#fff2db;--dk-a28:#fde7e7;--dk-a29:#174eb6;--dk-a2a:#8a4b05;--dk-a2b:#a32020;--dk-a2c:#edf1f6;--dk-a2d:#e6f6f1;--dk-a2e:#e7b4b0;--dk-a2f:#fbfaff;--dk-a2g:#e4dcfb;--dk-a2h:#b42318;--dk-a2i:#fbd5d0;--dk-a2j:#5b34b8;--dk-a2k:#3f2a80;--dk-a2l:#b9cdf6;--dk-a2m:#2367e8;--dk-a2n:#fbefd6;--dk-a2o:#eef4ff;--dk-a2p:#e3f6f1;--dk-a2q:#dff5ee;--dk-a2r:#065f4c;--dk-a2s:#fde8e8;--dk-a2t:#a61b1b;--dk-a2u:#0d652d;--dk-a2v:#1a0dab;--dk-a2w:#4d5156;--dk-a2x:rgba(16,24,39,.14);--dk-a2y:#eef1f6;--dk-a2z:#f6b73c}
@media (prefers-color-scheme:dark){:root[data-theme="auto"]{color-scheme:dark;--dk-a0:#c3d0ea;--dk-a1:#1b2330;--dk-a2:#cfdaf0;--dk-a3:#98a5bd;--dk-a4:#101824;--dk-a5:#387dff;--dk-a6:#4781ee;--dk-a7:#d6e5fa;--dk-a8:#369983;--dk-a9:#2e3744;--dk-aa:#212936;--dk-ab:#95a6bf;--dk-ac:#2a3341;--dk-ad:#1a232f;--dk-ae:#7dadee;--dk-af:rgba(0,0,0,0.24);--dk-ag:#a0a5ac;--dk-ah:rgba(0,0,0,0.132);--dk-ai:#323b48;--dk-aj:#96a5bf;--dk-ak:#252d3a;--dk-al:#1e2733;--dk-am:#97a5be;--dk-an:#171f2b;--dk-ao:#7cacf4;--dk-ap:#acbcd8;--dk-aq:#99a6b8;--dk-ar:#a2b1cb;--dk-as:#a0a5ac;--dk-at:#1a222f;--dk-au:#fc8172;--dk-av:#18202c;--dk-aw:#97a6bb;--dk-ax:#a0a5ac;--dk-ay:#99a5b9;--dk-az:#94a6c1;--dk-a10:#2b394f;--dk-a11:#1e2633;--dk-a12:#98a5bb;--dk-a13:#434d5c;--dk-a14:#ff7e73;--dk-a15:rgba(0,0,0,0.336);--dk-a16:#231c09;--dk-a17:#c3a76d;--dk-a18:#171f2b;--dk-a19:#0b241f;--dk-a1a:#99a5b9;--dk-a1b:#162e29;--dk-a1c:#1e2633;--dk-a1d:#37404e;--dk-a1e:rgba(0,0,0,0.336);--dk-a1f:rgba(0,0,0,0.168);--dk-a1g:rgba(255,255,255,0.35);--dk-a1h:#a0a5ac;--dk-a1i:#201c29;--dk-a1j:#ac96ff;--dk-a1k:rgba(0,0,0,0.336);--dk-a1l:rgba(0,0,0,0.432);--dk-a1m:#525b6b;--dk-a1n:rgba(0,0,0,0.432);--dk-a1o:#9aa5b9;--dk-a1p:#1d2632;--dk-a1q:#27303c;--dk-a1r:#d4a059;--dk-a1s:#3d4655;--dk-a1t:#5c3838;--dk-a1u:#18202c;--dk-a1v:#714546;--dk-a1w:#9ba5b6;--dk-a1x:#4c3812;--dk-a1y:#1d2531;--dk-a1z:#e29854;--dk-a20:#1d2532;--dk-a21:#212936;--dk-a22:#1d2532;--dk-a23:#151d28;--dk-a24:#60bfa8;--dk-a25:#1c2430;--dk-a26:#18202c;--dk-a27:#29200e;--dk-a28:#151e29;--dk-a29:#71a8ff;--dk-a2a:#df9960;--dk-a2b:#ff7e73;--dk-a2c:#18202c;--dk-a2d:#18212d;--dk-a2e:#704543;--dk-a2f:#1e2733;--dk-a2g:#342d45;--dk-a2h:#ff7f6d;--dk-a2i:rgba(255,255,255,0.35);--dk-a2j:#ab97ff;--dk-a2k:#a89bfc;--dk-a2l:#374768;--dk-a2m:#71a8ff;--dk-a2n:#271e0a;--dk-a2o:#1a222e;--dk-a2p:#18202c;--dk-a2q:#171f2b;--dk-a2r:#72bca5;--dk-a2s:#161e2a;--dk-a2t:#ff7e72;--dk-a2u:#72c082;--dk-a2v:#82a4ff;--dk-a2w:#a0a5ac;--dk-a2x:rgba(0,0,0,0.336);--dk-a2y:#18202c;--dk-a2z:rgba(255,255,255,0.35)}}
:root[data-theme="dark"]{color-scheme:dark;--dk-a0:#c3d0ea;--dk-a1:#1b2330;--dk-a2:#cfdaf0;--dk-a3:#98a5bd;--dk-a4:#101824;--dk-a5:#387dff;--dk-a6:#4781ee;--dk-a7:#d6e5fa;--dk-a8:#369983;--dk-a9:#2e3744;--dk-aa:#212936;--dk-ab:#95a6bf;--dk-ac:#2a3341;--dk-ad:#1a232f;--dk-ae:#7dadee;--dk-af:rgba(0,0,0,0.24);--dk-ag:#a0a5ac;--dk-ah:rgba(0,0,0,0.132);--dk-ai:#323b48;--dk-aj:#96a5bf;--dk-ak:#252d3a;--dk-al:#1e2733;--dk-am:#97a5be;--dk-an:#171f2b;--dk-ao:#7cacf4;--dk-ap:#acbcd8;--dk-aq:#99a6b8;--dk-ar:#a2b1cb;--dk-as:#a0a5ac;--dk-at:#1a222f;--dk-au:#fc8172;--dk-av:#18202c;--dk-aw:#97a6bb;--dk-ax:#a0a5ac;--dk-ay:#99a5b9;--dk-az:#94a6c1;--dk-a10:#2b394f;--dk-a11:#1e2633;--dk-a12:#98a5bb;--dk-a13:#434d5c;--dk-a14:#ff7e73;--dk-a15:rgba(0,0,0,0.336);--dk-a16:#231c09;--dk-a17:#c3a76d;--dk-a18:#171f2b;--dk-a19:#0b241f;--dk-a1a:#99a5b9;--dk-a1b:#162e29;--dk-a1c:#1e2633;--dk-a1d:#37404e;--dk-a1e:rgba(0,0,0,0.336);--dk-a1f:rgba(0,0,0,0.168);--dk-a1g:rgba(255,255,255,0.35);--dk-a1h:#a0a5ac;--dk-a1i:#201c29;--dk-a1j:#ac96ff;--dk-a1k:rgba(0,0,0,0.336);--dk-a1l:rgba(0,0,0,0.432);--dk-a1m:#525b6b;--dk-a1n:rgba(0,0,0,0.432);--dk-a1o:#9aa5b9;--dk-a1p:#1d2632;--dk-a1q:#27303c;--dk-a1r:#d4a059;--dk-a1s:#3d4655;--dk-a1t:#5c3838;--dk-a1u:#18202c;--dk-a1v:#714546;--dk-a1w:#9ba5b6;--dk-a1x:#4c3812;--dk-a1y:#1d2531;--dk-a1z:#e29854;--dk-a20:#1d2532;--dk-a21:#212936;--dk-a22:#1d2532;--dk-a23:#151d28;--dk-a24:#60bfa8;--dk-a25:#1c2430;--dk-a26:#18202c;--dk-a27:#29200e;--dk-a28:#151e29;--dk-a29:#71a8ff;--dk-a2a:#df9960;--dk-a2b:#ff7e73;--dk-a2c:#18202c;--dk-a2d:#18212d;--dk-a2e:#704543;--dk-a2f:#1e2733;--dk-a2g:#342d45;--dk-a2h:#ff7f6d;--dk-a2i:rgba(255,255,255,0.35);--dk-a2j:#ab97ff;--dk-a2k:#a89bfc;--dk-a2l:#374768;--dk-a2m:#71a8ff;--dk-a2n:#271e0a;--dk-a2o:#1a222e;--dk-a2p:#18202c;--dk-a2q:#171f2b;--dk-a2r:#72bca5;--dk-a2s:#161e2a;--dk-a2t:#ff7e72;--dk-a2u:#72c082;--dk-a2v:#82a4ff;--dk-a2w:#a0a5ac;--dk-a2x:rgba(0,0,0,0.336);--dk-a2y:#18202c;--dk-a2z:rgba(255,255,255,0.35)}
