:root{--ink:#172033;--muted:#667085;--line:#e4e7ec;--bg:#f6f7f9;--brand:#0f766e;--brand2:#14b8a6;--danger:#b42318;--warning:#b54708;--white:#fff}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--brand);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#102a2a;color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px;margin:0 8px 28px}.brand span,.login-logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--brand2),#0e7490);color:#fff;font-weight:800}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#d1e7e5;padding:11px 12px;border-radius:9px}.sidebar nav a:hover{background:#194441;color:#fff}.user{margin-top:auto;display:grid;padding:14px 10px;border-top:1px solid #31504e}.user small{color:#9fc5c1}.user a{color:#7dd3fc;margin-top:5px}.content{margin-left:240px;padding:32px;max-width:1600px}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.page-head h1{font-size:27px;margin:0}.page-head p{margin:3px 0;color:var(--muted)}.btn,button,input[type=submit]{display:inline-flex;border:0;border-radius:8px;background:var(--brand);color:#fff;padding:10px 15px;cursor:pointer;font-weight:650}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff;color:var(--danger);border:1px solid #fecdca}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 1px 2px #1018280a}.card small{color:var(--muted)}.card strong{display:block;font-size:27px;margin-top:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel h2{margin:0 0 16px;font-size:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;color:var(--muted);background:#fafafa}.badge{display:inline-flex;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px}.badge.warn{background:#fffaeb;color:var(--warning)}.badge.danger{background:#fef3f2;color:var(--danger)}.actions{display:flex;gap:8px}.filters,.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.form-card{max-width:980px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}label{font-weight:600}input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}textarea{min-height:95px}.error-message{color:var(--danger)}.message{padding:12px 16px;border-radius:8px;margin-bottom:18px;background:#ecfdf3;color:#067647}.message.error{background:#fef3f2;color:var(--danger)}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.detail-list div{border-bottom:1px solid var(--line);padding-bottom:10px}.detail-list small{display:block;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#d7fffa,#f6f7f9 45%)}.login-card{width:min(410px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 20px 50px #102a2a1c}.login-logo{margin-bottom:20px}.login-card h1{margin:0}.login-card form{display:grid;gap:15px;margin-top:24px}.mobile-head{display:none}.empty{color:var(--muted);padding:30px;text-align:center}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.filters,.form-grid,.detail-list{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);z-index:10;transition:.2s}.nav-open .sidebar{transform:none}.content{margin:0;padding:16px}.mobile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mobile-head button{padding:7px 11px}.page-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.cards{grid-template-columns:1fr}.actions{flex-wrap:wrap}}
