:root{--bg: #f7f4ef;--surface: #ffffff;--text: #1f1a17;--muted: #6b6259;--brand: #c39a5b;--brand-dark: #9f7b43;--accent: #0f3057;--maroon: #6d1f2f;--border: #e5dac8;--radius: 14px;--shadow: 0 12px 24px rgba(31, 26, 23, .08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#f1e6d0 0%,var(--bg) 45%),linear-gradient(140deg,#f7f4ef,#efe5d4);color:var(--text);font-family:Manrope,sans-serif}h1,h2,h3{font-family:Playfair Display,serif;margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:linear-gradient(180deg,#16120e,#231910);color:#f3e7d4;padding:24px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-footer{padding-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.user-role{font-size:.75rem;color:#cfb88f;text-transform:uppercase;letter-spacing:.5px}.btn-logout{background:#c39a5b33;color:#f7e9cf;border:1px solid rgba(195,154,91,.4);border-radius:8px;padding:8px 12px;font-size:.85rem;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#c39a5b66}.user-email{font-size:.85rem;color:#555;margin-right:8px}.sidebar h1{font-size:30px}.sidebar p{color:#cfb88f;margin:8px 0 24px}.sidebar nav{flex:1;display:grid;gap:8px;align-content:start}.sidebar a{text-decoration:none;color:#ebdfcc;padding:11px 12px;border-radius:10px}.sidebar a.active,.sidebar a:hover{background:#c39a5b33;color:#f7e9cf}.content{padding:20px}.topbar{background:#ffffffe6;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar small{color:var(--muted)}.actions,.actions-row{display:flex;gap:10px;flex-wrap:wrap}button,.btn{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:10px;padding:10px 14px;font-weight:600;text-decoration:none}select{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;font:inherit}button.primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:#1d1408}.btn.outline{border-color:var(--accent);color:var(--accent)}.page-body{margin-top:20px;display:grid;gap:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.inset-panel{box-shadow:none;background:linear-gradient(180deg,#fff,#faf5ed)}.panel-header{display:flex;justify-content:space-between;align-items:end;gap:16px}.muted,.muted-text{color:var(--muted)}.muted-text{font-size:13px}.filter-field{min-width:170px;display:grid;gap:8px;color:var(--muted)}.card p{margin:10px 0 0;font-size:26px;color:var(--accent);font-weight:700}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);padding:10px;text-align:left;white-space:nowrap}.status{display:inline-block;background:#f4ebdb;color:#6a4a15;border:1px solid #e4d0a7;border-radius:999px;padding:4px 10px;font-size:12px}.list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.list li{padding:10px;border:1px solid var(--border);border-radius:10px;display:flex;justify-content:space-between;gap:10px}.calendar-placeholder{margin-top:12px;min-height:260px;border-radius:12px;background:linear-gradient(135deg,#0f305714,#6d1f2f14);border:1px dashed #bca886;display:grid;place-items:center;color:var(--muted);font-weight:600}.calendar-panel,.approvals-page{display:grid;gap:18px}.approvals-forms{align-items:start}.approvals-forms form{display:grid;gap:10px}.form-message{margin:0;padding:12px 14px;border-radius:12px;font-weight:600}.form-message.success{background:#ebf6ee;color:#285943;border:1px solid #badbc3}.form-message.error{background:#fbecef;color:#6d1f2f;border:1px solid #ebc5cd}.cell-capitalize{text-transform:capitalize}.calendar-header{display:flex;justify-content:space-between;align-items:end;gap:16px}.calendar-header p{margin:8px 0 0;color:var(--muted)}.calendar-toolbar{min-width:220px}.calendar-toolbar label{display:grid;gap:8px;color:var(--muted);font-size:14px}.calendar-legend{display:flex;gap:12px;flex-wrap:wrap}.legend-item{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:13px}.legend-item i{width:12px;height:12px;border-radius:999px;display:inline-block}.calendar-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.calendar-sidebar{border:1px solid var(--border);border-radius:14px;padding:16px;background:linear-gradient(180deg,#fff,#f6efe4)}.calendar-sidebar h4{margin-bottom:14px}.detail-list{display:grid;gap:12px}.detail-list div{display:grid;gap:4px}.detail-list small,.calendar-empty{color:var(--muted)}.fc{--fc-border-color: var(--border);--fc-page-bg-color: transparent;--fc-neutral-bg-color: #f7f1e7;--fc-today-bg-color: rgba(195, 154, 91, .12)}.fc .fc-toolbar-title,.fc .fc-col-header-cell-cushion,.fc .fc-timegrid-slot-label-cushion,.fc .fc-daygrid-day-number{color:var(--text)}.fc .fc-button-primary{background:var(--accent);border-color:var(--accent)}.fc .fc-button-primary:not(:disabled):active,.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:hover{background:#143f72;border-color:#143f72}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}input,textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;font:inherit}textarea{min-height:90px;grid-column:span 2}@media (max-width: 1024px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.cards,.grid-2,.grid-3,.grid-form,.calendar-grid{grid-template-columns:1fr}.calendar-header{align-items:stretch;flex-direction:column}textarea{grid-column:span 1}}
