:root{--bg-1: #f9f4ea;--bg-2: #dbe8ef;--panel: #ffffff;--text: #1f2a31;--muted: #5a6a73;--primary: #005f73;--primary-hover: #0a748b;--secondary: #e7edf1;--danger: #9f3a2b;--border: #d4dde2}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Manrope,sans-serif;background:radial-gradient(1200px 500px at 5% -10%,#f4d9af 0%,transparent 70%),radial-gradient(900px 400px at 110% 10%,#bee0f0 0%,transparent 65%),linear-gradient(135deg,var(--bg-1),var(--bg-2));min-height:100vh}h1,h2,h3{font-family:"Source Serif 4",serif;margin:0 0 .8rem}.shell{width:min(1080px,94vw);margin:2.2rem auto}.panel{background:color-mix(in srgb,var(--panel) 90%,#f5fbff 10%);border-radius:18px;border:1px solid #ffffff;box-shadow:0 25px 60px #172a341f;padding:1.4rem}.panel-header h1{font-size:clamp(1.45rem,2.4vw,2.2rem)}.panel-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.brand-block{display:flex;align-items:center;gap:.8rem;min-width:0}.brand-logo{width:clamp(110px,14vw,165px);height:auto;object-fit:contain;flex-shrink:0}.header-menu{position:relative;margin-left:auto}.hamburger-trigger{min-width:2.5rem;min-height:2.3rem;padding:.3rem .6rem;font-size:1.1rem;line-height:1}.header-menu-popover{position:absolute;top:2.6rem;right:0;min-width:180px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 16px 30px #14242c29;padding:.35rem;z-index:30}.header-menu-item{width:100%;display:block;text-align:left;color:var(--text);background:transparent;border-radius:8px;padding:.45rem .55rem;font-weight:600}.header-menu-item:hover{transform:none;background:#e8f2f8;color:var(--text)}.welcome-banner{margin:.6rem 0 0;color:var(--muted);font-size:.92rem;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;color:var(--muted);margin-bottom:.4rem}.job-id-hero{margin:0;font-family:"Source Serif 4",serif;font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;color:#053e4f;background:#e4f4f8;border:1px solid #6eb1c2;border-radius:10px;padding:.4rem .65rem}.job-header-row{margin-top:.8rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.job-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.job-save-button{margin-left:0;white-space:nowrap}.job-servicem8-link{white-space:nowrap;text-decoration:none}button.job-save-button.secondary{background:#2f9e44;color:#fff}button.job-save-button.secondary:hover{background:#27833a;color:#fff}.steps{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.55rem;padding:0;margin:1.2rem 0}.step-link{font-size:.82rem;background:#f6f7f8;border:1px solid var(--border);color:var(--muted);border-radius:10px;width:100%;min-height:2.35rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;text-align:left;padding:.55rem .65rem}.step-link.done{border-color:#8ec4d1;color:#06485a}.step-link.validated{border-color:#85cda5}.step-link.active{background:#e4f4f8;border-color:#6eb1c2;color:#053e4f;font-weight:700}.card{border:1px solid var(--border);border-radius:14px;background:#fff;padding:1rem;margin-top:.8rem}.step-link:hover{background:color-mix(in srgb,#ffffff 55%,#e8f3f8 45%);transform:none}.step-check{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:999px;border:1px solid #5da876;background:#e7f8ec;color:#1f7a3f;font-size:.78rem;font-weight:800;line-height:1}.panel-scroll{position:relative;max-height:min(68vh,760px);overflow-y:auto;padding-right:.2rem}.grid-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.grid-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.admin-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.option-list-editor{border:1px solid var(--border);border-radius:12px;background:#f8fbfd;padding:.75rem}.option-list-editor h3{margin:0 0 .55rem;font-size:1rem}.option-list-items{display:grid;gap:.45rem}.option-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center}.option-list-row input{margin-top:0}.option-list-remove{min-width:2rem;min-height:2rem;border-radius:999px;padding:0;line-height:1}.option-list-add{margin-top:.55rem;min-width:2rem;min-height:2rem;border-radius:999px;padding:0;line-height:1}label{display:block;margin-bottom:.8rem;font-size:.87rem;color:var(--muted)}input,select,textarea{width:100%;margin-top:.32rem;border-radius:10px;border:1px solid var(--border);padding:.58rem .62rem;font:inherit;color:var(--text);background:#fbfdff}textarea{min-height:94px;resize:vertical}.field-with-insert{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:start;margin-top:.32rem}.field-with-insert textarea{margin-top:0}.canned-menu{position:relative}.canned-trigger{width:2rem;min-width:2rem;height:2rem;padding:0;border-radius:999px;font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.canned-trigger:hover{transform:none}.canned-popover{position:absolute;top:2.3rem;right:0;width:min(360px,72vw);max-height:260px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 16px 30px #14242c29;padding:.6rem;z-index:25}.canned-title{margin:0 0 .5rem;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.canned-options{display:grid;gap:.4rem}.canned-option{width:100%;text-align:left;border:1px solid var(--border);border-radius:9px;padding:.45rem .55rem;background:#f3f8fb;color:var(--text);font-weight:500}.canned-option:hover{background:#e8f2f8;color:var(--text);transform:none}.zone-card{border:1px solid var(--border);border-radius:12px;padding:.85rem;margin-bottom:.7rem;background:#fcfdfd}.row-title{margin:0 0 .55rem;font-weight:700}.derived-pill{display:inline-block;margin:0 0 .7rem;font-size:.83rem;border:1px solid #9cc7d4;background:#ebf7fb;color:#0d5065;border-radius:999px;padding:.22rem .55rem}.checkbox-list{display:grid;gap:.5rem}.checkbox-row{display:flex;align-items:center;gap:.55rem;padding:.4rem 0}.checkbox-row input{width:auto;margin:0}.summary{border:1px dashed #b9c8d0;border-radius:12px;padding:.8rem;margin-bottom:.9rem;background:#f8fbfd}.summary p{margin:.25rem 0}.service-m8-sync-summary{margin-top:.8rem}.service-m8-sync-ok{border-style:solid;border-color:#b7d9c2;background:#f2faf5}.service-m8-sync-failed{border-style:solid;border-color:#e0b8b8;background:#fff5f5}.section61-output-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr) minmax(320px,1.25fr);gap:.75rem;align-items:start}.section61-output-card{margin-bottom:0;height:100%}.section61-output-card label:last-child{margin-bottom:0}.static-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:auto;background:#fff}.static-table{width:100%;border-collapse:collapse;min-width:320px}.static-table th,.static-table td{border:1px solid #d7e4ea;padding:.38rem .5rem;font-size:.86rem;text-align:center;vertical-align:middle}.static-table th{background:#f5f9fc;color:var(--text);font-weight:700}.editable-table-wrap{border:1px solid var(--border);border-radius:12px;overflow:auto;margin-bottom:.75rem}.editable-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}.editable-table th,.editable-table td{border-bottom:1px solid #e4edf2;padding:.5rem .6rem;text-align:left;vertical-align:top}.editable-table th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f5f9fc}.editable-table tr:last-child td{border-bottom:0}.editable-table td input{margin-top:0}.compact-col{width:74px;text-align:center}.compact-button{min-width:2rem;min-height:2rem;border-radius:999px;padding:0;line-height:1}.actions{margin-top:1rem;display:flex;align-items:center;gap:.6rem}.sticky-actions{position:sticky;top:0;z-index:6;margin-top:0;padding:.65rem;justify-content:flex-start;align-items:flex-start;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,#ffffff 86%,#f0f7fb 14%);box-shadow:0 8px 16px #172a340f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.spacer{flex:1}button,a{border-radius:11px;border:0;background:var(--primary);color:#fff;padding:.56rem .88rem;cursor:pointer;font:inherit;font-weight:600;text-decoration:none;transition:transform .14s ease,background-color .14s ease}button:hover,a:hover{transform:translateY(-1px);background:var(--primary-hover)}button:disabled{opacity:.56;cursor:default;transform:none}button.secondary{background:var(--secondary);color:#1f2a31}button.secondary:hover{background:#dbe4ea}button.danger{background:#f5e3df;color:var(--danger)}.status-block,.downloads{margin-top:1rem;border:1px solid var(--border);border-radius:12px;padding:.8rem;background:#f9fcff}.validation-list{margin-top:.5rem;border:1px solid #f0d7a4;border-radius:12px;padding:.75rem;background:#fff7e9}.validation-list h3{margin:0 0 .4rem;font-size:1rem}.validation-list p{margin:.24rem 0;color:#66420f;font-size:.88rem}.validation-summary{margin-left:auto;width:min(520px,58%);align-self:flex-start;border:1px solid var(--border);border-radius:12px;background:#f9fcff}.validation-summary.has-issues{border-color:#f0d7a4;background:#fff7e9}.validation-summary.all-clear{border-color:#b8dfc4;background:#eefaf1}.validation-summary-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:left;color:inherit;background:transparent;border:0;padding:.6rem .7rem}.validation-summary-toggle:hover{transform:none;background:color-mix(in srgb,#ffffff 65%,#edf3f8 35%)}.validation-summary-meta{font-size:.8rem;color:var(--muted);white-space:nowrap}.validation-summary-complete{padding:.6rem .7rem;font-weight:600}.download-actions{display:flex;flex-wrap:wrap;gap:.5rem}.error{margin-top:.8rem;color:#8d2d20;background:#fdebe8;border:1px solid #f6cdc8;border-radius:10px;padding:.55rem .6rem}.hint{color:var(--muted);font-size:.86rem}.loading-indicator{display:inline-flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.9rem}.manager-loading-state{margin-bottom:.85rem}.loading-spinner{width:.95rem;height:.95rem;border-radius:999px;border:2px solid #bfd4de;border-top-color:var(--primary);animation:spin .8s linear infinite;flex-shrink:0}.review-download-buttons{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.55rem}.review-download-disabled{background:#e3e8ec;color:#5d6870}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.85rem;align-items:start}.review-main-col,.review-files-col{display:grid;gap:.75rem}.timesheet-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1rem}.timesheet-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.timesheet-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.timesheet-inline-status{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .7rem;border-radius:999px;background:#eef6fb;border:1px solid #b8d3de;color:#0b5266;font-size:.88rem;font-weight:600}.timesheet-layout{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(0,1.35fr);gap:1rem;align-items:start}.timesheet-calendar-panel,.timesheet-editor-panel{border:1px solid var(--border);border-radius:14px;background:#fbfdff;padding:.9rem}.timesheet-calendar-panel.refresh-success{animation:calendar-refresh-success 1.35s ease-out}.timesheet-calendar-toolbar,.timesheet-day-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.timesheet-summary-strip{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.85rem;margin-bottom:.75rem}.timesheet-calendar-weekdays,.timesheet-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.timesheet-calendar-weekdays{margin-bottom:.35rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.timesheet-calendar-cell{min-height:4.6rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.5rem;text-align:left}.timesheet-calendar-cell:hover{transform:none;border-color:#90bfd0;background:#f5fbff}.timesheet-calendar-cell.outside{background:#f6f8f9;color:#84929b}.timesheet-calendar-cell.selected{border-color:#5fa3b8;background:#e6f5fb}.timesheet-calendar-date{font-weight:700}.timesheet-calendar-hours{font-size:.8rem;color:var(--muted)}.timesheet-entry-list{display:grid;gap:.8rem}.timesheet-entry-card{border:1px solid var(--border);border-radius:12px;background:#fff;padding:.8rem}.timesheet-entry-top{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.timesheet-hours-field{width:130px}.timesheet-editor-actions{margin-top:.8rem;display:flex;justify-content:flex-start}.manager-week-row,.manager-toolbar,.manager-actions-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:.85rem}.manager-week-row{margin-bottom:.55rem}.manager-week-pill{padding:.5rem .7rem;border-radius:999px;background:#eef6fb;border:1px solid #b8d3de;font-weight:600}.manager-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:.85rem}.manager-table td,.manager-table th{vertical-align:top}.manager-required-hours-cell{display:grid;gap:.35rem;min-width:150px}.manager-required-hours-cell input{margin-top:0}.manager-required-hours-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;color:var(--muted);font-size:.78rem}.manager-reminder-list{display:grid;gap:.75rem}.review-main-col .summary{margin-bottom:0}.review-generate-button{width:100%}.generated-files-table-wrap{margin-top:0;border:1px solid var(--border);border-radius:12px;overflow:auto}.generated-files-table{width:100%;border-collapse:collapse;background:#fff;min-width:560px}.generated-files-table th,.generated-files-table td{border-bottom:1px solid #e4edf2;padding:.5rem .65rem;text-align:left;font-size:.85rem}.generated-files-table th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f5f9fc}.generated-files-table tr:last-child td{border-bottom:0}.file-link{color:var(--primary);text-decoration:underline;background:transparent;padding:0;border:0;font-weight:600}.file-link:hover{color:var(--primary-hover);transform:none}.app-footer-meta{margin-top:.75rem;display:flex;justify-content:flex-end;gap:.65rem;color:var(--muted);font-size:.68rem;letter-spacing:.01em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes calendar-refresh-success{0%{background:#e7f8ec;border-color:#84c89a}to{background:#fbfdff;border-color:var(--border)}}@media(max-width:720px){.shell{margin:1rem auto}.panel{padding:1rem}.panel-header-top{align-items:center}.brand-block{align-items:flex-start}.brand-logo{width:clamp(90px,30vw,135px)}.actions{flex-wrap:wrap}.panel-scroll{max-height:unset;overflow:visible}.sticky-actions{position:sticky;top:.4rem}.canned-popover{width:min(320px,88vw);right:-.3rem}.job-save-button{margin-left:0}.validation-summary{width:100%;margin-left:0}.review-layout,.section61-output-grid{grid-template-columns:1fr}.timesheet-header-row,.timesheet-calendar-toolbar,.timesheet-day-header,.timesheet-summary-strip{flex-direction:column;align-items:stretch}.timesheet-title-row{align-items:flex-start}.timesheet-layout{grid-template-columns:1fr}.timesheet-calendar-cell{min-height:4rem}.manager-week-row,.manager-toolbar,.manager-actions-row{align-items:stretch}}
