body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f3f4f6;color:#111827}
.layout{display:flex;min-height:100vh}.sidebar{width:235px;background:#172033;color:#fff;padding:28px 20px}
.sidebar h1{font-size:21px;margin:0 0 28px}.sidebar a{display:block;color:#fff;text-decoration:none;padding:11px;border-radius:9px;margin:5px 0}
.sidebar a:hover{background:#2c3951}.content{flex:1;padding:32px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:#fff;border-radius:14px;padding:20px;margin-bottom:18px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.metric{font-size:30px;font-weight:700;margin-top:8px}input,select,button{box-sizing:border-box;width:100%;max-width:480px;padding:10px;margin:5px 0;border:1px solid #d1d5db;border-radius:8px}
.form-grid textarea{box-sizing:border-box;width:100%;max-width:none;padding:10px;margin:5px 0;border:1px solid #d1d5db;border-radius:8px;font:inherit}
button{background:#172033;color:#fff;font-weight:700;cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e5e7eb}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,480px));gap:10px 14px}.form-grid label{display:block;font-size:13px;font-weight:600;color:#4b5563;margin:2px 0}.form-grid input,.form-grid select,.form-grid button{max-width:none;width:100%}@media(max-width:900px){.form-grid{grid-template-columns:1fr}}

.alert{padding:12px;border-radius:8px;background:#fff7ed}.alert-danger{background:#fee2e2}.alert-warning{background:#fef3c7}.alert-info{background:#e0f2fe}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(220px,480px));gap:10px 14px}.grid-2 label{display:block;font-size:13px;font-weight:600;color:#4b5563}.grid-2 .full{grid-column:1/-1}textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
.menu-toggle,.menu-button{display:none}.mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}.mobile-action{display:flex;min-height:110px;align-items:center;gap:14px;padding:18px;border-radius:14px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.06)}.mobile-action-icon{font-size:34px}.mobile-action strong{display:block;font-size:18px}.mobile-action small{display:block;color:#6b7280;margin-top:5px}.mobile-note{font-size:14px;color:#4b5563}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:#172033}.login-card{width:min(420px,100%);box-sizing:border-box;background:#fff;border-radius:18px;padding:28px;box-shadow:0 16px 45px rgba(0,0,0,.3)}.login-card h1{text-align:center;margin-bottom:4px}.login-card>p{text-align:center;color:#6b7280}.login-logo{text-align:center;font-size:52px}.login-card label{display:block;font-weight:600;margin-top:18px}.login-card input{font-size:24px;letter-spacing:8px;text-align:center;max-width:none}.login-card button{max-width:none}
@media(max-width:900px){
  .layout{display:block}.menu-button{display:block;position:fixed;z-index:30;top:10px;left:10px;width:44px;height:44px;border-radius:10px;background:#172033;color:#fff;text-align:center;line-height:44px;font-size:24px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
  .sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:min(82vw,300px);box-sizing:border-box;overflow-y:auto;transform:translateX(-105%);transition:transform .2s ease;padding-top:66px}.sidebar h1{font-size:19px}.menu-toggle:checked~.sidebar{transform:translateX(0)}
  .content{padding:70px 14px 24px}.content>h2{font-size:25px;margin-top:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{font-size:24px}.card{padding:15px;border-radius:12px;margin-bottom:12px;overflow-x:auto}
  table{min-width:720px;font-size:14px}th,td{padding:8px}.form-grid,.grid-2{grid-template-columns:1fr}.grid-2 .full{grid-column:auto}.form-grid input,.form-grid select,.form-grid textarea,.form-grid button,input,select,button{max-width:none;width:100%;min-height:44px}
  .mobile-actions{grid-template-columns:1fr}.mobile-action{min-height:82px}.sidebar a{padding:10px}
}
@media(max-width:520px){.grid{grid-template-columns:1fr}.metric{font-size:26px}.content{padding-left:10px;padding-right:10px}}
