:root{--font-ui:"Agenda","Agenda Medium","Arial Narrow","Liberation Sans Narrow","Nimbus Sans Narrow","Avenir Next Condensed","Avenir Next","Helvetica Neue",Arial,sans-serif;--bg-canvas:linear-gradient(180deg,#f4f7fb,#edf2f7);--panel:rgba(255,255,255,0.88);--panel-solid:#ffffff;--panel-border:rgba(148,163,184,0.26);--text-strong:#10233f;--text-main:#213a63;--text-soft:#5f7392;--accent:#1d5fd2;--accent-deep:#123b8e;--accent-soft:#e8f0ff;--success-soft:#e8f8ef;--success-text:#1d6a45;--danger-soft:#fdebec;--danger-text:#b23a48;--warning-soft:#fff4dd;--warning-text:#8f5a00;--shadow-soft:0 22px 50px rgba(30,41,59,0.08);--shadow-card:0 12px 30px rgba(15,23,42,0.08)}*{box-sizing:border-box}html{background:#edf2f7}body{margin:0;font-family:var(--font-ui);color:var(--text-main);background:var(--bg-canvas)}button,input,select,textarea{font:inherit}button{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}button:hover{transform:translateY(-1px)}.page-shell{padding:28px}.page-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.page-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.page-kicker{margin:0 0 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700}.page-title{margin:0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;color:var(--text-strong)}.page-subtitle{margin:10px 0 0;max-width:680px;color:var(--text-soft);font-size:15px;line-height:1.6}.danger-button,.ghost-button,.primary-button,.secondary-button{border-radius:14px;padding:10px 16px;font-size:14px;font-weight:700;cursor:pointer}.primary-button{border:1px solid var(--accent);background:linear-gradient(135deg,var(--accent) 0,#2f79ff 100%);color:white;box-shadow:0 10px 24px rgba(29,95,210,.25)}.secondary-button{border:1px solid rgba(29,95,210,.18);background:var(--accent-soft);color:var(--accent-deep)}.ghost-button{border:1px solid var(--panel-border);background:rgba(255,255,255,.78);color:var(--text-main)}.danger-button{border:1px solid rgba(178,58,72,.18);background:var(--danger-soft);color:var(--danger-text)}.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.field-label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:700;color:var(--text-main)}.select-input,.text-input{width:100%;border-radius:14px;border:1px solid rgba(148,163,184,.32);background:rgba(255,255,255,.95);padding:12px 14px;color:var(--text-strong);outline:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.select-input:focus,.text-input:focus{border-color:rgba(29,95,210,.45);box-shadow:0 0 0 4px rgba(29,95,210,.12)}.modal-backdrop{position:fixed;inset:0;background:rgba(11,23,44,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{width:100%;max-width:560px;padding:24px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.68);border-radius:24px;box-shadow:0 24px 80px rgba(15,23,42,.22)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-soft);padding:14px 18px}.data-table td{padding:16px 18px;font-size:14px;border-top:1px solid rgba(148,163,184,.18)}.surface-panel{background:rgba(255,255,255,.85);border:1px solid rgba(148,163,184,.2);border-radius:20px;box-shadow:var(--shadow-card)}.employee-request-feedback-list{display:grid;grid-gap:8px;gap:8px}.employee-request-feedback{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:rgba(255,255,255,.72);color:var(--text-main);font-size:13px;line-height:1.35}.employee-request-feedback>div:first-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.employee-request-feedback span{color:var(--text-soft);overflow-wrap:anywhere}.employee-request-feedback>div:last-child{flex:0 0 auto;font-weight:800;color:var(--text-strong);text-align:right}.employee-request-feedback-approved{background:var(--success-soft);border-color:rgba(29,106,69,.16)}.employee-request-feedback-rejected{background:var(--danger-soft);border-color:rgba(178,58,72,.16)}.employee-request-feedback-pending{background:var(--warning-soft);border-color:rgba(143,90,0,.16)}.event-chip{display:flex;align-items:center;gap:8px;flex:1 1 220px;max-width:320px;min-width:220px;padding:6px 10px;border:1px solid rgba(234,88,12,.18);border-radius:16px;background:#ffedd5;color:#9a3412;font-size:13px;text-align:left;cursor:pointer}.event-chip span{flex:0 0 auto;font-weight:800;color:#c2410c}.event-chip small,.event-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-chip small{color:rgba(154,52,18,.72)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,420px)}.login-card-compact{grid-template-columns:1fr}.login-hero-panel{padding:40px;gap:28px}.login-form-panel{padding:36px}.login-wordmark{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:14px;font-size:38px;line-height:1}.login-wordmark,.login-wordmark strong{color:#050505;font-weight:800}.login-feature-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.dashboard-columns{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));grid-gap:16px;gap:16px}.weekly-dashboard-columns{grid-template-columns:repeat(5,minmax(220px,1fr))}.dashboard-column-card{min-width:0}.employee-dashboard-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee-task-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.employee-task-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.employee-status-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}@media (max-width:900px){.page-shell{padding:18px}.page-hero{flex-direction:column;align-items:stretch}.employee-dashboard-columns{grid-template-columns:1fr;gap:12px}.employee-status-grid{flex-direction:column}}@media (max-width:640px){.employee-task-grid{grid-template-columns:1fr!important}.employee-task-card{border-radius:18px}}@media (max-width:720px){.page-shell{padding:12px}body:has(.modal-backdrop){overflow:hidden}.modal-backdrop{align-items:flex-end;justify-content:stretch;padding:10px}.responsive-modal-card{max-width:none!important;max-height:calc(100dvh - 20px);overflow-y:auto;border-radius:18px;padding:18px}.compact-modal-card{padding-bottom:max(18px,env(safe-area-inset-bottom))}.task-modal-card{max-height:calc(100dvh - 14px);padding:16px}.modal-header-row,.task-modal-header{align-items:flex-start!important;gap:12px!important;margin-bottom:14px!important}.task-modal-header{flex-direction:column}.task-modal-tools{width:100%;justify-content:space-between}.mode-toggle-label{flex:1 1 auto;min-width:0}.date-entry-row,.mobile-two-column{grid-template-columns:1fr!important}.form-section-header{align-items:stretch!important;flex-direction:column}.form-section-header .secondary-button{width:100%}.modal-action-row,.request-action-row{display:grid!important;grid-template-columns:1fr 1fr;grid-gap:8px!important;gap:8px!important}.modal-action-row .ghost-button,.modal-action-row .primary-button,.request-action-row .ghost-button,.request-action-row .primary-button{width:100%;min-height:44px;padding-inline:10px}.date-entry-row .ghost-button{width:100%}.absence-requests-modal{min-height:min(620px,calc(100dvh - 20px))}.request-list-scroll{max-height:calc(100dvh - 150px)!important;padding-right:0!important}.employee-request-feedback{display:grid}.employee-request-feedback>div:last-child{text-align:left}.event-chip{max-width:100%;min-width:0}.login-shell{padding:12px;align-items:start}.login-card{grid-template-columns:1fr;border-radius:20px}.login-wordmark{font-size:34px}.login-hero-panel{padding:22px 18px;gap:18px}.login-form-panel{padding:22px 18px 24px}.login-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{padding:8px 10px}.app-header-card{padding:10px 12px!important;gap:10px!important;align-items:stretch!important}.app-nav{width:100%;gap:6px!important}.app-session-card{width:100%;justify-content:space-between}.dashboard-columns{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;grid-gap:12px;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px}.dashboard-column-card{scroll-snap-align:start;scroll-snap-stop:always}.dashboard-columns.employee-dashboard-columns{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;overflow-x:visible;scroll-snap-type:none;padding-bottom:0}.dashboard-columns.employee-dashboard-columns .dashboard-column-card{scroll-snap-align:none;scroll-snap-stop:normal;width:100%}.dashboard-detach-button{display:none!important}}