*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1a1a1a;background:#f6f5f4}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:278px minmax(0,1fr)}.sidebar{background:#0a1530;color:#fff;padding:26px 16px}.brand{font-size:20px;font-weight:800}.version{margin:8px 0 26px;color:#a4a097;font-size:13px;line-height:1.5}nav{display:grid;gap:6px}nav button{width:100%;min-height:42px;border:0;border-radius:7px;padding:10px 12px;display:flex;gap:10px;align-items:center;color:#d9ecef;background:transparent;cursor:pointer;text-align:left}nav button:hover,nav button.active{background:#5645d457;color:#fff}.content{padding:28px;min-width:0}header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}h1{margin:0 0 7px;font-size:28px;line-height:1.2}h2{margin:0;font-size:18px}p{margin:0;color:#5e6b78;line-height:1.7}.header-status,.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f6f5f4}.auth-card{width:min(520px,100%);background:#fff;border:1px solid #e5e3df;border-radius:12px;padding:28px;box-shadow:0 18px 60px #0a153014}.auth-card.wide{width:min(760px,100%)}.auth-mark{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;color:#fff;background:#5645d4;margin-bottom:16px}.eyebrow{display:inline-block;color:#5645d4;font-weight:800;margin-bottom:8px}.login-form{display:grid;gap:12px;margin-top:18px}.auth-secondary-action{width:100%;margin-top:12px}.mini-table{display:grid;gap:8px;margin:16px 0}.mini-table div{display:flex;justify-content:space-between;gap:12px;border:1px solid #dce4ea;border-radius:8px;padding:10px 12px}.mini-table span{color:#667381}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.entry-card{min-height:132px;display:grid;gap:8px;justify-items:start;text-align:left;background:#eef4f6;color:#172033}.entry-card strong{font-size:18px}.entry-card span{color:#5e6b78;font-size:13px;line-height:1.5}.session-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.session-user,.org-switcher{min-height:32px;display:inline-flex;align-items:center;gap:7px;border:1px solid #dce4ea;border-radius:8px;padding:6px 9px;background:#fff;color:#344054;font-size:13px;font-weight:700}.org-switcher select{border:0;background:transparent;color:#172033;font-weight:700;outline:none}.page-grid{display:grid;gap:14px}.section{background:#fff;border:1px solid #e5e3df;border-radius:12px;padding:18px}.section-title{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}button,.button-link{border:0;border-radius:8px;padding:10px 14px;background:#5645d4;color:#fff;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:38px}button.secondary,.button-link{background:#f0eeec;color:#1a1a1a}button.small{min-height:30px;padding:6px 10px;font-size:12px}button:disabled{opacity:.62;cursor:not-allowed}.pill{display:inline-flex;min-height:28px;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.pill.ok{background:#ddf5e8;color:#146c43}.pill.warn{background:#fff3d6;color:#8a5a00}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.metrics div{border:1px solid #dce4ea;border-radius:8px;padding:15px;background:#f8fbfc}.metrics strong{display:block;font-size:20px;color:#12343b;overflow-wrap:anywhere}.metrics span{color:#667381;font-size:13px}.table{display:grid;border:1px solid #dce4ea;border-radius:8px;overflow:hidden}.table-row{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) auto;gap:12px;align-items:center;min-height:48px;padding:10px 12px;border-top:1px solid #dce4ea}.table-row:first-child{border-top:0}code{color:#12343b;background:#eef4f6;padding:4px 6px;border-radius:5px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.field{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:700}.field input,.field select{min-height:39px;border:1px solid #cfd9e0;border-radius:7px;padding:8px 10px;color:#172033;background:#fff}.compact-form{align-items:end;margin-bottom:14px}.button-field button{min-height:39px;width:100%}.step-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.step-list li{display:flex;gap:10px;align-items:center;min-height:38px;color:#344054}.step-list span{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e7eef2;color:#12343b;font-size:12px;font-weight:800}.hint{margin:8px 0 14px;font-size:13px}.warning,.error{padding:12px;border-radius:8px;margin-bottom:14px}.warning{background:#fff8e6;color:#714b00}.error{background:#ffebe9;color:#a61b1b}.message{color:#344054;overflow-wrap:anywhere}pre{margin:14px 0 0;max-height:420px;overflow:auto;padding:14px;border-radius:8px;background:#13272e;color:#d7f5f4;font-size:12px;line-height:1.6}.config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.config-card{min-height:82px;background:#eef4f6;color:#12343b;display:flex;justify-content:space-between;gap:10px}.config-card.enabled{background:#ddf5e8}.knowledge-list{display:grid;gap:10px}.knowledge-item{border:1px solid #dce4ea;border-radius:8px;padding:12px}.knowledge-item summary{display:flex;gap:12px;align-items:center;justify-content:space-between;cursor:pointer}.knowledge-item pre{max-height:260px}.retry-button{margin:0 8px 10px 0}.model-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #dce4ea;border-radius:8px;padding:12px}.inline-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.inline-form .field{min-width:180px}.admin-list{display:grid;gap:10px}.admin-list-row{display:grid;gap:12px;align-items:center;border:1px solid #dce4ea;border-radius:8px;padding:12px;background:#fbfcfd}.admin-list-row strong{display:block;margin-bottom:4px}.admin-list-row span{color:#667381;font-size:13px}.admin-list-row input,.admin-list-row select{min-height:36px;border:1px solid #cfd9e0;border-radius:7px;padding:7px 9px;background:#fff}.member-list-row{grid-template-columns:minmax(220px,1.2fr) minmax(160px,.8fr) minmax(150px,.7fr) auto auto}.file-list-row{grid-template-columns:minmax(260px,1.5fr) minmax(180px,1fr) auto auto}.attendance-summary-row{grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr)}.row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.summary-chips{display:flex;flex-wrap:wrap;gap:8px}.summary-chips span{border-radius:999px;padding:5px 8px;background:#eef4f6;color:#344054;font-weight:700}.server-org-list{display:grid;gap:12px}.server-org-row{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(260px,1.4fr) minmax(280px,1fr);gap:14px;align-items:center;border:1px solid #dce4ea;border-radius:8px;padding:14px;background:#fbfcfd}.server-org-row strong{display:block;margin-bottom:4px}.server-org-metrics{display:flex;flex-wrap:wrap;gap:8px}.server-org-metrics span{border-radius:999px;padding:5px 8px;background:#eef4f6;color:#344054;font-size:12px;font-weight:700}.danger-text{color:#a61b1b!important;background:#ffebe9!important}.quota-editor{display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:8px;align-items:end}.quota-editor label{display:grid;gap:5px;color:#344054;font-size:12px;font-weight:700}.quota-editor input[type=number]{min-height:32px;border:1px solid #cfd9e0;border-radius:7px;padding:6px 8px}.quota-editor .inline-check{display:inline-flex;align-items:center;min-height:32px}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:18px}header,.section-title{display:grid}.metrics,.form-grid,.step-list,.config-grid,.entry-grid,.server-org-row,.quota-editor{grid-template-columns:1fr}.table-row{grid-template-columns:1fr;align-items:start}}
