:root{color-scheme:dark;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;background:#0b1220;color:#f0f5ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 55% -10%,#18375d 0%,transparent 37%),#0b1220}button,input{font:inherit}button{cursor:pointer}a{color:#9cd5ff;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #e9b766;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3.7vw,42px);letter-spacing:-1.4px;line-height:1.13;margin-bottom:12px}h2{font-size:21px;letter-spacing:-.45px;margin-bottom:0}h3{font-size:18px;letter-spacing:-.3px;margin:0 0 8px}.muted,.meta,.small{color:#a5b6cf}.small,.meta{font-size:12px}.eyebrow{color:#7e9fc7;letter-spacing:1.9px;font-size:10px;font-weight:800;margin-bottom:5px}.skip{position:absolute;transform:translateY(-160%);background:#fff;color:#000;padding:10px;z-index:5}.skip:focus{transform:translateY(0)}.topbar{max-width:1260px;margin:auto;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:19px 24px;border-bottom:1px solid #22324a}.brand{display:flex;align-items:center;gap:12px;color:#f0f5ff}.brand:hover{text-decoration:none}.brandmark{background:linear-gradient(145deg,#74caff,#667ff9);color:#081425;display:grid;place-items:center;width:45px;height:45px;border-radius:13px;font-weight:900;letter-spacing:-2px}.brand strong{display:block;font-size:16px}.brand small{font-size:9px;letter-spacing:1.8px;color:#9daeca;display:block}.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.button{min-height:40px;border-radius:10px;border:1px solid #334b68;padding:9px 13px;font-weight:650;transition:background-color .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:wait}.primary{background:#9cd5ff;color:#0a192a;border-color:#9cd5ff}.primary:hover{background:#c4e7ff}.secondary{background:#1b2a40;color:#dce8f8}.secondary:hover{background:#293d59}.status-tag{border:1px solid #3a4a62;color:#b9c9dd;background:#152237;border-radius:100px;padding:8px 12px;font-size:12px}.status-tag.connected{border-color:#2d6f65;color:#90ebcb}.layout{max-width:1212px;margin:auto;padding:27px 24px 55px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 16px}.hero>div:first-child{max-width:720px}.hero .muted{max-width:620px;font-size:15px;line-height:1.65}.datebox{text-align:right;min-width:188px;padding:15px 18px;background:#16233a;border:1px solid #2d4058;border-radius:14px}.datebox strong,.datebox span,.datebox small{display:block}.datebox strong{font-size:14px}.datebox span{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}.datebox small{font-size:10px;color:#9eb0ca}.notice{display:flex;gap:12px;background:#142b34;border:1px solid #23525b;border-radius:12px;padding:13px 16px;color:#b8e6dc;font-size:13px}.notice strong{white-space:nowrap}.layout section{margin-bottom:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:14px}.section-heading .eyebrow{margin:0 0 4px}.grid{display:grid;gap:15px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,#17243a,#121d30);border:1px solid #30415a;border-radius:17px;padding:20px;min-width:0;box-shadow:0 13px 38px #00000014}.card p{margin:0}.card .muted{line-height:1.6;font-size:13px}.card-top{display:flex;align-items:center;justify-content:space-between;color:#b5c3d8;font-size:19px;margin-bottom:15px}.label{font-size:10px;letter-spacing:1.25px;font-weight:800}.accent{color:#a7e4ff}.action-card{border-color:#4b83b0;background:linear-gradient(160deg,#183750,#112438)}.action-card h3{font-size:21px}.linkbutton{margin-top:20px;border:0;background:none;color:#a6dbff;padding:0;min-height:0;font-weight:600}.subtle-link{font-size:13px;font-weight:650;display:inline-block;margin-top:18px}.system-card{position:relative;min-height:245px;display:flex;flex-direction:column;align-items:start}.system-card .icon{font-size:24px;margin-bottom:10px}.system-card h3{font-size:16px}.system-card .big-metric{font-size:25px;font-weight:750;margin-top:auto;margin-bottom:0;line-height:1.3}.system-card .meta{margin:3px 0 14px;color:#9eb0c8;min-height:16px;line-height:1.35}.open-link{font-size:13px;font-weight:700}.privacy-footnote{font-size:12px;color:#91a5c0;margin:11px 0 0}.split{display:grid;grid-template-columns:1.13fr 1fr;gap:15px}.inner{margin-bottom:13px}.task-form{display:flex;gap:8px}input{min-width:0;background:#0d1727;border:1px solid #40526b;color:#f0f5ff;border-radius:10px;padding:10px 12px;width:100%}input::placeholder{color:#778da9}.task-list{padding:0;margin:16px 0 10px;list-style:none}.task-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #293950}.task-list .empty{color:#91a6c1;font-size:13px}.task-text{flex:1;overflow-wrap:anywhere}.task-text.done{text-decoration:line-through;color:#8fa1b9}.task-list input[type=checkbox]{width:17px;height:17px;accent-color:#85d6bb;flex:0 0 auto}.task-list button{border:0;border-radius:6px;background:transparent;color:#9cacc4;padding:5px 8px}.task-list button:hover{background:#29364b}.tools .tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tool-grid a{border:1px solid #30445e;border-radius:9px;background:#1d2b43;padding:13px;color:#d9e9fa;font-size:13px;display:flex;justify-content:space-between;gap:5px}.tool-grid a:hover{background:#293c58;text-decoration:none}.privacy-block{background:#111c2f}.privacy-block strong{font-size:13px}.privacy-block p{font-size:12px;color:#9ab0ca;margin-top:6px}footer{max-width:1212px;margin:auto;padding:20px 24px 30px;border-top:1px solid #24334a;color:#849ab7;font-size:11px;display:flex;justify-content:space-between;gap:20px}dialog{width:min(760px,calc(100% - 25px));max-height:90vh;overflow:auto;background:#111e30;color:#eff5ff;border:1px solid #395070;border-radius:18px;padding:27px;box-shadow:0 25px 80px #0009}dialog::backdrop{background:#040a14dd}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}dialog hr{border:0;border-top:1px solid #35455d;margin:22px 0}dialog p{line-height:1.6;font-size:13px}dialog h3{font-size:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.block-label{font-size:12px;color:#b9c9dd;display:flex;flex-direction:column;gap:5px}.block-label{margin-top:11px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}.dialog-actions a{margin:0 auto 0 0}.toast{position:fixed;bottom:22px;right:22px;background:#1d3c4b;border:1px solid #397b8b;padding:13px 17px;border-radius:10px;max-width:360px;z-index:4;box-shadow:0 12px 40px #0008}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.four{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(2,minmax(0,1fr))}.three>*:first-child{grid-column:span 2}.topbar{align-items:flex-start}}@media(max-width:680px){.topbar{flex-direction:column;padding:15px 17px}.top-actions{width:100%}.top-actions .status-tag{width:100%}.top-actions .button{flex:1}.layout{padding:15px 15px 35px}.hero{padding:18px 0;align-items:flex-start}.hero .muted{font-size:13px}.datebox{display:none}.notice{flex-direction:column;gap:4px}.three,.four,.split{grid-template-columns:1fr}.three>*:first-child{grid-column:auto}.card{padding:16px}.system-card{min-height:195px}.form-grid{grid-template-columns:1fr}.dialog-actions{justify-content:stretch}.dialog-actions .button{flex:1}footer{padding:20px 15px}.section-heading{align-items:start}.section-heading>.small{max-width:90px;text-align:right}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Private Apps Script launcher */
.portal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}
.portal-setup{margin-top:20px;background:#101d2f;border:1px solid #3c5673;border-radius:12px;padding:18px;max-width:820px}
.portal-setup label{margin-bottom:8px}
.portal-setup input{width:100%;margin-top:7px}
.portal-setup .meta{margin-top:12px}
.portal-setup[hidden]{display:none}
#portal-state{margin-top:12px}
@media(max-width:680px){.portal-actions .button{flex:1}.portal-setup{padding:13px}}
