@font-face{font-family:Fira Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/fira-sans-400.woff2) format("woff2")}@font-face{font-family:Fira Sans;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/fira-sans-500.woff2) format("woff2")}@font-face{font-family:Fira Sans;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/fira-sans-600.woff2) format("woff2")}@font-face{font-family:Fira Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/fira-sans-700.woff2) format("woff2")}@font-face{font-family:Fira Code;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/fira-code-400.woff2) format("woff2")}@font-face{font-family:Fira Code;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/fira-code-500.woff2) format("woff2")}@font-face{font-family:Fira Code;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/fira-code-600.woff2) format("woff2")}:root{--bg:#F7F8FA;--panel:#FFFFFF;--panel2:#EFF2F6;--border:#D9DEE7;--border-strong:#0F172A;--text:#0F172A;--muted:#5B6472;--navy:#1E3A5F;--navy-dim:rgba(30,58,95,.08);--accent:#047857;--accent-dim:rgba(5,150,105,.10);--warn:#B45309;--warn-dim:rgba(180,83,9,.10);--danger:#DC2626;--danger-dim:rgba(220,38,38,.08);--radius:0px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Fira Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit}::placeholder{color:var(--muted);opacity:1}:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.wrap{max-width:1100px;margin:0 auto;padding:24px 20px}.page-title{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.page-sub{color:var(--muted);font-size:14px;margin:0 0 18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:16px 18px}.card-link{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .16s ease}.card-link:hover{border-color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;min-height:40px;cursor:pointer;font-size:14px;transition:border-color .16s ease,background .16s ease,color .16s ease}.btn-primary,.btn:hover{border-color:var(--navy)}.btn-primary{background:var(--navy);color:#FFFFFF;font-weight:600}.btn-primary:hover{background:#17304F;border-color:#17304F}.btn-danger{border-color:var(--danger);color:var(--danger);background:var(--panel)}.btn-danger:hover{background:var(--danger-dim);border-color:var(--danger)}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text);border-color:transparent}.input,.select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;min-height:40px;color:var(--text);font-size:16px;font-family:inherit}.input:focus,.select:focus{border-color:var(--navy);outline:2px solid var(--navy);outline-offset:1px}.label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.badge{display:inline-block;font-family:Fira Code,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11.5px;padding:2px 8px;border-radius:var(--radius);background:var(--panel2);border:1px solid var(--border);color:var(--text);white-space:nowrap}.badge-ok{background:var(--accent-dim);border-color:rgba(5,150,105,.25);color:var(--accent)}.badge-warn{background:var(--warn-dim);border-color:rgba(180,83,9,.25);color:var(--warn)}.badge-danger{background:var(--danger-dim);border-color:rgba(220,38,38,.25);color:var(--danger)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:8px 10px;border-bottom:2px solid var(--border-strong)}.table td{padding:9px 10px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--navy-dim)}.card-thumb{object-fit:cover}.card-thumb,.card-thumb-ph{display:block;width:40px;aspect-ratio:5/7;border:1px solid var(--border);border-radius:0;background:var(--panel2)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--navy);border-radius:var(--radius);padding:14px}.stat-num{font-family:Fira Code,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.2}.stat-label{font-size:12px;color:var(--muted)}.fill{height:8px;background:var(--panel2);border-radius:var(--radius);overflow:hidden}.fill>i{display:block;height:100%;background:var(--navy)}.grid-binders{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.actions-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.mono{font-family:Fira Code,ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--panel);border-bottom:1px solid var(--border)}.site-header-inner{max-width:1100px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px}.brand{gap:8px;color:var(--text);white-space:nowrap}.brand,.brand-mark{display:inline-flex;align-items:center}.brand-mark{justify-content:center;width:26px;height:26px;background:var(--navy);color:#FFFFFF;font-family:Fira Code,ui-monospace,monospace;font-weight:700;font-size:14px;line-height:1}.brand-name{font-weight:700;font-size:17px}.site-nav{display:flex;align-items:center;gap:14px;min-width:0}.nav-link{display:inline-block;font-size:14px;color:var(--muted);padding:6px 2px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .16s ease}.nav-link.active,.nav-link:hover{color:var(--text)}.nav-link.active{border-bottom-color:var(--navy)}.header-search{flex:1 1;display:flex;justify-content:flex-end;min-width:0}.header-search .input{width:100%;max-width:320px;min-height:36px;padding:6px 12px}.header-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);white-space:nowrap}.header-user strong{color:var(--text);font-weight:600}.header-user .btn{min-height:32px;padding:4px 12px;font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:640px){.wrap{padding:14px}.site-header-inner{padding:8px 12px;gap:12px;flex-wrap:wrap}.site-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.header-search{order:3;flex-basis:100%}.header-search .input{max-width:none}}