:where(.admin-root,.admin-modal-backdrop,.admin-login){--admin-bg:#f6f9fc;--admin-surface:#fff;--admin-ink:#14263d;--admin-copy:#41556b;--admin-muted:#5a6b7d;--admin-line:#d7e2eb;--admin-line-strong:#b8c9d7;--admin-accent:#1e7fa8;--admin-accent-deep:#166787;--admin-accent-soft:#e7f3f8;--admin-gap:24px;--admin-control:38px;accent-color:var(--admin-accent);caret-color:var(--admin-accent);color:var(--admin-ink);font-family:MiSans VF,MiSans,system-ui,-apple-system,sans-serif;font-size:14px;letter-spacing:0;line-height:1.6;scrollbar-color:var(--admin-line-strong) transparent;scrollbar-width:thin}:where(.admin-root,.admin-modal-backdrop,.admin-login) *,:where(.admin-root,.admin-modal-backdrop,.admin-login) :after,:where(.admin-root,.admin-modal-backdrop,.admin-login) :before{box-sizing:border-box;letter-spacing:0}:where(.admin-root,.admin-modal-backdrop,.admin-login) ::-moz-selection{background:#cce7f0;color:#14263d}:where(.admin-root,.admin-modal-backdrop,.admin-login) ::selection{background:#cce7f0;color:#14263d}:where(.admin-root,.admin-modal-backdrop,.admin-login) :focus-visible{outline:2px solid var(--admin-accent);outline-offset:3px}:where(.admin-root,.admin-modal-backdrop,.admin-login) a{text-underline-offset:3px}.admin-root{background:var(--admin-bg);display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.admin-root.is-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-shell.is-admin{display:block;padding-top:0}.app-shell.is-admin>main{flex:none}.admin-side{background:var(--admin-surface);border-right:1px solid var(--admin-line);display:flex;flex-direction:column;height:100dvh;min-width:0;position:sticky;top:0;z-index:30}.admin-side-brand{align-items:center;display:flex;flex:none;gap:12px;min-height:80px;padding:16px 20px}.admin-side-brand img{flex:none;height:32px;width:32px}.admin-brand-copy{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 8px;min-width:0}.admin-brand-copy strong{font-size:19px;font-weight:750}.admin-brand-copy small{color:var(--admin-muted);font-size:11px;white-space:nowrap}.admin-side-nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 16px}.admin-nav-group+.admin-nav-group{margin-top:16px}.admin-side-group{color:var(--admin-muted);font-size:11px;font-weight:550;margin:0;padding:4px 12px 8px}.admin-nav-link{align-items:center;border-radius:6px;color:var(--admin-copy);display:flex;font-size:13px;gap:12px;min-height:40px;padding:8px 12px;text-decoration:none;transition:background .15s,color .15s}.admin-nav-link+.admin-nav-link{margin-top:2px}.admin-nav-link:hover{background:var(--admin-bg);color:var(--admin-accent-deep)}.admin-nav-link.active{background:var(--admin-accent-soft);color:var(--admin-accent-deep);font-weight:700}.admin-nav-link svg{flex:none}.admin-nav-link span{overflow-wrap:anywhere}.admin-side-foot{align-items:center;border-top:1px solid var(--admin-line);display:flex;flex:none;gap:8px;padding:16px 12px 16px 20px}.admin-side-user{align-items:center;display:flex;flex:1;gap:10px;min-width:0}.admin-avatar{background:#e6f4ef;border-radius:50%;color:#176e59;display:grid;flex:none;font-size:13px;font-weight:700;height:32px;place-items:center;width:32px}.admin-side-user div{min-width:0}.admin-side-user strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-side-user small{color:var(--admin-muted);font-size:11px}.is-collapsed .admin-brand-copy,.is-collapsed .admin-nav-link span,.is-collapsed .admin-side-group,.is-collapsed .admin-side-user{display:none}.is-collapsed .admin-side-nav{padding-inline:12px}.is-collapsed .admin-nav-link{justify-content:center;padding-inline:0}.is-collapsed .admin-nav-group+.admin-nav-group{border-top:1px solid var(--admin-line);margin-top:12px;padding-top:12px}.is-collapsed .admin-side-foot{justify-content:center;padding-inline:16px}.admin-main{min-width:0}.admin-top{align-items:center;background:var(--admin-surface);border-bottom:1px solid var(--admin-line);display:flex;gap:16px;min-height:64px;padding:12px var(--admin-gap);position:sticky;top:0;z-index:20}.admin-page-location{align-items:center;display:flex;gap:12px;min-width:0}.admin-page-location>span{color:var(--admin-muted);font-size:12px;white-space:nowrap}.admin-page-location>svg{color:var(--admin-line-strong);flex:none}.admin-top h1{font-size:18px;font-weight:700;line-height:1.4;margin:0;overflow-wrap:anywhere}.admin-top-actions{align-items:center;display:flex;flex:none;margin-left:auto}.admin-top-actions .admin-site-link{border-color:transparent;color:var(--admin-muted)}.admin-content{min-width:0;padding:var(--admin-gap) var(--admin-gap) 48px;width:100%}.admin-content>:last-child{margin-bottom:0}.admin-section{border-top:1px solid var(--admin-line);min-width:0;padding-block:24px}.admin-card>h3,.admin-section h2{font-size:15px;font-weight:700;line-height:1.5;margin:0 0 16px}.admin-overview-grid{gap:0 40px}.admin-config-form,.admin-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-config-form{gap:16px 24px;max-width:920px}.admin-config-actions,.admin-config-form>.admin-check,.admin-config-form>.admin-field:first-child{grid-column:1/-1}.admin-config-form>.admin-field:first-child{max-width:448px}.admin-config-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.admin-config-actions .admin-error{margin:0}.admin-stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(144px,1fr));margin-bottom:24px}.admin-stat{align-items:flex-start;background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:8px;color:var(--admin-ink);cursor:pointer;display:flex;flex-direction:column;font:inherit;padding:16px;text-align:left;transition:border-color .15s}.admin-stat:hover{border-color:var(--admin-accent)}.admin-stat .label{color:var(--admin-muted);font-size:12px}.admin-stat .count{display:block;font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.4;margin-top:4px}.admin-stat.is-jade .count{color:#1d8a71}.admin-stat.is-blue .count{color:var(--admin-accent-deep)}.admin-stat.is-amber .count{color:#b45309}.admin-card{background:transparent;border:0;border-bottom:1px solid var(--admin-line);border-radius:0;margin-bottom:24px;min-width:0;overflow-wrap:anywhere;padding:0 0 24px}.admin-table-wrap{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:8px;max-width:100%;overflow:auto;overscroll-behavior-x:contain}table.admin-table{border-collapse:collapse;font-size:13px;line-height:1.6;min-width:720px;width:100%}.admin-table th{background:#f0f4f7;border-bottom:1px solid var(--admin-line);color:var(--admin-copy);font-size:12px;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.admin-table td{border-bottom:1px solid #e9eff4;overflow-wrap:anywhere;padding:12px 16px;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#f8fafc}.admin-pager,.admin-table .num{font-variant-numeric:tabular-nums}.admin-table .actions{display:flex;flex-wrap:nowrap;gap:6px}.admin-badge,.admin-table .actions .admin-btn{white-space:nowrap}.admin-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;line-height:1.6;padding:2px 8px}.admin-badge.active,.admin-badge.on,.admin-badge.pass{background:#e7f3f8;color:#166787}.admin-badge.granted,.admin-badge.jade,.admin-badge.ok{background:#e6f4ef;color:#176e59}.admin-badge.expired,.admin-badge.pending,.admin-badge.warn{background:#fdf1e3;color:#8a3e06}.admin-badge.fail,.admin-badge.off,.admin-badge.removed{background:#fbeae8;color:#a13c33}.admin-badge.muted{background:#eef3f7;color:#5a6b7d}.admin-btn{align-items:center;background:var(--admin-surface);border:1px solid var(--admin-line-strong);border-radius:6px;color:var(--admin-ink);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;gap:6px;justify-content:center;line-height:20px;min-height:var(--admin-control);padding:8px 14px;text-decoration:none;transition:border-color .15s,background .15s,color .15s}.admin-btn:hover:not(:disabled){background:var(--admin-accent-soft);border-color:var(--admin-accent);color:var(--admin-accent-deep)}.admin-btn:disabled{cursor:not-allowed;opacity:.55}.admin-btn.primary{background:var(--admin-accent);border-color:var(--admin-accent);color:#fff}.admin-btn.primary:hover:not(:disabled){background:var(--admin-accent-deep);border-color:var(--admin-accent-deep);color:#fff}.admin-btn.danger{border-color:#e0b7b2;color:#a13c33}.admin-btn.danger:hover:not(:disabled){background:#fbeae8;border-color:#a13c33;color:#a13c33}.admin-btn.small{font-size:12px;min-height:32px;padding:5px 10px}.admin-btn.icon{flex:none;height:var(--admin-control);padding:0;width:var(--admin-control)}.admin-btn.small.icon{height:32px;width:32px}.admin-btn svg{flex:none}.admin-side .admin-btn.icon,.admin-top .admin-btn.icon{background:transparent;border-color:transparent}.admin-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.admin-toolbar>.admin-field{max-width:100%;min-width:140px}.admin-search-form>.admin-search-field{flex:1 1 280px;max-width:360px}.admin-search-scope{align-items:center;gap:8px;margin:0 0 16px;overflow-wrap:anywhere}.admin-field,.admin-search-scope{color:var(--admin-copy);display:flex;font-size:12px}.admin-field{flex-direction:column;font-weight:550;gap:6px;line-height:1.6;min-width:0}.admin-field input,.admin-field select,.admin-field textarea{background:var(--admin-surface);border:1px solid var(--admin-line-strong);border-radius:6px;color:var(--admin-ink);font:inherit;font-size:13px;font-weight:400;line-height:20px;max-width:100%;min-height:var(--admin-control);min-width:0;padding:8px 12px}.admin-field input::-moz-placeholder,.admin-field textarea::-moz-placeholder{color:var(--admin-muted);opacity:1}.admin-field input::placeholder,.admin-field textarea::placeholder{color:var(--admin-muted);opacity:1}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--admin-accent);outline:2px solid #9ccadf;outline-offset:1px}.admin-field textarea{resize:vertical}.admin-field input[type=checkbox]{height:16px;min-height:0;width:16px}.admin-check{align-items:center;color:var(--admin-ink);display:flex;font-size:13px;gap:8px;min-height:var(--admin-control)}.admin-check input{flex:none;height:16px;width:16px}.admin-error{color:#a13c33;font-size:12px;margin:6px 0 0;min-height:16px}.admin-error:empty{display:none}.admin-pager{align-items:center;color:var(--admin-muted);display:flex;font-size:12px;gap:12px;justify-content:flex-end;padding:12px 16px}.admin-empty,.admin-loading{color:var(--admin-muted);font-size:13px;padding:48px 20px;text-align:center}.admin-empty .admin-btn{margin-top:12px}.admin-notice{border-radius:6px;font-size:13px;margin-bottom:16px;overflow-wrap:anywhere;padding:12px 16px}.admin-notice.ok{background:#e6f4ef;border:1px solid #b5dfd1;color:#176e59}.admin-notice.error{background:#fbeae8;border:1px solid #e0b7b2;color:#a13c33}.admin-muted{color:var(--admin-muted);font-size:12px}.admin-kv{font-size:13px;list-style:none;margin:0;padding:0}.admin-kv li{align-items:flex-start;border-bottom:1px solid #e9eff4;display:flex;flex-wrap:wrap;gap:8px 16px;overflow-wrap:anywhere;padding:10px 0}.admin-kv li:last-child{border-bottom:0}.admin-kv li>span:first-child:not(.admin-badge){color:var(--admin-muted);flex:0 0 120px}.admin-kv li>.admin-badge{white-space:normal}body:has(.admin-modal-backdrop){overflow:hidden}.admin-modal-backdrop{background:#101d306b;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:100}.admin-modal{background:var(--admin-surface);border-radius:8px;box-shadow:0 24px 64px #14263d38;display:flex;flex-direction:column;max-height:min(90dvh,800px);min-width:0;width:min(560px,100%)}.admin-modal.wide{width:min(880px,100%)}.admin-modal-head{align-items:center;border-bottom:1px solid var(--admin-line);display:flex;flex:none;gap:16px;justify-content:space-between;padding:16px 24px}.admin-modal-head h3{font-size:16px;font-weight:700;margin:0;overflow-wrap:anywhere}.admin-modal-body{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px}.admin-modal-foot{border-top:1px solid var(--admin-line);display:flex;flex:none;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 24px}.admin-login{background:var(--admin-bg);display:grid;min-height:100dvh;padding:24px;place-items:center}.admin-login-card{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:8px;padding:32px;width:min(400px,100%)}.admin-login-card .brand{align-items:center;display:flex;gap:12px;margin-bottom:24px}.admin-login-card .brand img{height:40px;width:40px}.admin-login-card .brand strong{color:var(--admin-ink);display:block;font-size:18px}.admin-login-card .brand small{color:var(--admin-muted);font-size:12px}.admin-list-heading{gap:12px;justify-content:space-between;margin-bottom:20px}.admin-list-heading,.admin-list-summary{align-items:center;display:flex;flex-wrap:wrap}.admin-list-summary{color:var(--admin-muted);font-size:12px;gap:8px 16px}.admin-list-summary strong{color:var(--admin-ink);font-size:14px;font-weight:600}.admin-list-actions{align-items:center;display:flex;gap:8px}.admin-document-filters>.admin-field:first-child{flex:1 1 240px;max-width:420px}.admin-document-filters>.admin-field:not(:first-child){flex:0 1 180px}.admin-table.admin-document-table{min-width:920px;table-layout:fixed}.admin-mobile-label{display:none}.admin-document-table .doc-col-title{width:30%}.admin-document-table .doc-col-category{width:15%}.admin-document-table .doc-col-order{width:7%}.admin-document-table .doc-col-status{width:11%}.admin-document-table .doc-col-updated{width:19%}.admin-document-table .doc-col-actions{width:18%}.admin-document-title{align-items:flex-start;display:flex;gap:8px}.admin-document-title>span{flex:none}.admin-document-title>div{min-width:0}.admin-document-title strong{font-weight:600}.admin-document-path{color:var(--admin-muted);display:block;font-size:12px;margin-top:2px;overflow-wrap:anywhere}.admin-document-category{display:flex;flex-wrap:wrap;gap:4px 8px}.admin-results-count{color:var(--admin-muted);font-size:12px;margin:12px 0 0}.admin-modal.wide:has(.doc-editor){max-height:94dvh;width:min(1280px,100%)}.doc-metadata-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.doc-metadata-grid .admin-field:first-child{grid-column:1/-1}.doc-import-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.doc-import-row input{flex:1 1 220px;min-width:0}.doc-import-hint{color:var(--admin-muted);font-size:11px;margin:2px 0 0}.admin-backdrop,.admin-nav-toggle,.admin-side-close{display:none}@media(max-width:1100px){.admin-page-location>span,.admin-page-location>svg{display:none}}@media(max-width:900px){.admin-root,.admin-root.is-collapsed{grid-template-columns:minmax(0,1fr);--admin-gap:20px}.admin-side{bottom:0;left:0;position:fixed;top:0;transform:translate(-100%);transition:transform .2s ease-out;width:min(280px,calc(100vw - 48px));z-index:60}.admin-root.is-drawer-open .admin-side{transform:none}.admin-backdrop{background:#101d306b;display:block;inset:0;position:fixed;z-index:55}.admin-nav-toggle,.admin-side-close{display:inline-flex}.admin-side-close{margin-left:auto}.admin-collapse-toggle{display:none}.admin-top{gap:12px}}@media(max-width:600px){:where(.admin-root,.admin-modal-backdrop,.admin-login){--admin-gap:16px;--admin-control:44px}.admin-top{gap:8px;min-height:64px;padding:10px 12px}.admin-top h1{font-size:17px}.admin-site-link span{display:none}.admin-top-actions .admin-site-link{padding:0;width:44px}.admin-content{padding-bottom:32px}.admin-stats{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stat{padding:12px}.admin-config-form,.admin-overview-grid{grid-template-columns:minmax(0,1fr)}.admin-config-form>.admin-field:first-child{max-width:none}.admin-toolbar{gap:12px 8px}.admin-toolbar>.admin-field{flex:1 1 140px}.admin-toolbar>.admin-field:first-child{flex-basis:100%;max-width:none}.admin-toolbar>.admin-field input,.admin-toolbar>.admin-field select{width:100%!important}.admin-document-filters>.admin-field:not(:first-child){flex:1 1 120px}.admin-field input,.admin-field select,.admin-field textarea{font-size:16px}.admin-table td,.admin-table th{padding:12px}.admin-btn.small{min-height:40px}.admin-btn.small.icon{height:40px;width:40px}.admin-pager{flex-wrap:wrap;gap:8px}.admin-kv li>span:first-child:not(.admin-badge){flex-basis:100px}.admin-modal-backdrop{padding:8px}.admin-modal{max-height:96dvh}.admin-modal-foot,.admin-modal-head{padding:12px 16px}.admin-modal-body{padding:16px}.doc-metadata-grid{grid-template-columns:minmax(0,1fr)}.admin-modal:has(.doc-editor) .admin-modal-body{padding:12px}.admin-side-foot{padding-bottom:max(16px,env(safe-area-inset-bottom))}.admin-nav-link{min-height:44px}.admin-table.admin-document-table{display:block;min-width:0}.admin-document-table colgroup{display:none}.admin-document-table thead{clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.admin-document-table tbody{display:block}.admin-document-table tbody tr{border-bottom:1px solid var(--admin-line);display:grid;gap:8px 12px;grid-template-columns:minmax(0,1fr) auto;padding:16px 12px}.admin-document-table tbody tr:last-child{border-bottom:0}.admin-document-table td{border:0;display:block;padding:0}.admin-document-table td:first-child{grid-column:1;grid-row:1}.admin-document-table td:nth-child(2){grid-column:1;grid-row:2}.admin-document-table td:nth-child(3){color:var(--admin-muted);font-size:11px;grid-column:2;grid-row:3;text-align:right}.admin-document-table td:nth-child(4){grid-column:2;grid-row:2;text-align:right}.admin-document-table td:nth-child(5){color:var(--admin-muted);font-size:11px;grid-column:1;grid-row:3}.admin-document-table td:last-child{grid-column:2;grid-row:1}.admin-document-table .actions{justify-content:flex-end}.admin-document-table .admin-mobile-label{display:inline}.admin-document-table tbody tr:has(td[colspan]){display:block}.admin-document-table td[colspan]{text-align:center}}.admin-page-enter-active,.admin-page-leave-active{transition:none}.admin-page-enter-active .admin-content,.admin-page-leave-active .admin-content{transition:opacity .16s ease}.admin-page-enter-from .admin-content,.admin-page-leave-to .admin-content{opacity:0}@media(prefers-reduced-motion:reduce){:where(.admin-root,.admin-modal-backdrop,.admin-login) *,:where(.admin-root,.admin-modal-backdrop,.admin-login) :after,:where(.admin-root,.admin-modal-backdrop,.admin-login) :before{animation:none!important;transition:none!important}}
