
:root{--navy:#0e3a53;--navy-2:#0b2f44;--sky:#e8f3fb;--leaf:#1f874f;--leaf-2:#187045;--leaf-100:#e8f6ef;--ink:#0f1b2b;--text:#22323f;--muted:#6b7c8a;--white:#fff;--ring: rgba(31,135,79,.45);--shadow: 0 10px 22px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);--shadow-sm: 0 2px 6px rgba(0,0,0,.08)}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:#f7fafc}
.container{max-width:1200px;margin:0 auto;padding:18px}
.topbar{background:var(--navy);color:#cfe6f6;position:sticky;top:0;z-index:50;box-shadow:var(--shadow-sm)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between}
.brand{font-weight:900;letter-spacing:.3px;font-size:1.25rem}.brand span{color:#9bd06d}
.nav .btn{margin-left:8px}
h1,h2,h3{color:var(--ink);margin:10px 0 8px}h1{font-size:1.8rem}h2{font-size:1.35rem}
.card{background:#fff;border:1px solid #e6eef6;border-radius:24px;padding:18px;box-shadow:var(--shadow);transition:transform .18s ease, box-shadow .18s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.12), 0 5px 14px rgba(0,0,0,.08)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
table{border-collapse:separate;border-spacing:0;width:100%;background:#fff;border:1px solid #e6eef6;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
th,td{padding:12px 14px;border-bottom:1px solid #eef3f8}th{background:#f2f8fd;text-align:left;color:#0f314a}
.ok,.err{padding:12px 14px;border-radius:12px;margin:12px 0;font-weight:700}.ok{background:#ecfbf1;border:1px solid #c7efd5;color:#1c6b3a}.err{background:#fff0f0;border:1px solid #f3c0c0;color:#a33}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;transition:all .18s ease;box-shadow:var(--shadow-sm);background:#fff;color:var(--navy)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.12),0 3px 8px rgba(0,0,0,.08)}
.btn.primary{background:linear-gradient(180deg,var(--leaf) 0%, var(--leaf-2) 100%);color:#fff;border-color:rgba(0,0,0,.05)}
.btn.ghost{background:rgba(255,255,255,.1);color:#cfe6f6;border:1px solid rgba(255,255,255,.25)}
.btn.small{min-height:30px;padding:6px 10px;font-size:.9rem}
.footer{margin-top:34px;background:#082536;color:#b9cbd8}.footer-inner{display:flex;align-items:center;justify-content:space-between}
input,select,textarea{width:100%;padding:12px 14px;border-radius:16px;border:1px solid #e1e9f2;background:#fff;box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 0 0 rgba(31,135,79,0);transition:box-shadow .2s ease, border-color .2s ease, transform .2s ease}
input:hover,select:hover,textarea:hover{box-shadow:0 6px 16px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);border-color:#d7e5f1}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 4px var(--ring)}
label{display:block;font-size:.93rem;color:#0f314a;margin:6px 2px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}form .full{grid-column:1/-1}
