:root{color:#0f172a;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;letter-spacing:0;--canvas: #f8fafc;--surface: #ffffff;--surface-muted: #f1f5f9;--border: #e2e8f0;--text: #0f172a;--subtle: #64748b;--primary: #2563eb;--primary-soft: #eff6ff;--success: #059669;--success-soft: #ecfdf5;--warning: #d97706;--warning-soft: #fffbeb;--danger: #dc2626;--danger-soft: #fef2f2;--sidebar: #10232b;--control-height: 32px;--row-height: 42px}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{min-height:var(--control-height);border:1px solid #cbd5e1;border-radius:5px;background:var(--surface);color:var(--text);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.shell{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#e2e8f0;padding:14px 10px}.brand{display:flex;align-items:center;gap:9px;height:40px;padding:0 8px;font-weight:700}.nav{display:grid;gap:4px;margin-top:12px}.navButton{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;min-height:34px;border:0;border-radius:5px;padding:0 9px;background:transparent;color:#cbd5e1;text-align:left}.navButton.active,.navButton:hover{background:#e8f1f2;color:var(--sidebar)}.content{min-width:0;padding:16px 18px 24px}.topbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:16px}.pageTitle{display:grid;gap:3px}.eyebrow{margin:0;color:var(--subtle);font-size:12px;font-weight:600}h1,h2{margin:0;color:var(--text);font-weight:700;letter-spacing:0}h1{font-size:24px;line-height:1.15}h2{font-size:17px}.pageTitle span,.drawerHeader span,.loginCopy p,.loginHint{color:var(--subtle)}.sessionBar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.adminBadge,.chip{display:inline-flex;align-items:center;gap:6px;height:28px;border:1px solid var(--border);border-radius:5px;padding:0 9px;background:var(--surface);color:var(--subtle)}.filterRow{display:flex;align-items:center;gap:8px;margin:14px 0;min-height:var(--control-height);flex-wrap:wrap}.searchBox{display:flex;align-items:center;gap:8px;width:min(420px,100%);height:var(--control-height);border:1px solid #cbd5e1;border-radius:5px;padding:0 9px;background:var(--surface)}.searchBox input{width:100%;height:28px;border:0;padding:0;outline:0;background:transparent;color:var(--text)}.primaryButton{border-color:var(--primary);background:var(--primary);color:#fff;padding:0 14px}.primaryButton:hover:not(:disabled){color:#fff;filter:brightness(.98)}.textButton,.iconButton,.iconLink{display:inline-flex;align-items:center;justify-content:center;gap:5px}.textButton{padding:0 10px}.iconButton,.iconLink{width:var(--control-height);padding:0}.statusText{color:var(--subtle)}.errorText,.loginError{color:var(--danger);font-weight:600}.workspace,.stack{display:grid;gap:12px;min-width:0}.pageCommand{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:10px 12px}.pageCommand div{display:grid;gap:2px}.pageCommand strong{font-size:14px}.pageCommand span{color:var(--subtle)}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.metricCard,.panel,.dataPanel,.empty{border:1px solid var(--border);border-radius:6px;background:var(--surface)}.metricCard{display:grid;gap:6px;min-height:76px;padding:12px}.metricCard span{color:var(--subtle)}.metricCard strong{font-size:24px;font-variant-numeric:tabular-nums}.panel,.dataPanel{min-width:0;padding:12px}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panelTitleGroup{display:flex;align-items:center;gap:8px}.panelHeader span,.panelTitleGroup span{font-weight:700}.panelHeader small,.panelTitleGroup small{display:block;margin-top:2px;color:var(--subtle);font-size:12px}.summaryLine{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;color:var(--subtle)}.summaryLine strong{flex:1;color:var(--text);font-weight:600}.tableWrap{overflow:auto;border:1px solid var(--border);border-radius:5px}table{width:100%;min-width:920px;border-collapse:collapse}th,td{height:var(--row-height);border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:middle;white-space:nowrap}th{position:sticky;top:0;height:36px;background:var(--surface-muted);color:var(--subtle);font-size:12px;font-weight:700}tbody tr:hover{background:#f8fbff}.clickableRow{cursor:pointer}.cellTitle{display:grid;gap:2px}.cellTitle small{color:var(--subtle)}.rowActions{display:inline-flex;align-items:center;gap:6px;min-width:300px}.rowActions button{min-height:28px;padding:0 8px}.pill{display:inline-flex;align-items:center;height:22px;border-radius:5px;padding:0 8px;font-size:12px;font-weight:700}.pill.ok{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--warning-soft);color:var(--warning)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.muted{background:var(--surface-muted);color:var(--subtle)}.empty{display:grid;place-items:center;gap:4px;min-height:180px;padding:18px;color:var(--subtle);text-align:center}.empty strong{color:var(--text)}.empty.compact{min-height:112px}pre{overflow:auto;max-height:520px;margin:0;border-radius:5px;background:#0f172a;padding:12px;color:#dbeafe;font-size:12px;line-height:1.55}.summaryPre{max-height:180px;margin-bottom:10px;background:#f8fafc;color:var(--text)}.drawer{position:fixed;top:0;right:0;z-index:10;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(440px,100vw);height:100vh;border-left:1px solid var(--border);background:var(--surface);box-shadow:-12px 0 28px #0f172a1f}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:start center;overflow:auto;padding:9vh 20px 24px;background:#0f172a6b}.modalPanel{width:min(560px,100%);border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:0 24px 70px #0f172a3d}.modalPanel.wide{width:min(1040px,100%)}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:16px}.modalHeader h2{margin-top:2px}.modalHeader span{color:var(--subtle)}.dialogBody{display:grid;gap:12px;padding:14px 16px 16px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid .dialogError,.formGrid .dialogActions,.formGrid .checkboxField,.formGrid .fullSpan{grid-column:1 / -1}.formField input,.formField select,.formField textarea{width:100%;border:1px solid #cbd5e1;border-radius:5px;background:var(--surface);color:var(--text);outline:0}.formField input,.formField select{height:var(--control-height);padding:0 8px}.formField textarea{min-height:92px;resize:vertical;padding:8px}.formField input:focus,.formField select:focus,.formField textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px #bfdbfe}.permissionGroups{display:grid;gap:10px;max-height:56vh;overflow:auto;padding-right:4px}.permissionGroup{display:grid;gap:8px;border:1px solid var(--border);border-radius:6px;padding:10px;background:#fbfdff}.permissionGroup h3{margin:0;font-size:13px}.permissionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.permissionOption{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;min-height:42px;border:1px solid var(--border);border-radius:5px;padding:8px;background:var(--surface)}.permissionOption strong,.permissionOption small{display:block}.permissionOption small{color:var(--subtle)}.roleOptionList,.detailList{display:grid;gap:8px}.roleOption{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;min-height:44px;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface)}.roleOption:hover{border-color:#bfdbfe;background:#f8fbff}.roleOption.disabled{background:var(--surface-muted);color:var(--subtle)}.roleOption span,.roleOption small{display:block}.roleOption small,.detailListItem small,.detailMeta{color:var(--subtle);font-size:12px}.bindingRows{display:grid;gap:8px}.bindingRow{display:grid;grid-template-columns:minmax(124px,.8fr) minmax(180px,1.2fr) minmax(140px,1fr) 96px 104px auto;align-items:end;gap:8px;border:1px solid var(--border);border-radius:6px;padding:10px;background:#fbfdff}.bindingRow label,.passwordLoginForm label{min-width:0}.bindingRow label,.formField{display:grid;gap:5px;color:var(--subtle);font-weight:600}.bindingRow input,.bindingRow select{width:100%;height:var(--control-height);border:1px solid #cbd5e1;border-radius:5px;padding:0 8px;background:var(--surface);color:var(--text);outline:0}.bindingRow input:focus,.bindingRow select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #bfdbfe}.checkboxField{display:inline-flex!important;grid-auto-flow:column;align-items:center;justify-content:start;gap:6px;min-height:var(--control-height)}.checkboxField input{width:14px;height:14px}.bindingHint{display:inline-flex;align-items:center;min-height:var(--control-height);color:var(--subtle)}.addButton{justify-self:start}.dangerButton:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.dialogError{margin:0;color:var(--danger);font-weight:700}.successText{grid-column:1 / -1;margin:0;color:var(--success);font-weight:700}.dialogActions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);padding-top:12px}.drawerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:16px}.drawerContent{display:grid;align-content:start;gap:14px;overflow:auto;padding:14px 16px 18px}.detailSection{display:grid;gap:8px}.detailSection h3{margin:0;font-size:14px}.descriptionGrid{display:grid;gap:6px;margin:0}.descriptionGrid div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;min-height:28px;align-items:center}.descriptionGrid dt{color:var(--subtle)}.descriptionGrid dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text);font-weight:600}.detailListItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:40px;border:1px solid var(--border);border-radius:6px;padding:8px 10px}.detailListItem span{min-width:0}.detailListItem.workItem{grid-template-columns:minmax(0,1fr) auto auto auto}.summaryObject{display:grid;gap:10px}.summaryList{display:grid;gap:8px}.summaryListItem{min-width:0;border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:var(--surface)}.technicalDetails{border-top:1px solid var(--border);padding-top:10px}.technicalDetails summary{cursor:pointer;color:var(--subtle);font-weight:700}.technicalDetails[open]{display:grid;gap:10px}.drawer pre{max-height:none;height:100%;border-radius:0}.technicalDetails pre{max-height:260px;height:auto;border-radius:5px}.loginPage{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--canvas)}.loginPanel{width:min(440px,100%);border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:22px}.loginBrand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.loginBrand strong,.loginBrand span{display:block}.loginBrand span{color:var(--subtle)}.loginCopy{display:grid;gap:8px}.loginCopy h1{font-size:22px}.loginTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:16px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.loginTabs button{border:0;background:transparent;color:var(--subtle)}.loginTabs button.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 2px #0f172a14}.qrBox{display:grid;place-items:center;min-height:280px;margin:18px 0 10px;border:1px dashed #bfdbfe;border-radius:6px;background:var(--primary-soft);color:var(--primary)}.qrBox iframe{width:100%;height:280px;border:0;background:var(--surface)}.passwordLoginForm{display:grid;gap:12px;margin-top:18px}.passwordLoginForm label{display:grid;gap:6px;color:var(--subtle);font-weight:600}.passwordLoginForm input{width:100%;height:36px;border:1px solid #cbd5e1;border-radius:5px;padding:0 10px;background:var(--surface);color:var(--text)}.passwordLoginForm input:focus{border-color:var(--primary);outline:2px solid #bfdbfe;outline-offset:0}.loginActions{display:flex;gap:8px;margin-top:14px}.securityPortal{width:min(980px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}.securityPortalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.securityPortalHeader .loginBrand,.securityPortalHeader .loginActions{margin:0}.securityRail{position:relative;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(320px,1.28fr);overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 18px 50px #10232b14}.securityRail:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--primary) 0 58%,var(--success) 58% 100%)}.securityIdentity{display:grid;align-content:start;gap:8px;padding:34px 28px 30px 36px;background:#edf4f5}.securityIdentity h1{font-size:28px}.securityIdentity>span,.securityForm p,.securityFootnote{color:var(--subtle)}.securityIdentity dl{display:grid;gap:0;margin:24px 0 0}.securityIdentity dl div{display:grid;gap:4px;border-top:1px solid #cfdee1;padding:12px 0}.securityIdentity dt{color:var(--subtle);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.securityIdentity dd{margin:0;font-weight:650}.securityForm{display:grid;align-content:start;gap:14px;padding:34px}.securityForm>div:first-child{display:grid;gap:7px;margin-bottom:4px}.securityForm>div:first-child p{margin:0}.securityForm label{display:grid;gap:6px;color:var(--subtle);font-weight:650}.securityForm input{width:100%;height:38px;border:1px solid #cbd5e1;border-radius:5px;padding:0 10px;color:var(--text)}.securityForm input:focus-visible{border-color:var(--primary);outline:2px solid #bfdbfe;outline-offset:1px}.securityForm .primaryButton{justify-self:start;min-width:150px}.securitySuccess{margin:0;color:var(--success);font-weight:650}.securityFootnote{display:flex;align-items:center;gap:7px;margin:14px 0 0}@media(max-width:920px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:2;padding:10px}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.split{grid-template-columns:1fr}.sessionBar{justify-content:flex-start}.modalOverlay{place-items:start stretch;padding:10px}.bindingRow,.formGrid,.detailListItem,.securityRail{grid-template-columns:1fr}.securityPortalHeader{align-items:flex-start;flex-direction:column}}
