:root{--green:#123b2a;--green2:#1f6345;--gold:#d6a83c;--bg:#f5f7f6;--text:#17231d;--muted:#68756e;--card:#fff;--danger:#a92c35;--line:#dfe6e2;--shadow:0 10px 30px rgba(18,59,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{height:64px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20}.brand{font-weight:800;letter-spacing:.2px}.top nav{display:flex;gap:18px}.top nav a{color:#fff;text-decoration:none}.hero{padding:90px 8%;background:linear-gradient(135deg,#123b2a,#215f44);color:#fff}.hero h1{font-size:clamp(34px,5vw,64px);max-width:850px;margin:0 0 20px}.hero p{font-size:18px;max-width:750px;line-height:1.7}.actions{display:flex;gap:10px;flex-wrap:wrap}.public-section{padding:55px 8%;max-width:1400px;margin:auto}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.stat{font-size:32px;font-weight:800;margin-top:8px}.muted{color:var(--muted)}.notice{padding:14px;border-left:4px solid var(--gold);background:#fff9e8;margin-top:18px;border-radius:8px}.btn{background:var(--green);color:#fff;border:0;border-radius:9px;padding:10px 15px;font-weight:700}.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--green)}.btn.danger{background:var(--danger)}.btn.success{background:#26754e}.btn.small{padding:6px 9px;font-size:13px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef5f1,#fff)}.login .panel{width:min(480px,100%)}.form{display:grid;gap:11px}.form input,.form select,.form textarea,input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd9d3;border-radius:9px;background:#fff}.form textarea{min-height:90px;resize:vertical}.portal{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:var(--green);color:#fff;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}.side button{width:100%;text-align:left;border:0;background:transparent;color:#dcebe3;padding:11px 12px;border-radius:8px;margin:2px 0}.side button.active,.side button:hover{background:#215f44;color:#fff}.side hr{border:0;border-top:1px solid #ffffff26;margin:15px 0}.main{padding:28px;min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.toolbar h2{margin:0 0 5px}.tablewrap{overflow:auto}.table{border-collapse:collapse;width:100%;min-width:650px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.table th{background:#f7faf8}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#edf1ee}.badge.ok{background:#dff4e8;color:#21633f}.badge.warn{background:#fff0c9;color:#7b5b00}.badge.bad{background:#fbe0e2;color:#8b232b}.item{padding:15px 0;border-bottom:1px solid var(--line)}.section{margin-top:20px}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:18px;z-index:50}.modalbox{background:#fff;border-radius:15px;width:min(900px,100%);max-height:90vh;overflow:auto;padding:22px}.q{padding:18px 0;border-bottom:1px solid var(--line)}.q label{display:block;margin:8px 0}.option{display:flex;gap:8px;align-items:center}.option input{width:auto}.toast{position:fixed;right:18px;bottom:18px;background:#173c2b;color:#fff;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;z-index:100;transition:.2s}.toast.show{opacity:1}.offline{position:fixed;left:12px;bottom:12px;background:#9a6811;color:#fff;padding:6px 9px;border-radius:8px;font-size:12px;z-index:100}@media(max-width:850px){.portal{grid-template-columns:1fr}.side{position:relative;height:auto;display:flex;gap:5px;overflow:auto}.side .brand,.side hr{display:none}.side button{white-space:nowrap;width:auto}.main{padding:16px}.grid2{grid-template-columns:1fr}.top nav{display:none}.hero{padding:60px 6%}.public-section{padding:40px 6%}}
