:root{--bg:#0f172a;--panel:#111827;--card:#fff;--text:#111827;--muted:#6b7280;--primary:#2563eb;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--border:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f4f6;color:var(--text)}
.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:var(--bg);color:#fff;padding:24px;position:sticky;top:0;height:100vh}.brand{font-weight:700;font-size:20px;margin-bottom:24px;line-height:1.4}.user-box{padding:14px;background:rgba(255,255,255,.08);border-radius:14px;margin-bottom:18px}.user-role{opacity:.75}.sidebar nav a{display:block;color:#fff;text-decoration:none;padding:12px 14px;border-radius:10px;margin:6px 0;background:rgba(255,255,255,.04)}.sidebar nav a:hover{background:rgba(255,255,255,.12)}
.main-content{flex:1;padding:28px}.main-content.full-width{display:flex;align-items:center;justify-content:center}.page-header h1{margin:0 0 18px}.card{background:var(--card);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,23,42,.08);margin-bottom:20px}.login-card{width:min(420px,95vw)}.login-wrap{width:100%;display:flex;justify-content:center}.hint{margin-top:14px;color:var(--muted);font-size:14px;line-height:1.6}.alert{padding:14px 16px;border-radius:12px;margin-bottom:14px}.alert-success{background:#dcfce7;color:#166534}.alert-error{background:#fee2e2;color:#991b1b}
label{display:block;font-weight:700;margin-bottom:8px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;margin-bottom:14px;font-size:14px}button{border:none;cursor:pointer}.btn{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;color:#fff;font-weight:700}.btn-primary{background:var(--primary)}.btn-success{background:var(--success)}.btn-danger{background:var(--danger)}.btn-warning{background:var(--warning)}.btn-block{width:100%}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.stat span{display:block;color:var(--muted);margin-bottom:8px}.stat strong{font-size:32px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}th{background:#f9fafb}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.badge-pending{background:#fef3c7;color:#92400e}.badge-approved{background:#dcfce7;color:#166534}.badge-rejected{background:#fee2e2;color:#991b1b}.badge-postponed{background:#ffedd5;color:#9a3412}.badge-completed{background:#dbeafe;color:#1d4ed8}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.compact{grid-template-columns:1fr}.full-span{grid-column:1/-1}.toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}.decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.actions-row{display:flex;gap:10px;margin-top:12px;margin-bottom:12px}.inline-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.grid-two{display:grid;grid-template-columns:1fr 1.5fr;gap:18px}
@media (max-width:900px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:static}.form-grid,.grid-two{grid-template-columns:1fr}.main-content{padding:16px}.inline-grid{grid-template-columns:1fr}}
