:root{
  --bg:#f7fafc;
  --bg2:#eef4f8;
  --panel:#ffffff;
  --panel2:#f4f8fb;
  --text:#073047;
  --muted:#60788a;
  --line:rgba(7,48,71,.12);
  --brand:#e31b86;
  --brand2:#ff8a00;
  --navy:#073047;
  --teal:#003f5c;
  --green:#27a56b;
  --red:#d94a5c;
  --shadow:0 20px 60px rgba(7,48,71,.12);
  --radius:22px;
}
body.dark{
  --bg:#071827;
  --bg2:#0b2234;
  --panel:#102a3d;
  --panel2:#12344b;
  --text:#f2fbff;
  --muted:#a8bdcb;
  --line:rgba(255,255,255,.13);
  --shadow:0 22px 70px rgba(0,0,0,.38);
}

.timesheet-card {
  margin-bottom: 28px;
}

.form-grid input,
.form-grid select {
  min-height: 48px;
  height: 48px;
  padding: 10px 14px;
}

.form-grid .btn {
  min-height: 48px;
  height: 48px;
  padding: 10px 16px;
}

.form-grid textarea {
  min-height: 90px;
}

/* Fix oversized Add Column form fields */
.form-grid input,
.form-grid select {
  min-height: 48px !important;
  height: 48px !important;
  padding: 10px 14px !important;
}

.form-grid .btn {
  min-height: 48px !important;
  height: 48px !important;
  padding: 10px 16px !important;
}

.form-grid label {
  gap: 8px;
}

.form-grid {
  gap: 16px;
}

*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top right,rgba(227,27,134,.10),transparent 28%),linear-gradient(135deg,var(--bg),var(--bg2));color:var(--text);min-height:100vh;transition:background .25s,color .25s}
.top-accent{height:7px;background:linear-gradient(90deg,var(--brand),var(--brand),var(--brand2));position:fixed;top:0;left:0;right:0;z-index:30}.app-shell{display:flex;min-height:100vh}.sidebar{width:286px;padding:28px 24px;background:color-mix(in srgb,var(--panel) 92%,transparent);border-right:1px solid var(--line);backdrop-filter:blur(18px);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;margin-bottom:34px}.brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;font-weight:900;color:#fff;box-shadow:0 12px 28px rgba(227,27,134,.28)}.brand span,.sidebar small,.muted,small{display:block;color:var(--muted)}nav{display:grid;gap:8px}nav a,.logout{color:var(--text);text-decoration:none;padding:12px 14px;border-radius:14px;font-weight:750}nav a:hover,.logout:hover,.theme-toggle:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.theme-toggle{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:11px 13px;border-radius:14px;font-weight:800;cursor:pointer;text-align:left}.main{flex:1;padding:42px 34px;overflow:auto}.main-auth{display:grid;place-items:center}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-header h1{font-size:34px;margin:0;color:var(--navy)}body.dark .page-header h1{color:var(--text)}.page-header p{margin:8px 0 0;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.auth-card{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;max-width:1040px;width:100%;align-items:center}.auth-hero h1{font-size:56px;line-height:1;margin:16px 0;color:var(--navy)}body.dark .auth-hero h1{color:var(--text)}.auth-hero p{font-size:18px;color:var(--muted);line-height:1.6}.pill{display:inline-flex;padding:9px 13px;border-radius:999px;background:rgba(227,27,134,.10);border:1px solid rgba(227,27,134,.25);color:var(--brand);font-weight:850}.login-card{display:grid;gap:16px}.form-grid{display:grid;gap:16px}label{display:grid;gap:8px;color:var(--text);font-weight:750}input,select{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:12px 13px;border-radius:13px;outline:none}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(227,27,134,.10)}option{color:#073047;background:#fff}.btn{border:0;border-radius:13px;padding:12px 16px;font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 12px 28px rgba(227,27,134,.22);color:#fff}.subtle{background:var(--panel2);border:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.stat span{color:var(--muted)}.stat strong{font-size:36px;margin-top:8px;display:block;color:var(--brand)}.grid-two{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:20px;
  align-items:start;
}.stack{display:grid;gap:12px}.list-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel2)}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar,.filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.filters{margin-bottom:22px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--teal);font-size:13px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}body.dark th{color:#d4f0ff}td input,td select{min-width:95px}.flash-wrap{position:fixed;right:22px;top:22px;z-index:50;display:grid;gap:10px}.flash{padding:14px 16px;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--panel)}.flash.success{border-color:rgba(39,165,107,.55)}.flash.error{border-color:rgba(217,74,92,.55)}.page-narrow{max-width:560px}.small{font-size:13px}.card-title h2,h2{margin-top:0}.edit-panel{border:1px solid var(--line);border-radius:16px;background:var(--panel2);overflow:hidden}.edit-panel summary{list-style:none;cursor:pointer}.edit-panel summary::-webkit-details-marker{display:none}.edit-panel .list-row{border:0;border-radius:0;background:transparent}.edit-body{padding:0 14px 14px}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;margin-top:4px}.compact-form label:nth-child(3){grid-column:span 2}.compact-form button{width:max-content}.admin-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:900px){.app-shell{display:block}.sidebar{width:auto;height:auto;position:relative}.main{padding:24px 20px}.auth-card,.grid-two{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.auth-hero h1{font-size:38px}.page-header{align-items:flex-start;flex-direction:column}.compact-form{grid-template-columns:1fr}.compact-form label:nth-child(3){grid-column:auto}}
@media(max-width:560px){.stats-grid{grid-template-columns:1fr}.toolbar,.filters{display:grid}.card{padding:16px}.sidebar{padding:16px}.auth-hero h1{font-size:32px}}

.brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 14px;
    margin-bottom: 34px;
}

.brand-logo {
    width: 140px;
    height: auto;
    object-fit: contain;
}