:root{--bg:#f4f6f8;--ink:#17212b;--muted:#68737d;--line:#dfe5ea;--brand:#0d6245;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--ink)}
.hidden{display:none!important}.center-card{max-width:430px;margin:10vh auto;background:white;padding:28px;border:1px solid var(--line);border-radius:16px}
.brand{font-weight:800;color:var(--brand);letter-spacing:.08em;margin-bottom:20px}label{display:block;font-weight:700;font-size:14px;margin:13px 0}
input,select,textarea{width:100%;margin-top:7px;padding:11px;border:1px solid #ccd5dc;border-radius:8px;background:white}
textarea{min-height:90px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}
button.primary{background:var(--brand);color:white;border-color:var(--brand)}
header{background:#10231c;color:white;padding:16px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}
header b{font-size:20px}header small{display:block;color:#b8c7c0;margin-top:2px}.header-right{display:flex;align-items:center;gap:12px}
main{max-width:1180px;margin:28px auto;padding:0 18px 50px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
h1{margin:0 0 6px}p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
.cards article,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:20px}.cards span{display:block;color:var(--muted);margin-bottom:10px}
.cards strong{font-size:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}.actions{display:flex;gap:10px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
th{background:#f8fafb;color:var(--muted);font-size:13px}.message{margin:12px 0;padding:0}.message.error,.message.success{padding:12px;border-radius:8px}
.message.error{background:#fdecec;color:#9d1c1c}.message.success{background:#e8f5ee;color:#146c43}.danger{color:var(--danger)}
@media(max-width:850px){.cards{grid-template-columns:1fr 1fr}.page-head,header{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.header-right{flex-wrap:wrap}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}