:root{color:#172b3a;font-synthesis:none;--line:#e4eaee;--teal:#087f75;background:#f5f7f9;font:14px/1.5 Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid #d8e1e5;border-radius:7px;padding:9px 15px;transition:background .16s}button:hover{background:#e9f5f2}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.primary:hover{background:#066b63}.danger{color:#ae3030}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #69bdb5}a{color:inherit;text-decoration:none}.sidebar{color:#aec4cd;z-index:20;background:#102b36;flex-direction:column;width:228px;padding:30px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px;font-size:12px;display:flex}.brand strong{color:#fff;font-size:18px;display:block}.brand-mark{color:#75cbbc;border:1px solid #60828d;border-radius:11px;place-items:center;width:43px;height:43px;font-size:20px;font-weight:800;display:grid}.workspace{color:#fff;border-block:1px solid #28434e;gap:15px;margin:24px 0;padding:20px 10px;display:flex}.workspace small{color:#92acb7;font-size:11px;display:block}nav{gap:5px;display:grid}nav a{border-radius:7px;padding:11px 14px}nav a:hover{background:#1d3b46}nav a.router-link-active{color:#edfffa;background:#1a514f;box-shadow:inset 3px 0 #78cebb}.sidebar-bottom{justify-content:space-between;align-items:center;margin-top:auto;font-size:12px;display:flex}.sidebar-bottom button{color:#bcd2da;background:0 0;border-color:#355460;font-size:11px}.shell{margin-left:228px}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:15px;height:72px;padding:0 32px;display:flex}.server{border:1px solid var(--line);border-radius:7px;margin-left:auto;padding:6px 16px}.menu{display:none}main{max-width:1800px;margin:auto;padding:28px 32px;animation:.2s appear}h1{letter-spacing:-.5px;margin:0;font-size:25px;font-weight:650}h2{margin:0 0 20px;font-size:17px;font-weight:600}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.card{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:22px;padding:24px;box-shadow:0 2px 6px #172b3a04}.tabs{border-bottom:1px solid var(--line);gap:8px;margin-bottom:20px;padding-bottom:12px;display:flex}.tabs button{color:#657786;border:0}.tabs .active{color:var(--teal);background:#e9f5f2}.filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.filters input{width:auto;min-width:140px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;text-align:left;min-width:100%}th{color:#657786;background:#f7f9fa;font-size:12px;font-weight:600}th,td{border-bottom:1px solid var(--line);padding:13px 15px}td{text-overflow:ellipsis;max-width:380px;overflow:hidden}td button{margin-right:5px;padding:5px 10px;font-size:12px}.empty{text-align:center;color:#657786;padding:45px}.pager{justify-content:flex-end;align-items:center;gap:14px;margin-top:18px;display:flex}.pager span{color:#657786;font-size:12px}input,select,textarea,output{color:#172b3a;background:#fff;border:1px solid #d8e1e5;border-radius:7px;width:100%;min-height:42px;padding:10px 12px;display:block}label{color:#526570;margin-bottom:16px;font-size:12px;font-weight:600;display:block}label input,label select,label textarea,label output{margin-top:6px;font-size:14px;font-weight:400}textarea{resize:vertical;min-height:90px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}fieldset{border:1px solid var(--line);border-radius:9px;margin:8px 0 20px;padding:20px}legend{color:#526570;padding:0 7px}.item-row{align-items:end;gap:10px;display:flex}.item-row label{flex:1;min-width:0}.item-row button{margin-bottom:16px}footer{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.overlay{z-index:100;background:#122b3e65;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:780px;max-width:100%;max-height:90vh;padding:26px;animation:.18s appear;overflow:auto;box-shadow:0 20px 70px #102b3633}.modal.small{width:440px}.error,.notice,.success{color:#a33b36;background:#fdf2f1;border:1px solid #efd1cf;border-radius:8px;padding:12px 16px}.notice{color:#896523;background:#fff8e9;border-color:#eeddba}.success{color:#267154;background:#eaf6f0;border-color:#cce5d8}.stats{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.stats strong{margin:12px 0;font-size:32px;display:block}.stats span,.stats small{color:#657786}.narrow{max-width:700px}.login{max-width:410px;margin:12vh auto;padding:30px}.login h1{margin:20px 0 30px;font-size:23px}.login .primary{width:100%}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (width<=800px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:none}.shell{margin-left:0}.menu{display:block}main{padding:20px 16px}.topbar{padding:0 16px}.card{padding:18px}.form-grid,.stats{grid-template-columns:1fr}.overlay{padding:12px}.modal{padding:20px}.item-row{flex-wrap:wrap}.item-row label{flex-basis:38%}h1{font-size:22px}.login{max-width:none;margin:8vh 15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.sidebar .brand{letter-spacing:.3px;padding-inline:12px;line-height:1.3}.sidebar .brand strong{letter-spacing:-.3px;margin-top:3px;font-weight:650}.workspace{align-items:center;gap:11px;margin:32px 10px 22px;padding:15px 0;font-size:13px;font-weight:600}.workspace-mark{color:#a5d5cf;background:#284551;border-radius:8px;place-items:center;width:33px;height:33px;font-size:11px;display:grid}.workspace small{margin-top:2px;font-weight:400}nav a{align-items:center;gap:12px;min-height:43px;padding:11px 13px;font-size:13px;font-weight:500;display:flex}.nav-icon{flex:none;width:18px;height:18px}nav a.router-link-active .nav-icon{color:#8bdbc9}.sidebar-bottom{border-top:1px solid #28434e;padding:18px 8px 0}.sidebar nav{overflow:auto}.sidebar-shade{z-index:19;background:#102b3650;border:0;border-radius:0;position:fixed;inset:0}
