@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--accent:#3b82f6;--accent-hover:#2563eb;--green:#10b981;--green-bg:#ecfdf5;--red:#ef4444;--red-bg:#fef2f2;--amber:#f59e0b;--amber-bg:#fffbeb;--radius:8px;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--transition:all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);transition:var(--transition);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:1080px;margin:0 auto;padding:0 20px 60px}@media (max-width:640px){.container{padding:0 12px 40px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 20px;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.page-header p.subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}@media (max-width:640px){.page-header{flex-direction:column;align-items:stretch;gap:10px;margin:20px 0 16px}.page-header .btn,.page-header a.btn{text-align:center;width:100%}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}@media (max-width:640px){.card{padding:14px}}.grid{gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:800px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.grid-4,.grid-3{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.stat .label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500}.stat .value{letter-spacing:-.01em;font-size:20px;font-weight:700}.stat .value.green{color:var(--green)}.stat .value.red{color:var(--red)}.stat .value.amber{color:var(--amber)}@media (max-width:640px){.stat{padding:12px}.stat .value{font-size:16px}}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 12px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}tbody tr:hover{background:#f8fafc}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap::-webkit-scrollbar{height:6px}.table-wrap::-webkit-scrollbar-track{background:0 0}.table-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}@media (max-width:600px){th,td{padding:8px 10px;font-size:12px}}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:#f8fafc;border-color:#cbd5e1}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--red);border-color:var(--border)}.btn-danger:hover{background:var(--red-bg);border-color:#fca5a5}.btn-sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{text-transform:capitalize;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-pending{background:var(--amber-bg);color:var(--amber)}.badge-allotted{background:var(--green-bg);color:var(--green)}.badge-not_allotted{background:var(--red-bg);color:var(--red)}.badge-open{color:var(--accent);background:#eff6ff}.badge-closed{color:#52525b;background:#f4f4f5}.badge-listed{background:var(--green-bg);color:var(--green)}form .field{margin-bottom:14px}label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:500;display:block}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);transition:var(--transition);background:#fff;padding:8px 12px;font-family:inherit;font-size:13px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3b82f626}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:560px){.form-row{grid-template-columns:1fr}}@media (max-width:768px){input,select,textarea{padding:10px 12px;font-size:16px}}.error-text{color:var(--red);background:var(--red-bg);border-radius:var(--radius);border:1px solid #fca5a5;margin-bottom:14px;padding:10px 14px;font-size:13px}.success-text{color:var(--green);background:var(--green-bg);border-radius:var(--radius);border:1px solid #a7f3d0;margin-bottom:14px;padding:10px 14px;font-size:13px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:13px}.muted{color:var(--text-muted)}.section-title{letter-spacing:-.01em;margin:0 0 14px;font-size:14px;font-weight:600}nav.navbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}nav.navbar .inner{justify-content:space-between;align-items:center;max-width:1080px;height:54px;margin:0 auto;padding:0 20px;display:flex}nav.navbar .brand-bar{justify-content:space-between;align-items:center;display:flex}nav.navbar .brand{color:var(--text);font-size:14px;font-weight:700}nav.navbar .menu-toggle{cursor:pointer;color:var(--text-muted);border-radius:var(--radius);transition:var(--transition);background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;display:none}nav.navbar .menu-toggle:hover{color:var(--text);background:#f1f5f9}nav.navbar .links{align-items:center;gap:4px;display:flex}nav.navbar .links a{color:var(--text-muted);border-radius:var(--radius);padding:6px 10px;font-size:13px;font-weight:500}nav.navbar .links a:hover{color:var(--text);background:#f1f5f9;text-decoration:none}nav.navbar .links a.active{color:var(--accent);background:#eff6ff}@media (max-width:640px){nav.navbar .inner{flex-direction:column;align-items:stretch;gap:0;height:auto;padding:10px 16px}nav.navbar .brand-bar{width:100%}nav.navbar .menu-toggle{display:block}nav.navbar .links{border-top:1px solid var(--border);flex-direction:column;align-items:stretch;gap:6px;width:100%;margin-top:12px;padding-top:12px;display:none}nav.navbar .links.open{display:flex}nav.navbar .links a{width:100%;padding:8px 12px;font-size:13px}nav.navbar .links .logout-btn{justify-content:center;width:100%;margin-top:6px;margin-left:0!important}}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:100%;max-width:340px;padding:28px}.login-card h1{margin:0 0 4px;font-size:18px}.login-card p{color:var(--text-muted);margin:0 0 20px;font-size:13px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;transition:var(--transition);background:#0f172a66;justify-content:center;align-items:center;padding:20px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:#fff;margin:auto;padding:24px;position:relative}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{margin:0;font-size:16px;font-weight:600}.modal-close{cursor:pointer;color:var(--text-muted);transition:var(--transition);background:0 0;border:none;font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}@media (max-width:480px){.modal-overlay{padding:12px 10px}.modal{border-radius:12px;padding:20px 16px}.modal-header{margin-bottom:16px}.modal-header h2{font-size:18px}}.actions-row{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}@media (max-width:480px){.actions-row{flex-direction:column-reverse;gap:8px}.actions-row .btn,.actions-row button{width:100%;margin-left:0!important}}.text-right{text-align:right}
