:root{font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:#18201d;background:#f3f5f2;font-synthesis:none;--green: #164d3b;--green-2: #226650;--green-soft: #e6f0eb;--gold: #b78a42;--line: #dde3de;--muted: #6d7671;--panel: #fff;--danger: #b43b3b}*{box-sizing:border-box}body{margin:0;min-width:720px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}h1,h2,h3,p{margin-top:0}.boot-state,.page-state{min-height:55vh;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted)}.page-state svg{width:28px;height:28px}.page-state strong{color:#26302c}.page-state p{margin:0}.page-state.error svg{color:var(--danger)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#2b7058,#123d30);font-family:STSong,serif;font-size:20px;box-shadow:inset 0 0 0 1px #ffffff24}.brand>span:last-child{display:grid}.brand strong{font-size:15px;letter-spacing:.04em}.brand small{color:#88918c;font-size:11px;margin-top:2px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(420px,.95fr);background:#f8faf7}.login-intro{padding:46px clamp(42px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;color:#f6fbf8;background:radial-gradient(circle at 15% 15%,#357b61 0,transparent 32%),linear-gradient(145deg,#183f33,#0d2a22)}.login-intro .brand small{color:#b8cec4}.login-intro>div:nth-child(2){max-width:580px}.login-intro h1{font-family:STSong,Songti SC,serif;font-size:clamp(36px,4vw,58px);font-weight:500;line-height:1.28;letter-spacing:.03em}.login-intro p:not(.eyebrow){max-width:500px;color:#c4d4cd;line-height:1.9}.login-intro>small{color:#9fb8ad}.eyebrow{margin-bottom:10px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.login-panel{display:grid;place-items:center;padding:48px}.login-panel form,.security-form{width:min(390px,100%)}.login-panel header{margin-bottom:34px}.login-panel h2{margin-bottom:8px;font-size:26px}.login-panel header p,.security-form header p{color:var(--muted);line-height:1.6}label{display:grid;gap:8px;margin-bottom:20px}label>span{font-size:13px;font-weight:650}.field{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #d7ddd8;border-radius:8px;background:#fff}.field:focus-within{border-color:var(--green-2);box-shadow:0 0 0 3px #22665018}.field svg{color:#83908a}.field input{flex:1;min-width:0;border:0;outline:0}.field-action,.icon-button{display:grid;place-items:center;border:0;background:transparent;color:#64706a}.primary-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:var(--green);font-weight:650}.login-panel .primary-button{width:100%;height:46px}.form-error{padding:9px 11px;border-radius:7px;color:var(--danger);background:#faecec;font-size:13px}.login-help{margin-top:18px;color:#89918d;font-size:12px;line-height:1.6;text-align:center}.admin-shell{min-height:100vh;display:grid;grid-template-columns:224px 1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 14px 15px;color:#e8f0ec;background:#163b30}.sidebar>.brand{padding:0 9px 25px}.sidebar .brand small{color:#9bb2a8}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:7px;color:#b9c9c2;text-decoration:none;font-size:13px}.sidebar nav a:hover{color:#fff;background:#ffffff0c}.sidebar nav a.active{color:#fff;background:#ffffff16;box-shadow:inset 2px 0 #c6a56d}.sidebar-account{margin-top:auto;display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:8px;padding:12px 8px 0;border-top:1px solid #ffffff14}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:50%;color:var(--green);background:#dfeae4;font-style:normal;font-weight:700}.sidebar-account>span:nth-child(2){display:grid;min-width:0}.sidebar-account strong{font-size:12px}.sidebar-account small{overflow:hidden;color:#92aaa0;font-size:10px;text-overflow:ellipsis}.sidebar-account .icon-button{color:#adc0b7}.main-area{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:#fafcf9}.topbar h1{margin:0 0 4px;font-size:20px}.topbar p{margin:0;color:var(--muted);font-size:12px}.account-link{color:var(--green);font-size:12px;text-decoration:none}.page-content{padding:24px 30px 36px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:16px}.welcome-card,.work-card{grid-column:1 / -1;display:flex;justify-content:space-between;padding:24px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.welcome-card h2{margin-bottom:8px;font-size:24px}.welcome-card p:last-child{margin:0;color:var(--muted)}.status-pill{height:fit-content;padding:5px 9px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:11px;font-weight:700;white-space:nowrap}.metric-card{display:flex;align-items:center;gap:14px;padding:19px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.metric-card>svg{padding:9px;width:42px;height:42px;border-radius:9px;color:var(--green);background:var(--green-soft)}.metric-card span{display:grid;gap:3px}.metric-card small{color:var(--muted)}.metric-card strong{font-size:22px}.work-card{display:block}.work-card header{margin-bottom:8px}.work-card h3{margin-bottom:5px}.work-card header p{color:var(--muted);font-size:12px}.check-list{margin:0;padding:0;list-style:none}.check-list li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf0ed}.check-list svg{color:var(--green)}.check-list span{display:grid;gap:4px}.check-list small{color:var(--muted)}.check-list b{color:var(--green);font-size:11px}.check-list b.pending{color:#9b6d27}.split-page,.roles-layout{min-height:calc(100vh - 138px);display:grid;grid-template-columns:290px 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}.tree-panel,.role-list{border-right:1px solid var(--line);background:#f9fbf8}.tree-panel>header,.role-list>header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}.tree-panel h2,.role-list h2{margin-bottom:3px;font-size:16px}.tree-panel header p,.role-list header p{margin:0;color:var(--muted);font-size:11px}.tree-list,.role-list{display:flex;flex-direction:column}.tree-list{padding:8px}.tree-list button,.role-list>button{width:100%;display:flex;align-items:center;gap:8px;padding:10px;border:0;border-radius:6px;color:#3a4540;background:transparent;text-align:left}.tree-list button.active,.role-list>button.active{color:var(--green);background:var(--green-soft)}.tree-list button span{flex:1}.tree-list button small{color:var(--muted)}.detail-panel,.permission-panel{padding:24px}.detail-panel>header,.permission-panel>header{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.detail-panel h2,.permission-panel h2{margin:0;font-size:24px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0}.detail-grid div{padding:0 18px;border-right:1px solid var(--line)}.detail-grid div:first-child{padding-left:0}.detail-grid div:last-child{border:0}.detail-grid dt{color:var(--muted);font-size:11px}.detail-grid dd{margin:6px 0 0;font-size:20px;font-weight:700}.subsection{margin-top:28px}.subsection h3{font-size:14px}.row-link{width:100%;display:flex;align-items:center;gap:10px;padding:12px 2px;border:0;border-bottom:1px solid #edf0ed;background:transparent;text-align:left}.row-link span{flex:1}.row-link small,.muted{color:var(--muted)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#0b211a66}.dialog{width:min(420px,calc(100vw - 40px));padding:24px;border-radius:12px;background:#fff;box-shadow:0 24px 80px #0c241c33}.dialog header p{color:var(--muted)}.dialog input,.security-form input{height:42px;padding:0 12px;border:1px solid #d7ddd8;border-radius:7px;outline:0}.dialog footer,.security-form footer{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.dialog footer button:not(.primary-button),.security-form footer button:not(.primary-button),.page-state button{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:#fff}.account-action-dialog header p{margin-bottom:0;color:var(--muted);line-height:1.65}.danger-button{background:#a23939}.table-page{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.search-field{width:min(400px,50%);display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:7px}.search-field svg{width:16px;color:var(--muted)}.search-field input{width:100%;height:36px;border:0;outline:0}.data-table{min-width:820px}.table-row{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.2fr .7fr;align-items:center;gap:14px;min-height:62px;padding:0 18px;border-bottom:1px solid #edf0ed;font-size:12px}.user-table{min-width:980px}.user-table .table-row{grid-template-columns:1.45fr .9fr 1.1fr 1.15fr .55fr 1.25fr}.row-actions{display:flex;flex-wrap:wrap;gap:5px}.row-actions .row-action{margin-left:0}.table-action-error{margin:0;padding:10px 18px;color:#a23939;background:#fff3f3;font-size:12px}.table-head{min-height:40px;color:var(--muted);background:#fafbfa;font-weight:650}.person-cell{display:flex;align-items:center;gap:9px}.person-cell>span{display:grid;gap:3px}.person-cell small{color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#b5bcb8}.status-dot.active{background:#2e8b68}.status-dot.suspended,.status-dot.rejected{background:#b44b4b}.role-list>button{padding:12px 16px;border-radius:0;border-bottom:1px solid #edf0ed}.role-list>button svg{width:17px}.role-list>button span{flex:1;display:grid;gap:3px}.role-list>button small{color:var(--muted)}.role-list>button i{color:var(--muted);font-size:10px;font-style:normal}.permission-panel>header p:last-child{max-width:540px;margin:8px 0 0;color:var(--muted);font-size:12px}.permission-groups{display:grid;gap:22px;margin-top:24px}.permission-groups h3{padding-bottom:8px;border-bottom:1px solid var(--line);font-size:13px}.permission-row{display:grid;grid-template-columns:1fr 70px 180px;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid #f0f2f0;font-size:11px}.permission-groups button.permission-row{width:100%;padding:0;border-width:0 0 1px;background:transparent;text-align:left}.permission-groups button.permission-row:not(:disabled):hover{background:#f8faf8}.permission-row>span:first-child{display:grid;gap:3px}.permission-row small{color:var(--muted)}.permission-enabled{color:var(--green);font-weight:700}.permission-disabled{color:#a1a8a4}.password-gate,.account-page{min-height:100vh;display:grid;place-items:center;padding:40px;background:#eef2ee}.account-page{min-height:calc(100vh - 138px);background:transparent}.security-form{padding:30px;border:1px solid var(--line);border-radius:12px;background:#fff}.security-form h1{font-size:24px}.security-form label small{color:var(--muted);font-size:11px}.segmented-tabs{display:flex;gap:3px;padding:3px;border-radius:7px;background:#eef2ee}.segmented-tabs button{padding:7px 10px;border:0;border-radius:5px;color:var(--muted);background:transparent}.segmented-tabs button.active{color:var(--green);background:#fff;box-shadow:0 1px 3px #183e3020}.invitation-dialog{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto}.invitation-dialog header,.invitation-dialog footer,.success-banner,.review-list article header,.assignment-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.invitation-dialog header p,.assignment-panel header p{margin:4px 0 0;color:var(--muted);font-size:11px}.join-card label{display:grid;gap:6px;font-size:11px;font-weight:650}.review-actions input,.review-actions select,.assignment-panel select,.title-input,.join-card input,.join-card select{height:38px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;outline:0}.invitation-dialog footer{justify-content:flex-end;margin-top:20px}.invitation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;margin-top:18px}.invitation-form-grid.general{grid-template-columns:minmax(280px,1fr);max-width:440px}.invitation-form-grid label{gap:7px;margin:0}.invitation-form-grid label>span{color:#39443f;font-size:12px}.invitation-form-grid label em{color:var(--danger);font-style:normal}.invitation-form-grid input,.invitation-form-grid select{width:100%;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;outline:0}.invitation-form-grid input:focus,.invitation-form-grid select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #22665014}.secondary-button{min-height:40px;padding:0 17px;border:1px solid var(--line);border-radius:8px;color:#38423e;background:#fff;font-weight:650}.secondary-button:hover{border-color:#b8c4bd;background:#f7f9f7}.success-banner{margin:16px;padding:12px 14px;border:1px solid #b9ddce;border-radius:8px;color:var(--green);background:var(--green-soft)}.success-banner>span{display:grid;flex:1;gap:3px;min-width:0}.success-banner code{overflow:hidden;color:#28453a;text-overflow:ellipsis;white-space:nowrap}.success-banner button,.review-actions button{display:flex;align-items:center;gap:5px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff}.review-list,.simple-list{display:grid}.review-list article,.simple-list article{padding:16px 18px;border-bottom:1px solid var(--line)}.review-actions{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:8px;margin-top:13px}.simple-list article{display:flex;align-items:center;justify-content:space-between}.simple-list article>span{display:grid;gap:4px}.simple-list small{color:var(--muted)}.invitation-list-note{display:flex;align-items:center;gap:7px;padding:10px 18px;border-bottom:1px solid var(--line);color:var(--muted);background:#fafbfa;font-size:11px}.invitation-list-note svg{width:14px;height:14px;color:var(--green)}.invitation-row-end{justify-items:end;min-width:250px}.invitation-status{padding:3px 8px}.invitation-status.used{color:#3c6153;background:#e8efeb}.invitation-status.expired,.invitation-status.revoked{color:#7b817e;background:#eef0ef}.invitation-actions{display:flex;gap:6px}.invitation-actions .row-action{margin-left:0}.roles-page{display:grid;gap:18px}.role-list>header>span{display:grid}.title-input{min-width:280px;height:44px;font-size:22px;font-weight:750}.sticky-actions{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;background:#fff}.sticky-actions small{color:var(--muted)}.assignment-panel{padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.assignment-panel form{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr auto;gap:8px;margin:16px 0}.danger{color:#a23939}.row-action{margin-left:7px;padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:10px}.join-page{min-height:100vh;display:grid;place-items:center;padding:16px;background:#eef2ee}.join-card{width:min(480px,100%);padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 20px 60px #17382c12}.join-card form{display:grid;gap:12px;margin-top:16px}.join-card header p{color:var(--muted)}.join-card header h1{margin:7px 0}.join-step{display:block;margin-top:8px;color:var(--green);font-size:11px}.inline-field{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-field button{padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff}.text-link{color:var(--green);text-align:center}.join-actions{display:grid;gap:8px}.join-actions .text-link{padding:4px;border:0;background:transparent;cursor:pointer}.join-result{display:grid;gap:16px;margin-top:30px}.mfa-setup{display:grid;gap:7px;padding:12px;border:1px solid #b9ddce;border-radius:8px;background:var(--green-soft)}.mfa-setup code{padding:8px;border-radius:5px;background:#fff;font-size:13px;word-break:break-all}.mfa-setup a{color:var(--green);font-weight:700}.storage-page{display:grid;gap:18px}.storage-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.storage-health,.quota-panel,.asset-table{padding:20px}.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.health-grid span{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px}.health-grid em{color:var(--green);font-size:12px;font-style:normal}.quota-panel>div:last-child{display:flex;gap:8px;margin-top:16px}.quota-panel select{min-width:180px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.table-row{display:grid;grid-template-columns:2fr 1fr .8fr .5fr .7fr;align-items:center;gap:12px;min-height:50px;border-top:1px solid var(--line);font-size:12px}.table-row>span:first-child{display:grid;gap:3px}.table-row small{color:var(--muted)}.table-head{margin-top:14px;color:var(--muted);font-size:11px}@media(max-width:980px){.admin-shell{grid-template-columns:190px 1fr}.sidebar{padding-inline:10px}.page-content,.topbar{padding-inline:20px}.overview-grid{grid-template-columns:1fr 1fr}.metric-card:last-of-type{grid-column:1 / -1}.split-page,.roles-layout{grid-template-columns:240px 1fr}.detail-grid{grid-template-columns:1fr 1fr;gap:18px 0}.assignment-panel form{grid-template-columns:1fr 1fr}}@media(max-width:760px){.invitation-form-grid{grid-template-columns:1fr}}
