*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f6f8f7;color:#17372e}button,input,select,textarea{font:inherit}.hidden{display:none!important}.gate{min-height:100vh;display:grid;place-items:center;padding:20px}.card{background:#fff;border:1px solid #dde6e2;border-radius:18px;padding:18px;box-shadow:0 5px 20px rgba(23,63,53,.05);margin-bottom:18px}.auth-card{width:min(430px,100%);padding:28px}.logo{width:56px;height:56px;border-radius:17px;background:#173f35;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.logo.mini{width:38px;height:38px;font-size:19px;border-radius:11px}.muted{color:#70817b;font-size:12px}.tabs{display:flex;background:#eef3f1;border-radius:12px;padding:4px;margin:18px 0}.tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:9px}.tabs .active{background:#fff;font-weight:700;box-shadow:0 2px 7px #0001}.form{display:grid;gap:12px}.form label{display:grid;gap:5px;font-size:13px;font-weight:650}.gridform{grid-template-columns:1fr 1fr}.span2{grid-column:1/-1}input,select,textarea{width:100%;padding:11px;border:1px solid #cad8d3;border-radius:10px;background:#fff}.primary,.secondary{border:0;border-radius:10px;padding:10px 14px;font-weight:700}.primary{background:#173f35;color:#fff}.secondary{background:#e8f0ed;color:#173f35}.error{color:#b52929;font-size:13px}.info{background:#f0f6f4;border:1px solid #d7e6e0;padding:12px;border-radius:11px;font-size:13px;margin:10px 0}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{height:100vh;position:sticky;top:0;background:#173f35;color:#fff;padding:16px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:5px 4px 20px}.brand span,.userbox span{display:block;color:#b8cec6;font-size:11px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;color:#cde0d9;text-align:left;padding:11px;border-radius:10px}.sidebar nav button.active{background:#28584a;color:#fff;font-weight:700}.userbox{margin-top:auto;border-top:1px solid #ffffff22;padding-top:14px;display:flex;justify-content:space-between}.userbox button{background:#ffffff18;border:0;color:#fff;border-radius:8px;width:35px}.layout main{min-width:0}.layout header{height:72px;background:#fff;border-bottom:1px solid #dfe7e4;display:flex;align-items:center;gap:12px;padding:0 24px;position:sticky;top:0;z-index:5}.layout header h2{margin:0;font-size:20px}.layout header p{margin:2px 0 0;color:#76867f;font-size:12px}.layout header span{margin-left:auto;color:#27774d;font-size:12px;font-weight:700}.mobile-btn{display:none}.page{display:none;padding:22px;max-width:1450px;margin:auto}.page.active{display:block}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid #dde6e2;border-radius:16px;padding:16px}.metric span{font-size:12px;color:#71827b}.metric b{display:block;font-size:28px;margin-top:7px}.metric.warn{background:#fffdf6;border-color:#ead9aa}.metric.danger{background:#fffafa;border-color:#efcaca}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.head{display:flex;justify-content:space-between;align-items:center;gap:12px}.tools{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tools input{flex:1;min-width:220px}.tools select{width:auto;min-width:145px}.tablewrap{overflow:auto;border:1px solid #e0e7e4;border-radius:11px}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:10px 11px;border-bottom:1px solid #edf1ef;text-align:left;font-size:12px;white-space:nowrap}th{background:#f3f6f5;color:#5b6d66}.pill{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700}.green{background:#e5f4eb;color:#267147}.yellow{background:#fff3cc;color:#7d641c}.red{background:#fde8e8;color:#a62a2a}.listitem{border:1px solid #e0e7e4;padding:10px;border-radius:10px;margin:8px 0;display:flex;justify-content:space-between;gap:10px}.listitem span{font-size:11px;color:#72827c}.actions{display:flex;gap:6px}.actions button{border:0;border-radius:7px;padding:6px 8px}.actions .del{background:#fdeaea;color:#a02727}.modal{position:fixed;inset:0;background:#10282077;display:grid;place-items:center;padding:18px;z-index:50}.modalbox{background:#fff;border-radius:17px;padding:18px;width:min(650px,100%);max-height:90vh;overflow:auto}.modalbox .head button{border:0;background:#edf2f0;border-radius:8px;font-size:22px;width:34px;height:34px}.mini-metrics{grid-template-columns:repeat(3,1fr)}#toast{position:fixed;right:18px;bottom:18px;background:#173f35;color:white;padding:12px 14px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;z-index:100;max-width:360px}#toast.show{opacity:1;transform:none}#toast.err{background:#a83232}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-255px;width:240px;z-index:30;transition:.2s}.sidebar.open{left:0}.mobile-btn{display:block}.metrics{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.page{padding:14px}.layout header{padding:0 14px}}@media(max-width:560px){.metrics,.mini-metrics{grid-template-columns:1fr 1fr}.gridform{grid-template-columns:1fr}.span2{grid-column:auto}.tools{display:grid;grid-template-columns:1fr 1fr}.tools input{grid-column:1/-1;min-width:0}.tools select{width:100%;min-width:0}}