:root{color:#202522;background:#f6f7f8;font-family:Segoe UI,PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #16845b;--accent-soft: #e7f3ed;--surface: #ffffff;--surface-muted: #f4f6f5;--border: #e0e5e2;--text: #202522;--text-secondary: #68716b;--sidebar: #202824;--sidebar-text: #dce4df}*{box-sizing:border-box;letter-spacing:0}html,body,#app{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden;background:#f6f7f8}button,input,textarea,select{font:inherit}a{color:inherit}:focus-visible{outline:2px solid #16845b;outline-offset:2px}.admin-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;z-index:30;display:flex;flex-direction:column;height:100vh;min-width:0;padding:14px 10px;background:var(--sidebar);color:var(--sidebar-text)}.brand-row{display:flex;align-items:center;min-height:54px;gap:10px;padding:4px 8px 14px}.brand-row>div{min-width:0}.brand-row strong{display:block;color:#fff;font-size:14px;font-weight:650}.brand-row span:not(.brand-mark){display:block;margin-top:2px;color:#93a19a;font-size:10px}.brand-mark{display:inline-grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:7px;background:#16845b;color:#fff;font-size:15px;font-weight:700}.sidebar nav{display:flex;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:4px 0}.sidebar nav a{display:flex;align-items:center;min-height:38px;gap:10px;padding:0 11px;border-radius:6px;color:#aebbb4;font-size:13px;text-decoration:none;transition:color .16s ease,background-color .16s ease}.sidebar nav a:hover{background:#2b3530;color:#fff}.sidebar nav a.active{background:#334039;color:#fff}.sidebar nav a.active svg{color:#4bc18d}.sidebar-user{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:9px;margin-top:10px;padding:12px 6px 2px;border-top:1px solid #35403a}.sidebar-user .avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#3a4941;color:#fff;font-size:12px}.sidebar-user strong,.sidebar-user span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{color:#f3f6f4;font-size:12px}.sidebar-user div span{color:#92a099;font-size:10px;text-transform:capitalize}.sidebar-user .n-button{color:#aebbb4}.mobile-close,.mobile-menu{display:none!important}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;height:58px;padding:0 24px;border-bottom:1px solid var(--border);background:#fffffff5}.topbar-title{flex:1;color:#303632;font-size:13px;font-weight:600}.scope-select{width:184px}.page-content{width:100%;max-width:1580px;min-width:0;margin:0 auto;padding:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.page-header h1{margin:0;color:var(--text);font-size:24px;line-height:1.25;font-weight:680}.page-header p{max-width:72ch;margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.6}.page-header__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.panel{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.panel-heading h2{margin:0;font-size:15px;font-weight:650}.panel-heading p{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.metric-cell{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:4px 7px;min-height:82px;padding:14px;border-right:1px solid var(--border)}.metric-cell:last-child{border-right:0}.metric-cell svg{grid-row:span 2;color:var(--accent)}.metric-cell span{color:var(--text-secondary);font-size:11px;white-space:nowrap}.metric-cell strong{font-size:21px;line-height:1.1;font-weight:680;font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:16px}.activity-chart{width:100%;height:320px}.health-list{margin:0;padding:0;list-style:none}.health-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 16px;border-bottom:1px solid #edf0ee}.health-list li:last-child{border-bottom:0}.health-list strong,.health-list span{display:block}.health-list strong{font-size:12px;font-weight:620}.health-list div>span{max-width:34ch;margin-top:2px;overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.health-meta{display:flex;align-items:center;gap:8px}.health-meta>span{color:var(--text-secondary);font-size:10px;font-variant-numeric:tabular-nums}.provider-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:14px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff}.provider-strip>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:12px 16px;border-right:1px solid var(--border)}.provider-strip>div:last-child{border-right:0}.provider-strip strong,.provider-strip span{display:block}.provider-strip strong{font-size:12px}.provider-strip span{max-width:28ch;margin-top:3px;overflow:hidden;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.view-tabs{width:fit-content;margin:-4px 0 14px}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.filter-control{width:160px}.filter-bar .filter-search{width:280px;flex:0 1 280px}.table-panel{overflow:hidden}.table-scroll{max-width:100%;overflow-x:auto}.data-table{width:100%;min-width:820px;border-collapse:collapse;font-size:12px}.data-table th{height:40px;padding:0 13px;background:var(--surface-muted);color:#59615c;text-align:left;white-space:nowrap;font-size:11px;font-weight:620}.data-table td{height:52px;padding:8px 13px;border-top:1px solid #e9ecea;color:#303632;vertical-align:middle}.data-table tbody tr:hover{background:#fafcfb}.data-table strong{display:block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:620}.data-table code{color:#385348;font-family:SFMono-Regular,Consolas,monospace;font-size:10px}.subtext{display:block;margin-top:2px;color:#858e88;font-size:10px}.align-right{text-align:right!important}.cell-wrap{min-width:180px;max-width:340px;white-space:normal;word-break:break-word}.table-actions,.action-row{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:8px 13px;border-top:1px solid var(--border)}.pagination-bar>span{color:var(--text-secondary);font-size:11px;white-space:nowrap}.state-skeleton{display:grid;gap:7px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#fff}.state-panel{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px 20px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-secondary);text-align:center}.state-panel svg{color:#7e8982}.state-panel strong{color:var(--text);font-size:14px}.state-panel span{max-width:60ch;font-size:12px;line-height:1.55}.drawer-form{display:flex;flex-direction:column;gap:9px}.drawer-form>label,.drawer-form>div>label{margin-top:5px;color:#424a45;font-size:11px;font-weight:620}.drawer-form>.n-button{align-self:flex-start;margin-top:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid>div{display:flex;min-width:0;flex-direction:column;gap:5px}.callout{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:6px;background:#f1f5f3;color:#4c5751;font-size:11px;line-height:1.55}.callout svg{flex:0 0 auto;color:var(--accent)}.detail-stack{display:flex;flex-direction:column;gap:20px}.detail-stack h3{margin:0 0 9px;font-size:13px}.detail-list{margin:0}.detail-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.detail-list dt{color:var(--text-secondary);font-size:11px}.detail-list dd{margin:0;text-align:right;font-size:12px;overflow-wrap:anywhere}.summary-list{margin:0;padding:0;list-style:none}.summary-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:11px}.danger-zone{padding-top:16px;border-top:1px solid #e8c8c2}.danger-zone .action-row{justify-content:flex-start}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.settings-section{overflow:hidden}.settings-section .detail-list{padding:0 16px 12px}.permission-panel{overflow:hidden}.permission-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.permission-groups>div{padding:14px 16px 18px;border-right:1px solid var(--border)}.permission-groups>div:last-child{border-right:0}.permission-groups h3{margin:0 0 8px;font-size:12px}.permission-groups ul{margin:0;padding:0;list-style:none}.permission-groups li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;border-bottom:1px solid #edf0ee;font-size:10px}.login-page{display:grid;min-height:100vh;place-items:center;padding:20px;background:#eef1ef}.login-panel{width:min(390px,100%);padding:30px;border:1px solid #dce2de;border-radius:8px;background:#fff;box-shadow:0 16px 34px #23302914}.login-brand{display:flex;align-items:center;gap:10px;color:#37403b;font-size:12px;font-weight:650}.login-panel h1{margin:28px 0 5px;font-size:23px;font-weight:680}.login-panel>p{margin:0 0 24px;color:var(--text-secondary);font-size:12px}.login-security{display:block;margin-top:18px;color:#7a847e;font-size:10px;line-height:1.6;text-align:center}.nav-scrim{display:none}.n-drawer{max-width:calc(100vw - 16px)}@media(max-width:1100px){.metric-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-cell:nth-child(3){border-right:0}.metric-cell:nth-child(-n+3){border-bottom:1px solid var(--border)}.dashboard-grid,.permission-groups{grid-template-columns:1fr}.permission-groups>div{border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:760px){.admin-shell{display:block}.sidebar{position:fixed;left:0;visibility:hidden;transform:translate(-102%);width:min(278px,calc(100vw - 56px));padding-top:max(14px,env(safe-area-inset-top));transition:transform .19s ease-out,visibility .19s}.sidebar--open{visibility:visible;transform:translate(0)}.nav-scrim{position:fixed;inset:0;z-index:25;display:block;background:#14191675}.mobile-close,.mobile-menu{display:inline-flex!important}.mobile-close{margin-left:auto;color:#b8c4bd!important}.topbar{height:56px;padding:0 12px}.topbar-title{display:none}.mobile-menu{margin-right:auto}.scope-select{width:164px}.page-content{padding:18px 12px calc(24px + env(safe-area-inset-bottom))}.page-header{display:block;margin-bottom:16px}.page-header h1{font-size:21px}.page-header p{margin-top:5px}.page-header__actions{justify-content:flex-start;margin-top:12px}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-cell{min-height:74px}.metric-cell:nth-child(n){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.metric-cell:nth-child(2n){border-right:0}.metric-cell:nth-last-child(-n+2){border-bottom:0}.metric-cell strong{font-size:18px}.activity-chart{height:260px}.provider-strip{grid-template-columns:1fr}.provider-strip>div{border-right:0;border-bottom:1px solid var(--border)}.provider-strip>div:last-child{border-bottom:0}.filter-bar{align-items:stretch}.filter-control,.filter-bar .filter-search{width:100%;flex-basis:100%}.filter-bar>.n-button{flex:1}.pagination-bar{align-items:flex-start;flex-direction:column;overflow-x:auto}.settings-grid,.form-grid{grid-template-columns:1fr}.login-panel{padding:24px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
