:root{--slate:#2A3638;--teal:#2F7D74;--gold:#C9962B;--pale:#F2F5F4;--line:#D5DCDB;--muted:#5E6B6C;--tealpale:#E6F1EF;--goldpale:#FBF4E4;--red:#B0413E;--redpale:#FBEAEA}
@font-face{font-family:Poppins;src:url(fonts/Poppins-Regular.ttf);font-weight:400}
@font-face{font-family:Poppins;src:url(fonts/Poppins-Medium.ttf);font-weight:500}
@font-face{font-family:Poppins;src:url(fonts/Poppins-Bold.ttf);font-weight:700}
*{box-sizing:border-box}
body{margin:0;font-family:Poppins,system-ui,sans-serif;font-size:14px;color:var(--slate);background:#F7F9F8;line-height:1.5}
a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}
header.top{background:var(--slate);color:#fff;border-bottom:3px solid var(--gold)}
header.top .in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
header.top img{height:34px}
header.top .brand{font-weight:700;letter-spacing:.06em;font-size:15px;line-height:1.1}
header.top .brand small{display:block;font-weight:400;letter-spacing:0;font-size:11px;color:#C7D2D1}
header.top nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}
header.top nav a{color:#E6EDEC;font-weight:500}
main{max-width:1180px;margin:0 auto;padding:22px 16px 60px}
h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:24px 0 8px}
.kicker{color:var(--teal);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.bar{width:60px;height:3px;background:var(--gold);margin:6px 0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:16px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.tile{background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:14px;text-align:center}
.tile b{display:block;font-size:24px}.tile span{color:var(--muted);font-size:12px}
table{width:100%;border-collapse:collapse;background:#fff}
th{background:var(--slate);color:#fff;font-weight:500;text-align:left;padding:7px 8px;font-size:13px}
td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
tr:nth-child(even) td{background:var(--pale)}
.scroll{overflow-x:auto}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:2px;font-weight:500}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:6px;width:100%;background:#fff;color:var(--slate)}
input[type=checkbox],input[type=radio]{width:auto}
textarea{min-height:70px}
td input,td select{padding:5px 6px}
.btn{display:inline-block;background:var(--teal);color:#fff;border:0;border-radius:6px;padding:9px 16px;font:inherit;font-weight:500;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.08)}
.btn.sec{background:#fff;color:var(--teal);border:1px solid var(--teal)}
.btn.gold{background:var(--gold)}.btn.danger{background:var(--red)}
.btn.small{padding:5px 10px;font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.flash{padding:10px 14px;border-radius:6px;margin-bottom:12px;border-left:4px solid}
.flash.ok{background:var(--tealpale);border-color:var(--teal)}.flash.error{background:var(--redpale);border-color:var(--red)}
.check{padding:8px 12px;border-radius:6px;margin:6px 0;border-left:4px solid}
.check.error{background:var(--redpale);border-color:var(--red)}.check.warn{background:var(--goldpale);border-color:var(--gold)}.check.info{background:var(--tealpale);border-color:var(--teal)}
.muted{color:var(--muted)}.small{font-size:12px}
.rec td{background:var(--tealpale)!important;font-weight:500}
details.group{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}
details.group>summary{padding:12px 16px;cursor:pointer;font-weight:700;background:var(--pale);border-radius:8px}
details.group .body{padding:14px 16px}
.chips label{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:4px 10px;margin:0 6px 6px 0;color:var(--slate);font-weight:400;font-size:13px;background:#fff}
.login{max-width:380px;margin:60px auto}.login .logo{text-align:center;margin-bottom:12px}.login .logo img{height:90px}
.qr{text-align:center}.qr img{width:220px;height:220px}
code{background:var(--pale);padding:2px 6px;border-radius:4px;word-break:break-all}
@media(max-width:640px){header.top nav{margin-left:0;width:100%}h1{font-size:19px}}
