:root{--bg-deep: #0d1f2a;--bg-mid: #102b3a;--surface: #f6fafc;--surface-card: #ffffff;--text-primary: #13222f;--text-secondary: #4b6472;--brand: #0f8a8d;--brand-strong: #0c6f72;--accent: #f2a365;--border: #d7e2e8;--success: #2f9d66;--danger: #c05342;font-family:Manrope,Plus Jakarta Sans,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 8%,rgba(15,138,141,.2),transparent 28%),radial-gradient(circle at 88% 14%,rgba(242,163,101,.26),transparent 32%),linear-gradient(140deg,#f2f8fb,#e8f2f8 45%,#edf5f7);color:var(--text-primary)}#root{min-height:100vh}.panel{background:#ffffffe0;border:1px solid rgba(255,255,255,.42);box-shadow:0 24px 60px #102b3a1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px}.auth-page{min-height:100vh;width:min(1200px,calc(100% - 2rem));margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr auto;gap:1rem;align-items:stretch;padding:1.3rem 0}.auth-welcome{padding:clamp(1.4rem,3vw,2.4rem);display:grid;align-content:start;gap:.9rem;background:radial-gradient(circle at 82% 16%,rgba(15,138,141,.16),transparent 36%),radial-gradient(circle at 18% 84%,rgba(242,163,101,.2),transparent 34%),#ffffffe6}.auth-welcome h1{margin:.2rem 0 .4rem;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.12}.auth-welcome p{margin:0;color:var(--text-secondary);line-height:1.65}.welcome-links{margin-top:.5rem;display:grid;gap:.65rem}.welcome-link-card{border:1px solid rgba(15,138,141,.24);border-radius:16px;background:linear-gradient(135deg,#fffffff2,#e9f5f8e6);padding:.75rem .85rem;text-decoration:none;display:grid;gap:.25rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.welcome-link-card strong{color:var(--text-primary);font-size:.93rem;line-height:1.35}.welcome-link-card span{color:var(--brand-strong);font-size:.84rem;font-weight:700}.welcome-link-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #102b3a1f;border-color:#0f8a8d61}.welcome-stats{margin-top:.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.welcome-stats article{border:1px solid var(--border);border-radius:14px;background:#fffc;padding:.7rem;display:grid;gap:.2rem}.welcome-stats strong{font-size:1rem;color:var(--text-primary)}.welcome-stats span{font-size:.8rem;color:var(--text-secondary)}.auth-panel{max-width:100%;padding:clamp(1.5rem,4vw,2.5rem);animation:fade-up .52s ease both}.auth-branding{margin-bottom:.65rem}.auth-logo{width:auto;height:56px;display:block;object-fit:contain}.kicker{margin:0;text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;color:var(--brand-strong);font-weight:700}.auth-panel h2{margin:.6rem 0 .7rem;font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.1}.auth-panel p{margin:0;color:var(--text-secondary);line-height:1.6}.auth-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;gap:.7rem}.auth-footer p{margin:0;color:var(--text-secondary);font-size:.88rem}.auth-footer div{display:flex;gap:.5rem}.auth-footer button{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-secondary);font:inherit;font-size:.8rem;padding:.35rem .7rem;cursor:pointer}.auth-form{margin-top:1.3rem;display:grid;gap:.85rem}.demo-access-row{margin-top:.8rem;display:flex;gap:.6rem;flex-wrap:wrap}.secondary-btn{border:2px solid var(--brand);border-radius:12px;padding:.8rem 1.4rem;font:inherit;font-weight:700;font-size:.95rem;color:var(--brand-strong);background:#0f8a8d14;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0f8a8d1a}.secondary-btn:hover:not(:disabled){background:#0f8a8d26;box-shadow:0 4px 16px #0f8a8d33;transform:translateY(-2px)}.secondary-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0f8a8d1a}.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.auth-form label{display:grid;gap:.4rem;font-size:.92rem;color:var(--text-secondary)}.auth-form input{border:1px solid var(--border);background:#fbfeff;border-radius:12px;padding:.8rem .9rem;font:inherit;color:var(--text-primary)}.auth-form input:focus,.modal-form input:focus,.modal-form select:focus,.change-pw-form input:focus{outline:3px solid rgba(15,138,141,.22);border-color:var(--brand)}.primary-btn{border:none;border-radius:12px;padding:.95rem 1.8rem;font:inherit;font-weight:700;font-size:.97rem;color:#fff;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 16px #0f8a8d4d;position:relative;overflow:hidden}.primary-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .3s ease}.primary-btn:hover:not(:disabled){box-shadow:0 8px 24px #0f8a8d66;transform:translateY(-3px)}.primary-btn:hover:not(:disabled):before{opacity:1}.primary-btn:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f8a8d4d}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.hint{font-size:.87rem;color:var(--text-secondary)}.error-text{margin:0;color:var(--danger);font-weight:600;font-size:.9rem}.dashboard-shell{width:min(1400px,calc(100% - 1.4rem));margin:0 auto;min-height:100vh;padding:.8rem;display:grid;grid-template-columns:280px 1fr;gap:.9rem;position:relative}.dashboard-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar.collapsed{display:none}.sidebar{background:linear-gradient(175deg,var(--bg-deep) 0%,var(--bg-mid) 100%);color:#dceaf0;padding:1.2rem;display:grid;align-content:start;gap:1.1rem;border-radius:22px}.sidebar.collapsed .brand-block{grid-template-columns:1fr}.sidebar.collapsed .brand-block>div:last-child,.sidebar.collapsed .role-pill{font-size:0}.sidebar.collapsed .nav-item{justify-content:center;padding:.64rem;gap:.3rem}.sidebar.collapsed .nav-dot{display:none}.sidebar.collapsed .nav-short{display:inline-block}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .logout-link{width:100%;text-align:center;font-size:.72rem;padding:.5rem}.brand-block{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center}.brand-mark{width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#0c3648;background:linear-gradient(145deg,#89f2f5,#e7fbff)}.brand-logo{width:100%;height:100%;object-fit:contain}.brand-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;color:#9ac3d1}.brand-block h1{margin:.2rem 0 0;font-size:1.05rem;color:#f2fbff}.role-pill{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.42rem .8rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#a8c9d6}.nav-menu{display:grid;gap:.35rem}.nav-item{border:1px solid transparent;background:transparent;color:#c7dce6;display:flex;align-items:center;gap:.6rem;text-align:left;padding:.7rem .74rem;border-radius:12px;font:inherit;cursor:pointer}.nav-short{display:none;min-width:1.1rem;text-align:center;font-size:.74rem;font-weight:800;text-transform:uppercase}.nav-label{white-space:nowrap}.nav-item.active,.nav-item:hover{border-color:#89f2f552;background:#89f2f51a;color:#f2fbff}.nav-dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.logout-link{margin-top:.5rem;justify-self:start;border:none;background:#ffffff1a;color:#e5f2f7;border-radius:10px;padding:.6rem .8rem;cursor:pointer;font:inherit}.workspace{display:grid;grid-template-rows:auto 1fr;gap:.9rem;min-width:0;overflow:hidden}.dashboard-footer{margin-top:.2rem;padding:.75rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:.7rem}.dashboard-footer p{margin:0;color:var(--text-secondary);font-size:.82rem}.footer-links{display:flex;gap:.4rem;flex-wrap:wrap}.footer-links button{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text-secondary);font:inherit;font-size:.76rem;padding:.28rem .55rem;cursor:pointer}.tablet-role-nav{display:none}.menu-toggle-btn{border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text-primary);font:inherit;font-weight:800;letter-spacing:-.08em;width:2.5rem;height:2.5rem;display:grid;place-items:center;cursor:pointer}.menu-icon{width:1.1rem;height:.95rem;display:grid;align-content:space-between}.menu-icon-line{width:100%;height:2px;border-radius:999px;background:#1a2e3a;transform-origin:center;transition:transform .22s ease,opacity .22s ease}.menu-toggle-btn.active .menu-icon-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle-btn.active .menu-icon-line:nth-child(2){opacity:0}.menu-toggle-btn.active .menu-icon-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.sidebar-backdrop{display:none}.topbar{padding:.8rem;display:flex;gap:.8rem;justify-content:space-between;align-items:center}.server-time-wrap{min-width:0;width:min(420px,100%);display:grid;gap:.35rem;border:1px solid var(--border);border-radius:12px;background:#fff;padding:.58rem .75rem}.server-time-wrap span{color:var(--text-secondary);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.server-time-wrap strong{color:var(--text-primary);font-size:.98rem;font-weight:700}.topbar-actions{display:flex;align-items:center;gap:.55rem}.icon-btn{border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-primary);font:inherit;padding:.6rem .72rem;cursor:pointer}.icon-btn strong{color:var(--brand-strong)}.profile-btn{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.42rem .56rem;display:flex;gap:.56rem;align-items:center;cursor:pointer;color:var(--text-primary)}.profile-btn strong{display:block;font-size:.88rem}.profile-btn small{font-size:.76rem;color:var(--text-secondary)}.avatar{width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;font-weight:700;color:#f4fcff;background:linear-gradient(145deg,var(--brand),var(--brand-strong))}.content-grid{display:grid;gap:.9rem;grid-template-columns:repeat(12,minmax(0,1fr))}.welcome-card{grid-column:span 8;padding:1.15rem}.welcome-card h2{margin:.4rem 0 .45rem;font-size:clamp(1.25rem,3vw,2rem)}.welcome-card p{margin:0;color:var(--text-secondary);line-height:1.6}.quick-links{margin-top:.85rem;display:flex;gap:.5rem;flex-wrap:wrap}.text-chip{border:1px solid rgba(15,138,141,.28);background:#0f8a8d14;color:var(--brand-strong);padding:.42rem .68rem;border-radius:999px;font:inherit;font-size:.82rem;cursor:pointer}.metrics-card{grid-column:span 12;padding:.9rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.72rem}.metric{border:1px solid var(--border);border-radius:14px;background:#fff;padding:.8rem}.metric p{margin:0;color:var(--text-secondary);font-size:.84rem}.metric h3{margin:.4rem 0 .2rem;font-size:1.45rem}.trend{font-size:.8rem;font-weight:700}.trend.up{color:var(--success)}.trend.down{color:var(--danger)}.quick-actions,.events-card,.timeline-card,.progress-card,.news-card{padding:1rem}.quick-actions,.events-card,.timeline-card{grid-column:span 4}.progress-card,.news-card{grid-column:span 6}.quick-actions h3,.events-card h3,.timeline-card h3,.progress-card h3,.news-card h3{margin:0 0 .75rem;font-size:1rem}.action-grid{display:grid;gap:.5rem}.action-btn{border:1px solid var(--border);border-radius:11px;background:#fff;text-align:left;padding:.62rem .72rem;font:inherit;color:var(--text-primary);cursor:pointer}.action-btn:hover{border-color:#0f8a8d80;background:#0f8a8d0d}.events-card ul,.timeline-card ol{list-style:none;margin:0;padding:0;display:grid;gap:.66rem}.events-card li,.timeline-card li{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start}.date-pill{border-radius:8px;border:1px solid rgba(15,138,141,.35);color:var(--brand-strong);background:#0f8a8d14;padding:.2rem .42rem;font-size:.75rem;white-space:nowrap}.events-card p,.timeline-card p{margin:.22rem 0 0;color:var(--text-secondary);font-size:.84rem}.timeline-card time{font-weight:700;color:var(--brand-strong);font-size:.8rem}.progress-list{display:grid;gap:.75rem}.progress-list label{display:block;margin-bottom:.28rem;color:var(--text-secondary);font-size:.84rem}progress{width:100%;height:.72rem;border-radius:999px;overflow:hidden}progress::-webkit-progress-bar{background:#e6edf1;border-radius:999px}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:999px}progress::-moz-progress-bar{background:linear-gradient(90deg,var(--brand),var(--accent))}.news-list{display:grid;gap:.7rem}.news-list article{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.72rem}.tag{display:inline-block;margin-bottom:.34rem;font-size:.72rem;color:#7c5e2d;background:#f2a36533;border:1px solid rgba(242,163,101,.42);padding:.15rem .45rem;border-radius:999px}.news-list strong{display:block;font-size:.92rem}.news-list p{margin:.28rem 0 0;color:var(--text-secondary);font-size:.84rem}.stage-1,.stage-2,.stage-3,.stage-4,.stage-5,.stage-6,.stage-7{opacity:0;transform:translateY(12px);animation:fade-up .52s ease forwards}.stage-2{animation-delay:70ms}.stage-3{animation-delay:.12s}.stage-4{animation-delay:.16s}.stage-5{animation-delay:.21s}.stage-6{animation-delay:.25s}.stage-7{animation-delay:.29s}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.dashboard-shell{grid-template-columns:1fr}.sidebar{display:grid;position:fixed;top:.5rem;left:.5rem;bottom:.5rem;width:min(280px,calc(100vw - 1rem));z-index:50;transform:translate(-110%);transition:transform .22s ease}.dashboard-shell.sidebar-mobile-open .sidebar{transform:translate(0)}.dashboard-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-backdrop{display:none;position:fixed;inset:0;border:0;background:#07141d7a;z-index:45;cursor:pointer}.sidebar-backdrop.active{display:block}.tablet-role-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.55rem}.tablet-nav-item{border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text-secondary);font:inherit;font-size:.82rem;white-space:nowrap;padding:.52rem .7rem;cursor:pointer}.tablet-nav-item.active{border-color:#0f8a8d80;background:#0f8a8d14;color:var(--brand-strong);font-weight:700}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-card,.quick-actions,.events-card,.timeline-card,.progress-card,.news-card{grid-column:span 12}.timesheet-grid{grid-template-columns:1fr}.timesheet-history-head{flex-direction:column;align-items:stretch}.timesheet-filters input[type=search]{min-width:0;width:100%}.timesheet-filters select,.secondary-btn.compact{width:100%}.timesheet-entry-top{flex-direction:column;align-items:stretch}.timesheet-entry-grid{grid-template-columns:1fr}.timesheet-pagination{flex-direction:column;align-items:stretch}}@media(max-width:640px){.auth-page{width:calc(100% - 1rem);grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:.8rem 0}.auth-welcome{order:1}.auth-panel{order:2}.auth-footer{order:3;flex-direction:column;align-items:flex-start}.welcome-stats{grid-template-columns:1fr}.welcome-link-card{padding:.7rem .75rem}.tablet-role-nav{display:none}.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.metrics-grid{grid-template-columns:1fr}.dashboard-footer{flex-direction:column;align-items:flex-start}}.manage-section{padding:0 0 1rem;min-width:0;overflow:hidden}.manage-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0 .9rem;gap:.6rem}.manage-title{margin:0 0 .18rem;font-size:1.35rem;color:var(--text-primary)}.manage-subtitle{margin:0;color:var(--text-secondary);font-size:.85rem}.admin-screening-filters{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.admin-screening-filters input[type=search]{min-width:240px;flex:1}.admin-screening-filters input,.admin-screening-filters select{border:1px solid var(--border);border-radius:10px;padding:.58rem .72rem;font:inherit;color:var(--text-primary);background:#fff}.screening-contact-cell{display:grid;gap:.12rem}.screening-contact-cell small{color:var(--text-secondary);font-size:.76rem}.screening-risk-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.74rem;font-weight:700;border:1px solid transparent}.screening-risk-badge.risk-low{color:#1f7a4f;background:#2f9d6626;border-color:#2f9d664d}.screening-risk-badge.risk-moderate{color:#9b5a0c;background:#f2a36533;border-color:#f2a36559}.screening-risk-badge.risk-high{color:#8a2f26;background:#c0534229;border-color:#c0534257}.screening-risk-badge.risk-none{color:var(--text-secondary);background:#4b64721a;border-color:#4b64723d}.add-btn{padding:.6rem 1.1rem;font-size:.88rem;white-space:nowrap}.table-panel{padding:0;overflow:visible}.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:inherit}.data-table{width:100%;min-width:520px;border-collapse:collapse;font-size:.9rem}.data-table th{background:#f2f7fa;padding:.72rem 1rem;text-align:left;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border)}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-primary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#f8fbfd}.user-avatar-cell{display:flex;align-items:center;gap:.55rem}.avatar.sm{width:1.7rem;height:1.7rem;font-size:.7rem;border-radius:8px;flex-shrink:0}.role-badge{display:inline-block;padding:.2rem .52rem;border-radius:999px;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.role-badge.role-admin{background:#0f8a8d1a;color:var(--brand-strong);border:1px solid rgba(15,138,141,.28)}.role-badge.role-staff{background:#f2a3651f;color:#b8662a;border:1px solid rgba(242,163,101,.36)}.table-actions{display:flex;gap:.4rem}.tbl-btn{border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-primary);font:inherit;font-size:.8rem;padding:.28rem .62rem;cursor:pointer}.tbl-btn:hover{border-color:#0f8a8d73;background:#0f8a8d0f;color:var(--brand-strong)}.tbl-btn.danger{color:var(--danger);border-color:#dc3c3c3d}.tbl-btn.danger:hover{background:#dc3c3c0f;border-color:#dc3c3c73}.desc-cell{max-width:280px;color:var(--text-secondary);font-size:.85rem}.timesheet-panel,.timesheet-history-panel{padding:1.15rem 1.2rem}.timesheet-history-panel{margin-top:.9rem}.timesheet-form{display:grid;gap:.95rem}.timesheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.timesheet-form label{display:grid;gap:.4rem;font-size:.86rem;line-height:1.45;color:var(--text-secondary);font-weight:600}.timesheet-form input,.timesheet-form textarea{border:1px solid var(--border);background:#fbfeff;border-radius:11px;padding:.72rem .86rem;font:inherit;font-size:.92rem;line-height:1.45;color:var(--text-primary)}.timesheet-form textarea{resize:vertical;min-height:92px}.timesheet-char-meta{justify-self:end;color:var(--text-secondary);font-size:.76rem;font-weight:600}.timesheet-form input:focus,.timesheet-form textarea:focus{outline:3px solid rgba(15,138,141,.2);border-color:var(--brand)}.timesheet-actions{display:flex;gap:.62rem;flex-wrap:wrap;padding-top:.2rem}.hours-summary{border:1px solid rgba(15,138,141,.26);background:#0f8a8d12;border-radius:12px;padding:.58rem .72rem;display:flex;justify-content:space-between;align-items:center;gap:.4rem}.hours-summary span{color:var(--text-secondary);font-size:.82rem}.hours-summary strong{color:var(--brand-strong);font-size:.95rem}.timesheet-history-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.9rem}.timesheet-history-head h3{margin:0;font-size:1.04rem;letter-spacing:.01em}.timesheet-filters{display:flex;gap:.55rem;flex-wrap:wrap}.timesheet-filters input{border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem .66rem;font:inherit;font-size:.84rem;line-height:1.35}.timesheet-filters select{border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem .66rem;font:inherit;font-size:.84rem;line-height:1.35;color:var(--text-primary)}.secondary-btn.compact{padding:.5rem .72rem;font-size:.82rem}.timesheet-filters input[type=search]{min-width:240px}.readonly-note{color:var(--text-secondary);font-size:.79rem;font-weight:600;letter-spacing:.02em}.timesheet-empty{margin:0;border:1px dashed var(--border);border-radius:12px;padding:1rem;text-align:center;color:var(--text-secondary)}.timesheet-entry-list{display:grid;gap:.78rem}.timesheet-entry-card{border:1px solid var(--border);border-radius:14px;background:#fff;padding:.85rem;display:grid;gap:.78rem}.timesheet-entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.timesheet-meta-row{display:flex;flex-wrap:wrap;gap:.45rem}.timesheet-meta-chip{border:1px solid rgba(15,138,141,.22);background:#0f8a8d14;border-radius:999px;padding:.36rem .78rem;font-size:.9rem;line-height:1.2;color:var(--brand-strong);font-weight:700}.timesheet-meta-chip.strong{background:#f2a36529;border-color:#f2a3655c;color:#8b541c;font-size:.95rem}.timesheet-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.timesheet-entry-grid section{border:1px solid #edf2f5;border-radius:12px;background:#fbfdff;padding:.62rem .68rem}.timesheet-entry-grid h4{margin:0 0 .35rem;font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.timesheet-entry-grid p{margin:0;font-size:.9rem;line-height:1.55;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.timesheet-pagination{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-top:1px solid var(--border);padding-top:.65rem}.timesheet-pagination span{color:var(--text-secondary);font-size:.84rem}.timesheet-pagination-actions{display:flex;gap:.42rem}.admin-ts-selector{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}.admin-ts-label{display:flex;flex-direction:column;gap:.38rem;font-size:.82rem;font-weight:600;color:var(--text-secondary);flex:1;min-width:220px}.admin-ts-label select{padding:.58rem .78rem;border:1.5px solid rgba(15,138,141,.22);border-radius:10px;background:var(--surface);color:var(--text);font-size:.95rem;font-family:inherit;cursor:pointer;transition:border-color .18s}.admin-ts-label select:focus{outline:3px solid rgba(15,138,141,.2);border-color:var(--brand)}.ts-count-badge{display:inline-block;margin-left:.6rem;padding:.1rem .58rem;background:#0f8a8d1f;color:var(--brand);border-radius:30px;font-size:.78rem;font-weight:700;vertical-align:middle}.export-btn{background:#228b2214;color:#1a7a1a;border-color:#228b2247}.ts-date-range-label{display:flex;align-items:center;gap:.38rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.ts-date-range-label input[type=date]{padding:.42rem .6rem;border:1.5px solid rgba(15,138,141,.22);border-radius:10px;background:var(--surface);color:var(--text);font-size:.88rem;font-family:inherit;cursor:pointer}.ts-date-mode-toggle{display:flex;gap:.25rem;background:#0f8a8d12;border-radius:10px;padding:.18rem}.ts-date-mode-toggle .tbl-btn{border-radius:8px;padding:.28rem .72rem;font-size:.8rem;border:none;background:transparent;color:var(--text-secondary)}.ts-date-mode-toggle .tbl-btn.active-mode{background:var(--brand);color:#fff;font-weight:700}.export-btn:hover:not(:disabled){background:#228b2229;border-color:#228b2280}.export-btn:disabled{opacity:.4;cursor:not-allowed}.welcome-screening-link,.screening-link{margin:.62rem 0 .3rem;width:100%;display:flex;align-items:center;gap:.72rem;padding:.82rem .9rem;border:1px solid rgba(15,138,141,.38);border-radius:14px;background:linear-gradient(135deg,#0f8a8d21,#0c6f7212);color:#0f5f61;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;box-shadow:0 6px 18px #102b3a14}.welcome-screening-link:hover,.screening-link:hover{border-color:#0f8a8d8f;box-shadow:0 10px 22px #0f8a8d33;transform:translateY(-1px)}.welcome-screening-link:focus-visible,.screening-link:focus-visible{outline:3px solid rgba(15,138,141,.28);outline-offset:2px}.screening-link-icon{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#0f8a8d,#0c6f72);color:#fff;font-size:1.05rem;font-weight:800;flex-shrink:0;box-shadow:0 6px 14px #0f8a8d52}.screening-link-content{display:grid;min-width:0;gap:.1rem;flex:1}.screening-link-title{font-size:.96rem;line-height:1.3;font-weight:800;color:#0f4f51;letter-spacing:.01em}.screening-link-meta{font-size:.79rem;color:#2c7274;font-weight:600;opacity:.88}.screening-link-arrow{font-size:1.08rem;font-weight:900;color:#0c6f72;flex-shrink:0;transform:translate(0);transition:transform .18s ease}.welcome-screening-link:hover .screening-link-arrow,.screening-link:hover .screening-link-arrow{transform:translate(2px)}.screening-link-subtext{margin:0 0 .45rem;color:var(--text-secondary);font-size:.82rem}.screening-link{margin-bottom:.45rem}.sp-root{min-height:100vh;display:flex;flex-direction:column;background:#f4f7fa;overflow-x:hidden}.sp-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#fff;border-bottom:1px solid #e4ecf0;box-shadow:0 2px 12px #0000000f;gap:1rem}.sp-topbar-logo{height:36px;width:auto;object-fit:contain;flex-shrink:0}.sp-back-btn{background:none;border:1.5px solid var(--brand);border-radius:8px;color:var(--brand-strong);font:inherit;font-size:.88rem;font-weight:600;padding:.45rem .9rem;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s;flex-shrink:0}.sp-back-btn:hover{background:#0f8a8d14;box-shadow:0 2px 8px #0f8a8d26}.sp-hero{background:linear-gradient(135deg,#0f8a8d,#0c6f72 55%,#0a5558);padding:2.5rem 1.25rem 3rem;position:relative;overflow:hidden}.sp-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:#f4f7fa;clip-path:ellipse(55% 100% at 50% 100%)}.sp-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 30%,rgba(255,255,255,.12) 0%,transparent 50%),radial-gradient(circle at 90% 70%,rgba(242,163,101,.18) 0%,transparent 50%);pointer-events:none}.sp-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto;text-align:center}.sp-hero-badge{display:inline-block;background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:.3rem .85rem;border-radius:20px;margin-bottom:1rem}.sp-hero-title{margin:0 0 .75rem;color:#fff;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;line-height:1.2;letter-spacing:-.5px}.sp-hero-sub{color:#ffffffd9;font-size:clamp(.9rem,2.5vw,1.05rem);line-height:1.6;max-width:520px;margin:0 auto}.sp-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem;box-sizing:border-box}.sp-form{display:flex;flex-direction:column;gap:1.2rem}.sp-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0f2b3a12;border:1px solid #e8eef2;display:flex;gap:0;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}.sp-card:hover{box-shadow:0 6px 24px #0f8a8d1f;transform:translateY(-1px)}.sp-card--accent{border-color:#0f8a8d4d;background:linear-gradient(to bottom right,#fff,#f0fbfb)}.sp-card-num{min-width:52px;background:linear-gradient(160deg,#0f8a8d,#0a5e61);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.5px;display:flex;align-items:flex-start;justify-content:center;padding-top:1.3rem;flex-shrink:0}.sp-card-num--accent{background:linear-gradient(160deg,#0c6f72,#0a4a4c)}.sp-card-content{flex:1;padding:1.3rem 1.25rem;display:flex;flex-direction:column;gap:.85rem;min-width:0}.sp-q-title{margin:0;color:var(--text-primary);font-size:1rem;font-weight:700;letter-spacing:-.2px;line-height:1.3}.sp-q-desc{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.55}.sp-mt{margin-top:.4rem}.sp-label{display:block;font-size:.84rem;font-weight:600;color:var(--text-primary);margin-bottom:.45rem;letter-spacing:.1px}.sp-required{color:var(--danger);margin-left:.15rem}.sp-optional{color:var(--text-secondary);font-weight:400;font-size:.8rem;margin-left:.15rem}.sp-field{display:flex;flex-direction:column;min-width:0}.sp-field--full{width:100%}.sp-input,.sp-select{width:100%;box-sizing:border-box;border:1.5px solid #d0dde4;border-radius:10px;padding:.75rem .95rem;font:inherit;font-size:.93rem;color:var(--text-primary);background:#fff;transition:border-color .18s ease,box-shadow .18s ease;appearance:none;-webkit-appearance:none;min-height:48px}.sp-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.5rem}.sp-input:hover,.sp-select:hover{border-color:#0f8a8d80}.sp-input:focus,.sp-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #0f8a8d2e}.sp-input::placeholder{color:#a0b0ba}.sp-field-row{display:grid;grid-template-columns:1fr;gap:.9rem}.sp-field-row--3{grid-template-columns:1fr}.sp-radio-group{display:flex;flex-wrap:wrap;gap:.7rem}.sp-radio-pill{display:flex;align-items:center;gap:0;cursor:pointer}.sp-radio-pill input[type=radio]{position:absolute;opacity:0;width:0;height:0}.sp-radio-pill span{display:inline-flex;align-items:center;padding:.55rem 1.1rem;border:1.5px solid #d0dde4;border-radius:24px;font-size:.9rem;font-weight:500;color:var(--text-secondary);background:#fff;transition:all .2s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.sp-radio-pill input[type=radio]:checked+span{border-color:var(--brand);background:#0f8a8d1a;color:var(--brand-strong);font-weight:700;box-shadow:0 0 0 3px #0f8a8d26}.sp-radio-pill span:hover{border-color:#0f8a8d80;color:var(--brand)}.sp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.sp-check-pill{display:flex;align-items:center;gap:0;cursor:pointer}.sp-check-pill input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.sp-check-pill span{display:flex;align-items:center;width:100%;padding:.6rem .85rem;border:1.5px solid #d0dde4;border-radius:10px;font-size:.87rem;font-weight:500;color:var(--text-secondary);background:#fff;transition:all .18s ease;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.4}.sp-check-pill input[type=checkbox]:checked+span{border-color:var(--brand);background:#0f8a8d14;color:var(--brand-strong);font-weight:600;box-shadow:inset 0 0 0 1px var(--brand)}.sp-check-pill span:hover{border-color:#0f8a8d73;background:#0f8a8d0a;color:var(--text-primary)}.sp-inset-card{border:1.5px dashed rgba(15,138,141,.35);border-radius:12px;padding:1rem;background:#0f8a8d0a;display:flex;flex-direction:column;gap:.8rem}.sp-inset-title{margin:0;font-size:.88rem;font-weight:700;color:var(--brand-strong)}.sp-toggle-group{display:flex;flex-direction:column;gap:.7rem}.sp-toggle-label{display:flex;align-items:center;gap:.65rem;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-primary)}.sp-toggle-check{position:absolute;opacity:0;width:0;height:0}.sp-toggle-box{width:20px;height:20px;flex-shrink:0;border:2px solid #d0dde4;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .18s ease;background:#fff}.sp-toggle-check:checked~.sp-toggle-box,.sp-toggle-label:has(.sp-toggle-check:checked) .sp-toggle-box{background:var(--brand);border-color:var(--brand)}.sp-toggle-check:checked~.sp-toggle-box:after,.sp-toggle-label:has(.sp-toggle-check:checked) .sp-toggle-box:after{content:"";width:5px;height:9px;border:2px solid #ffffff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);display:block}.sp-privacy-note{font-size:.82rem;color:var(--text-secondary);line-height:1.6;padding:.75rem .9rem;background:#4b64720d;border-radius:9px;border-left:3px solid var(--brand)}.sp-notice{border-radius:10px;padding:.85rem 1rem;font-size:.88rem;line-height:1.6}.sp-notice--warn{background:#f2a36526;border:1.5px solid rgba(242,163,101,.5);color:#8c4e12}.sp-notice--error{background:#c0534214;border:1.5px solid rgba(192,83,66,.3);color:var(--danger)}.sp-submit-row{display:flex;gap:.85rem;flex-wrap:wrap;align-items:center}.sp-submit-btn{flex:1;min-width:160px;border:none;border-radius:12px;padding:.95rem 1.5rem;font:inherit;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0f8a8d,#0c6f72);cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #0f8a8d4d;text-align:center}.sp-submit-btn:hover{box-shadow:0 8px 22px #0f8a8d66;transform:translateY(-2px)}.sp-cancel-btn{background:none;border:1.5px solid #d0dde4;border-radius:12px;padding:.95rem 1.2rem;font:inherit;font-size:.93rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.sp-cancel-btn:hover{border-color:var(--danger);color:var(--danger);background:#c053420d}.sp-result-card{background:#fff;border:2px solid rgba(47,157,102,.35);border-radius:16px;padding:1.5rem 1.25rem;box-shadow:0 6px 24px #2f9d661f;display:flex;flex-direction:column;gap:1.1rem}.sp-result-header{display:flex;align-items:center;gap:.6rem}.sp-result-icon{font-size:1.5rem;flex-shrink:0}.sp-result-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--success)}.sp-result-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.sp-result-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f7fcf9;border-radius:10px;border:1px solid rgba(47,157,102,.15)}.sp-result-item--full{grid-column:1 / -1}.sp-result-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.sp-result-value{font-size:.93rem;font-weight:600;color:var(--text-primary);line-height:1.45}.sp-result-value--risk{color:var(--brand-strong)}.sp-result-cta{display:flex;flex-direction:column;gap:.7rem}.sp-outline-btn{background:none;border:1.5px solid var(--brand);border-radius:12px;padding:.9rem 1.2rem;font:inherit;font-size:.95rem;font-weight:600;color:var(--brand-strong);cursor:pointer;transition:all .2s ease;text-align:center}.sp-outline-btn:hover{background:#0f8a8d14}.sp-whatsapp-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;gap:.4rem;padding:.9rem 1.2rem;background:linear-gradient(135deg,#25d366,#1ba85f);color:#fff;border-radius:12px;font:inherit;font-size:.95rem;font-weight:700;transition:all .2s ease;box-shadow:0 4px 14px #25d3664d}.sp-whatsapp-btn:hover{box-shadow:0 6px 20px #25d36673;transform:translateY(-2px)}.sp-submitted-note{margin:0;font-size:.8rem;color:var(--text-secondary);text-align:right}.sp-footer{background:#fff;border-top:1px solid #e4ecf0;padding:1.5rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.sp-footer-logo{height:38px;width:auto;object-fit:contain}.sp-footer-copy{margin:0;font-size:.82rem;color:var(--text-secondary)}@media(min-width:600px){.sp-body{padding:2rem 1.5rem 4rem}.sp-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-field-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-result-cta{flex-direction:row;flex-wrap:wrap}.sp-submit-btn,.sp-outline-btn,.sp-whatsapp-btn{flex:1}}@media(min-width:900px){.sp-topbar{padding:1rem 2.5rem}.sp-hero{padding:3.5rem 2.5rem 4rem}.sp-body{padding:2.5rem 0 5rem}.sp-card-num{min-width:64px;font-size:.85rem}.sp-footer{flex-direction:row;justify-content:space-between;padding:1.5rem 2.5rem;text-align:left}}.modal-overlay{position:fixed;inset:0;background:#07141d85;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-box{background:#fff;border-radius:20px;padding:1.8rem;width:min(480px,100%);box-shadow:0 20px 60px #0000002e}.modal-title{margin:0 0 1.2rem;font-size:1.1rem;color:var(--text-primary)}.modal-form{display:grid;gap:.88rem}.modal-form label{display:grid;gap:.36rem;font-size:.86rem;color:var(--text-secondary);font-weight:600}.modal-form label small{font-weight:400}.modal-form input,.modal-form select{border:1px solid var(--border);background:#fbfeff;border-radius:10px;padding:.66rem .84rem;font:inherit;font-size:.92rem;color:var(--text-primary)}.modal-form input:focus,.modal-form select:focus{outline:3px solid rgba(15,138,141,.22);border-color:var(--brand)}.pw-input-wrap{position:relative;display:flex;align-items:center}.pw-input-wrap input{width:100%;padding-right:2.6rem}.pw-eye-btn{position:absolute;right:.55rem;border:none;background:none;cursor:pointer;font-size:1rem;line-height:1;padding:.2rem;color:var(--text-secondary);display:flex;align-items:center}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.3rem}.confirm-box{text-align:center;max-width:380px}.confirm-icon{font-size:2rem;margin-bottom:.6rem;color:#c97a1a}.confirm-subtext{margin:.3rem 0 1.1rem;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.confirm-box .modal-actions{justify-content:center}.danger-btn{background:linear-gradient(120deg,#dc3c3c,#b02a2a)}.change-pw-panel{padding:1.8rem;max-width:480px}.change-pw-form{display:grid;gap:1rem}.change-pw-form label{display:grid;gap:.36rem;font-size:.88rem;font-weight:600;color:var(--text-secondary)}.change-pw-form input{border:1px solid var(--border);background:#fbfeff;border-radius:10px;padding:.7rem .9rem;font:inherit;font-size:.92rem;color:var(--text-primary)}.change-pw-form input:focus{outline:3px solid rgba(15,138,141,.22);border-color:var(--brand)}.pw-feedback{margin:0;padding:.6rem .85rem;border-radius:10px;font-size:.88rem;font-weight:600}.pw-feedback.success{background:#22a0641a;color:#1a7a4a;border:1px solid rgba(34,160,100,.3)}.pw-feedback.error{background:#dc3c3c14;color:#b02a2a;border:1px solid rgba(220,60,60,.28)}.pw-submit-btn{justify-self:start;padding:.7rem 1.6rem}html{color-scheme:light}body{margin:0}a{color:inherit}
