:root{color:#1f2937;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}code{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace}a{color:inherit;text-decoration:none}.dashboard-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.mobile-sidebar-overlay,.hamburger-button{display:none}.sidebar{background:#111827;color:#f9fafb;padding:24px 18px}.sidebar-brand{align-items:center;display:flex;gap:12px;margin-bottom:32px;font-size:20px;font-weight:700}.brand-mark{background:transparent;border-radius:0;flex:0 0 auto;height:auto;object-fit:contain;padding:0;width:128px}.brand-name{display:block;line-height:1.1}.sidebar-nav{display:grid;gap:8px}.sidebar-group{border-top:1px solid rgba(203,213,225,.16);display:grid;gap:8px;margin-top:10px;padding-top:14px}.sidebar-group p{color:#94a3b8;font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 2px;text-transform:uppercase}.sidebar-group-toggle{align-items:center;background:transparent;border:0;color:#94a3b8;display:flex;font-size:12px;font-weight:800;justify-content:space-between;letter-spacing:0;padding:0 2px 2px 0;text-align:left;text-transform:uppercase;width:100%}.sidebar-group-toggle:hover,.sidebar-group-toggle:focus-visible{color:#fff}.sidebar-group-caret{align-items:center;border:1px solid rgba(203,213,225,.25);border-radius:999px;display:inline-flex;font-size:14px;height:22px;justify-content:center;line-height:1;width:22px}.sidebar-subnav{display:grid;gap:6px}.sidebar-link{align-items:center;border:0;border-radius:8px;background:transparent;color:#cbd5e1;display:flex;gap:10px;font-weight:600;padding:11px 12px;text-align:left;width:100%}.sidebar-sublink{padding-left:18px}.sidebar-link-icon{flex:0 0 auto;height:18px;opacity:.9;width:18px}.sidebar-link.active,.sidebar-link:hover{background:#243041;color:#fff}.dashboard-content{display:flex;flex-direction:column;min-width:0}.header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;min-height:82px;padding:18px 32px}.header h1{font-size:24px;line-height:1.2;margin:2px 0 0}.header-title{align-items:center;display:flex;gap:14px;min-width:0}.header-logo{background:transparent;border:0;border-radius:0;flex:0 0 auto;height:auto;object-fit:contain;padding:0;width:92px}.header-kicker,.panel-label{color:#6b7280;font-size:13px;font-weight:700;letter-spacing:0;margin:0;text-transform:uppercase}.header-actions{align-items:center;display:flex;gap:14px}.action-icon-button{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.action-icon-button svg{height:18px;width:18px}.action-icon-button:hover{background:#f9fafb;border-color:#fb923c;color:#ea580c}.action-icon-button.hamburger-button{display:none}.danger-icon{border-color:#fecaca;color:#b91c1c}.danger-icon:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}.notification-bell{position:relative}.notification-bell.has-unread:after{background:#ef4444;border:2px solid #ffffff;border-radius:999px;content:"";height:9px;position:absolute;right:8px;top:8px;width:9px}.notification-bell.is-ringing{animation:bell-ring 1.8s ease-in-out infinite}.notification-count{align-items:center;background:#ef4444;border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;height:20px;justify-content:center;margin-left:-16px;min-width:20px;padding:0 6px;position:relative;top:-14px}@keyframes bell-ring{0%,to{transform:rotate(0)}5%,15%,25%{transform:rotate(10deg)}10%,20%,30%{transform:rotate(-10deg)}35%{transform:rotate(0)}}.profile-menu{position:relative}.profile-avatar{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;display:inline-flex;font-weight:800;height:44px;justify-content:center;overflow:hidden;padding:0;width:44px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-menu-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 18px 40px #0f172a29;display:none;min-width:150px;padding:8px;position:absolute;right:0;top:52px;z-index:20}.profile-menu:hover .profile-menu-panel,.profile-menu:focus-within .profile-menu-panel{display:grid}.profile-menu-panel button{background:transparent;border:0;border-radius:6px;color:#111827;font-weight:700;padding:10px;text-align:left}.profile-menu-panel button:hover{background:#fff7ed;color:#9a3412}.header-user{display:grid;gap:2px;text-align:right}.header-user span{font-size:14px;font-weight:700}.header-user small{color:#6b7280;font-size:12px;text-transform:capitalize}.logout-button,.primary-button,.danger-button{border:0;border-radius:8px;font-weight:700}.logout-button{background:#fff7ed;color:#9a3412;padding:10px 13px}.logout-button:hover{background:#ffedd5}.dashboard-main{background:radial-gradient(circle at top left,rgba(249,115,22,.08),transparent 32%),linear-gradient(180deg,#f8fafc,#f3f4f6);padding:32px}.dashboard-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-width:920px;padding:28px}.dashboard-panel h2{font-size:30px;line-height:1.25;margin:8px 0 10px}.panel-copy{color:#4b5563;margin:0}.dashboard-overview{display:grid;gap:22px}.dashboard-hero-panel{align-items:center;background:linear-gradient(135deg,#111827f2,#3d2a1ce6),linear-gradient(135deg,#111827,#f97316);border:1px solid rgba(249,115,22,.2);border-radius:22px;box-shadow:0 24px 70px #0f172a29;color:#fff;display:flex;gap:24px;justify-content:space-between;overflow:hidden;padding:30px;position:relative}.dashboard-hero-panel:after{background:#f973163d;border-radius:999px;content:"";height:220px;position:absolute;right:-80px;top:-90px;width:220px}.dashboard-hero-panel>*{position:relative;z-index:1}.dashboard-hero-panel h2{font-size:34px;line-height:1.15;margin:6px 0 10px}.dashboard-hero-panel p{color:#fed7aa;margin:0;max-width:680px}.today-status-card{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:16px;display:grid;gap:8px;min-width:190px;padding:18px}.today-status-card span{color:#fed7aa;font-size:12px;font-weight:900;text-transform:uppercase}.today-status-card strong{font-size:22px}.dashboard-kpi-grid{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(150px,1fr))}.manager-kpi-grid{grid-template-columns:repeat(6,minmax(140px,1fr))}.dashboard-kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 14px 35px #0f172a0f;display:grid;gap:8px;min-height:132px;overflow:hidden;padding:18px;position:relative}.dashboard-kpi-card:before{border-radius:999px;content:"";height:72px;opacity:.14;position:absolute;right:-20px;top:-20px;width:72px}.dashboard-kpi-card p,.dashboard-kpi-card span{color:#64748b;font-weight:800;margin:0}.dashboard-kpi-card p{font-size:13px;text-transform:uppercase}.dashboard-kpi-card strong{color:#111827;font-size:34px;line-height:1}.accent-green:before{background:#22c55e}.accent-amber:before{background:#f59e0b}.accent-orange:before{background:#f97316}.accent-red:before{background:#ef4444}.accent-blue:before{background:#3b82f6}.accent-purple:before{background:#8b5cf6}.dashboard-section-title{align-items:end;display:flex;justify-content:space-between;margin-top:6px}.dashboard-section-title h3{font-size:24px;margin:4px 0 0}.dashboard-content-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 14px 35px #0f172a0d;overflow:hidden;padding:20px}.dashboard-detail-list{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-detail-list div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:6px;padding:14px}.dashboard-detail-list span,.status-bar-row span{color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase}.dashboard-detail-list strong{color:#111827;font-size:16px}.status-bar-list{display:grid;gap:14px}.status-bar-row{align-items:center;display:grid;gap:12px;grid-template-columns:86px 1fr 36px}.status-bar-track{background:#f1f5f9;border-radius:999px;height:12px;overflow:hidden}.status-bar-fill{border-radius:inherit;height:100%;min-width:0}.status-bar-fill.present{background:#22c55e}.status-bar-fill.late{background:#f59e0b}.status-bar-fill.half-day{background:#f97316}.status-bar-fill.absent{background:#ef4444}.page-heading{margin-bottom:22px;max-width:760px}.page-heading h2{font-size:30px;line-height:1.25;margin:8px 0}.page-heading p:last-child{color:#4b5563;margin:0}.state-panel,.roles-panel,.permissions-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px}.state-panel{color:#4b5563;padding:22px}.rbac-grid{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(240px,340px) minmax(0,1fr)}.roles-panel,.permissions-panel{overflow:hidden}.section-heading{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.section-heading h3{font-size:18px;line-height:1.25;margin:0}.section-heading p{color:#6b7280;font-size:13px;margin:3px 0 0}.section-heading span{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#166534;flex:0 0 auto;font-size:12px;font-weight:800;padding:7px 10px}.roles-list{display:grid}.role-row{align-items:center;background:#fff;border:0;border-bottom:1px solid #eef2f7;color:#111827;display:flex;gap:12px;justify-content:space-between;min-height:58px;padding:14px 18px;text-align:left}.role-row:last-child{border-bottom:0}.role-row:hover,.role-row.active{background:#fff7ed}.role-row span{font-weight:800}.role-row small{color:#6b7280;flex:0 0 auto;font-size:12px}.permission-groups{display:grid;gap:18px;padding:20px}.permission-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 20px 20px}.permission-group{display:grid;gap:10px}.permission-group h4{color:#374151;font-size:14px;margin:0}.permission-list{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.permission-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:10px;padding:12px}.permission-item input{accent-color:#ea580c;flex:0 0 auto;margin-top:3px}.permission-item label{display:grid;gap:4px}.permission-item span{color:#111827;font-size:14px;font-weight:700}.permission-item code{color:#6b7280;font-size:12px;overflow-wrap:anywhere}.permission-item.locked{background:#fff7ed;border-color:#fed7aa}.success-panel{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:14px;margin:0 20px 18px;padding:10px 12px}.compact-state{margin:0}.login-page{align-items:stretch;background:linear-gradient(120deg,#111827e0,#2b4c38d6),var(--login-bg);background-position:center;background-size:cover;display:grid;grid-template-columns:minmax(0,1fr) 430px;min-height:100vh}.login-hero{color:#fff;display:flex;flex-direction:column;justify-content:center;max-width:720px;padding:56px}.login-kicker{color:#fed7aa;font-size:14px;font-weight:800;letter-spacing:0;margin:0 0 14px;text-transform:uppercase}.login-hero h1{font-size:46px;line-height:1.08;margin:0 0 16px;max-width:680px}.login-hero p{color:#f3f4f6;font-size:18px;margin:0;max-width:560px}.login-card{align-self:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 24px 80px #0f172a3d;margin:32px;padding:30px}.login-logo{display:block;max-height:74px;max-width:220px;object-fit:contain}.login-card-header h2{font-size:28px;line-height:1.2;margin:6px 0 24px}.login-form{display:grid;gap:18px}.login-form label{color:#374151;display:grid;font-size:14px;font-weight:700;gap:8px}.login-form input{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#111827;min-height:46px;outline:none;padding:11px 12px;width:100%}.login-form input:focus{background:#fff;border-color:#f97316;box-shadow:0 0 0 3px #f9731629}.password-field{align-items:center;display:grid;grid-template-columns:1fr auto}.password-field input{border-radius:8px 0 0 8px}.password-field button{align-self:stretch;background:#f3f4f6;border:1px solid #d1d5db;border-left:0;border-radius:0 8px 8px 0;color:#374151;font-weight:700;padding:0 13px}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:14px;margin:0;padding:10px 12px}.primary-button{background:#ea580c;color:#fff;min-height:48px;padding:12px 16px}.danger-button{background:#dc2626;color:#fff;min-height:42px;padding:10px 14px}.compact-button{min-height:42px;padding:10px 14px}.secondary-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:800;min-height:42px;padding:10px 14px}.primary-button:hover:not(:disabled){background:#c2410c}.danger-button:hover:not(:disabled){background:#b91c1c}.primary-button:disabled{cursor:not-allowed;opacity:.7}.danger-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.7}.split-heading{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;max-width:none}.data-toolbar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) 220px 180px;margin-bottom:18px;padding:14px}.two-column-toolbar{grid-template-columns:minmax(220px,1fr) 180px}.four-column-toolbar{grid-template-columns:minmax(260px,1fr) 190px 210px 170px}.five-column-toolbar{grid-template-columns:minmax(260px,1fr) 170px 180px 220px}.compact-alert{margin:0 0 16px;padding:12px 14px}.checklist-kpi-grid{margin-bottom:18px}.checklist-task-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.checklist-task-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 18px 45px #0f172a14;display:grid;gap:16px;padding:20px}.checklist-modal{max-width:1080px}.checklist-form{display:grid;gap:18px;padding:20px 24px 24px}.checklist-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;display:grid;gap:10px;padding:16px}.checklist-section h4{color:#111827;font-size:18px;margin:0}.checklist-item-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) auto minmax(220px,.8fr);padding:12px}.checklist-item-row small,.checklist-form small{color:#b91c1c;display:block;font-weight:700;margin-top:4px}.segmented-options{background:#eef2f7;border-radius:999px;display:inline-flex;gap:4px;padding:4px}.segmented-options button{background:transparent;border:0;border-radius:999px;color:#475569;cursor:pointer;font-weight:800;min-width:48px;padding:8px 12px}.segmented-options button.selected{background:#f05a10;color:#fff}.checklist-cash-grid{padding:0}.checklist-review-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);padding:20px 24px}.checklist-response-list{display:grid;gap:10px}.checklist-review-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;gap:16px;padding:12px 14px}.checklist-review-row span{color:#64748b;display:block;font-size:12px;font-weight:800;text-transform:uppercase}.checklist-review-row small{color:#92400e;display:block;margin-top:4px}.checklist-review-side{align-self:start}.data-toolbar input,.data-toolbar select,.user-form input,.user-form select,.user-form textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#111827;min-height:42px;outline:none;padding:10px 12px;width:100%}.data-toolbar input:focus,.data-toolbar select:focus,.user-form input:focus,.user-form select:focus,.user-form textarea:focus{background:#fff;border-color:#f97316;box-shadow:0 0 0 3px #f9731629}.user-form textarea{min-height:90px;resize:vertical}.user-form select[multiple]{min-height:118px;padding:8px}.password-input-row{align-items:stretch;display:flex;gap:8px}.password-input-row input{flex:1;min-width:0}.password-input-row button{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;display:inline-flex;font-weight:800;justify-content:center;padding:0 14px;width:46px}.password-input-row button:hover{background:#ffedd5}.password-eye-button svg{height:18px;width:18px}.password-checkbox-row{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:12px;padding:12px 14px}.password-checkbox-row input{accent-color:#ea580c;height:18px;margin:0;min-height:18px;width:18px}.password-checkbox-row span{color:#374151;font-weight:700}.role-meta-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:12px 0}.role-meta-grid span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;font-size:.9rem;padding:10px 12px}.top-actions{justify-content:flex-start;margin-bottom:16px}.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table th,.users-table td{border-bottom:1px solid #eef2f7;padding:14px 16px;text-align:left;vertical-align:middle}.users-table th{background:#f9fafb;color:#4b5563;font-size:12px;text-transform:uppercase}.users-table td strong,.users-table td span,.users-table td small{display:block}.users-table td strong{color:#111827}.users-table td span,.users-table td small{color:#6b7280;font-size:13px}.role-badge,.status-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:6px 9px;width:fit-content}.role-badge{background:#eef2ff;color:#3730a3}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#4b5563}.status-badge.not-marked,.status-badge.weekly-off,.status-badge.holiday{background:#e0f2fe;color:#075985}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-actions button,.icon-button{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:13px;font-weight:800;min-height:34px;padding:7px 10px}.table-actions .action-icon-button{padding:0}.table-actions button:hover,.icon-button:hover,.secondary-button:hover{background:#f9fafb}.danger-link{border-color:#fecaca!important;color:#b91c1c!important}.danger-link:hover{background:#fef2f2!important}.modal-backdrop{align-items:center;background:#1118279e;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:#fff;border-radius:8px;box-shadow:0 30px 90px #0f172a47;max-height:min(820px,calc(100vh - 48px));max-width:760px;overflow:auto;width:100%}.narrow-modal{max-width:640px}.confirmation-panel{max-width:520px}.modal-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:20px 22px}.modal-header h3{font-size:22px;line-height:1.25;margin:4px 0 0}.confirmation-body{color:#4b5563;padding:22px}.confirmation-body p{margin:0}.confirmation-input{color:#374151;display:grid;font-size:14px;font-weight:700;gap:8px;margin-top:18px}.confirmation-input input{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#111827;min-height:42px;outline:none;padding:10px 12px;width:100%}.confirmation-input input:focus{background:#fff;border-color:#f97316;box-shadow:0 0 0 3px #f9731629}.confirmation-actions{border-top:1px solid #e5e7eb;display:flex;gap:10px;justify-content:flex-end;padding:16px 22px 22px}.user-form{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:22px}.user-form label{color:#374151;display:grid;font-size:14px;font-weight:800;gap:7px}.user-form label small{color:#b91c1c;font-weight:700}.full-width-field{grid-column:1 / -1}.field-help{color:#6b7280!important}.shift-picker{display:grid;gap:10px}.checkbox-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-grid label{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:row;gap:8px;min-height:42px;padding:9px 10px}.checkbox-grid input{accent-color:#ea580c;min-height:auto;width:auto}.calculated-window{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;display:grid;gap:5px;padding:12px}.calculated-window strong{color:#9a3412}.calculated-window span{color:#111827;font-size:18px;font-weight:800}.pac-container{z-index:10000!important}.modal-actions{display:flex;gap:10px;grid-column:1 / -1;justify-content:flex-end;padding-top:8px}.settings-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:12px;padding:20px}.settings-card h3{font-size:18px;margin:0}.settings-card p{color:#6b7280;margin:0}.settings-card input[type=file]{border:1px dashed #d1d5db;border-radius:8px;padding:12px}.settings-preview{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:center;min-height:120px;overflow:hidden}.settings-preview img{max-height:180px;max-width:100%;object-fit:contain}.settings-preview.background-preview img{height:180px;object-fit:cover;width:100%}.profile-preview{aspect-ratio:1;border-radius:999px;max-width:160px;overflow:hidden}.profile-preview span{color:#9a3412;font-size:42px;font-weight:800}.profile-preview img{height:100%;object-fit:cover;width:100%}.favicon-preview{align-items:center;border-radius:16px;display:flex;height:96px;justify-content:center;width:96px}.favicon-preview img{height:64px;object-fit:contain;width:64px}.favicon-preview span{color:#9a3412;font-size:22px;font-weight:900}.notification-placeholder{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;justify-items:center;margin-top:24px;padding:42px 24px;text-align:center}.notification-large-bell{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#ea580c;display:inline-flex;height:72px;justify-content:center;margin-bottom:16px;width:72px}.notification-large-bell svg{animation:bell-ring 1.8s ease-in-out infinite;height:32px;width:32px}.notification-list{display:grid;gap:12px;margin-top:18px}.notification-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-left:5px solid #cbd5e1;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px}.notification-card.is-unread{border-left-color:#f97316;box-shadow:0 12px 26px #f9731614}.notification-card h3,.notification-card p{margin:0}.notification-card small{color:#6b7280;display:block;font-weight:700;margin-top:8px}.settings-reset{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:18px}.alert{border-radius:8px;font-weight:700;margin-bottom:16px;padding:12px 14px}.error-alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.success-alert{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.warning-alert{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.toast-message{border-radius:8px;box-shadow:0 18px 40px #0f172a38;color:#fff;font-weight:800;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;position:fixed;right:18px;top:18px;z-index:40}.toast-message.error{background:#b91c1c}.toast-message.success{background:#15803d}.metric-row,.attendance-summary-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:18px}.info-card,.data-panel,.attendance-action-panel,.camera-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px}.info-card h3,.attendance-action-panel h3,.camera-panel h3,.data-panel h3,.table-card h3{color:#111827;margin:4px 0 6px}.info-card p,.attendance-action-panel p,.camera-panel p{color:#4b5563;margin:0}.attendance-action-panel{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.attendance-actions,.review-actions,.form-actions,.action-cell{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.responsive-table .action-cell{flex-wrap:nowrap;min-width:max-content}.camera-panel{display:grid;gap:14px;margin-bottom:18px}.location-check-card{background:#fff;border:1px solid #e5e7eb;border-left:5px solid #9ca3af;border-radius:8px;display:grid;gap:4px;margin-bottom:18px;padding:14px 16px}.location-check-card strong{color:#111827}.location-check-card span,.location-check-card small{color:#4b5563}.location-check-card.inside{border-left-color:#16a34a}.location-check-card.outside,.location-check-card.blocked{border-left-color:#dc2626}.location-check-card.checking{border-left-color:#ea580c}.file-capture-field{align-items:center;background:#fff7ed;border:1px dashed #fb923c;border-radius:8px;color:#9a3412;display:flex;font-weight:800;justify-content:center;min-height:54px;padding:12px}.file-capture-field input{display:none}.attendance-photo-preview{border:1px solid #e5e7eb;border-radius:8px;max-height:260px;object-fit:cover;width:min(100%,360px)}.field-error{color:#b91c1c;font-size:13px;font-weight:700;margin:0}.panel-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.timeline-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.timeline-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:4px;padding:12px}.timeline-item span,.muted-cell{color:#6b7280;display:block;font-size:12px;font-weight:700}.timeline-item strong{color:#111827}.responsive-table{overflow-x:auto}.responsive-table table{border-collapse:collapse;width:100%}.responsive-table th,.responsive-table td{border-bottom:1px solid #eef2f7;padding:13px 15px;text-align:left;vertical-align:top}.responsive-table th{background:#f9fafb;color:#4b5563;font-size:12px;text-transform:uppercase}.empty-state{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;padding:20px}.filters-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) repeat(6,minmax(140px,180px));margin-bottom:16px;padding:14px}.filters-row input,.filters-row select,.modal-form input,.modal-form select,.modal-form textarea,.score-grid input,.full-width-field textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;color:#111827;min-height:42px;padding:10px 12px;width:100%}.modal-form textarea,.full-width-field textarea{min-height:90px;resize:vertical}.grooming-grid{display:grid;gap:16px}.grooming-hero{background:#eef6ff;border:1px solid #bfdbfe;border-radius:8px;max-width:none;padding:22px}.grooming-filters{grid-template-columns:minmax(220px,1.2fr) repeat(6,minmax(135px,1fr)) auto}.grooming-table-section{margin-bottom:18px}.grooming-review-modal{max-width:920px}.grooming-review-grid{display:grid;gap:18px;grid-template-columns:minmax(280px,1fr) minmax(280px,.95fr);padding:18px}.grooming-review-controls{display:grid;gap:14px}.modal-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.grooming-review-photo{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:center;min-height:380px;overflow:hidden}.grooming-review-photo img{height:100%;max-height:560px;object-fit:contain;width:100%}.grooming-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;grid-template-columns:minmax(180px,260px) 1fr;overflow:hidden}.grooming-photo-wrap{align-items:center;background:#111827;color:#fff;display:flex;justify-content:center;min-height:260px}.grooming-photo-wrap img{height:100%;object-fit:cover;width:100%}.grooming-card-body{display:grid;gap:14px;padding:18px}.detail-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}.detail-list div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px}.detail-list dt{color:#6b7280;font-size:12px;font-weight:800;text-transform:uppercase}.detail-list dd{color:#111827;font-weight:700;margin:3px 0 0}.score-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.score-stepper-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.score-stepper{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:10px;padding:12px}.score-stepper span{color:#374151;font-size:14px;font-weight:800}.score-stepper small{color:#6b7280;font-weight:700}.score-stepper-control{align-items:center;display:grid;gap:10px;grid-template-columns:40px 1fr 40px}.score-stepper-control strong{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;display:flex;font-size:22px;justify-content:center;min-height:42px}.score-grid label,.full-width-field,.modal-form label{color:#374151;display:grid;font-size:14px;font-weight:800;gap:7px}.modal-form{display:grid;gap:14px;padding:22px}.compact-modal{max-width:560px}.status-badge.present,.status-badge.reviewed,.status-badge.ok{background:#dcfce7;color:#166534}.status-badge.late,.status-badge.pending,.status-badge.pending-review{background:#fef3c7;color:#92400e}.status-badge.half-day{background:#ffedd5;color:#9a3412}.status-badge.absent{background:#fee2e2;color:#991b1b}.status-badge.flagged,.status-badge.rejected,.status-badge.correction-required,.status-badge.missed{background:#ffe4e6;color:#be123c}.status-badge.submitted{background:#dbeafe;color:#1d4ed8}.status-badge.planned{background:#ede9fe;color:#5b21b6}.status-badge.overdue{background:#ffedd5;color:#c2410c}.status-badge.yes{background:#dcfce7;color:#166534}.status-badge.no{background:#fee2e2;color:#991b1b}.status-badge.na{background:#f1f5f9;color:#475569}.status-badge.leave{background:#ede9fe;color:#5b21b6}@media(max-width:760px)and (hover:none){.login-page{background:linear-gradient(150deg,#111827e6,#2b4c38e0),var(--login-bg);background-position:center;background-size:cover;grid-template-columns:1fr;padding:18px}.login-hero{justify-content:flex-end;padding:28px 0 10px}.login-hero h1{font-size:32px}.login-hero p{font-size:16px}.login-card{margin:18px 0 0;padding:22px}.dashboard-shell{grid-template-columns:1fr}.sidebar{bottom:0;box-shadow:18px 0 40px #0f172a3d;left:0;max-width:86vw;overflow-y:auto;padding:22px 18px;position:fixed;top:0;transform:translate(-105%);transition:transform .22s ease;width:300px;z-index:40}.sidebar.open{transform:translate(0)}.mobile-sidebar-overlay{background:#0f172a6b;border:0;bottom:0;display:none;left:0;padding:0;position:fixed;right:0;top:0;z-index:35}.sidebar-open .mobile-sidebar-overlay{display:block}.sidebar-brand{margin-bottom:24px}.brand-mark{height:auto;width:116px}.sidebar-nav{display:grid;gap:8px;overflow-x:visible}.sidebar-group{border-top:1px solid rgba(203,213,225,.16);display:grid;gap:8px;margin-top:10px;padding-top:14px}.sidebar-group p{margin:0 0 2px;white-space:nowrap}.sidebar-group-toggle{white-space:nowrap}.sidebar-subnav{display:grid;gap:6px}.sidebar-link{align-items:center;display:flex;flex:initial;text-align:left;width:100%}.sidebar-sublink{padding-left:18px}.header{align-items:center;display:grid;gap:10px;grid-template-columns:44px minmax(0,1fr) auto;min-height:72px;padding:12px 14px}.header-actions{gap:8px;justify-content:flex-end;min-width:0;width:auto}.header-title{align-items:center;gap:9px;min-width:0}.header-logo{height:auto;width:76px}.header h1{font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-kicker{font-size:11px}.action-icon-button.hamburger-button{display:inline-flex}.header-user{display:none}.action-icon-button,.profile-avatar{height:38px;width:38px}.profile-menu-panel{right:0;top:44px}.dashboard-main{padding:16px 14px}.dashboard-panel{padding:22px}.dashboard-panel h2,.page-heading h2{font-size:28px;line-height:1.2}.dashboard-hero-panel{align-items:stretch;display:grid;padding:22px}.dashboard-hero-panel h2{font-size:30px}.dashboard-kpi-grid,.manager-kpi-grid,.dashboard-content-grid,.dashboard-detail-list,.rbac-grid,.permission-list{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.split-heading{display:grid}.data-toolbar,.two-column-toolbar,.four-column-toolbar,.five-column-toolbar{grid-template-columns:1fr}.checklist-item-row{align-items:stretch;grid-template-columns:1fr}.segmented-options{justify-content:space-between;width:100%}.segmented-options button{flex:1}.checklist-review-layout{grid-template-columns:1fr;padding:16px}.users-table,.users-table thead,.users-table tbody,.users-table tr,.users-table th,.users-table td{display:block}.users-table thead{display:none}.users-table tr{border-bottom:1px solid #e5e7eb;padding:12px 14px}.users-table td{border-bottom:0;display:grid;gap:4px;padding:9px 0}.users-table td:before{color:#6b7280;content:attr(data-label);font-size:12px;font-weight:800;text-transform:uppercase}.modal-backdrop{align-items:flex-end;padding:12px}.modal-panel{max-height:calc(100vh - 24px)}.user-form{grid-template-columns:1fr;padding:18px}.modal-actions,.confirmation-actions{display:grid}.checkbox-grid,.settings-grid{grid-template-columns:1fr}.settings-reset,.attendance-action-panel{align-items:stretch;display:grid}.attendance-actions,.form-actions,.review-actions,.action-cell{justify-content:stretch}.attendance-actions button,.form-actions button,.review-actions button,.action-cell button{width:100%}.filters-row,.grooming-card,.grooming-review-grid{grid-template-columns:1fr}.grooming-review-photo{min-height:260px}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.score-stepper-grid{grid-template-columns:1fr}}@media(max-width:430px)and (hover:none){.header{grid-template-columns:40px minmax(0,1fr) auto;padding:10px 12px}.header-logo{display:none}.header-title{gap:0}.header h1{font-size:18px}.header-actions{gap:6px}.action-icon-button,.profile-avatar{height:36px;width:36px}.dashboard-main{padding:14px 12px}.page-heading,.dashboard-panel{padding-left:18px;padding-right:18px}.dashboard-hero-panel{border-radius:16px}.dashboard-kpi-card strong{font-size:30px}}
