:root{color:#17231f;font-synthesis:none;--ink:#17231f;--muted:#68736d;--forest:#183e34;--mint:#b9ffce;--paper:#fbfcf8;--line:#d7ddd7;--danger:#aa332b;--shadow:0 18px 50px #132b2314;background:#edf0eb;font-family:PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.02em;margin-bottom:0;font-size:1.2rem}h2{letter-spacing:-.04em;margin-bottom:.6rem;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.15}h3{margin-bottom:.35rem;font-size:1.15rem}h4{margin-bottom:.5rem}p{color:var(--muted);line-height:1.65}code,.code-input{font-family:IBM Plex Mono,monospace}.eyebrow{color:#587269;letter-spacing:.14em;margin-bottom:.45rem;font:600 .7rem/1.2 IBM Plex Mono,monospace}.kicker{background:var(--mint);color:#14382e;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .65rem;font:600 .7rem IBM Plex Mono,monospace;display:inline-flex}.brand-lockup{align-items:center;gap:.85rem;display:flex}.brand-mark{background:var(--forest);width:42px;height:42px;color:var(--mint);border-radius:12px;place-items:center;font:600 1.35rem IBM Plex Mono,monospace;display:grid}.brand-lockup .eyebrow{margin-bottom:.12rem}.brand-lockup.light h1,.brand-lockup.light .eyebrow{color:#f4f9f2}.brand-lockup.light .brand-mark{background:var(--mint);color:var(--forest)}.button{color:var(--ink);background:#fff;border:1px solid #0000;border-radius:9px;padding:.7rem 1rem;font-weight:650;transition:transform .15s,box-shadow .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #14342b1f}.button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.nav-item:focus-visible,.action-card:focus-visible{outline-offset:2px;outline:3px solid #359d6f59}.button:disabled{cursor:not-allowed;opacity:.5}.button.primary{background:var(--forest);color:#fff}.button.quiet{background:#f9fbf8;border-color:#bfc9c2}.button.quiet.verified{color:#185b35;background:#def8e6;border-color:#8ed4a4}.button.ghost{color:inherit;background:0 0;border-color:#0000}.button.danger{color:var(--danger);background:#fff5f3;border-color:#e7aaa5}.button.full{width:100%}.text-button{color:#187352;background:0 0;border:0;padding:.4rem;font-weight:700}.login-shell{background:var(--paper);grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);min-height:100vh;display:grid}.login-story{background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,5.5rem);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";aspect-ratio:1;border:1px solid #b9ffce59;border-radius:50%;width:42vw;position:absolute;bottom:-16vw;right:-16vw;box-shadow:0 0 0 8vw #b9ffce0a,0 0 0 16vw #b9ffce06}.login-copy{z-index:1;max-width:670px;position:relative}.login-copy h2{max-width:13ch;margin:1.2rem 0;font-size:clamp(2.2rem,5vw,4.7rem)}.login-copy p{color:#c7d5cf;max-width:58ch}.trust-row{color:#dce9e1;z-index:1;gap:1.8rem;font-size:.82rem;display:flex;position:relative}.trust-row span:before{content:"✓";color:var(--mint);margin-right:.45rem}.login-panel{flex-direction:column;justify-content:center;width:100%;max-width:620px;margin:auto;padding:clamp(2rem,7vw,6rem);display:flex}.login-panel form{gap:1rem;margin:1.3rem 0;display:grid}.login-panel footer{color:#7b8580;border-top:1px solid var(--line);padding-top:1.2rem;font-size:.75rem;line-height:1.6}.otp-input{letter-spacing:.4em;text-align:center;font:600 2rem IBM Plex Mono,monospace}label{color:#37443f;gap:.42rem;font-size:.82rem;font-weight:650;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd3cd;border-radius:8px;padding:.72rem .8rem}textarea{resize:vertical;min-height:86px;line-height:1.5}textarea.tall{min-height:175px}fieldset{border:0;margin:0;padding:0}legend{color:#37443f;margin-bottom:.5rem;font-size:.82rem;font-weight:650}.check-grid{gap:.45rem;display:grid}.check{grid-template-columns:18px 1fr;align-items:center;gap:.55rem;font-weight:500}.check input{width:17px;height:17px;accent-color:var(--forest)}.field-row{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.app-shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);z-index:20;justify-content:space-between;align-items:center;height:76px;padding:0 2rem;display:flex;position:sticky;top:0}.session-strip{align-items:center;gap:.65rem;display:flex}.session-strip>div{text-align:right;margin-right:.5rem;display:grid}.session-strip span{color:var(--muted);margin-top:.15rem;font-size:.72rem}.workspace{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.sidebar{background:#e6eae4;border-right:1px solid #d4d9d3;flex-direction:column;padding:1.5rem 1rem;display:flex}.sidebar-label{letter-spacing:.12em;color:#738079;padding:0 .65rem;font:600 .68rem IBM Plex Mono,monospace}.sidebar nav{gap:.28rem;display:grid}.nav-item{text-align:left;color:#49554f;background:0 0;border:0;border-radius:8px;padding:.72rem .75rem;font-weight:600}.nav-item:hover{background:#fff9}.nav-item.active{background:var(--forest);color:#fff;box-shadow:0 8px 22px #183e3429}.security-note{border-top:1px solid #cdd4ce;align-items:flex-start;gap:.65rem;margin-top:auto;padding:1rem .55rem 0;display:flex}.security-note strong,.security-note small{display:block}.security-note strong{font-size:.76rem}.security-note small{color:#6c7771;margin-top:.2rem;line-height:1.45}.status-dot{background:#35a969;border-radius:50%;width:8px;height:8px;margin-top:.35rem;box-shadow:0 0 0 4px #35a9691f}.content{width:100%;max-width:1540px;margin:0 auto;padding:clamp(1.5rem,4vw,3.25rem)}.page-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.7rem;display:flex}.page-heading p:last-child{max-width:760px;margin-bottom:0}.time-card{background:#dce5dd;border-radius:10px;min-width:190px;padding:.9rem 1rem;display:grid}.time-card span,.time-card small{color:#67736c;font-size:.7rem}.time-card strong{margin:.2rem 0}.hero-panel{background:var(--forest);color:#fff;box-shadow:var(--shadow);border-radius:15px;justify-content:space-between;align-items:center;padding:clamp(1.5rem,4vw,3rem);display:flex;position:relative;overflow:hidden}.hero-panel:after{content:"";border:1px solid #b9ffce59;border-radius:50%;width:230px;height:230px;position:absolute;right:-95px}.hero-panel h3{margin:1rem 0 .5rem;font-size:clamp(1.55rem,3vw,2.35rem)}.hero-panel p{color:#c8d7d0;margin-bottom:0}.hero-metric{text-align:center;z-index:1;padding:1.4rem 3.2rem 1.4rem 2rem}.hero-metric span{color:var(--mint);font:600 3.8rem IBM Plex Mono,monospace;display:block}.hero-metric small{color:#d9e5df}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.action-card{text-align:left;border:1px solid var(--line);background:var(--paper);border-radius:12px;min-height:175px;padding:1.35rem;position:relative;box-shadow:0 5px 18px #1428220a}.action-card:hover{border-color:#91ad9c;transform:translateY(-2px)}.action-card>span{color:#718078;letter-spacing:.1em;font:600 .65rem IBM Plex Mono,monospace}.action-card h3{margin-top:1.2rem}.action-card p{max-width:43ch;margin-bottom:0}.action-card b{color:#3c8065;font-size:1.4rem;position:absolute;top:1rem;right:1.25rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.25rem;box-shadow:0 7px 24px #192d260b}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.panel-heading p{margin-bottom:0;font-size:.82rem}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.two-column.wide-left{grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}.three-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.manage-panel{margin-top:1rem}.manage-panel form{border-left:1px solid var(--line);align-content:start;gap:.75rem;padding-left:1.4rem;display:grid}.manage-panel form:first-child{border-left:0;padding-left:0}.manage-panel p{font-size:.78rem}.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.operation form{gap:.75rem;display:grid}.operation.high-risk{border-top:3px solid #c88942}.result-card{background:#edf8f0;border:1px solid #a9c8b5;border-radius:9px;gap:.55rem;margin-top:1rem;padding:.85rem;display:grid}.result-card span{color:#456358;overflow-wrap:anywhere;font:600 .72rem IBM Plex Mono,monospace}.risk-label{color:#8d4e0b;white-space:nowrap;background:#fff1d7;border-radius:4px;padding:.3rem .5rem;font:600 .62rem IBM Plex Mono,monospace}.release-sequence{color:#506159;white-space:nowrap;background:#dde4de;border-radius:9px;justify-content:center;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.8rem 1rem;font:600 .67rem IBM Plex Mono,monospace;display:flex;overflow-x:auto}.release-sequence b{color:#8a978f}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.82rem}th{color:#6d7872;text-transform:uppercase;letter-spacing:.08em;text-align:left;border-bottom:1px solid var(--line);padding:.65rem;font:600 .62rem IBM Plex Mono,monospace}td{vertical-align:top;border-bottom:1px solid #e7ebe7;padding:.8rem .65rem}tr.selected{background:#eef6ef}td strong,td small{display:block}td small{color:#7a857f;margin-top:.2rem}.tag-row{flex-wrap:wrap;gap:.3rem;display:flex}.tag{background:#e5ebe6;border-radius:4px;padding:.24rem .4rem;font-size:.66rem}.pill{background:#eee;border-radius:999px;padding:.28rem .48rem;font-size:.68rem;font-weight:700;display:inline-flex}.pill.active{color:#16633b;background:#dff5e7}.pill.disabled,.pill.recovery_only{color:#8a3931;background:#f8dedb}.alert{border-radius:9px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;font-size:.86rem;display:flex}.alert button{color:inherit;background:0 0;border:0;font-size:1.2rem}.alert.success{color:#175a38;background:#dff5e7;border:1px solid #aad8b9}.alert.error{color:#8a3029;background:#fff0ee;border:1px solid #e8aaa5}.enrollment-card{background:#f3f0de;border:1px solid #d7c985;border-radius:12px;gap:1rem;margin-bottom:1rem;padding:1.25rem;display:grid}.enrollment-card p{margin-bottom:0}.secret{background:#fffdf4;border:1px dashed #baaa5e;border-radius:8px;align-items:center;gap:.8rem;padding:.75rem;display:flex;overflow:hidden}.secret span{color:#7b6e35;font:600 .62rem IBM Plex Mono,monospace}.secret code{overflow-wrap:anywhere;flex:1}.uri{overflow-wrap:anywhere;background:#fffdf4;margin-top:.4rem;padding:.7rem;display:block}.modal-backdrop{z-index:100;background:#0c1b16b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:14px;width:min(480px,100%);padding:1.6rem;position:relative;box-shadow:0 30px 80px #0000004d}.modal form{gap:.9rem;margin-top:1.2rem;display:grid}.modal-close{color:#65716b;background:0 0;border:0;font-size:1.5rem;position:absolute;top:.8rem;right:1rem}@media (width<=1000px){.login-shell{grid-template-columns:1fr}.login-story{gap:3rem;min-height:42vh}.login-copy h2{max-width:18ch}.workspace{grid-template-columns:1fr}.sidebar{z-index:15;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;padding:.6rem 1rem;position:sticky;top:76px;overflow-x:auto}.sidebar-label,.security-note{display:none}.sidebar nav{display:flex}.nav-item{white-space:nowrap}.two-column.wide-left,.three-column{grid-template-columns:1fr}.manage-panel form{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0}.manage-panel form:first-child{border-top:0}}@media (width<=720px){.topbar{height:auto;min-height:72px;padding:.75rem 1rem}.topbar .brand-lockup .eyebrow,.session-strip span,.session-strip .button.quiet{display:none}.session-strip>div{margin-right:0}.sidebar{top:72px}.content{padding:1rem}.page-heading{align-items:flex-start}.time-card{display:none}.hero-panel{align-items:flex-start}.hero-metric{padding:.5rem 1rem}.hero-metric span{font-size:2.5rem}.action-grid,.two-column,.operation-grid,.field-row{grid-template-columns:1fr}.trust-row{flex-wrap:wrap;gap:.7rem 1.2rem}.secret{flex-wrap:wrap;align-items:flex-start}}
