body:has(.ops-app){background:#f4f6f2;color:#17211b}.ops-app *,.ops-app *:before,.ops-app *:after{box-sizing:border-box}.scheduler-frame,.scheduler-screen,.ops-app{min-height:100vh}.ops-app{font-family:Manrope,Segoe UI,sans-serif;color:#17211b;background:#f4f6f2}.ops-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.ops-login-card,.ops-card,.ops-modal{border:1px solid #d9e0d6;border-radius:8px;background:#fff;box-shadow:0 16px 40px #17211b14}.ops-login-card{width:min(440px,100%);display:grid;gap:16px;padding:28px}.ops-login-card h1,.ops-topbar h1,.ops-section-head h2,.ops-card h2,.ops-modal h2{margin:0;color:#17211b;font-family:Sora,Segoe UI,sans-serif;letter-spacing:0}.ops-muted,.ops-login-card p,.ops-card p,.request-item small{color:#5d6b61}.ops-kicker{margin:0;color:#17633b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ops-demo-logins,.ops-control-row,.ops-quick-actions,.ops-section-head,.ops-modal footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ops-demo-logins button{min-height:40px;padding:0 12px;border:1px solid #cfd8ce;border-radius:8px;background:#f7f9f5;color:#253129;font-weight:800}.ops-shell{min-height:100vh;display:block}.ops-sidebar{position:fixed;top:0;left:0;bottom:0;width:250px;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:22px;padding:22px 16px;background:#143725;color:#fff}.ops-brand{display:grid;gap:4px}.ops-brand strong{font-family:Sora,Segoe UI,sans-serif;font-size:1.08rem}.ops-brand span{color:#c7dccd}.ops-nav{display:grid;align-content:start;gap:8px}.ops-nav a{min-height:46px;display:flex;align-items:center;padding:0 12px;border-radius:8px;color:#eef7f0;font-weight:800}.ops-nav a.router-link-active{background:#fff;color:#143725}.ops-main{min-width:0;display:grid;align-content:start;gap:18px;padding:22px;margin-left:250px}.ops-main.schedule-main{width:auto;max-width:none;padding:22px 28px}.ops-main.employee-main{width:min(900px,calc(100vw - 294px));max-width:900px;margin-left:calc(250px + max(22px,(100vw - 250px - 900px) / 2))}.ops-topbar{display:flex;justify-content:space-between;gap:14px;align-items:center}.ops-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.compact-action{min-height:40px}.ops-user-chip{min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d9e0d6;border-radius:8px;background:#fff;font-weight:800}.ops-user-chip small{color:#5d6b61;font-weight:800}.ops-user-chip span,.employee-dot{width:14px;height:14px;border-radius:999px;flex:0 0 auto}.mobile-drawer-trigger,.mobile-drawer,.mobile-drawer-backdrop{display:none}.ops-stack{display:grid;gap:16px}.ops-dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ops-stat-card{display:grid;gap:4px;padding:16px;border:1px solid #d9e0d6;border-radius:8px;background:#fff}.employee-dashboard{display:grid;gap:14px}.employee-schedule-workspace .employee-dashboard{max-width:none}.employee-calendar-toolbar{align-items:center}.employee-calendar-toolbar .ops-control-row{flex-wrap:nowrap}.employee-calendar-toolbar .ops-control-row strong{align-self:center}.employee-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.employee-stat-grid .ops-stat-card{min-height:74px;padding:12px 14px;box-shadow:none}.employee-stat-grid .ops-stat-card strong{font-size:1.55rem}.employee-stat-grid .ops-stat-card span{font-size:.86rem}.employee-actions{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px}.employee-actions .ops-button{min-height:42px}.next-job-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #d9e0d6;border-radius:12px;background:#fff;box-shadow:0 10px 28px #17211b0f}.next-job-card span{color:#5d6b61;font-size:.82rem;font-weight:900}.next-job-card h2{margin:4px 0 6px;color:#17211b;font-size:1.2rem;letter-spacing:0}.next-job-card p{margin:0;color:#5d6b61;line-height:1.35}.next-job-actions{display:grid;justify-items:end;gap:8px}.empty-next-job{grid-template-columns:1fr}.ops-stat-card strong{color:#143725;font-size:1.9rem;line-height:1}.ops-stat-card span{color:#5d6b61;font-weight:800}.ops-toolbar,.ops-filters,.ops-section-head{padding:12px;border:1px solid #d9e0d6;border-radius:8px;background:#fff}.ops-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.schedule-workspace{gap:12px}.schedule-workspace .schedule-metrics{display:none}.schedule-workspace .ops-toolbar{align-items:stretch;padding:14px}.schedule-workspace .ops-control-row{flex-wrap:nowrap}.schedule-workspace .ops-control-row:first-child{flex:1 1 auto}.schedule-workspace .ops-control-row:last-child{flex:0 0 auto}.schedule-workspace .ops-control-row strong{min-width:150px;align-self:center;color:#17211b;font-size:1.05rem}.schedule-workspace .ops-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.ops-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.schedule-date-input{min-height:44px;padding:0 10px;border:1px solid #cbd6cb;border-radius:8px;background:#fff;color:#17211b;font:inherit;font-weight:800}.ops-field{display:grid;gap:7px;min-width:0}.ops-field.full{grid-column:1 / -1}.ops-field span{color:#2a382e;font-weight:900}.ops-field input,.ops-field select,.ops-field textarea,.request-actions input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd6cb;border-radius:8px;background:#fff;color:#17211b;outline:none}.ops-field textarea{resize:vertical}.ops-field input:focus,.ops-field select:focus,.ops-field textarea:focus,.request-actions input:focus{border-color:#207448;box-shadow:0 0 0 3px #20744824}.ops-field.compact span{font-size:.84rem}.ops-button,.ops-icon-button,.ops-segment{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid #cbd6cb;border-radius:8px;background:#fff;color:#17211b;font-weight:900}.ops-button.primary{border-color:#17633b;background:#17633b;color:#fff}.ops-button.secondary{border-color:#1769aa;background:#e8f2fb;color:#174467}.ops-button.ghost{background:#f7f9f5}.ops-button.approve{border-color:#18834f;background:#e5f6ed;color:#12623b}.ops-button.deny{border-color:#b84b43;background:#fff0ee;color:#8b2f29}.ops-button.small{min-height:36px;padding:0 10px;font-size:.9rem}.ops-icon-button{width:44px;padding:0;font-size:1.4rem}.ops-segment.active{border-color:#17633b;background:#e5f6ed;color:#143725}.ops-alert{padding:12px 14px;border-radius:8px;font-weight:800}.compact-alert{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:560px;padding:9px 12px;font-size:.92rem}.compact-alert button{width:30px;height:30px;border:1px solid rgba(18,98,59,.24);border-radius:8px;background:#ffffffad;color:inherit;font-weight:900}.ops-alert.error{border:1px solid #efb5ae;background:#fff0ee;color:#8b2f29}.ops-alert.success{border:1px solid #add6bb;background:#edf8f1;color:#12623b}.ops-alert.warning{border:1px solid #e4c06e;background:#fff8e6;color:#6b4b0b}.ops-alert ul{margin:8px 0 0;padding-left:20px}.schedule-time-grid{min-height:calc(100vh - 240px);display:grid;grid-template-rows:auto minmax(620px,1fr);overflow:hidden;border:1px solid #cbd6cb;border-radius:12px;background:#fff}.schedule-time-grid.day{--calendar-days: 1}.schedule-time-grid.week{--calendar-days: 7}.time-grid-header{display:grid;grid-template-columns:64px repeat(var(--calendar-days),minmax(0,1fr));border-bottom:1px solid #d9e0d6;background:#f8faf7}.time-grid-corner,.time-grid-day-head{min-height:62px;padding:10px;border-right:1px solid #d9e0d6}.time-grid-day-head{display:grid;align-content:center;gap:3px}.time-grid-day-head strong{color:#17211b;font-size:.94rem}.time-grid-day-head span{color:#5d6b61;font-weight:800}.time-grid-body{min-height:0;display:grid;grid-template-columns:64px 1fr;overflow:auto}.time-grid-hours{display:grid;grid-template-rows:repeat(14,72px);border-right:1px solid #d9e0d6;background:#fbfcfa}.time-grid-hour{padding:8px 8px 0 0;border-bottom:1px solid #eef2ec;color:#5d6b61;font-size:.78rem;font-weight:900;text-align:right}.time-grid-days{min-width:760px;display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(130px,1fr))}.time-grid-day{position:relative;min-height:1008px;border-right:1px solid #d9e0d6;background:#fff}.time-grid-day:hover{background:#fbfdf9}.time-grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(14,72px);pointer-events:none}.time-grid-lines span{border-bottom:1px solid #eef2ec}.calendar-event{position:absolute;left:8px;right:8px;min-height:48px;display:grid;align-content:start;gap:2px;overflow:hidden;padding:8px;border:1px solid #bfdbfe;border-left:5px solid #2563eb;border-radius:8px;background:#eff6ff;color:#17211b;text-align:left;box-shadow:0 8px 18px #17211b14;touch-action:none;-webkit-user-select:none;user-select:none}.calendar-event.draggable{padding-top:28px;padding-bottom:28px}.calendar-event.draggable{cursor:grab}.calendar-event.draggable:active{cursor:grabbing}.calendar-event.touch-dragging{opacity:.72;outline:2px solid #17633b;outline-offset:2px;z-index:5}.calendar-event.drag-preview{border:2px dashed #17633b;border-left:5px solid #17633b;background:#e5f6ed85;color:#143725;box-shadow:none;pointer-events:none;z-index:4}.calendar-event.readonly{cursor:pointer}.event-resize-controls{position:absolute;left:6px;right:6px;display:flex;justify-content:center;gap:6px;pointer-events:none}.event-resize-controls.top{top:4px}.event-resize-controls.bottom{bottom:4px}.event-resize-controls button{width:24px;height:20px;display:grid;place-items:center;border:1px solid rgba(37,99,235,.34);border-radius:999px;background:#ffffffe0;color:#174ea6;font-size:.78rem;font-weight:900;line-height:1;pointer-events:auto}.event-resize-controls button:hover{background:#fff;border-color:#2563eb}.calendar-event strong,.calendar-event span,.calendar-event small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{font-size:.78rem}.calendar-event span{font-size:.9rem;font-weight:900}.calendar-event small{color:#405248;font-size:.74rem}.calendar-event.in-progress{border-color:#fde68a;border-left-color:#f59e0b;background:#fffbeb}.calendar-event.completed{border-color:#bbf7d0;border-left-color:#16a34a;background:#f0fdf4}.calendar-event.canceled{border-color:#fecaca;border-left-color:#dc2626;background:#fef2f2}.calendar-event.rescheduled{border-color:#ddd6fe;border-left-color:#7c3aed;background:#f5f3ff}.ops-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #d9e0d6;border-radius:8px;background:#d9e0d6}.ops-calendar.day{grid-template-columns:1fr}.ops-day-cell{min-height:178px;display:grid;grid-template-rows:auto 1fr;gap:8px;padding:10px;background:#fff}.ops-day-cell header{display:flex;justify-content:space-between;gap:8px;color:#5d6b61;font-size:.9rem}.day-jobs{display:grid;align-content:start;gap:7px}.calendar-job{display:grid;gap:3px;width:100%;padding:8px;border:1px solid #cbd6cb;border-left:5px solid #1769aa;border-radius:8px;background:#f7fbff;color:#17211b;text-align:left}.calendar-job.scheduled{border-left-color:#2563eb;background:#eff6ff}.calendar-job.in-progress{border-left-color:#f59e0b;background:#fffbeb}.calendar-job.completed{border-left-color:#16a34a;background:#f0fdf4}.calendar-job.canceled{border-left-color:#dc2626;background:#fef2f2}.calendar-job.rescheduled{border-left-color:#7c3aed;background:#f5f3ff}.calendar-job small,.ops-job-row small,.job-time span{color:#5d6b61}.schedule-agenda-list,.agenda-job-stack{display:grid;gap:12px}.agenda-day-group{display:grid;gap:10px;padding:14px;border:1px solid #d9e0d6;border-radius:12px;background:#fff}.agenda-day-group header{display:flex;justify-content:space-between;color:#5d6b61}.schedule-job-card{width:100%;display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #d9e0d6;border-radius:12px;background:#fff;color:#17211b;text-align:left}.schedule-job-time{color:#143725;font-weight:900}.schedule-job-main{display:grid;gap:3px}.schedule-job-main span,.schedule-job-main small{color:#5d6b61}.employee-date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(92px,1fr);gap:8px;overflow-x:auto;padding-bottom:2px}.employee-date-strip button{min-height:58px;display:grid;place-items:center;gap:2px;border:1px solid #d9e0d6;border-radius:12px;background:#fff;color:#253129;font-weight:900}.employee-date-strip button.active{border-color:#17633b;background:#e5f6ed;color:#143725}.employee-date-strip span{font-size:.8rem;color:#5d6b61}.ops-job-list,.request-list{display:grid;gap:10px}.job-list-card{padding:14px;border-radius:12px;box-shadow:none}.job-list-card h2{margin-bottom:10px;font-size:1.05rem}.ops-job-row{width:100%;display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #d9e0d6;border-radius:12px;background:#fff;color:#17211b;text-align:left}.job-time,.job-main{display:grid;gap:3px;min-width:0}.job-time strong,.job-main strong{font-size:1rem}.job-main span{color:#253129;font-weight:800}.ops-status{width:fit-content;min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#e8eef6;color:#174467;font-size:.78rem;font-weight:900;white-space:nowrap}.ops-status.scheduled,.ops-status.pending{background:#dbeafe;color:#1d4ed8}.ops-status.pending-foreman{background:#e8eef6;color:#174467}.ops-status.pending-owner{background:#fff4db;color:#8a5200}.ops-status.in-progress{background:#ffedd5;color:#c2410c}.ops-status.completed,.ops-status.approved,.ops-status.active{background:#e5f6ed;color:#12623b}.ops-status.canceled,.ops-status.denied,.ops-status.inactive{background:#fff0ee;color:#8b2f29}.ops-status.rescheduled{background:#ede9fe;color:#6d28d9}.ops-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.employee-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px}.person-actions{display:grid;justify-items:end;gap:8px}.employee-card h3,.employee-card p,.request-item p{margin:0}.request-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid #d9e0d6;border-radius:8px}.timesheet-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.timesheet-summary-card{display:grid;gap:4px;padding:13px 14px;border:1px solid #d9e0d6;border-radius:8px;background:#fff}.timesheet-summary-card span{color:#5d6b61;font-size:.84rem;font-weight:900}.timesheet-summary-card strong{color:#143725;font-size:1.35rem;line-height:1.05}.timesheet-filter-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid #d9e0d6;border-radius:8px;background:#fff}.timesheet-tabs{display:flex;flex-wrap:wrap;gap:7px}.timesheet-tabs button{min-height:38px;padding:0 12px;border:1px solid #cbd6cb;border-radius:999px;background:#fff;color:#253129;font-weight:900}.timesheet-tabs button.active{border-color:#17633b;background:#e5f6ed;color:#143725}.timesheet-date-filter{display:flex;align-items:center;gap:8px;color:#5d6b61;font-weight:900}.timesheet-date-filter select,.timesheet-date-filter input{min-height:38px;padding:0 10px;border:1px solid #cbd6cb;border-radius:8px;background:#fff;color:#17211b;font:inherit;font-weight:800}.timesheet-list-shell{display:grid;gap:10px}.timesheet-card-list{display:grid;gap:9px}.timesheet-entry-card{display:grid;gap:8px;padding:12px 14px;border:1px solid #d9e0d6;border-radius:8px;background:#fff}.timesheet-entry-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.timesheet-entry-head>div{display:grid;gap:3px}.timesheet-entry-head strong{color:#17211b;font-size:1.05rem}.timesheet-entry-head span{color:#143725;font-size:1.2rem;font-weight:900}.timesheet-entry-body{display:grid;gap:4px}.timesheet-entry-body p,.timesheet-entry-body small{margin:0;color:#5d6b61;line-height:1.35}.timesheet-entry-body small:first-child{color:#253129}.timesheet-card-actions{display:flex;justify-content:flex-start}.timesheet-empty{background:#fff}.timesheet-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.timesheet-mode-tabs button{min-height:42px;border:1px solid #cbd6cb;border-radius:8px;background:#fff;color:#253129;font-weight:900}.timesheet-mode-tabs button.active{border-color:#17633b;background:#e5f6ed;color:#143725}.week-timesheet-editor{display:grid;gap:12px}.week-entry-list{display:grid;gap:8px}.week-entry-row{display:grid;grid-template-columns:130px 1fr 1fr minmax(150px,1.5fr);gap:8px;align-items:end;padding:10px;border:1px solid #d9e0d6;border-radius:8px;background:#f7f9f5}.week-entry-row strong{align-self:center}.approval-reset-note{margin:0;padding:10px 12px;border-radius:8px;background:#fff8e6;color:#6b4b0b;font-weight:800}.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px;border:1px solid #d9e0d6;border-radius:8px}.history-dot{width:12px;height:12px;margin-top:5px;border-radius:999px;background:#17633b}.history-item p{margin:4px 0}.history-item small,.history-item time{color:#5d6b61}.history-item time{display:grid;justify-items:end;gap:2px;white-space:nowrap}.request-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.request-history-section{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #d9e0d6}.request-history-section h3{margin:0;color:#5d6b61;font-size:.9rem;letter-spacing:0;text-transform:uppercase}.request-history-item{align-items:center;padding:12px;background:#f9faf8}.request-history-item p{color:#5d6b61}.history-list-compact{gap:8px}.next-job{display:grid;gap:8px;padding:18px;cursor:pointer}.ops-empty{margin:0;padding:20px;border:1px dashed #cbd6cb;border-radius:8px;color:#5d6b61;text-align:center}.ops-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#1019147a}.ops-modal{width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;gap:14px;padding:18px}.ops-modal.wide{width:min(860px,100%)}.ops-modal header{position:sticky;top:-18px;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:-18px -18px 0;padding:18px;border-bottom:1px solid #edf1eb;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ops-modal header button{width:40px;height:40px;border:1px solid #d9e0d6;border-radius:8px;background:#fff;font-size:1.4rem}.ops-modal footer{position:sticky;bottom:-18px;z-index:2;margin:0 -18px -18px;padding:14px 18px 18px;border-top:1px solid #edf1eb;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.form-grid-ops,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid>div{display:grid;gap:4px;padding:12px;border:1px solid #d9e0d6;border-radius:8px}.detail-grid span{color:#5d6b61;font-size:.86rem;font-weight:900}.admin-note{padding:12px;border-radius:8px;background:#f7f9f5}.employee-picker{display:grid;gap:8px}.employee-picker>div{display:flex;flex-wrap:wrap;gap:8px}.employee-toggle{min-height:42px;display:inline-flex;gap:6px;align-items:center;padding:0 12px;border:1px solid #cbd6cb;border-radius:999px;background:#fff;color:#17211b;font-weight:900}.employee-toggle small{color:#9a3412;font-size:.72rem;font-weight:900}.employee-toggle.unavailable{border-color:#fed7aa;background:#fff7ed}.employee-toggle.active{border-color:#17633b;background:#e5f6ed;color:#143725}.ops-checkbox{display:flex;align-items:center;gap:10px;font-weight:900}.ops-checkbox input{width:22px;height:22px}@media(max-width:980px){.ops-shell{grid-template-columns:1fr}.ops-sidebar{display:none}.ops-main{margin-left:0;width:100%;max-width:none;padding:14px}.ops-main.employee-main{width:100%;max-width:none;margin-left:0}.mobile-drawer-trigger{width:52px;height:52px;position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:calc(env(safe-area-inset-right,0px) + 14px);z-index:2190;display:grid;place-content:center;gap:5px;flex:0 0 auto;border:1px solid rgba(23,99,59,.34);border-radius:16px;background:#17633bd1;box-shadow:0 14px 30px #17211b42;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-drawer-trigger span{width:19px;height:2px;display:block;border-radius:999px;background:#fff}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:block;background:#0f17126b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-drawer{position:fixed;inset:0 auto 0 0;z-index:2210;width:min(340px,calc(100vw - 42px));display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:18px;background:#fff;border-right:1px solid #d9e0d6;box-shadow:22px 0 52px #17211b2e;transform:translate(-104%);transition:transform .18s ease}.mobile-drawer.open{transform:translate(0)}.mobile-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:start;padding-bottom:14px;border-bottom:1px solid #d9e0d6}.mobile-drawer-head div{display:grid;gap:4px}.mobile-drawer-head strong{color:#143725;font-size:1.05rem}.mobile-drawer-head span{color:#5d6b61;font-weight:800}.mobile-drawer-head button{width:42px;height:42px;border:1px solid #d9e0d6;border-radius:12px;background:#f7f9f5;color:#17211b;font-size:1.35rem;font-weight:900}.mobile-drawer-nav{display:grid;align-content:start;gap:8px}.mobile-drawer-nav a{min-height:50px;display:flex;align-items:center;padding:0 14px;border:1px solid #d9e0d6;border-radius:12px;background:#fff;color:#253129;font-weight:900}.mobile-drawer-nav a.router-link-active{border-color:#17633b;background:#e5f6ed;color:#143725;box-shadow:inset 4px 0 #17633b}.mobile-drawer-logout{width:100%}.ops-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-toolbar{display:grid}.schedule-workspace .ops-toolbar{padding:12px}.ops-filters,.form-grid-ops,.detail-grid,.ops-grid.two{grid-template-columns:1fr}.schedule-workspace .ops-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-calendar{display:grid;grid-template-columns:1fr;gap:10px;border:none;background:transparent}.schedule-metrics{display:none}.ops-toolbar,.ops-filters{display:grid;gap:10px}.ops-control-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-workspace .ops-control-row{flex-wrap:wrap}.ops-control-row strong,.schedule-date-input,.ops-control-row .ops-button.primary{grid-column:1 / -1}.schedule-workspace .ops-control-row:first-child{display:grid;grid-template-columns:auto 44px 44px minmax(0,1fr);align-items:center}.schedule-workspace .ops-control-row:first-child strong{grid-column:1 / -1;min-width:0}.schedule-workspace .ops-control-row:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-workspace .ops-control-row:last-child .ops-button.primary{grid-column:1 / -1}.schedule-time-grid{min-height:620px;grid-template-rows:auto 1fr}.time-grid-days{min-width:720px}.schedule-job-card{grid-template-columns:1fr}.ops-day-cell{min-height:auto;border:1px solid #d9e0d6;border-radius:8px}}@media(max-width:640px){.ops-topbar{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto}.ops-quick-actions .ops-button,.ops-control-row .ops-button.primary{width:100%}.ops-user-chip{grid-column:1 / -1;width:100%;margin-top:12px;padding-right:64px}.mobile-drawer-trigger{grid-column:auto;grid-row:auto}.ops-title-row,.compact-action{width:100%}.ops-dashboard-grid,.schedule-workspace .ops-filters{grid-template-columns:1fr}.schedule-workspace .ops-toolbar{overflow:hidden}.employee-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.employee-stat-grid .ops-stat-card{min-height:68px;padding:10px}.employee-stat-grid .ops-stat-card strong{font-size:1.35rem}.employee-stat-grid .ops-stat-card span{font-size:.78rem;line-height:1.15}.employee-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-actions .ops-button{padding:0 10px;font-size:.92rem}.next-job-card{grid-template-columns:1fr;padding:14px}.next-job-actions{justify-items:start}.timesheet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-filter-bar{align-items:stretch;flex-direction:column}.timesheet-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.timesheet-tabs button{padding:0 8px}.timesheet-date-filter{justify-content:space-between}.timesheet-entry-head{align-items:start;flex-direction:column}.week-entry-row{grid-template-columns:1fr 1fr}.week-entry-row strong,.week-entry-row .ops-field:last-child{grid-column:1 / -1}.ops-job-row{grid-template-columns:72px minmax(0,1fr)}.ops-job-row .ops-status{grid-column:2}.request-item,.request-actions{grid-template-columns:1fr}.ops-modal{align-self:end;width:100%;max-height:92vh;border-radius:18px 18px 8px 8px}}
