:root{color-scheme:light;--ink: #0d1f1c;--ink-raised: #17302b;--ink-text: #d9e3df;--ink-muted: #8ea39c;--bg: #f7f8f6;--panel: #fff;--line: #e1e4de;--line-soft: #eef0ec;--text: #16201e;--muted: #64706b;--faint: #89938e;--sage: #3f6b5c;--sage-soft: #e2ece6;--sage-ink: #2d4a40;--amber: #a87a12;--amber-soft: #f6ecd2;--rose: #a5443b;--rose-soft: #f6e0dc;--blue: #355a8a;--blue-soft: #e0e9f4;--shadow: 0 2px 6px rgba(13, 31, 28, .04), 0 14px 36px -24px rgba(13, 31, 28, .22);font-family:DM Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6b9b86;outline-offset:2px}h1,h2,p{margin-top:0}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.015em}h1{margin-bottom:5px;font-size:29px;line-height:1.18}h2{margin-bottom:5px;font-size:19px;line-height:1.25}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:18px 12px 14px;background:var(--ink);color:var(--ink-text);z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px 19px}.brand-mark{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;background:var(--sage);color:#fff;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:600}.brand-mark.large{width:42px;height:42px;margin-bottom:20px;font-size:23px}.brand strong{display:block;color:#fff;font-family:Fraunces,Georgia,serif;font-size:17px;line-height:1.2}.brand span{display:block;margin-top:1px;color:var(--ink-muted);font-size:11px}.env-label{padding:10px 9px 5px;border-top:1px solid rgba(255,255,255,.11);color:var(--ink-muted);font-size:9px;font-weight:700;letter-spacing:.11em}.sidebar nav{flex:1}.nav-heading{margin:18px 9px 5px;color:var(--ink-muted);font-size:10px;font-weight:700;letter-spacing:.1em}.nav-item{display:flex;width:100%;align-items:center;gap:10px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink-text);text-align:left;font-size:13px}.nav-item:hover{background:var(--ink-raised)}.nav-item.active{background:var(--ink-raised);color:#fff;box-shadow:inset 3px 0 var(--sage)}.nav-short{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:6px;background:#ffffff14;color:#b6c8c0;font-size:9px;font-weight:700}.nav-item.active .nav-short{background:#5f9b8240;color:#a9d3c1}.sidebar-bottom{padding:14px 9px 1px;border-top:1px solid rgba(255,255,255,.1);color:var(--ink-muted);font-size:11px}.sidebar-bottom small{display:block;padding:3px 0 0 13px;color:#6f8880;font-size:10px}.online-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#64ae8e}.main-area{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;min-height:62px;align-items:center;gap:18px;padding:10px 27px;border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumbs{white-space:nowrap;color:var(--muted);font-size:12px}.breadcrumbs span{margin:0 7px;color:var(--faint)}.global-search{position:relative;display:flex;width:min(460px,42vw);min-width:180px;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.global-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.global-search input:focus-visible{outline:0}.search-glyph{color:var(--faint);font-size:19px;line-height:1}.search-results{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.search-results button{display:grid;width:100%;grid-template-columns:65px 1fr;gap:1px 9px;padding:9px 11px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;text-align:left}.search-results button:hover{background:#f3f7f4}.search-results button>span:nth-child(2){color:var(--text);font-weight:600}.search-results small{grid-column:2;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.result-type{align-self:center;color:var(--sage);font-size:10px;text-transform:uppercase}.user-menu{display:flex;align-items:center;gap:9px;margin-left:auto}.avatar{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--sage-ink);font-size:13px;font-weight:700}.user-label strong,.user-label span{display:block}.user-label strong{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.user-label span{color:var(--muted);font-size:10px}.logout{padding:5px 8px;border:0;background:transparent;color:var(--muted);font-size:11px}.logout:hover{color:var(--rose)}.menu-toggle{display:none;border:0;background:none;color:var(--text);font-size:19px}.page-content{width:100%;max-width:1500px;min-height:calc(100vh - 106px);margin:0 auto;padding:25px 28px 46px}.main-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 28px;border-top:1px solid var(--line);color:var(--faint);font-size:10px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.section-head p{margin:0;color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.btn{display:inline-flex;min-height:33px;align-items:center;justify-content:center;padding:6px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:#bac6be;background:#f9fbf9}.btn:disabled{cursor:not-allowed;opacity:.48}.btn.primary{border-color:var(--sage);background:var(--sage);color:#fff}.btn.primary:hover:not(:disabled){border-color:#315a4b;background:#315a4b}.btn.danger{border-color:#e5c4bf;color:var(--rose)}.btn.danger:hover:not(:disabled){border-color:var(--rose);background:var(--rose-soft)}.btn.quiet{min-height:28px;padding:3px 8px;border-color:transparent;background:transparent;color:var(--sage)}.btn.quiet:hover:not(:disabled){background:var(--sage-soft)}.back-link{margin:-4px 0 12px;padding:2px 0;border:0;background:transparent;color:var(--sage);font-size:12px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.stat-label,.stat-detail{display:block;color:var(--muted);font-size:11px}.stat-value{display:block;margin:3px 0;overflow-wrap:anywhere;font-size:24px;font-weight:700;letter-spacing:-.02em}.stat-value.green{color:var(--sage)}.stat-value.amber{color:var(--amber)}.stat-detail{color:var(--faint);font-size:10px}.content-grid{display:grid;gap:13px;margin-bottom:14px}.content-grid.two{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.content-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{min-width:0;margin-bottom:14px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 1px 1px #0d1f1c05}.panel-pad{padding:16px 18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}.panel-title>div p{margin:2px 0 0;color:var(--muted);font-size:11px}.panel-title h2{margin:0;font-size:17px}.panel>.panel-title+.table-scroll{border-top:1px solid var(--line-soft)}.status-list{padding:0 16px 12px}.status-list>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line-soft);color:var(--muted);font-size:12px}.status-list strong{color:var(--text)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:13px;background:#eceeea;color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap}.badge i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.good{background:var(--sage-soft);color:var(--sage-ink)}.badge.warn{background:var(--amber-soft);color:var(--amber)}.badge.bad{background:var(--rose-soft);color:var(--rose)}.badge.neutral{background:#eceeea;color:var(--muted)}.table-scroll{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11.5px}th{position:sticky;top:0;z-index:1;padding:9px 11px;border-bottom:1px solid var(--line);background:#fbfcfa;color:var(--muted);font-size:10px;font-weight:600;text-align:left;white-space:nowrap}td{max-width:320px;padding:9px 11px;border-bottom:1px solid var(--line-soft);color:var(--text);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#f7faf7}.strong{font-weight:600}.muted{color:var(--muted);font-size:10.5px}.toolbar{display:flex;min-height:54px;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.input,.field input,.field select,.field textarea{min-height:35px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);font-size:12px}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#719985;outline:2px solid rgba(90,142,116,.14)}.search-input{min-width:220px;flex:1;max-width:380px}.filter-input{min-width:145px}.toolbar-summary{margin-left:auto;color:var(--faint);font-size:11px;white-space:nowrap}.pager{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:11px}.pager>div{display:flex;align-items:center;gap:7px}.pager .btn{min-height:28px;padding:3px 8px;font-size:10px}.page-number{min-width:45px;text-align:center}.empty{padding:28px 18px;color:var(--muted);font-size:12px;text-align:center}.loading{display:flex;min-height:80px;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:12px}.loading>span{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--sage);border-radius:50%;animation:spin .8s linear infinite}.loading.full{height:100vh}@keyframes spin{to{transform:rotate(360deg)}}.error-box{margin:12px;padding:10px 12px;border:1px solid #e8c8c3;border-radius:7px;background:var(--rose-soft);color:#84342d;font-size:12px}.notice{display:flex;flex-direction:column;gap:2px;margin-bottom:14px;padding:11px 14px;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;background:var(--blue-soft);color:var(--text);font-size:12px}.notice.warning{border-color:var(--amber);background:var(--amber-soft)}.notice strong{font-weight:700}.notice span{color:var(--muted)}.trial-panel{padding:15px 17px}.trial-panel .panel-title{padding:0}.trial-meter{display:flex;gap:4px;margin:13px 0 10px}.trial-meter i{display:grid;height:23px;flex:1;place-items:center;border-radius:4px;background:#eceeea;color:var(--muted);font-size:9px;font-style:normal}.trial-meter i.used{background:var(--amber);color:#fff}.caution{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.definition-list{display:grid;grid-template-columns:minmax(100px,1fr) 1.3fr;gap:8px 12px;margin:14px 0 0;font-size:11px}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;font-weight:600}.tabs{display:flex;gap:4px;margin:16px 0 12px;overflow:auto;border-bottom:1px solid var(--line)}.tabs button{flex:0 0 auto;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px}.tabs button:hover,.tabs button.active{color:var(--sage)}.tabs button.active{border-bottom-color:var(--sage);font-weight:700}.tabs+.panel{margin-top:0}.module-row{display:flex;min-height:43px;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft);font-size:11px}.module-row>span:first-child{flex:1;font-weight:600}.module-row .btn{min-height:27px}.timeline{margin:0;padding:4px 0 4px 19px;list-style:none}.timeline li{position:relative;display:grid;grid-template-columns:155px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:11px}.timeline li:last-child{border-bottom:0}.timeline li:before{position:absolute;top:15px;left:-18px;width:7px;height:7px;border:2px solid white;border-radius:50%;background:var(--sage);box-shadow:0 0 0 1px var(--sage);content:""}.timeline time{color:var(--faint);font-size:10px}.compact-select{max-width:120px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);font-size:10px}.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.role-cards>div{display:flex;flex-direction:column;gap:3px;padding:10px;border:1px solid var(--line-soft);border-radius:7px}.role-cards strong{font-size:11px}.role-cards span{color:var(--muted);font-size:10px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.settings-grid .field{margin-top:13px}.settings-grid h2{margin-bottom:10px}.settings-save{grid-column:1 / -1;display:flex;justify-content:flex-end}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;color:var(--text);font-size:11px;font-weight:600}.field:last-child{margin-bottom:0}.field input,.field select,.field textarea{width:100%;font-weight:400}.field textarea{min-height:88px;resize:vertical}.login-page{display:grid;min-height:100vh;place-items:center;padding:20px;background:radial-gradient(circle at 50% 25%,#f0f3ef,var(--bg) 50%)}.login-card{width:min(100%,410px);padding:30px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.login-card .eyebrow{margin-bottom:5px;color:var(--sage);font-size:9px;font-weight:700;letter-spacing:.12em}.login-card h1{margin-bottom:7px;font-size:27px}.login-card>p{margin-bottom:19px;color:var(--muted);font-size:12px}.login-card>.btn{width:100%;margin-top:5px}.login-card small{display:block;margin-top:16px;color:var(--faint);font-size:10px;line-height:1.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#08141175}.modal{width:min(100%,480px);max-height:min(90vh,760px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 22px 70px #0003}.modal-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-top h2{margin:0;font-size:21px}.modal-top p{margin:5px 0 0;color:var(--muted);font-size:11px}.modal-close{width:28px;height:28px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:20px}.modal-close:hover{background:var(--bg)}.modal-fields{display:grid;gap:2px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft)}.toast{position:fixed;right:24px;bottom:20px;z-index:60;max-width:min(90vw,420px);padding:11px 16px;border:1px solid #c9dcd0;border-radius:8px;background:#eff7f1;color:#28523f;box-shadow:var(--shadow);font-size:12px}.nav-dismiss{display:none}@media(min-width:1360px){.stats-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1050px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-right:9px;padding-left:9px}.topbar{gap:10px;padding-right:16px;padding-left:16px}.page-content{padding-right:18px;padding-left:18px}.content-grid.two{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;width:270px;height:100vh;transform:translate(-105%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.nav-dismiss{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;display:block;border:0;background:#00000059}.menu-toggle{display:inline-flex}.topbar{gap:9px;padding:8px 12px}.breadcrumbs{display:none}.global-search{width:auto;min-width:0;flex:1}.user-menu{gap:6px}.user-label{display:none}.logout{padding:4px;font-size:10px}.page-content{padding:20px 13px 35px}.main-footer{padding:12px 13px;font-size:9px}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.content-grid.two,.content-grid.three,.settings-grid{grid-template-columns:1fr}.settings-save{grid-column:1}.section-head{align-items:flex-start}.section-head h1{font-size:25px}.section-head .actions{width:100%}.toolbar{align-items:stretch}.search-input{min-width:100%;max-width:none}.toolbar-summary{width:100%;margin-left:0}.table-scroll table{min-width:760px}.role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline li{grid-template-columns:1fr;gap:2px}}@media(max-width:420px){.stats-grid,.stats-grid.three{grid-template-columns:1fr 1fr}.stat-card{padding:11px}.stat-value{font-size:20px}.section-head .btn{flex:1}.modal-backdrop{padding:8px}.modal{padding:15px}.role-cards{grid-template-columns:1fr}}
