/* Nubo Home dashboard. Plain CSS, light + dark through prefers-color-scheme. */
:root{--bg:#f4f4f5;--panel:#fff;--side:#fafafb;--fg:#0b0b0d;--mut:#5f5f68;--line:#e2e2e6;--chip:#ececef;--hover:#efeff2;--acc:#0b0b0d;--accfg:#fff;--ring:#2563eb;--ok:#15803d;--warn:#b45309;--bad:#dc2626;--c1:#2563eb;--c2:#c2410c;--c3:#15803d;--side-w:248px;--rail-w:68px}
@media (prefers-color-scheme:dark){:root{--bg:#0a0a0c;--panel:#141417;--side:#101013;--fg:#f4f4f5;--mut:#9b9ba5;--line:#26262c;--chip:#1e1e23;--hover:#1a1a1f;--acc:#fff;--accfg:#000;--ring:#60a5fa;--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--c1:#60a5fa;--c2:#fb923c;--c3:#4ade80}}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* shell */
.shell{display:flex;min-height:100vh}
.side{width:var(--side-w);flex:none;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:12px;transition:width .15s}
.side .brand{display:flex;align-items:center;gap:10px;padding:6px 6px 12px;border-bottom:1px solid var(--line);margin-bottom:10px}
.brand img{width:30px;height:30px;color:var(--fg)}
.brand .mark{width:30px;height:30px;flex:none;background:var(--fg);-webkit-mask:url(/nubo-mark.svg) center/contain no-repeat;mask:url(/nubo-mark.svg) center/contain no-repeat}
.brand b{font-size:18px;letter-spacing:-.01em;flex:1}
.iconbtn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent}
.iconbtn:hover{background:var(--hover)}
.nav{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.nav a,.nav button.navbtn{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:10px;border:0;background:none;text-decoration:none;font-size:15px;text-align:left;position:relative;color:var(--fg)}
.nav a:hover,.nav button.navbtn:hover{background:var(--hover)}
.nav a[aria-current=page]{background:var(--chip);font-weight:600}
.nav hr{border:0;border-top:1px solid var(--line);margin:8px 14px}
.grow{flex:1}
.badge{background:var(--bad);color:#fff;border-radius:99px;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;margin-left:auto}
.nav a .badge{position:static}
.side-bottom{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
.umenu{position:relative}
.ubtn{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;background:none;border-radius:10px;text-align:left}
.ubtn:hover{background:var(--hover)}
.ubtn .un{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av{width:32px;height:32px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-weight:700;flex:none;overflow:hidden;background-size:cover;background-position:center}
.av.lg{width:72px;height:72px;font-size:28px}
.pop{position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 8px 28px rgba(0,0,0,.18);z-index:30;min-width:200px}
.pop .who{padding:8px 10px;color:var(--mut);font-size:13px;overflow-wrap:anywhere}
.pop a,.pop button{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;text-align:left;text-decoration:none}
.pop a:hover,.pop button:hover{background:var(--hover)}
.pop .accts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0;padding:4px 0}
.pop .acct .un{display:flex;flex-direction:column;min-width:0}.pop .acct small{color:var(--mut);overflow:hidden;text-overflow:ellipsis}
.topbar{display:none}
.scrim{display:none}
.main{flex:1;min-width:0;padding:28px max(16px,4vw) 64px}
.page{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.page h1{font-size:clamp(24px,4vw,32px);margin:0;letter-spacing:-.02em}
.page .sub{margin:4px 0 0;color:var(--mut)}
h2{font-size:15px;margin:0 0 10px;color:var(--mut);font-weight:600}

/* collapsed rail (desktop) */
body.rail .side{width:var(--rail-w)}
body.rail .side .lbl,body.rail .side .brand b,body.rail .side .un,body.rail .side .chev{display:none}
body.rail .side .brand{flex-direction:column;padding-bottom:10px}
body.rail .nav a,body.rail .nav button.navbtn,body.rail .ubtn{justify-content:center;padding:10px 0}
body.rail .nav .badge{position:absolute;top:2px;right:6px;margin:0}
body.rail .pop{left:0;right:auto;width:220px}

/* controls */
.btn{border:0;border-radius:10px;padding:9px 14px;background:var(--acc);color:var(--accfg);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn.ghost{background:var(--chip);color:var(--fg)}
.btn.sm{padding:5px 10px;font-size:13px}
.btn[disabled]{opacity:.5;cursor:default}
.btn.danger{background:var(--bad);color:#fff}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.field label{font-size:13px;color:var(--mut);font-weight:600}
input[type=text],input[type=search],input[type=password],input[type=email],textarea,select{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);width:100%;min-width:0}
select{width:auto}
textarea{resize:vertical;min-height:90px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.card h3{margin:0;font-size:13px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.card .big{font-size:20px;font-weight:650;overflow-wrap:anywhere}
.card .big.sm{font-size:15px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.tmut{color:var(--mut);font-size:13px}
.bar{height:8px;border-radius:99px;background:var(--chip);overflow:hidden}
.bar>i{display:block;height:100%;background:var(--acc);border-radius:99px}
.bar.warn>i{background:var(--warn)}
.bar.bad>i{background:var(--bad)}
.banner{background:var(--panel);border:1px solid var(--ring);border-radius:14px;padding:12px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.banner .grow{min-width:180px}
.note{padding:12px 14px;border-radius:12px;background:var(--chip);color:var(--mut);font-size:14px}
.note.err{color:var(--bad)}
.empty{text-align:center;color:var(--mut);padding:36px 12px}
.empty b{display:block;color:var(--fg);margin-bottom:4px}
.skel{height:80px;border-radius:14px;background:linear-gradient(90deg,var(--chip),var(--hover),var(--chip));background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}.side{transition:none}}
.pill{display:inline-block;border-radius:99px;padding:1px 9px;font-size:12px;font-weight:600;background:var(--chip)}
.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}
.list .item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.list .item:last-child{border-bottom:0}
.item .grow{min-width:160px}
.item.unread .ttl{font-weight:700}
.item.unread::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ring);flex:none}

/* apps */
.search{position:relative;max-width:520px;width:100%;margin:0 auto}
.search input{padding-right:40px;border-radius:12px}
.search svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--mut);pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chips button{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 14px}
.chips button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 10px}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:14px;text-align:center;text-decoration:none}
.tile:hover,.tile:focus-within{background:var(--chip)}
.tile a.open{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;width:100%;border-radius:12px}
.tile .logo{position:relative;width:64px;height:64px}
.tile img{width:64px;height:64px;display:block}
.tile .nm{font-size:14px;font-weight:600;line-height:1.25}
.tile .sim{font-size:12px;color:var(--mut);line-height:1.3;max-width:140px}
.tile.soon img{opacity:.45;filter:grayscale(.6)}
.soon{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);border-radius:5px;font-size:9px;letter-spacing:.06em;font-weight:700;text-transform:uppercase;white-space:nowrap;padding:1px 6px;color:var(--mut)}
.pin{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--mut);opacity:0;display:grid;place-items:center}
.tile:hover .pin,.tile:focus-within .pin,.pin[aria-pressed=true]{opacity:1}
.pin[aria-pressed=true]{color:var(--warn)}
.pin[aria-pressed=true] svg{fill:currentColor}
.pin svg.i{width:16px;height:16px}
@media (hover:none){.pin{opacity:1}}

/* files */
.crumbs{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.crumbs button{border:0;background:none;border-radius:8px;padding:3px 8px;font-weight:600}
.crumbs button:hover{background:var(--hover)}
.crumbs span{color:var(--mut)}
.ftable{width:100%;border-collapse:collapse}
.ftable th{text-align:left;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid var(--line)}
.ftable td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.ftable .nm button.open{border:0;background:none;display:flex;gap:10px;align-items:center;text-align:left;padding:2px;border-radius:6px;font-weight:500;overflow-wrap:anywhere}
.ftable .acts{white-space:nowrap;text-align:right}
@media (max-width:640px){.ftable .hide-s{display:none}.ftable tr{display:flex;flex-wrap:wrap;align-items:center}.ftable td.nm{flex:1 1 100%}.ftable td.acts{flex:1 1 100%;text-align:left;border-bottom:1px solid var(--line)}.ftable td.nm{border-bottom:0}.ftable thead{display:none}}

/* usage */
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--mut)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.chart{width:100%;height:auto;display:block}
.chart text{fill:var(--mut);font-size:10px}
.chart line{stroke:var(--line)}
table.plain{width:100%;border-collapse:collapse;font-size:14px}
table.plain th,table.plain td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
table.plain th{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.plan{border:2px solid var(--line)}
.plan.cur{border-color:var(--fg)}
.plan .price{font-size:26px;font-weight:700}
.plan ul{margin:6px 0 10px;padding-left:18px;color:var(--mut);font-size:14px}
.gate{max-width:520px;margin:14vh auto;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center;padding:0 16px}
.gate img{width:84px;height:84px;border-radius:20px}
.hello h1{margin:0}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.links a{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none}
.links a:hover{background:var(--hover)}
.quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:12px;text-decoration:none;font-size:13px;text-align:center}
.quick a:hover{background:var(--chip)}
.quick img{width:52px;height:52px}
.mockflag{position:fixed;right:10px;bottom:10px;background:var(--warn);color:#000;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700;z-index:50}

/* team panel (team.js) */
.trow{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.trow:last-child{border-bottom:0}
.tgrow{flex:1;min-width:140px}
.tav{width:32px;height:32px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-weight:700;flex:none}
.tform{display:flex;gap:8px;flex-wrap:wrap}.tform input{flex:1;min-width:160px}
.tdns{background:var(--chip);border-radius:10px;padding:8px 10px;font-size:12.5px;overflow-x:auto}.tdns div{white-space:nowrap;padding:2px 0}

/* phones: sidebar becomes a drawer */
@media (max-width:760px){
  .topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;background:var(--panel);border-bottom:1px solid var(--line);padding:8px 12px}
  .topbar .mark{width:26px;height:26px;background:var(--fg);-webkit-mask:url(/nubo-mark.svg) center/contain no-repeat;mask:url(/nubo-mark.svg) center/contain no-repeat}
  .topbar b{font-size:17px}
  .shell{display:block}
  .side{position:fixed;left:0;top:0;bottom:0;z-index:40;width:min(300px,86vw)!important;transform:translateX(-102%);transition:transform .18s;box-shadow:none}
  body.drawer .side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}
  body.drawer .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:35}
  body.rail .side .lbl,body.rail .side .brand b,body.rail .side .un{display:revert}
  body.rail .side .brand{flex-direction:row}
  body.rail .nav a,body.rail .nav button.navbtn,body.rail .ubtn{justify-content:flex-start;padding:9px 10px}
  body.rail .nav .badge{position:static;margin-left:auto}
  .collapse{display:none}
  .main{padding-top:18px}
}
.apx{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.apx-top{display:flex;gap:8px;align-items:center}
.apx-tools{display:flex;gap:8px}
.apx-cat{border:1px solid var(--line);border-radius:12px;padding:6px 10px 10px;margin:0;min-width:0}
.apx-cat legend{font-size:12px;color:var(--mut);padding:0 6px;text-transform:uppercase;letter-spacing:.06em}
.apx-cat[disabled]{opacity:.55}
.apx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.apx-app{display:flex;gap:8px;align-items:center;min-width:0;font-size:14px}
.apx-app img{flex:none;border-radius:5px}
.apx-box{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px}
.apx-box h3{margin:0 0 4px;font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}

/* Invitation landing page (shown to visitors who arrive from an invitation email) */
.gate.invite{max-width:none;margin:0;padding:28px 16px;min-height:100vh;justify-content:center;background:var(--chip)}
.inv-card{width:100%;max-width:520px;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-align:left;box-shadow:0 12px 40px rgba(20,30,60,.10)}
.inv-head{display:flex;align-items:center;gap:10px;padding:18px 24px 0;font-weight:700;font-size:17px}
.gate .inv-mark{width:34px;height:34px;border-radius:9px}
.inv-hero{margin:14px 16px 0;padding:26px 24px;border-radius:14px;background:linear-gradient(135deg,#2f5bea,#6d4aff);color:#fff}
.inv-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8;font-weight:600}
.inv-hero h1{margin:8px 0 8px;font-size:28px;line-height:1.2}
.inv-hero p{margin:0;opacity:.92;line-height:1.5}
.inv-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:16px}
.inv-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px}
.inv-app{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--mut);text-align:center}
.gate .inv-app img{width:40px;height:40px;border-radius:10px}
.inv-list{margin:0;padding-left:20px;color:var(--fg);line-height:1.7;font-size:14px}
.inv-cta{width:100%;padding:14px;font-size:16px;justify-content:center;background:#2f5bea;color:#fff;cursor:pointer}
.inv-link{background:none;border:0;color:var(--ring);font:inherit;cursor:pointer;padding:4px;text-align:center}
.inv-link:hover{text-decoration:underline}
.inv-fine{margin:0;text-align:center;font-size:12px;color:var(--mut)}
@media (max-width:420px){.inv-apps{grid-template-columns:repeat(3,1fr)}.inv-hero h1{font-size:24px}}

.inv-form{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.inv-form label{font-size:13px;font-weight:600;color:var(--mut)}
.inv-form input{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit}
.inv-form input[readonly]{opacity:.8}
.inv-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inv-names>div{display:flex;flex-direction:column;gap:6px;min-width:0}.inv-names label{font-size:13px;font-weight:600;color:var(--mut)}.inv-names input{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit}
.inv-form .inv-cta{margin-top:10px}
.inv-err{margin:0;color:var(--bad);font-size:13px}

/* Security tab */
.stack{display:flex;flex-direction:column;gap:10px}.stack:empty{display:none}
.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px}.meter i{height:5px;border-radius:3px;background:var(--line)}
.meter[data-score="1"] i:nth-child(-n+1){background:var(--bad)}.meter[data-score="2"] i:nth-child(-n+2){background:var(--warn)}
.meter[data-score="3"] i:nth-child(-n+3){background:var(--c3)}.meter[data-score="4"] i{background:var(--ok)}
.sec-err{color:var(--bad);font-size:14px;min-height:0;margin:6px 0 0}.sec-err:empty{display:none}
.sec-setup{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:8px}
.qr{width:168px;height:168px;background:#fff;border-radius:10px;padding:4px;display:grid;place-items:center;color:#000;font-size:12px;text-align:center;flex:none}.qr svg{width:100%;height:100%}
.sec-steps{margin:0 0 10px;padding-left:20px}.sec-key{font:600 14px ui-monospace,Menlo,monospace;letter-spacing:.04em;overflow-wrap:anywhere}
.sec-codes{list-style:none;margin:10px 0;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 14px;background:var(--chip);border-radius:10px}
.sec-codes code{font:600 15px ui-monospace,Menlo,monospace}
.sec-chk{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px}.sec-chk input{width:auto}
dialog.sec-dlg{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--fg);padding:0;width:min(440px,calc(100vw - 32px))}
dialog.sec-dlg::backdrop{background:rgba(0,0,0,.5)}
.sec-dlg-in{padding:20px;display:flex;flex-direction:column;gap:10px}.sec-dlg-in h2{margin:0;font-size:18px}.sec-dlg-body p{margin:0 0 8px}
.sec-dlg-act{justify-content:flex-end;margin-top:6px}
.banner.lock{border-color:var(--bad)}
.stat2{display:flex;gap:18px;flex-wrap:wrap}

/* team drive */
.td-tabs{gap:6px;margin:12px 0 8px;flex-wrap:wrap}.td-tabs [aria-selected=true]{background:var(--chip);font-weight:700;box-shadow:inset 0 -2px 0 var(--fg)}
.td-usage{padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.td-tools{gap:8px;flex-wrap:wrap;margin-bottom:8px}.td-tools input[type=search]{max-width:260px}
.td-bulk{gap:8px;padding:6px 10px;border-radius:10px;background:var(--chip);margin:6px 0}
.td-prog progress{width:160px}
.td-drop{transition:outline-color .1s;outline:2px dashed transparent;outline-offset:-4px}.td-drop.over{outline-color:var(--ring);background:var(--hover)}
.td-chk{width:34px}.td-sort{background:none;border:0;padding:0;font-weight:600;color:inherit}
.ftable tr[aria-selected=true]{background:var(--hover)}
.td-with{padding:4px 8px;font-size:13px}
.td-pick{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow:auto;margin-top:8px}.td-pickrow{justify-content:flex-start;text-align:left}
.td-acl{display:flex;flex-direction:column;gap:8px}.td-acl-row,.td-acl-add{gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px}
dialog.td-dlg.wide{width:min(620px,calc(100vw - 32px))}
.td-bar{margin:8px 0}.td-settings{padding:16px;display:flex;flex-direction:column;gap:14px;max-width:560px}
@media (max-width:640px){.td-tools input[type=search]{max-width:none;width:100%}.ftable .acts{white-space:normal}}
@media (max-width:640px){.td .ftable td.td-chk{flex:0 0 34px;padding-right:0}.td .ftable td.nm{flex:1 1 calc(100% - 44px)}}

.ribbon { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; padding: 10px 14px; border-radius: 10px; background: #fff4d6; color: #5a4300; border: 1px solid #f0d58a; font-size: 14px; }
.ribbon.bad { background: #fde8e8; color: #7a1c1c; border-color: #f2b8b8; }
.ribbon > span { flex: 1 1 260px; }
.ribbon .iconbtn { font-size: 18px; line-height: 1; }
@media (prefers-color-scheme: dark) {
  .ribbon { background: #3a2f10; color: #f3dc9c; border-color: #6b5a22; }
  .ribbon.bad { background: #3e1a1a; color: #f5c2c2; border-color: #7a3434; }
}

/* First-run push banner: a slim in-flow bar at the top of the content area (inside .main, never a flex child of .shell). */
.pushbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:8px 8px 8px 14px;border-radius:12px;background:#e8f0fe;color:#1a3a78;border:1px solid #b6cdf7;font-size:14px;line-height:1.35}
.pushbar .pb-txt{flex:1 1 240px;min-width:0}
.pushbar .btn{padding:5px 12px;font-size:13px;white-space:nowrap}
.pushbar .iconbtn{width:32px;height:32px;font-size:18px;line-height:1;color:inherit}
.pushbar .pb-msg{flex-basis:100%;margin:0;font-size:13px}
@media (prefers-color-scheme: dark){.pushbar{background:#14233f;color:#bcd2fb;border-color:#2c4a80}}
/* Delete account (tabs/danger-zone.js) */
.dz{max-width:620px;border-color:var(--bad);margin-top:18px}
.dz h3{color:var(--bad)}
.dz-p{margin:0 0 8px;color:var(--mut);font-size:14px}
dialog.dz-dlg{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.dz-body h4{margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.dz-list{margin:0 0 6px;padding-left:20px;font-size:14px;display:flex;flex-direction:column;gap:4px}
.dz-body .note{margin-bottom:8px}
