*{box-sizing:border-box}
body{margin:0;background:#f6f7f9;color:#1f2328;font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif}
a{color:#c2410c;text-decoration:none}
.top{height:56px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 28px;gap:18px}
.brand{font-weight:800;font-size:18px;letter-spacing:-.2px}.brand .fire{color:#f97316}
.top .sub{color:#6b7280;font-size:13px;border-left:1px solid #e5e7eb;padding-left:14px}
.top .sp{flex:1}
.top .user{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;border:1px solid #e5e7eb;border-radius:999px;padding:4px 12px 4px 6px}
.avatar{flex:none;width:24px;height:24px;border-radius:50%;background:#fed7aa;color:#9a3412;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}
.wrap{max-width:1080px;margin:0 auto;padding:28px 24px;display:grid;grid-template-columns:200px 1fr;gap:28px}
nav.side a{display:block;padding:8px 12px;border-radius:8px;color:#374151;font-size:14px}
nav.side a.on{background:#fff;border:1px solid #e5e7eb;font-weight:600;color:#111}
nav.side .grp{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;margin:18px 12px 6px}
h1{font-size:22px;margin:0 0 4px}
.lead{color:#6b7280;margin:0 0 22px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 22px;margin-bottom:18px}
.card h2{font-size:15px;margin:0 0 4px;display:flex;align-items:center;gap:10px}
.card h2 .sp{flex:1}
.card .hint{color:#6b7280;font-size:13px;margin:0 0 14px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;color:#111;cursor:pointer}
.btn.p{background:#ea580c;border-color:#ea580c;color:#fff}
.btn.sm{padding:4px 10px;font-size:12px}
.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:14px}
.tabs span{padding:8px 14px;font-size:13px;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs span.on{color:#111;font-weight:600;border-color:#ea580c}
pre.cmd{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:12px 14px;font:12.5px/1.5 ui-monospace,Menlo,monospace;margin:10px 0;display:flex;justify-content:space-between;align-items:center}
pre.cmd b{color:#94a3b8;font-weight:400;font-size:11px;border:1px solid #334155;border-radius:5px;padding:1px 7px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.step{border:1px solid #e5e7eb;border-radius:10px;padding:14px}
.step .n{width:22px;height:22px;border-radius:50%;background:#fff7ed;color:#c2410c;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}
.step b{display:block;font-size:13.5px;margin-bottom:2px}
.step span{color:#6b7280;font-size:12.5px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:#6b7280;font-weight:500;font-size:12px;padding:6px 10px;border-bottom:1px solid #e5e7eb}
td{padding:9px 10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}
tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:6px}
.dot.off{background:#cbd5e1}
.dot.this{background:#f97316}
.tag{display:inline-block;background:#f3f4f6;border-radius:6px;padding:1px 8px;font-size:12px;color:#374151}
.tag.ok{background:#dcfce7;color:#166534}
.tag.me{background:#ffedd5;color:#9a3412}
.quota{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#374151}
.quota i{display:inline-block;width:120px;height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden}
.quota i b{display:block;height:100%;width:50%;background:#f97316}
.chips>span{display:inline-block;border:1px solid #e5e7eb;border-radius:999px;padding:3px 10px;font-size:12.5px;margin:0 6px 6px 0;background:#fff}
.chips>span.g{border-color:#fdba74;background:#fff7ed}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kv{display:grid;grid-template-columns:140px 1fr auto;gap:10px 14px;align-items:center;font-size:13.5px}
.kv .k{color:#6b7280}
footer{color:#9ca3af;font-size:12px;text-align:center;padding:26px}
/* sign-in / invite */
.auth{max-width:440px;margin:60px auto 0;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:32px 34px;box-shadow:0 10px 30px rgba(0,0,0,.05)}
.auth .brand{font-size:24px;margin-bottom:18px}
.auth h1{font-size:20px}
.auth .lead{margin-bottom:20px}
.auth .who{display:flex;align-items:center;gap:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:10px 12px;margin-bottom:22px;font-size:13px}
.sso{display:flex;flex-direction:column;gap:9px}
.sso .btn{justify-content:center;padding:10px;font-size:14px}
.sso .ic{width:18px;height:18px;border-radius:4px;display:inline-block}
.or{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:12px;margin:18px 0 14px}
.or::before,.or::after{content:"";flex:1;border-top:1px solid #e5e7eb}
label{display:block;font-size:12.5px;color:#6b7280;margin:10px 0 4px}
input{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}
.fine{font-size:12px;color:#9ca3af;margin-top:18px;line-height:1.55}
.stepbar{display:flex;gap:6px;justify-content:center;margin:26px 0 0;font-size:12px;color:#9ca3af}
.stepbar b{color:#ea580c}

/* --- portal additions (M16.1) --- */
.top a.nav{font-size:13px;color:#374151}
.top .user{cursor:default}
.top details.user{position:relative;padding:0}
.top details.user summary{list-style:none;display:flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;cursor:pointer}
.top details.user summary::-webkit-details-marker{display:none}
.top details.user .menu{position:absolute;right:0;top:36px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.08);min-width:200px;padding:6px;z-index:5}
.top details.user .menu a,.top details.user .menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:6px;font-size:13px;color:#1f2328;cursor:pointer}
.top details.user .menu a:hover,.top details.user .menu button:hover{background:#f6f7f9}
.top details.user .menu .who{color:#6b7280;font-size:12px;padding:6px 10px 4px}
.wrap.one{grid-template-columns:1fr;max-width:860px}
.flash{background:#dcfce7;border:1px solid #86efac;color:#166534;border-radius:10px;padding:10px 14px;margin:0 0 18px;display:flex;align-items:center;gap:10px;font-size:13.5px}
.flash .x{margin-left:auto;background:none;border:0;color:#166534;font-size:16px;cursor:pointer}
.err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:13.5px}
.auth form{margin-top:6px}
.auth .btn.p.full{width:100%;justify-content:center;margin-top:18px;padding:10px;font-size:14px}
.auth .alt{font-size:13px;color:#6b7280;margin-top:18px;text-align:center}
.auth .alt a{font-weight:500}
.auth details{margin-top:10px;font-size:13px;color:#6b7280}
.auth details summary{cursor:pointer}
.pwhint{font-size:12px;color:#9ca3af;margin-top:4px}
.pwhint.ok{color:#16a34a}
.crumbs{font-size:13px;color:#6b7280;margin:0 0 14px}
.crumbs a{color:#6b7280}
.crumbs b{color:#111;font-weight:500}
.kv .k{color:#6b7280}
.kv form{display:contents}
.kv .btn.sm{white-space:nowrap}
.sidecount{float:right;color:#9ca3af}
.card h2 a.more{font-size:12px;font-weight:400}
/* CSS-only OS tabs */
.ostabs input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.ostabs .tabs label{padding:8px 14px;font-size:13px;color:#6b7280;border-bottom:2px solid transparent;margin:0 0 -1px;cursor:pointer;display:inline-block}
.ostabs .pane{display:none}
.ostabs #os-mac:checked ~ .tabs label[for=os-mac],.ostabs #os-win:checked ~ .tabs label[for=os-win],.ostabs #os-lin:checked ~ .tabs label[for=os-lin]{color:#111;font-weight:600;border-color:#ea580c}
.ostabs #os-mac:checked ~ .pane.mac,.ostabs #os-win:checked ~ .pane.win,.ostabs #os-lin:checked ~ .pane.lin{display:block}
pre.cmd{white-space:pre-wrap;word-break:break-all;gap:12px}
pre.cmd code{flex:1;font:inherit}
pre.cmd button{color:#94a3b8;background:none;border:1px solid #334155;border-radius:5px;padding:1px 7px;font-size:11px;cursor:pointer;white-space:nowrap}
pre.cmd button:hover{color:#fff;border-color:#94a3b8}
.step .btn{margin-top:10px}
.step pre.cmd{margin:8px 0 0;font-size:11px}
.done{display:inline-flex;align-items:center;gap:6px;color:#166534;background:#dcfce7;border-radius:6px;padding:1px 8px;font-size:12px}
.empty{color:#9ca3af;font-size:13px;padding:10px 0}
td.r{text-align:right}
form.inline{display:inline}
.mut{color:#6b7280}
.small{font-size:12px}
input[type=password],input[type=text],input[type=email]{font-family:inherit}
input:focus{outline:2px solid #fdba74;outline-offset:0;border-color:#f97316}
button.btn:disabled{opacity:.5;cursor:not-allowed}
.fine a{color:#c2410c}
@media (max-width:760px){.wrap{grid-template-columns:1fr}.two{grid-template-columns:1fr}.steps{grid-template-columns:1fr}nav.side{display:flex;flex-wrap:wrap;gap:4px}nav.side .grp{display:none}}

/* M16.2 third-party sign-in */
.sso .btn{background:#fff;border:1px solid #d1d5db;color:#111827;font-weight:500}
.sso .btn:hover{background:#f9fafb;border-color:#9ca3af}
.ic.google{background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0)}
.ic.microsoft{background:conic-gradient(#7fba00 0 25%,#ffb900 0 50%,#00a4ef 0 75%,#f25022 0)}
.ic.github{background:#24292f}
.ic.key{background:#f97316}
.kv.methods .k{display:flex;align-items:center;gap:8px;color:#111827}
.kv.methods .ic{width:16px;height:16px;border-radius:4px;display:inline-block;flex:none}
.kv.methods form{display:contents}
