@charset "UTF-8";
/* Two typography steps: every original text size receives the same 4px increase. */
:root{--font-increase:4px;font-size:calc(16px + var(--font-increase))}
:root{--navy:#102b46;--navy-soft:#21445e;--teal:#118c83;--teal-light:#e6f4f0;--blue:#3464b0;--bg:#f5f7f8;--paper:#fff;--text:#1a3448;--muted:#7c8b98;--border:#e4e9ed;--orange:#ca8a42;--red:#bd5c54;--shadow:0 6px 25px #16364d05;--radius:15px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:calc(29px + var(--font-increase));letter-spacing:-1px;line-height:1.4;margin-bottom:8px;font-weight:650}h2{font-size:calc(17px + var(--font-increase));letter-spacing:-.3px;margin-bottom:0;font-weight:650}h3{font-size:calc(15px + var(--font-increase));font-weight:650}p{font-size:calc(14px + var(--font-increase));line-height:1.8}small{font-size:calc(12px + var(--font-increase))}svg{flex-shrink:0}button{transition:background .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #45a99f;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal)!important;box-shadow:0 0 0 3px #148b8615}.muted{color:var(--muted)}.eyebrow{font-size:calc(10px + var(--font-increase));letter-spacing:1.8px;font-weight:700;color:var(--muted);text-transform:uppercase}.mono{font-family:Consolas,monospace;font-variant-numeric:tabular-nums}.text-teal{color:var(--teal)}.text-orange{color:var(--orange)}.text-red{color:var(--red)}.text-right{text-align:right}.hidden{display:none!important}.boot{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.boot-mark{background:var(--navy);color:#7fdbca;font-size:calc(40px + var(--font-increase));border-radius:20px;padding:14px 28px}.language-switch{display:inline-flex;gap:3px;padding:4px;background:#eaf0f3;border-radius:7px}.language-switch button{background:transparent;border:0;color:#82909b;padding:5px 10px;border-radius:5px;font-size:calc(11px + var(--font-increase))}.language-switch button.active{background:white;color:var(--navy);box-shadow:0 1px 5px #00000008}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{width:38px;height:42px;border-radius:11px;background:var(--navy);display:grid;place-items:center;color:#8adbcf}.brand-name{font-size:calc(18px + var(--font-increase));font-weight:750;letter-spacing:.6px}.brand-caption{font-size:calc(9px + var(--font-increase));letter-spacing:1.4px;color:var(--muted);margin-top:3px}.app-shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:white;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 18px;z-index:30}.sidebar .language-switch{align-self:flex-start;margin-bottom:26px}.sidebar .brand{padding:0 10px 32px}.sidebar-section{font-size:calc(10px + var(--font-increase));letter-spacing:1px;color:#98a4ad;margin:10px 12px 14px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 15px;color:#7a8b99;font-size:calc(13px + var(--font-increase));border-radius:8px;margin-bottom:6px}.nav-link.active{color:var(--teal);background:#eaf5f1;font-weight:650}.nav-link:hover{background:#f4f7f8}.nav-link.active:after{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);margin-left:auto}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.local-status{font-size:calc(10px + var(--font-increase));color:#84949d;padding:13px 0;display:flex;align-items:center;gap:7px}.dot{width:6px;height:6px;background:#25a087;border-radius:50%;display:inline-block}.lab-note{border-radius:10px;background:#f5f8fa;padding:16px;margin-bottom:12px}.lab-note p{font-size:calc(11px + var(--font-increase));color:#80909c;margin:8px 0 0}.main-shell{grid-column:2;min-width:0}.topbar{height:82px;border-bottom:1px solid var(--border);background:#ffffffd9;display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:16px}.breadcrumbs{font-size:calc(12px + var(--font-increase));color:#98a4ad;display:flex;align-items:center;gap:14px}.breadcrumbs strong{color:#425b6d;font-weight:500}.topbar-right{display:flex;align-items:center;gap:22px}.user-menu{display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#dcefe9;color:var(--teal);border-radius:50%;font-weight:650;font-size:calc(12px + var(--font-increase))}.user-name{font-size:calc(12px + var(--font-increase));font-weight:600}.user-role{font-size:calc(10px + var(--font-increase));color:var(--muted);margin-top:4px}.page-content{max-width:1540px;margin:auto;padding:34px 38px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.page-heading p{color:var(--muted);margin:0;font-size:calc(12px + var(--font-increase))}.page-heading .eyebrow{margin-bottom:6px}.footer{font-size:calc(10px + var(--font-increase));color:#9ba7b0;display:flex;justify-content:space-between;margin-top:28px;border-top:1px solid var(--border);padding:20px 0}.mobile-menu{display:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#7b8d9c;width:34px;height:34px;border-radius:8px}.icon-button:hover{background:#edf3f5}
@media(min-width:1600px){.page-content{padding:42px 55px}.topbar{padding:0 55px}}
@media(max-width:1100px){.app-shell{grid-template-columns:205px 1fr}.sidebar{width:205px;padding:18px 12px}.page-content{padding:25px}.topbar{padding:0 25px}.topbar-right{gap:10px}.brand-name{font-size:calc(16px + var(--font-increase))}.breadcrumbs>span{display:none}}
@media(max-width:760px){h1{font-size:calc(23px + var(--font-increase))}.app-shell{display:block}.sidebar{transform:translateX(-100%);width:235px;box-shadow:15px 0 60px #102b4620;transition:transform .2s}.sidebar.mobile-open{transform:translateX(0)}.main-shell{width:100%}.mobile-menu{display:inline-flex}.topbar{height:65px;padding:0 16px}.page-content{padding:22px 16px}.user-role,.topbar .badge,.breadcrumbs{display:none}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading .btn{padding:9px 12px}.footer{gap:15px}.footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
