:root{color:#172033;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.admin-app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;color:#172033;background:#f5f7fa}.admin-sidebar{display:grid;grid-template-rows:auto 1fr auto;gap:24px;padding:20px;background:#fff;border-right:1px solid #d9e0ea}.admin-brand{display:grid;gap:4px}.admin-brand span{font-size:18px;font-weight:800}.admin-brand strong{color:#5c6675;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-nav{display:grid;align-content:start;gap:6px}.admin-nav a{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;color:#3c4656;font-size:14px;font-weight:700;border-radius:8px}.admin-nav a:hover{background:#f3f6fa}.admin-nav a.router-link-active{color:#12395f;background:#dbe9f7}.admin-sidebar-footer{display:grid;gap:12px;padding-top:16px;border-top:1px solid #d9e0ea}.admin-sidebar-footer div{display:grid;gap:3px;min-width:0}.admin-sidebar-footer strong,.admin-sidebar-footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-footer strong{font-size:13px}.admin-sidebar-footer span{color:#5c6675;font-size:12px;text-transform:capitalize}.admin-logout-button{display:grid;grid-template-columns:17px minmax(0,max-content);align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 10px;color:#5c2f2f;font-size:13px;font-weight:800;background:#fff7f7;border:1px solid #efcccc;border-radius:8px;cursor:pointer}.admin-page-actions,.admin-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-secondary-button,.admin-danger-button{min-height:34px;padding:7px 10px;font-size:13px;font-weight:800;border-radius:6px;cursor:pointer}.admin-secondary-button{color:#174a7c;background:#eef5fb;border:1px solid #c6d9ea}.admin-danger-button{color:#fff;background:#7b2424;border:1px solid #7b2424}.admin-secondary-button:disabled,.admin-danger-button:disabled{cursor:not-allowed;opacity:.6}.admin-inline-error{margin:0;padding:10px 12px;color:#7b2424;font-size:13px;background:#fff7f7;border:1px solid #efcccc;border-radius:8px}.admin-main{min-width:0;padding:28px}.admin-page,.admin-dashboard{display:grid;gap:20px;max-width:1120px}.admin-page-wide{width:100%;max-width:none}.admin-filter-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;gap:10px;padding:14px;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-filter-row label{display:grid;gap:6px;min-width:0;color:#3c4656;font-size:13px;font-weight:700}.admin-filter-row input{width:100%;min-height:38px;padding:8px 10px;color:#172033;background:#fff;border:1px solid #c7d1df;border-radius:6px}.admin-filter-row input:focus{border-color:#1f6aa5;outline:2px solid #bfdbf0;outline-offset:1px}.admin-filter-row button{min-height:38px;padding:8px 14px;color:#fff;font-weight:800;background:#174a7c;border:0;border-radius:6px;cursor:pointer}.admin-page-header{display:grid;gap:8px;padding-bottom:18px;border-bottom:1px solid #d9e0ea}.admin-page-header p{margin:0;color:#1f6aa5;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-page-header h1{margin:0;font-size:28px;line-height:1.15}.admin-page-header span{max-width:680px;color:#5c6675;line-height:1.5}.admin-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-metric-tile{display:grid;grid-template-rows:auto auto 1fr;gap:7px;min-height:118px;padding:16px;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-metric-tile span{color:#5c6675;font-size:13px;font-weight:700}.admin-metric-tile strong{color:#172033;font-size:26px;line-height:1.15}.admin-metric-tile p{align-self:end;margin:0;color:#687386;font-size:12px}.admin-dashboard-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.admin-split-panels{display:grid;gap:12px}.admin-panel{display:grid;gap:12px;padding:16px;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-panel h2{margin:0;font-size:16px;line-height:1.2}.admin-table-wrap{width:100%;overflow-x:auto;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-panel .admin-table-wrap{border:0;border-radius:0}.admin-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #e3e9f1}.admin-table th{color:#5c6675;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#f7f9fc}.admin-table tr:last-child td{border-bottom:0}.admin-table td>span{display:block;max-width:260px;margin-top:3px;overflow:hidden;color:#687386;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-table a,.admin-compact-list a{color:#174a7c;font-weight:800}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-detail-wide{grid-column:1 / -1}.admin-description-list{display:grid;gap:10px;margin:0}.admin-description-list div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}.admin-description-list dt{color:#5c6675;font-size:12px;font-weight:800;text-transform:uppercase}.admin-description-list dd{min-width:0;margin:0;overflow-wrap:anywhere}.admin-compact-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.admin-compact-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:38px;padding:8px 10px;background:#f7f9fc;border:1px solid #e3e9f1;border-radius:8px}.admin-compact-list span,.admin-compact-list a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-compact-list strong{color:#3c4656;font-size:13px}.admin-compact-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:8px}.admin-readable-text{margin:0;color:#3c4656;line-height:1.6}.admin-section-list{display:grid;gap:12px}.admin-section-list article{display:grid;gap:6px;padding:12px;background:#f7f9fc;border:1px solid #e3e9f1;border-radius:8px}.admin-section-list h3,.admin-section-list p{margin:0}.admin-section-list h3{font-size:14px}.admin-section-list p{color:#3c4656;line-height:1.55;white-space:pre-wrap}.admin-signal-list{display:grid;gap:8px;padding:0;margin:0;list-style:none}.admin-signal-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:38px;padding:8px 10px;color:#3c4656;background:#f7f9fc;border:1px solid #e3e9f1;border-radius:8px}.admin-signal-list li.is-attention{color:#6e4b00;background:#fff8e7;border-color:#edd69a}.admin-signal-list li.is-critical{color:#7b2424;background:#fff0f0;border-color:#efcccc}.admin-signal-list span{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-signal-list strong{font-size:16px}.admin-data-state{display:grid;place-items:center;gap:8px;min-height:180px;padding:24px;text-align:center;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-data-state p{max-width:480px;margin:0;color:#5c6675;line-height:1.5}.admin-data-state--error{color:#7b2424;background:#fff7f7;border-color:#efcccc}.admin-data-state__indicator{width:28px;height:28px;border:3px solid #d9e0ea;border-top-color:#1f6aa5;border-radius:999px;animation:admin-spin .9s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f5f7fa}.admin-login-form{display:grid;gap:16px;width:min(100%,380px);padding:24px;background:#fff;border:1px solid #d9e0ea;border-radius:8px}.admin-login-header{display:grid;gap:6px;margin-bottom:4px}.admin-login-header p{margin:0;color:#1f6aa5;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-login-header h1{margin:0;font-size:24px;line-height:1.2}.admin-login-form label{display:grid;gap:6px;color:#3c4656;font-size:13px;font-weight:700}.admin-login-form input{width:100%;min-height:42px;padding:9px 10px;color:#172033;background:#fff;border:1px solid #c7d1df;border-radius:6px}.admin-login-form input:focus{border-color:#1f6aa5;outline:2px solid #bfdbf0;outline-offset:1px}.admin-login-form button{min-height:42px;color:#fff;font-weight:800;background:#174a7c;border:0;border-radius:6px;cursor:pointer}.admin-login-form button:disabled{cursor:wait;opacity:.72}.admin-form-error{margin:0;padding:10px 12px;color:#8a1f1f;font-size:13px;line-height:1.4;background:#fff0f0;border:1px solid #f0c7c7;border-radius:6px}.admin-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#1720336b}.admin-modal{display:grid;gap:16px;width:min(100%,460px);padding:20px;color:#172033;background:#fff;border:1px solid #c7d1df;border-radius:8px;box-shadow:0 18px 50px #1720332e}.admin-modal header,.admin-modal label,.admin-modal footer{display:grid;gap:8px}.admin-modal h2,.admin-modal p{margin:0}.admin-modal h2{font-size:18px}.admin-modal p{color:#5c6675;line-height:1.5}.admin-modal label span{color:#3c4656;font-size:13px;font-weight:800}.admin-modal textarea{width:100%;resize:vertical;min-height:96px;padding:10px;color:#172033;border:1px solid #c7d1df;border-radius:6px}.admin-modal textarea:focus{border-color:#1f6aa5;outline:2px solid #bfdbf0;outline-offset:1px}.admin-modal footer{grid-template-columns:1fr auto;align-items:center}@media(max-width:760px){.admin-app-shell{grid-template-columns:1fr}.admin-sidebar{grid-template-columns:auto 1fr;grid-template-rows:auto;align-items:center;padding:14px 16px;border-right:0;border-bottom:1px solid #d9e0ea}.admin-nav{justify-content:end;grid-auto-flow:column;overflow-x:auto}.admin-sidebar-footer{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;align-items:center}.admin-logout-button{width:auto}.admin-main{padding:20px 16px}.admin-metric-grid,.admin-dashboard-panels,.admin-detail-grid,.admin-filter-row{grid-template-columns:1fr}.admin-detail-wide{grid-column:auto}.admin-description-list div{grid-template-columns:1fr;gap:4px}}
