:root{color:#17202a;background:#f6f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{display:grid;min-height:100vh;place-items:center;color:#44546a}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:24px;border-right:1px solid #d9e0e8;background:#fff;padding:20px 14px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:8px;background:#0f766e;color:#fff;font-size:13px;font-weight:800}.brand strong,.admin-chip strong{display:block;overflow:hidden;color:#16202a;font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.brand span,.admin-chip span{display:block;overflow:hidden;color:#6a7888;font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}nav{display:grid;gap:4px}.nav-item,.icon-button,.secondary,.table-row,.tenant-item{border:1px solid transparent;background:transparent;color:#304052}.nav-item{display:flex;align-items:center;gap:10px;min-height:40px;border-radius:7px;padding:0 10px;text-align:left}.nav-item:hover,.nav-item.active{border-color:#c9d8e5;background:#eef6f6;color:#0d615b}.main{min-width:0;padding:18px}.topbar{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(160px,240px) 40px auto 40px;align-items:center;gap:10px;margin-bottom:16px}.scope,.admin-chip,.search,select,input,textarea{border:1px solid #d4dde7;border-radius:7px;background:#fff}.scope{padding:8px 12px}.scope span{display:block;color:#6a7888;font-size:11px}.scope strong{font-size:13px}.search{display:flex;align-items:center;gap:8px;padding:0 12px}.search input,label input,label select,textarea,select{width:100%;min-width:0;border:1px solid #d4dde7;border-radius:7px;color:#1d2a36;outline:none}.search input{height:38px;border:0}select,label input{height:40px;padding:0 10px}textarea{resize:vertical;padding:10px}.icon-button{display:grid;width:40px;height:40px;place-items:center;border-color:#d4dde7;border-radius:7px;background:#fff}.admin-chip{max-width:210px;padding:6px 10px}.alert,.secret-box{margin-bottom:12px;border-radius:7px;padding:10px 12px;font-size:13px}.alert.error{border:1px solid #f0b7b1;background:#fff1ef;color:#9f2f24}.alert.success{border:1px solid #b7dccb;background:#edf9f3;color:#176848}.secret-box{display:grid;gap:6px;border:1px solid #f0ce8f;background:#fff8e8}.secret-box code{overflow-wrap:anywhere;color:#5f4200;font-size:12px}.content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:14px}.metric-row{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel{border:1px solid #d9e0e8;border-radius:8px;background:#fff;box-shadow:0 1px 2px #1018280a}.metric{padding:14px}.metric span{color:#647386;font-size:12px}.metric strong{display:block;margin-top:8px;font-size:26px;letter-spacing:0}.metric.teal{border-top:3px solid #0f766e}.metric.blue{border-top:3px solid #2f6fed}.metric.amber{border-top:3px solid #c47a12}.metric.green{border-top:3px solid #25865c}.panel{min-width:0;padding:14px}.panel.wide{min-height:320px}.panel.full{min-height:calc(100vh - 120px)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:14px}.stack{display:grid;gap:14px;align-content:start}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-header h2{margin:0;color:#17202a;font-size:16px;line-height:1.3}.panel-header span{flex:0 0 auto;color:#68778a;font-size:12px}.table{display:grid;gap:2px}.table-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,.8fr) minmax(60px,.3fr);align-items:center;gap:12px;width:100%;min-height:54px;border-radius:6px;padding:8px 10px;text-align:left}.table-head{min-height:32px;background:#f3f6f8;color:#6a7888;font-size:12px;font-weight:700}.table-row:not(.table-head):hover,.table-row.selected{background:#edf6f6}.table-row strong,.role-item strong{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.table-row small,.role-item span{display:block;overflow:hidden;color:#6a7888;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tenant-list,.role-list,.timeline,.form-panel{display:grid;gap:10px}.tenant-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;border-color:#d9e0e8;border-radius:7px;padding:0 10px;text-align:left}.tenant-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-item.active{border-color:#72b8b3;background:#eef8f7}.role-item,.event-line{display:flex;align-items:center;gap:10px;min-width:0}.role-item{border:1px solid #d9e0e8;border-radius:7px;padding:10px}.event-line{min-height:34px;color:#37475a;font-size:13px}.event-line .green{color:#25865c}.event-line .blue{color:#2f6fed}.event-line .amber{color:#c47a12}.form-panel label{display:grid;gap:5px;color:#475568;font-size:12px;font-weight:700}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:7px;padding:0 12px;font-weight:700}.primary{border:1px solid #0f766e;background:#0f766e;color:#fff}.primary:disabled,.secondary:disabled{cursor:not-allowed;opacity:.55}.secondary{border-color:#d4dde7;background:#fff}.checkbox-list{display:grid;gap:6px;max-height:180px;overflow:auto;border:1px solid #d9e0e8;border-radius:7px;padding:8px}.checkbox-list label{display:flex;align-items:center;gap:8px;font-weight:600}.checkbox-list input{width:16px;height:16px}.empty-state{display:grid;max-width:560px;gap:8px;color:#58697d}.login-screen{display:grid;min-height:100vh;place-items:center;background:linear-gradient(180deg,#f6f8faf0,#eef4f4f0),#f6f8fa;padding:24px}.login-panel{display:grid;width:min(420px,100%);gap:14px;border:1px solid #d9e0e8;border-radius:8px;background:#fff;padding:22px;box-shadow:0 18px 42px #1b2d401f}.login-brand{margin-bottom:6px}@media(max-width:980px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.brand div:last-child,.nav-item span{display:none}.topbar,.content-grid,.split,.metric-row{grid-template-columns:1fr}.admin-chip{max-width:none}}@media(max-width:680px){.main{padding:12px}.sidebar{padding:12px 8px}.table-row{grid-template-columns:1fr;align-items:start}}
