:root{--ink:#222930;--muted:#68737d;--line:#e2e6ea;--paper:#f5f6f8;--panel:#fff;--brand:#285bc0;--brand2:#204a9e;--mint:#e7f3ec;--amber:#94600d;--amberSoft:#fcf2db;--red:#b63838;--redSoft:#fbe9e8;--steel:#edf0f3;--radius:6px;font-family:"Segoe UI",system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--ink)}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:#fff;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea,summary,a{outline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand)}img{max-width:100%;object-fit:cover}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.3}h2{font-size:18px}h3{font-size:15px}button{overflow-wrap:anywhere}input,select,textarea{min-width:0}button .uiIcon{flex-shrink:0}.uiIcon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;vertical-align:middle;flex:0 0 20px}.uiIcon svg{width:100%;height:100%}.btn .uiIcon{width:17px;height:17px;flex-basis:17px}
.workspace{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.side{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:22px;background:var(--paper);border-right:1px solid var(--line);padding:24px 16px 14px;overflow-y:auto;min-width:0}.brand{display:flex;align-items:center;gap:11px;min-width:0}.mark{height:36px;width:36px;border-radius:6px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:750;flex:0 0 auto}.brandTitle{font-size:20px;font-weight:700;line-height:1.2}.brandSub{font-size:11px;color:var(--muted);margin-top:2px}.companyMini{display:flex;gap:10px;align-items:center;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.companyMini>div{min-width:0}.companyMini strong,.companyMini span:not(.uiIcon){display:block;overflow-wrap:anywhere}.companyMini span:not(.uiIcon){color:var(--muted);font-size:11px}.nav{display:grid;gap:22px}.navGroup{display:grid;gap:3px}.navHeading{font-size:10px;font-weight:650;color:var(--muted);text-transform:uppercase;padding:0 12px 6px}.nav button{width:100%;border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:11px;padding:10px 12px;min-height:40px;color:#56606a;border-radius:5px;font-size:13px;font-weight:500}.nav button:hover{background:#e9edf2}.nav button.active{color:var(--brand2);background:#e6edfb;font-weight:650}.nav .badge{margin-left:auto;padding:1px 6px;min-width:22px;text-align:center}.sideFooter{margin-top:auto;display:grid;gap:8px;border-top:1px solid var(--line);padding-top:12px}.sideProfile{border:0;background:transparent;padding:8px 0;display:flex;align-items:center;gap:9px;text-align:left;min-width:0;width:100%}.sideProfile>span:not(.avatar):not(.uiIcon){flex:1;min-width:0}.sideProfile strong,.sideProfile small{display:block;overflow-wrap:anywhere}.sideProfile strong{font-size:12px}.sideProfile small{font-size:10px;color:var(--muted)}.sideFooter>.btn{justify-content:flex-start;background:transparent;color:var(--muted);border:0}.iconButton{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:1px solid var(--line);border-radius:5px;background:white}.sideClose{display:none}.main{min-width:0;padding:26px 32px 40px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.pageContext{font-size:11px;color:var(--muted);margin-bottom:4px}.title h1{margin:0;font-size:26px;font-weight:650}.topMeta{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.connection{display:flex;gap:6px;align-items:center}.connection:before{content:"";width:6px;height:6px;border-radius:50%;background:#35986b}.connection.offline:before{background:var(--amber)}.viewContent{min-width:0}.mobileTop,.mobileBottomNav,.menuBackdrop{display:none}
.grid{display:grid;gap:28px;align-items:start;min-width:0}.grid.two{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.overviewGrid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.panel{min-width:0;background:white;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 18px;min-width:0}.panelHead>div{min-width:0}.panelHead h2{margin:0;font-size:17px;font-weight:650}.panelHead p{margin:4px 0 0;color:var(--muted);font-size:12px}.panelBody{padding:0 0 20px;min-width:0}.panelBody>.panel{margin-top:18px}.stack{display:grid;gap:16px;min-width:0}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.muted,.small{color:var(--muted)}.small{font-size:12px}.hint{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0 0}.eyebrow{font-size:10px;font-weight:650;color:var(--muted);text-transform:uppercase}.empty{padding:28px 14px;text-align:center;color:var(--muted);background:var(--paper);border-radius:4px;font-size:13px}.badge{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;border-radius:4px;padding:4px 8px;background:var(--steel);color:#54616c;font-size:11px;font-weight:600;white-space:normal;line-height:1.4}.badge.ok{background:var(--mint);color:#24734d}.badge.warn{background:var(--amberSoft);color:var(--amber)}.badge.danger,.badge.bad{background:var(--redSoft);color:var(--red)}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9edf5;color:#485568;font-size:12px;font-weight:650;overflow:hidden;flex:0 0 auto}.avatar img{width:100%;height:100%}.profileBadge{display:flex;gap:10px;align-items:center}.profileBadge strong,.profileBadge span{display:block}.profileBadge .avatar{display:grid}.profileBadge .profileEmail{font-size:12px;color:var(--muted)}.companyLogo{max-width:180px;max-height:80px;object-fit:contain}.brandLogo{width:36px;height:36px;object-fit:contain}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:5px;font-size:13px;font-weight:600;line-height:1.4;text-align:center;max-width:100%;text-decoration:none}.btn:hover{background:var(--brand2);border-color:var(--brand2);text-decoration:none}.btn.secondary{background:white;border-color:#ccd3dc;color:var(--ink)}.btn.secondary:hover{background:var(--paper);border-color:#a6b4c7}.btn.danger{background:var(--red);border-color:var(--red);color:white}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.small{min-height:32px;padding:6px 10px;font-size:12px}.actions,.quickLinks,.shiftLinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.full{grid-column:1/-1}.field{display:grid;gap:6px;min-width:0;align-content:start}.field label,.label{font-size:12px;font-weight:600;color:#48525d}.field input,.field select,.field textarea,.listToolbar input,.listToolbar select,textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid #cbd2dc;background:#fff;border-radius:5px;outline:none;max-width:100%}.field input:focus,.field select:focus,.field textarea:focus,.listToolbar input:focus,.listToolbar select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px #285bc014}.field textarea,textarea{min-height:96px;resize:vertical}.field input[type="checkbox"],input[type="checkbox"]{width:17px;height:17px;min-height:0;accent-color:var(--brand);flex-shrink:0}.field input[type="file"]{font-size:12px;padding:8px}.field input::file-selector-button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:5px 9px;margin-right:8px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.formSections{display:grid;gap:20px}.formSection{margin:0;padding:0 0 22px;border:0;border-bottom:1px solid var(--line);min-width:0}.formSection legend,.formSection summary{font-size:14px;font-weight:600;padding:0;margin-bottom:14px}.optionalSection summary{cursor:pointer;color:var(--muted)}.optionalSection:not([open]) summary{margin-bottom:0}.formSections>.formGrid{padding-bottom:20px}.divider{height:1px;background:var(--line);margin:22px 0}.seg{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:18px 0}.seg button{background:transparent;border:0;border-bottom:2px solid transparent;padding:10px 14px;color:var(--muted);font-size:13px}.seg button.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:600}
.overviewMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px}.metric{display:grid;grid-template-columns:1fr auto;text-align:left;gap:12px;border:0;border-right:1px solid var(--line);padding:20px;background:white;min-width:0}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric:hover{background:var(--paper)}.metricLabel{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;grid-column:1/-1}.metricValue{font-size:28px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}.metric>.uiIcon:last-child{color:#96a2b2;align-self:center}.stats,.jobDetailStats,.personDetailStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:16px;min-width:0;border-right:1px solid var(--line)}.stat:last-child{border:0}.statLabel{font-size:12px;color:var(--muted)}.statValue{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.statNote{font-size:11px;color:var(--muted)}.controlList{display:grid}.controlItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);background:white;border-radius:0;text-align:left}.controlItem strong{font-size:13px;display:block}.controlItem p{font-size:12px;color:var(--muted);margin:4px 0 0}.controlItem .btn{min-height:32px;padding:6px 10px;font-size:12px}.controlItem:last-child{border-bottom:0}.controlItemButton{width:100%;border:0;border-bottom:1px solid var(--line);color:inherit;cursor:pointer}.controlItemButton:hover{background:var(--paper)}
.jobsWorkspace,.peopleWorkspace{display:block}.listToolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-bottom:18px}.listSearch{display:flex;align-items:center;gap:9px;flex:1;max-width:440px;min-width:160px;position:relative}.listSearch .uiIcon{position:absolute;left:11px;color:var(--muted)}.listSearch input{padding-left:38px}.listToolbar>select{width:150px}.listCount{font-size:12px;color:var(--muted);margin:14px 0 0}.trashMenu{position:relative;margin-left:auto}.trashMenu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:40px;padding:8px;color:var(--muted);font-size:12px}.trashMenu summary::-webkit-details-marker{display:none}.trashMenu>.panel{position:absolute;right:0;top:48px;z-index:10;width:520px;max-width:calc(100vw - 48px);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #22293014;padding:0 18px}.jobCards,.personCards{display:grid;gap:0}.jobCard{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) minmax(80px,.4fr) auto 18px;gap:14px;align-items:center;padding:18px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;color:var(--ink);text-align:left;min-width:0}.jobCard:hover,.jobCard.selected{background:var(--paper)}.jobCard>.uiIcon{color:#8190a6}.jobCard strong{display:block;font-size:14px;font-weight:600}.jobCardMain{min-width:0}.jobCardMain>span:last-child{display:block;font-size:12px;color:var(--muted);margin-top:4px}.jobCode{font-size:10px;color:var(--muted);font-weight:600;display:block;margin-bottom:3px}.jobCardClient{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.jobCardMeta{font-size:11px;color:var(--muted);display:grid;gap:5px;justify-items:end;text-align:right;min-width:0}.jobCardTop{display:flex;justify-content:space-between;gap:8px}.personCard{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 8px;background:white;color:inherit;min-width:0}.personCard:hover,.personCard.selected{background:var(--paper)}.personCardMain{flex:1;min-width:0}.personCardMain strong,.personCardMain span{display:block;overflow-wrap:anywhere}.personCardMain strong{font-size:14px;font-weight:600}.personCardMain span{font-size:12px;color:var(--muted)}.personCardMeta{display:grid;gap:5px;justify-items:end;font-size:11px;color:var(--muted)}.personSummary{display:flex;gap:16px;align-items:center;padding:0 0 20px}.personSummary .avatar{width:48px;height:48px;font-size:17px}.personSummary h2{margin:0}.personSummary p{margin:3px 0;color:var(--muted);font-size:12px}.personHistory{margin-top:28px}.jobTabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px;gap:20px}.jobTabs button{min-height:42px;padding:8px 10px;background:transparent;border:0;border-bottom:2px solid transparent;font-size:13px;color:var(--muted)}.jobTabs button.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:600}.jobEditForm{max-width:900px}.dangerZone{border:0;border-top:1px solid var(--line);border-radius:0;background:white;margin-top:26px;padding-top:18px}.dangerZone summary{cursor:pointer;color:var(--red);font-size:13px;font-weight:600}.dangerZone summary span{color:var(--muted);font-weight:400;font-size:11px}.dangerZone[open] summary{margin-bottom:18px}.checkboxes,.peopleCheckboxes{display:grid;gap:5px;min-width:0}.assignmentPicker{min-width:0}.assignmentSummary{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:11px}.assignmentChip{border:1px solid var(--line);padding:3px 7px;border-radius:4px;font-size:11px}.assignmentOption,.personCheck,.personCheckbox{display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 6px;min-width:0}.assignmentOption.selected,.personCheck.selected{background:#f1f5fb}.assignmentOption strong,.personCheck strong,.personCheckbox strong{font-size:12px}.assignmentOption small,.personCheck small,.personCheckbox small{font-size:11px;color:var(--muted)}
.tableWrap{min-width:0;width:100%;overflow:visible}.table{border-collapse:collapse;width:100%;min-width:0;table-layout:fixed;font-size:13px}.table th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:600;background:var(--paper);padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.table td strong{font-weight:600}.table td small{font-size:11px;color:var(--muted)}.table td .btn{margin:3px 0}.table tr[data-entry-id],.table tr[data-diary-id]{cursor:pointer}.table tr.selected{background:#eef3fc}.table tr[data-entry-id]:hover,.table tr[data-diary-id]:hover{background:var(--paper)}.table td .badge{margin-top:3px}.emptyTableRow{text-align:center;color:var(--muted)}.attendanceFilters,.reviewFilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attendanceSummary{display:flex;flex-wrap:wrap;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.attendanceSummary strong{font-size:18px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:12px;color:var(--muted)}.pagination .actions{gap:5px}.pagination button{min-height:36px}.timeEntryDetailGrid,.entryDetailGrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.timeEntryDetailMain,.timeEntryDetailAside,.entryDetailMain,.entryDetailAside{min-width:0;display:grid;gap:18px;align-content:start}.entryHistory{margin-top:24px}.historyList{display:grid}.historyEvent{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.historyEvent strong{font-size:13px}.historyEvent p{margin:4px 0;color:var(--muted)}.reviewQueue{display:grid}.reviewQueueItem,.queueItem{display:grid;gap:9px;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;padding:18px 8px;color:inherit}.reviewQueueItem:hover,.queueItem:hover{background:var(--paper)}.queueFlags{display:flex;flex-wrap:wrap;gap:5px}.queueMeta{font-size:12px;color:var(--muted)}.timeEntryApprovalForm,.attendanceReopenForm{display:grid;gap:10px}.approvalState{display:grid;gap:10px}.approvalState p{font-size:12px;margin:0;color:var(--muted)}.entryDetailAside .panel,.timeEntryDetailAside .panel{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.entryDetailAside .panelHead,.timeEntryDetailAside .panelHead{padding-top:0}.entryDetailAside .panelBody,.timeEntryDetailAside .panelBody{padding-bottom:0}
.diaryWorkspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start}.diarySidebar{background:var(--paper);padding:0 16px;border:1px solid var(--line);border-radius:6px}.diarySidebar .panelHead{align-items:start;gap:8px}.diarySidebar .panelHead h2{font-size:15px}.diarySidebar .panelHead p{font-size:11px}.diaryDayList{display:grid;gap:0;max-height:460px;overflow-y:auto}.diaryDay{width:100%;padding:12px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;color:inherit;display:flex;gap:9px;align-items:center;justify-content:space-between}.diaryDay strong{font-size:13px;display:block}.diaryDay span:not(.badge){font-size:11px;color:var(--muted);display:block}.diaryDay.active,.diaryDay.selected{background:#e6edfb}.diaryDay .badge{font-size:10px}.diaryEditor{min-width:0}.diaryEditor #diaryForm textarea[name="workDone"]{min-height:180px}.diarySections{display:grid;gap:12px}.diarySection{border-top:1px solid var(--line);padding:14px 0;border-radius:0;background:white}.diarySection>summary{cursor:pointer;font-size:13px;font-weight:600}.diarySection[open]>summary{margin-bottom:14px}.diarySection .formGrid{margin-top:14px}.diaryWeatherStatus,.weatherStatus,.gpsPreflight{font-size:12px;background:var(--paper);border-left:3px solid #b5c5dc;padding:10px 12px;margin:12px 0;border-radius:0;overflow-wrap:anywhere}.diaryWeatherStatus p,.weatherStatus p{margin:4px 0}.weatherPreview{font-size:12px;padding:12px 0}.diaryActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.diaryMeta{font-size:12px;color:var(--muted)}.diaryDraftPreview{padding:16px;border:1px solid var(--line);border-radius:5px}.diaryDraftPreview p{font-size:13px}.signatureList{display:grid;gap:16px}.signatureItem{border-top:1px solid var(--line);padding-top:16px}.signatureItem h3{margin:0}.signatureItem p{font-size:12px;color:var(--muted)}.signatureActions{display:flex;flex-wrap:wrap;gap:8px}
.fieldHero{display:none}.fieldHeroText h2{font-size:20px}.fieldActions{display:flex;gap:10px;margin:18px 0}.fieldAction{display:flex;gap:10px;align-items:center;justify-content:center;width:100%;min-height:54px;border:1px solid var(--brand);border-radius:5px;background:var(--brand);color:white;padding:12px;font-size:15px}.fieldAction strong{font-size:15px;font-weight:600}.fieldAction>span:not(.uiIcon){display:none}.fieldAction.stop{color:var(--red);border-color:#dca6a6;background:white}.fieldAction.start:disabled,.fieldAction.stop:disabled{display:none}.shiftClock{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:20px 0 0;font-variant-numeric:tabular-nums}.shiftClock strong,.shiftClock [data-shift-clock]{font-size:42px;line-height:1.1;font-weight:650}.shiftClock small,.shiftClock>span:last-child{font-size:12px;color:var(--muted)}.breakControls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:16px 0;display:grid;gap:10px}.breakControls .formGrid{gap:10px}.fieldSummary{display:grid;gap:0}.fieldSummary>div{padding:12px 0;border-bottom:1px solid var(--line)}.fieldSummary span{display:block;font-size:11px;color:var(--muted)}.fieldSummary strong{display:block;font-size:13px;margin-top:3px}.fieldTimeline{display:grid}.fieldEvent{display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.fieldEvent strong,.fieldEvent span{display:block}.fieldEvent strong{font-size:13px}.fieldEvent span{font-size:11px;color:var(--muted)}.fieldEvent em{font-style:normal;font-size:12px;font-weight:600}.shiftLinks{margin:20px 0}.stamps,.stampGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.stamp{padding:14px 0;border-top:1px solid var(--line);min-width:0}.stamp strong{display:block;font-size:13px}.stamp p{font-size:12px;color:var(--muted);margin:6px 0 0}.stamp .label{font-size:10px}.gpsList{display:grid;gap:18px}.gpsIssue{padding:14px 0;border-top:1px solid var(--line)}.gpsIssue p{font-size:12px}.notice{padding:12px 14px;border-left:3px solid var(--brand);background:#eff4fc;font-size:13px;margin:0 0 18px}.notice.warn{border-color:var(--amber);background:var(--amberSoft)}.notice.danger{border-color:var(--red);background:var(--redSoft)}
.photoGrid,.attachmentGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.photoItem,.attachmentCard{border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0}.photoItem img,.attachmentCard img{width:100%;height:150px;display:block;object-fit:cover}.photoItem figcaption,.attachmentCard figcaption{padding:9px;font-size:11px;color:var(--muted)}.photoItem{margin:0}.photoPreview{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.photoPreview img{width:100%;height:90px;border-radius:4px}.attachmentLinks{display:grid;gap:5px;font-size:12px;overflow-wrap:anywhere}.threadList{display:grid;gap:0}.thread{border-top:1px solid var(--line);padding:20px 0}.thread h3{margin:0 0 6px}.threadMeta{font-size:11px;color:var(--muted)}.threadMessages{display:grid;gap:12px;margin:16px 0}.threadMessage{background:var(--paper);padding:12px;border-radius:5px;font-size:13px}.threadMessage p{margin:6px 0}.replyForm{display:grid;gap:10px}.auditFilters{display:flex;gap:12px;flex-wrap:wrap}.healthSummary{display:flex;flex-wrap:wrap;gap:10px}.dataHealth{margin-top:20px}.dataHealth details{margin-top:10px}.dataHealth pre{white-space:pre-wrap;font-size:11px;overflow-wrap:anywhere}
.login{max-width:460px;margin:64px auto;padding:0 24px;min-height:calc(100vh - 100px)}.loginHero{background:transparent;color:var(--ink);padding:0 0 28px;display:block}.loginHero .mark{width:42px;height:42px}.loginHero .brandTitle{font-size:26px}.loginHero .brandSub{display:none}.loginCopy{margin-top:12px}.loginCopy h1{display:none}.loginCopy p{color:var(--muted);font-size:13px;margin:0}.loginPanel{padding:0;background:white}.loginForm{width:100%;padding:24px 0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.loginForm h2{font-size:22px;margin:0 0 8px}.loginForm>.eyebrow{display:none}.loginForm .btn{width:100%}.loginForm .seg{margin-top:0}.loginForm .seg button{flex:1}.accountCheck{max-width:460px;margin:60px auto;padding:24px}.accountCheck h1{font-size:24px}.loadingScreen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:var(--muted)}.loadingScreen p{margin:0;font-size:13px}.spinner{width:22px;height:22px;border:2px solid #dce5f7;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.savingOverlay{position:fixed;bottom:24px;right:24px;z-index:100;background:white;border:1px solid var(--line);box-shadow:0 4px 16px #22293012;border-radius:6px;padding:14px 18px;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px)}.savingOverlay p{margin:0}.savingOverlay strong{font-size:13px}.savingSpinner{width:20px;height:20px;border:2px solid #dce5f7;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.workspace{grid-template-columns:215px minmax(0,1fr)}.main{padding:24px}.overviewGrid{grid-template-columns:1fr}.grid.two{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.timeEntryDetailGrid,.entryDetailGrid{grid-template-columns:1fr}.timeEntryDetailAside,.entryDetailAside{grid-template-columns:repeat(2,minmax(0,1fr))}.diaryWorkspace{grid-template-columns:235px minmax(0,1fr);gap:20px}.jobCard{grid-template-columns:20px minmax(0,1fr) auto 18px}.jobCardClient{display:none}}
@media(max-width:920px){.workspace{display:block}.mobileTop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:25;height:64px}.mobileTop .brandTitle{font-size:19px}.mobileTop .mark{width:30px;height:30px;font-size:11px}.mobileTop .iconButton{border:0}.side{position:fixed;top:0;left:0;width:260px;z-index:60;transform:translateX(-100%);transition:transform .2s}.sideClose{display:inline-flex;position:absolute;right:12px;top:20px;background:transparent;border:0}.menu-open .side{transform:translateX(0)}.menu-open .menuBackdrop{display:block;position:fixed;inset:0;z-index:50;background:#22293055;border:0}.mobileBottomNav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);padding:6px 6px max(6px,env(safe-area-inset-bottom));z-index:30;min-height:66px}.mobileBottomNav button{min-width:0;min-height:52px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--muted);border-radius:5px;font-size:10px;line-height:1.2;padding:4px}.mobileBottomNav button.active{background:#e6edfb;color:var(--brand);font-weight:600}.mobileBottomNav .uiIcon{width:20px;height:20px}.main{padding:22px 20px 100px}.top{margin-bottom:20px}.title h1{font-size:23px}.topMeta time{display:none}.savingOverlay{bottom:85px;right:16px}.grid.two{grid-template-columns:1fr}.diaryWorkspace{grid-template-columns:220px minmax(0,1fr)}.overviewMetrics{gap:0}.metric{padding:16px 12px}.metricLabel{font-size:11px;gap:5px}.metricLabel .uiIcon{display:none}.metricValue{font-size:26px}}
@media(max-width:720px){.main{padding:20px 16px 100px}.top{align-items:start}.topMeta{padding-top:7px;font-size:10px}.pageContext{font-size:10px}.panelHead{padding:18px 0 16px;gap:12px;align-items:start}.panelHead h2{font-size:16px}.panelHead .btn{font-size:12px;min-height:36px;padding:8px 10px}.formGrid{grid-template-columns:1fr;gap:14px}.formGrid>.full{grid-column:auto}.formSection{padding-bottom:18px}.formSection legend,.formSection summary{font-size:13px}.overviewMetrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.metric{padding:16px 12px;border-bottom:1px solid var(--line)}.metric:first-child{padding-left:12px}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+2){border-bottom:0}.metricValue{font-size:25px}.listToolbar{gap:8px}.listSearch{max-width:none;flex:1 1 100%;min-width:0}.listToolbar>select{width:auto;flex:1;min-width:0;font-size:12px}.trashMenu{margin-left:0}.trashMenu summary{padding:8px 4px}.trashMenu>.panel{right:0;max-width:calc(100vw - 32px);width:360px}.jobCard{grid-template-columns:20px minmax(0,1fr) 18px;gap:10px;padding:16px 4px}.jobCard>.uiIcon:last-child{grid-column:3;grid-row:1/3}.jobCardMeta{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;justify-items:start;text-align:left;gap:10px}.jobCard strong{font-size:13px}.jobCardMain>span:last-child{font-size:11px}.personCard{gap:9px;padding:14px 4px}.personCardMain strong{font-size:13px}.personCardMain span{font-size:11px}.personCardMeta{font-size:10px;max-width:90px}.stats,.jobDetailStats,.personDetailStats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:12px 8px}.statValue{font-size:21px}.statLabel,.statNote{font-size:10px}.jobTabs{gap:0;justify-content:space-between}.jobTabs button{font-size:12px;padding:8px 10px}.controlItem{gap:8px}.controlItem .btn{font-size:11px;padding:6px 8px}.table,.table tbody{display:block;width:100%}.table thead{display:none}.table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0;border-bottom:1px solid var(--line);gap:12px 16px}.table td{padding:0;border:0;min-width:0;font-size:12px}.table td:first-child,.table td:last-child{grid-column:1/-1}.table td[data-label]:before{content:attr(data-label);display:block;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:4px}.table td[data-label=""]:before{display:none}.attendanceFilters,.reviewFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceSummary{gap:16px}.pagination{flex-wrap:wrap}.timeEntryDetailAside,.entryDetailAside{grid-template-columns:1fr}.diaryWorkspace{grid-template-columns:1fr;gap:20px}.diarySidebar{padding:0 12px}.diaryDayList{max-height:200px}.diarySidebar .panelHead p{display:none}.diarySidebar .panelBody{padding-bottom:12px}.diaryEditor .panelHead{flex-wrap:wrap}.diaryActions>.btn{flex:1 1 auto}.shiftClock [data-shift-clock]{font-size:38px}.fieldActions{margin:16px 0}.stamps,.stampGrid{grid-template-columns:1fr;gap:0}.shiftLinks{gap:6px}.shiftLinks .btn{font-size:11px;padding:8px 10px}.photoGrid,.attachmentGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.photoItem img,.attachmentCard img{height:130px}.login{margin:36px auto;padding:0 22px}.loginHero{padding-bottom:22px}.loginForm h2{font-size:21px}.accountCheck{margin:30px auto;padding:22px}.actions>.btn{flex:1 1 auto}.row{flex-wrap:wrap}.savingOverlay{left:16px;right:16px;max-width:none}.savingOverlay strong{font-size:12px}}
[hidden]{display:none!important}.wide{grid-column:1/-1}.sideHead{display:flex;align-items:center;justify-content:space-between}.menuClose{display:none}.company{display:flex;gap:10px;align-items:center;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.companyName{font-size:12px;font-weight:600;overflow-wrap:anywhere}.companyMeta{font-size:10px;color:var(--muted)}.navGroupTitle{font-size:10px;text-transform:uppercase;color:var(--muted);padding:0 12px 6px;font-weight:600}.navCount{margin-left:auto;font-size:10px;background:#e4eaf4;padding:2px 6px;border-radius:4px}.navIcon{display:flex}.sideFoot{margin-top:auto;border-top:1px solid var(--line);padding-top:12px}.sideFoot>.btn{justify-content:flex-start;width:100%;padding-left:4px;font-size:11px}.mobileProfile{padding:0;border:0;background:transparent}.connectionState{display:flex;gap:6px;align-items:center}.connectionState:before{content:"";width:6px;height:6px;background:#35986b;border-radius:50%}.connectionState.offline:before{background:var(--amber)}.metric>span{display:flex;align-items:center;gap:7px;grid-column:1/-1;font-size:12px;color:var(--muted)}.metric>strong{font-size:28px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}.searchField{position:relative;flex:1;max-width:440px;min-width:150px;display:flex;align-items:center}.searchField>.uiIcon{position:absolute;left:11px;color:var(--muted)}.searchField input{padding-left:38px}.personCardSide{display:grid;gap:5px;justify-items:end;font-size:11px;color:var(--muted)}.personCardSide small{font-size:11px}.personCard>.uiIcon{order:3;color:#8190a6}.personCardMain{flex:1}.employeeCard{display:flex;gap:14px;align-items:center;margin-bottom:18px}.employeeCard h2{margin:0;font-size:17px}.employeeCard p{font-size:12px;color:var(--muted);margin:3px 0}.avatar.large{width:48px;height:48px;font-size:17px}.companyPreview img{max-height:80px;width:auto;max-width:180px;object-fit:contain}.companyPreview h2{font-size:17px}.companyPreview p{color:var(--muted);font-size:12px}.logoPlaceholder{width:60px;height:60px;background:var(--paper);display:grid;place-items:center;font-size:20px;font-weight:600;border-radius:5px}.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sectionHead h3{margin:0}.sectionHead p{margin:4px 0 0;font-size:12px;color:var(--muted)}.statFoot{font-size:10px;color:var(--muted)}.summaryStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:20px 0}.summaryStrip span,.summaryStrip strong{display:block}.summaryStrip span{font-size:11px;color:var(--muted)}.summaryStrip strong{font-size:21px;font-weight:650;font-variant-numeric:tabular-nums}.listPagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:20px 0;font-size:12px;color:var(--muted)}.listPagination .btn{min-width:36px;padding:6px}.assignGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.assignPerson{display:flex;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid var(--line);cursor:pointer;min-width:0}.assignPerson.selected{background:#f1f5fb}.assignPerson>span{min-width:0}.assignPerson strong,.assignPerson small{display:block;overflow-wrap:anywhere}.assignPerson strong{font-size:12px;font-weight:600}.assignPerson small{font-size:10px;color:var(--muted)}.assignmentChips{display:flex;flex-wrap:wrap;gap:5px}.assignmentChips>span{border:1px solid var(--line);padding:3px 7px;border-radius:4px;font-size:11px}.assignmentSummary .badge{font-size:10px}.diaryDayCard{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 8px;background:transparent;width:100%;text-align:left;color:inherit}.diaryDayCard strong{display:block;font-size:13px}.diaryDayCard small,.diaryDayCard p{font-size:11px;color:var(--muted);margin:4px 0 0}.diaryDayCard.selected{background:#e6edfb}.diaryDetails{border:0;border-top:1px solid var(--line);padding:14px 0;border-radius:0}.diaryDetails>summary{font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px}.diaryDetails[open]>summary{margin-bottom:14px}.diaryMissingRow{border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;gap:3px;padding:10px 0;text-align:left;width:100%;font-size:12px}.diaryMissingRow span{font-size:11px;color:var(--muted)}.diaryMissingList{max-height:180px;overflow-y:auto}.stampMeta{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.stampLabel{font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.stampValue{font-weight:600;font-size:13px;margin-bottom:5px}.gpsPreflight{display:flex;align-items:start;gap:10px}.gpsPreflight p,.gpsNotice p{margin:0;font-size:12px}.gpsPreflight .btn{margin-left:auto;white-space:nowrap;min-height:30px;font-size:11px;padding:6px 8px}.stopDetails{display:none}.stopDetails.is-visible{display:grid}.breakBox{border-top:1px solid var(--line);padding-top:14px}.breakBox strong{font-size:13px}.breakBox p{font-size:12px;margin:5px 0;color:var(--muted)}.requiredMark{color:var(--red)}.approvalList{display:grid}.approvalItem{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;width:100%;padding:18px 8px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;color:inherit}.approvalItem:hover{background:var(--paper)}.approvalItem strong{font-size:13px}.approvalItem p{font-size:12px;color:var(--muted);margin:5px 0}.approvalItem small{font-size:11px;color:var(--muted)}.queueFlags{margin-top:8px}.controlCue{font-size:11px;color:var(--brand);align-self:center}.reviewKindField{max-width:240px;margin-bottom:12px}.entryNarrative{padding:16px 0;border-bottom:1px solid var(--line)}.entryNarrative p{font-size:13px;margin:6px 0}.entryDetailAside .btn{width:100%}.approvalDecision{border:1px solid var(--line);border-radius:5px;padding:14px;background:white;display:grid;gap:12px}.approvalDecisionHead{display:flex;justify-content:space-between;gap:8px;align-items:center}.approvalDecisionHead h3{margin:0;font-size:14px}.approvalDecisionActions{display:grid;gap:8px}.approvalFeedback,.filterError{padding:10px 12px;background:var(--redSoft);color:var(--red);font-size:12px;border-left:3px solid var(--red)}.approvalFeedback.success{background:var(--mint);color:#24734d;border-color:#35986b}.approvalSavedNote,.approvalReviewInfo{font-size:12px;color:var(--muted)}.historyTimeline{display:grid}.historyEventHead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.historyActor,.historyStatus{font-size:11px;color:var(--muted)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.photo{border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0}.photo a{display:block}.photo img{width:100%;height:155px;display:block;object-fit:cover}.photoCap{padding:10px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.photoCap strong{color:var(--ink);font-weight:600}.photoStrip{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px}.photoStrip a,.photoStrip img{width:42px;height:42px;object-fit:cover;display:block;border-radius:3px}.photoStrip>span{font-size:10px}.threadHead{display:flex;justify-content:space-between;gap:10px}.threadReplies{display:grid;gap:12px;margin:14px 0}.reply{border-left:2px solid var(--line);padding:8px 12px;font-size:13px}.replyMeta{font-size:11px;color:var(--muted)}.report{white-space:pre-wrap;font-size:13px;line-height:1.8}.checks{display:grid;gap:10px;font-size:12px;color:var(--muted)}.check{display:flex;gap:8px;align-items:start}.dot{width:6px;height:6px;background:#8190a6;border-radius:50%;margin-top:6px;flex-shrink:0}.savingToast{display:flex;align-items:center;gap:12px}.savingToast p{font-size:12px}.accountGate{max-width:460px;margin:70px auto;padding:24px}.accountGate h1{font-size:24px}.draftNotice{font-size:11px;color:var(--muted);padding:10px 0}.jobAddressControls,.diaryWeatherToolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.jobAddressSearch{display:flex;gap:8px;align-items:center}.jobAddressResults,.weatherLocationResults{display:grid;gap:5px;margin-top:10px}.jobAddressResults button,.weatherLocationResults button{border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:10px;text-align:left;min-width:0;font-size:12px}.jobAddressConfirmed{font-size:12px;background:var(--mint);padding:10px;margin-top:8px}.jobAddressError{font-size:12px;color:var(--red)}.jobAddressAttribution{font-size:10px;color:var(--muted)}.jobCoordinateInputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jobCoordinates,.weatherLocationEditor{padding:12px 0}.weatherLocationSearch{display:flex;gap:8px}.weatherLocationEditor input{width:100%;max-width:100%}.gpsProblemList,.gpsReviewList{display:grid;gap:16px}.gpsReviewItem{border-top:1px solid var(--line);padding-top:18px}.gpsReviewTop{display:flex;justify-content:space-between;gap:12px;align-items:start}.gpsReviewTop h3{margin:0}.gpsProblem{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;background:var(--amberSoft);padding:12px;margin-top:10px;border-radius:4px;font-size:12px}.gpsReviewActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.gpsReviewForm{display:grid;gap:10px;margin-top:14px}.gpsNotice{font-size:12px;color:var(--muted);margin:12px 0}.trashItem{border-top:1px solid var(--line);padding:14px 0}.trashItem h3{margin:0}.trashItem p{font-size:11px;color:var(--muted)}.trashItem .btn{font-size:11px;min-height:32px}.status{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--paper);padding:12px;border-radius:4px}.statusTitle{font-size:13px;font-weight:600}.statusText{font-size:12px;color:var(--muted)}.editCard{border-top:1px solid var(--line);padding:14px 0}.editCard summary{cursor:pointer}.linkButton{border:0;background:transparent;color:var(--brand);padding:4px;font-size:12px}.personCell{display:flex;align-items:center;gap:8px}.badge.red{background:var(--redSoft);color:var(--red)}
.controlItem.actionable{border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;color:inherit}.controlItem.actionable:hover{background:var(--paper)}.metric>.uiIcon:last-child{grid-column:2;grid-row:2}.metric>strong{grid-column:1;grid-row:2}.stopDetails textarea[name="materialNote"],.stopDetails textarea[name="photoNote"],.stopDetails textarea[name="attachmentLinks"]{min-height:65px}.trashMenu .panelHead h2{font-size:14px}.diaryDayMenu{margin-top:12px}.diaryDayMenu>summary{display:none;font-size:12px;font-weight:600;cursor:pointer;align-items:center;justify-content:space-between}.diaryDayCard .badge{flex-shrink:0;white-space:nowrap}.diaryDayCard>div{min-width:0}.diaryDayCard>div>span{font-size:11px;color:var(--muted);display:block}.fieldAction.stop:disabled:not([hidden]){display:flex}.breakControls input,.breakControls select{min-height:40px;padding:9px 11px;border:1px solid #cbd2dc;border-radius:5px;width:100%;background:white}.breakControls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}.breakBox>div:first-child>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.entryDetailMain>.divider{display:none}.entryDetailMain>.stamps{margin-top:0}.entryDetailMain>.jobDetailStats{margin-bottom:0}
@media(max-width:720px){.diaryDayMenu>summary{display:flex}.diaryDayMenu{border-top:1px solid var(--line);padding-top:12px}.diaryDayMenu[open]>summary{margin-bottom:12px}.diarySidebar>.panelHead{display:none}.diarySidebar>.panelBody{padding-top:14px}.diaryEditor .diaryWeatherField textarea{min-height:72px}.breakControls{grid-template-columns:1fr}.breakControls .btn{width:100%}.diarySidebar:has(.diaryDayMenu) .field{margin-bottom:8px!important}}
@media(max-width:920px){.menuClose{display:flex;border:0;background:transparent;align-items:center;justify-content:center;height:34px;width:34px}.sideHead{padding-right:0}.metric>span{font-size:11px}.metric>span>.uiIcon{display:none}}
@media(max-width:720px){.wide{grid-column:auto}.searchField{max-width:none;flex:1 1 100%;min-width:0}.personCardSide{max-width:85px}.personCardSide small{font-size:10px}.summaryStrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.summaryStrip strong{font-size:20px}.assignGrid{grid-template-columns:1fr}.approvalItem{grid-template-columns:auto minmax(0,1fr);gap:9px}.approvalItem .controlCue{grid-column:2}.gpsPreflight{flex-wrap:wrap}.gpsPreflight .btn{margin-left:0}.jobAddressSearch,.weatherLocationSearch{flex-wrap:wrap}.jobAddressSearch .btn{flex:1}.jobCoordinateInputs{grid-template-columns:1fr}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photo img{height:130px}.metric>strong{font-size:25px}.accountGate{margin:30px auto;padding:22px}.diaryDayCard .badge{font-size:10px}.jobCard.static{display:block}.jobCard.static>strong{margin:6px 0}.gpsReviewTop{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner,.savingSpinner{animation-duration:2s}}
.investorWorkspace{gap:24px}.investorJobHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}.investorJobHeader>div{min-width:0}.investorJobHeader h2{margin:0;font-size:19px}.investorJobHeader p{margin:5px 0 0;color:var(--muted);font-size:12px}.investorJobHeader>.field{width:360px;max-width:100%}.investorDiaryFields{margin:0;display:grid;gap:0}.investorDiaryField{padding:16px 0;border-bottom:1px solid var(--line);min-width:0}.investorDiaryField dt{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:600;color:var(--muted)}.investorDiaryField dd{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.investorDiaryField dd small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.investorDiaryField .iconButton{width:36px;height:36px;flex-basis:36px;border:0;background:transparent;color:var(--brand)}.investorDiaryField .iconButton:hover{background:var(--paper)}.investorDiaryComments{margin-top:30px}.investorDiaryComments>form{padding-bottom:24px}.investorDiaryDetail>.panelHead .row{flex-wrap:wrap;justify-content:flex-end}.investorDiaryDetail{scroll-margin-top:20px}.threadHead{display:flex;justify-content:space-between;gap:12px;align-items:start}.threadHead>div{min-width:0}.threadHead p,.threadContext{font-size:11px;color:var(--muted);margin:4px 0 10px}.threadMessage p,.reply p{white-space:pre-wrap;overflow-wrap:anywhere}.threadReplies{display:grid;gap:12px;margin:16px 0}.reply{border-left:2px solid #c9d6ed;padding-left:14px}.replyMeta{font-size:11px;color:var(--muted)}.reply p{margin:6px 0;font-size:13px}.threadReplyForm{margin:16px 0}.thread{scroll-margin-top:20px}.investorGeneralDiscussion>form{max-width:740px}.investorDayList .diaryDayCard span:not(.badge){display:block;font-size:11px;color:var(--muted);margin-top:4px}
.investorJobControls{width:400px;max-width:100%;align-items:end}.investorJobControls>.field{flex:1;min-width:0}
@media(max-width:720px){.investorJobHeader{display:grid;gap:16px}.investorJobControls{width:100%}.investorDiaryWorkspace .diarySidebar>.panelHead{display:flex;padding:14px 0 10px}.investorDiaryWorkspace .diarySidebar>.panelBody{padding-top:0}.investorDiaryDetail>.panelHead{align-items:start;flex-wrap:wrap}.investorDiaryDetail>.panelHead .row{justify-content:flex-start}.investorDiaryFields dd{font-size:13px}.investorDiaryComments .sectionHead{flex-wrap:wrap}.threadHead{flex-wrap:wrap}}
@media print{.side,.mobileTop,.mobileBottomNav,.menuBackdrop,.topMeta,.actions,.quickLinks,.shiftLinks,.savingOverlay,button{display:none!important}.workspace{display:block}.main{padding:0}.panel{break-inside:avoid}.table,.table tbody{display:table;width:100%}.table tbody{display:table-row-group}.table thead{display:table-header-group}.table tbody tr{display:table-row}.table td,.table th{display:table-cell;padding:8px;border-bottom:1px solid #ddd}.table td:before{display:none!important}.diaryWorkspace{display:block}.diarySidebar{display:none}.panelBody{padding:0}.field input,.field textarea{border:0;background:white;color:black}.grid.two{display:block}.investorDiaryComments form{display:none!important}}
.diaryPhotoSection { border-top: 1px solid #dce1e6; padding-top: 18px; min-width: 0; }
.diaryPhotoSection .sectionHead { margin-bottom: 12px; }
.diaryPhotoUpload { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 12px; }
.diaryPhotoUpload input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.diaryPhotoUpload:focus-within .btn { outline: 2px solid #2563eb; outline-offset: 3px; }
.diaryPhotoUpload:has(input:disabled) .btn { opacity: .55; cursor: wait; }
.diaryPhotoUpload [hidden] { display: none; }
.diaryPhotoError { color: #ad3939; font-size: 14px; margin-bottom: 8px; }
.diaryPhotoError:empty { display: none; }
.diaryPhotoSaveState { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.diaryPhotoSaveState:empty { display: none; }
.diaryPhotoPending { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 14px; }
.diaryPendingPhoto { min-width: 0; margin: 0; border: 1px solid #dce1e6; border-radius: 6px; overflow: hidden; }
.diaryPendingPhoto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #f4f6f8; }
.diaryPendingPhoto figcaption { padding: 10px; }
.diaryPendingPhoto .row { flex-wrap: nowrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.diaryPendingPhoto .row span { min-width: 0; flex: 1; overflow-wrap: anywhere; font-size: 13px; }
.diaryPendingPhoto label { display: grid; gap: 5px; font-size: 13px; margin-top: 8px; }
.diaryPendingPhoto input { width: 100%; min-width: 0; }
.diaryReviewActions { align-items: center; flex-wrap: wrap; gap: 10px; }
.diaryReviewMore { margin-left: auto; }
.diaryReviewMore summary { display: flex; align-items: center; gap: 5px; cursor: pointer; color: var(--muted); font-size: 13px; }
.diaryReviewMore .btn { margin-top: 8px; }
.diaryActionError { color: #ad3939; font-size: 13px; overflow-wrap: anywhere; }
.diaryActionError:empty { display: none; }
.diaryAiDialog { width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #dce1e6; border-radius: 8px; color: var(--text); background: #ffffff; }
.diaryAiDialog::backdrop { background: rgb(20 30 28 / 45%); }
.diaryAiHead { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid #dce1e6; }
.diaryAiHead h2 { font-size: 19px; margin: 0; }
.diaryAiHead p { font-size: 13px; color: var(--muted); margin: 5px 0 0; }
.diaryAiHead .iconButton { width: 36px; height: 36px; padding: 6px; flex: 0 0 36px; }
.diaryAiBody { padding: 20px 24px; }
.diaryAiBody fieldset { border: 0; padding: 0; margin: 0 0 22px; min-width: 0; }
.diaryAiBody legend { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.diaryAiBody label { font-size: 14px; }
.diaryAiBody input[type="radio"], .diaryAiBody input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.diaryAiModes, .diaryAiPhotos { display: grid; gap: 12px; }
.diaryAiModes label, .diaryAiPhotos label, .diaryAiChoose { display: flex; gap: 10px; align-items: start; }
.diaryAiPhotos { max-height: 250px; overflow-y: auto; }
.diaryAiPhotos label span { min-width: 0; overflow-wrap: anywhere; }
.diaryAiPhotos small { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
.diaryAiConsent { padding-top: 16px; border-top: 1px solid #dce1e6; font-size: 12px; line-height: 1.6; color: var(--muted); }
.diaryAiProgress { color: #256b54; font-size: 14px; }
.diaryAiFooter { display: flex; gap: 10px; align-items: center; justify-content: flex-end; padding: 16px 24px; border-top: 1px solid #dce1e6; background: #f5f7f8; position: sticky; bottom: 0; }
.diaryAiResult h3 { font-size: 16px; margin: 0 0 6px; }
.diaryAiWarnings { margin: 18px 0; border-left: 3px solid #c58b37; padding: 8px 14px; font-size: 13px; background: #fff9ef; }
.diaryAiWarnings ul { margin: 8px 0; padding-left: 18px; }
.diaryAiWarnings li { margin-bottom: 6px; overflow-wrap: anywhere; }
.diaryAiChange { padding: 20px 0; border-top: 1px solid #dce1e6; }
.diaryAiChange details { font-size: 12px; color: var(--muted); margin: 12px 0; }
.diaryAiChange summary { cursor: pointer; }
.diaryAiOriginal { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.diaryAiChange textarea { width: 100%; min-height: 140px; padding: 12px; border: 1px solid #bac5ce; border-radius: 4px; font: inherit; font-size: 14px; line-height: 1.6; }
.diaryAiChanged { outline: 2px solid #4b806b; outline-offset: 2px; }
.diaryWorkLabel { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.diaryWorkLabel label { margin: 0; }
.diaryWorkAiButton { min-height: 44px; max-width: 100%; white-space: normal; }
.srOnly { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:720px) { .diaryAiHead, .diaryAiBody { padding: 18px 16px; } .diaryAiHead h2 { font-size: 16px; } .diaryAiFooter { padding: 12px 16px; flex-wrap: wrap; } .diaryAiFooter .btn { flex: 1 1 auto; font-size: 12px; min-width: 0; } .diaryReviewActions .btn { flex: 1 1 100%; } .diaryReviewMore { margin-left: 0; } }

/* Shared workspace design. Keep document-print styles independent of the shell. */
:root {
  --ink: #272c30;
  --text: var(--ink);
  --muted: #687278;
  --line: #dfe4e6;
  --paper: #f3f5f5;
  --brand: #77520b;
  --brand2: #5e4108;
  --brandSoft: #fff7df;
  --accent: #f5c344;
  --accentHover: #edb52b;
  --mint: #e9f3ee;
  --amber: #8a5b0a;
  --amberSoft: #fbf3df;
  --red: #b34242;
  --redSoft: #fcf0ef;
  --steel: #f0f2f4;
  --radius: 6px;
  --navInk: #c1c7cd;
  --navBackground: #272d31;
  font-family: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
}
body {
  font-family: "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, strong { font-family: inherit; }
::selection { background: #f9dda0; color: #272c30; }

@media screen {
  .workspace { grid-template-columns: 228px minmax(0, 1fr); }
  .side {
    background: var(--navBackground);
    border-right: 0;
    color: #fff;
    padding: 22px 12px 16px;
    gap: 18px;
    scrollbar-width: thin;
    scrollbar-color: #59616a transparent;
  }
  .sideHead { padding: 0 12px; }
  .brand { gap: 12px; }
  .mark { width: 36px; height: 36px; border-radius: 4px; background: var(--ink); }
  .mark svg { display: block; width: 32px; height: 32px; }
  .side .mark { background: var(--accent); color: var(--ink); }
  .brandTitle { font-size: 22px; font-weight: 650; }
  .company {
    margin: 0 10px;
    padding: 18px 0;
    border-color: #3b4148;
    align-items: flex-start;
    gap: 12px;
  }
  .company > .uiIcon { color: #a4adb6; margin-top: 2px; }
  .companyName { font-size: 13px; font-weight: 600; color: #fff; }
  .companyMeta { font-size: 11px; color: #a5aeb8; margin-top: 4px; }
  .nav { gap: 20px; }
  .navGroup { gap: 4px; }
  .navGroupTitle { color: #9aa4af; font-size: 10px; padding: 0 14px 8px; }
  .nav button {
    position: relative;
    min-height: 42px;
    padding: 10px 14px;
    gap: 12px;
    border-radius: 4px;
    color: var(--navInk);
    font-size: 13px;
  }
  .nav button:hover { background: #30363d; color: #fff; }
  .side button:focus-visible { outline: 2px solid #e7b55d; outline-offset: 2px; }
  .nav button.active { background: var(--accent); color: #272c30; font-weight: 650; }
  .nav button.active::before {
    content: "";
    width: 3px;
    position: absolute;
    inset: 11px auto 11px 0;
    background: #fff0c4;
    border-radius: 0 2px 2px 0;
  }
  .nav .uiIcon { width: 19px; height: 19px; flex-basis: 19px; }
  .navCount { background: #50585e; color: #fff; font-size: 10px; font-weight: 650; }
  .nav button.active .navCount { background: #272c30; color: white; }
  .sideFoot { border-color: #3b4148; padding: 14px 10px 0; }
  .sideProfile { color: white; gap: 10px; }
  .sideProfile strong { font-size: 12px; font-weight: 600; }
  .sideProfile small { color: #a5aeb8; font-size: 10px; }
  .sideProfile > .uiIcon { color: #a5aeb8; width: 17px; }
  .sideProfile .avatar { background: #484f58; color: #fff; }
  .sideFoot > .btn { color: #a5aeb8; min-height: 36px; margin-top: 4px; }
  .sideFoot > .btn:hover { background: #30363d; color: white; }
  .main { background: white; padding: 0 32px 48px; border-top: 4px solid var(--accent); }
  .top {
    min-height: 88px;
    padding: 16px 32px;
    margin: 0 -32px 28px;
    border-bottom: 1px solid var(--line);
    background: #f4f6f6;
  }
  .pageContext { display: flex; gap: 6px; align-items: center; font-size: 11px; margin-bottom: 7px; }
  .pageContext .uiIcon { width: 13px; height: 13px; flex-basis: 13px; }
  .title h1 { font-size: 25px; font-weight: 650; line-height: 1.2; color: var(--ink); }
  .topMeta { font-size: 12px; gap: 18px; }
  .topMeta time { font-variant-numeric: tabular-nums; }
  .connectionState { border-left: 1px solid var(--line); padding-left: 18px; font-size: 11px; }
  .viewContent { max-width: 1440px; }
  .panel { border: 0; background: transparent; border-radius: 0; }
  .panelHead { padding: 0 0 20px; min-height: 44px; }
  .panelHead h2 { font-size: 19px; font-weight: 600; }
  .panelHead p { margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
  .panelBody { padding-bottom: 26px; }
  .grid { gap: 32px; }
  .grid.two { grid-template-columns: minmax(0, 1.45fr) minmax(280px, .8fr); }
  .overviewGrid { grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr); }
  .overviewGrid > .panel { border-top: 1px solid var(--line); padding-top: 24px; }
  .overviewMetrics {
    margin-bottom: 32px;
    border: 0;
    background: var(--paper);
    padding: 22px 0;
  }
  .metric { background: transparent; padding: 0 24px; gap: 14px; border-color: #dde1e5; }
  .metric:first-child { padding-left: 24px; }
  .metric > span { font-size: 12px; color: #555f6b; gap: 8px; }
  .metric > span .uiIcon { width: 17px; height: 17px; flex-basis: 17px; }
  .metric > strong { font-size: 34px; font-weight: 600; }
  .metric > .uiIcon:last-child { color: #8a96a5; width: 16px; height: 16px; }
  .metric[data-nav="approvals"] > strong { color: #8a5b0a; }
  .metric:hover { background: #eceff2; }
  .badge { padding: 4px 8px; font-size: 11px; border-radius: 3px; font-weight: 600; }
  .badge.ok { color: #2e7052; }
  .badge.warn { color: var(--amber); }
  .controlItem { gap: 12px; padding: 18px 2px; background: transparent; }
  .controlItem:first-child { padding-top: 6px; }
  .controlItem strong { font-size: 14px; font-weight: 600; }
  .controlItem p { font-size: 12px; line-height: 1.6; }
  .controlCue { color: #627288; font-size: 11px; }
  .btn {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    transition: background-color .15s, border-color .15s, color .15s;
  }
  .btn.secondary { border-color: #cfd5dc; }
  .btn.secondary:hover { border-color: #9ca7b4; background: #f4f6f8; }
  .btn.ghost:hover { background: var(--paper); border-color: transparent; color: var(--ink); }
  .iconButton { border-radius: 4px; }
  .avatar { background: #edf0f4; color: #536174; font-size: 12px; }
  .field { gap: 7px; }
  .field label, .label { font-size: 12px; font-weight: 600; color: #4e5864; line-height: 1.5; }
  .field input, .field select, .field textarea, .listToolbar input, .listToolbar select, textarea,
  .breakControls input, .breakControls select {
    border-color: #cfd5dc;
    border-radius: 4px;
    min-height: 42px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: none;
  }
  input::placeholder, textarea::placeholder { color: #687481; opacity: 1; }
  .field textarea, textarea { line-height: 1.7; min-height: 110px; }
  .field input:disabled, .field select:disabled, .field textarea:disabled { background: #f7f8f9; color: #5b6674; opacity: 1; }
  .field input:focus, .field select:focus, .field textarea:focus, .listToolbar input:focus, .listToolbar select:focus, textarea:focus {
    border-color: #5d7fbd;
    box-shadow: 0 0 0 3px #2555b212;
  }
  .field input[type="checkbox"], input[type="checkbox"] { min-height: 0; padding: 0; }
  .formGrid { gap: 20px 24px; }
  .structuredForm { max-width: 1100px; gap: 24px; }
  .structuredForm > .btn { align-self: start; justify-self: end; width: auto; min-width: 170px; }
  .formSections { gap: 0; }
  .formSection {
    position: relative;
    padding: 22px 0 28px;
    margin: 0 0 6px;
    border-bottom: 1px solid var(--line);
  }
  .formSection > legend, .formSection > summary { font-size: 14px; font-weight: 600; margin-bottom: 18px; }
  .formStep { display: inline-block; flex: 0 0 16px; width: 16px; font-size: 10px; line-height: 2.4; color: #6b7785; font-variant-numeric: tabular-nums; }
  .formSection > legend { float: left; display: flex; gap: 10px; width: 170px; padding: 0 22px 0 0; line-height: 1.6; }
  .formSection > .formGrid { margin-left: 188px; }
  .optionalSection { padding-left: 0; }
  .optionalSection > summary { color: #4e5864; padding: 0; margin: 0; list-style: none; display: flex; align-items: center; gap: 10px; }
  .optionalSection > summary::after { content: "+"; margin-left: auto; color: #67717c; font-size: 18px; }
  .optionalSection[open] > summary::after { content: "\2212"; }
  .optionalSection[open] > summary { margin-bottom: 18px; }
  .optionalSection > .formGrid { margin-left: 188px; }
  .jobAddressSearch > input { flex: 1; min-width: 0; }
  .jobAddressSearch > .btn { flex: 0 0 auto; white-space: nowrap; }
  .formSection:has(input[name="name"]) input[name="name"] { font-size: 15px; font-weight: 500; }
  .listToolbar {
    padding: 16px 0 18px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    gap: 14px;
    align-items: center;
    margin-bottom: 0;
  }
  .searchField { max-width: 430px; }
  .searchField input { padding-left: 40px; background: #f9fafb; }
  .filterSelect { display: flex; gap: 8px; align-items: center; font-size: 11px; color: var(--muted); min-width: 0; }
  .filterSelect select { width: auto; max-width: 180px; font-size: 12px; min-height: 40px; }
  .listColumns { display: grid; align-items: center; color: var(--muted); font-size: 11px; font-weight: 600; padding: 13px 16px; background: #f8f9fa; border-bottom: 1px solid var(--line); }
  .jobListColumns { grid-template-columns: minmax(0, 1fr) minmax(100px, .4fr) auto; gap: 24px; padding-left: 72px; padding-right: 40px; }
  .jobListColumns > span:last-child { text-align: right; min-width: 115px; }
  .personListColumns { grid-template-columns: 1fr auto; padding-left: 72px; padding-right: 40px; }
  .overviewGrid .listColumns { display: none; }
  .jobCard { grid-template-columns: 38px minmax(0, 1fr) minmax(100px, .4fr) auto 16px; padding: 20px 16px; gap: 18px; background: transparent; }
  .jobListIcon { width: 36px; height: 38px; display: grid; place-items: center; background: #f1f3f6; border-radius: 4px; color: #6a788b; }
  .jobListIcon .uiIcon { width: 20px; height: 20px; }
  .jobCard strong { font-size: 15px; font-weight: 600; line-height: 1.5; }
  .jobCardMain > span:last-child { color: var(--muted); font-size: 12px; margin-top: 3px; }
  .jobCode { color: #6b7785; font-size: 10px; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
  .jobCardMeta { gap: 7px; min-width: 115px; }
  .jobCardMeta > span:not(.badge) { font-size: 11px; }
  .jobCardClient { font-size: 12px; }
  .jobCard > .uiIcon:last-child, .personCard > .uiIcon { width: 15px; height: 15px; flex-basis: 15px; color: #8c98a6; }
  .jobCard:hover, .personCard:hover { background: #f7f9fc; }
  .personCard { padding: 19px 16px; gap: 18px; background: transparent; }
  .personCard .avatar { width: 38px; height: 38px; }
  .personCardMain strong { font-size: 15px; margin-bottom: 2px; }
  .personCardMain > span { font-size: 12px; }
  .personCardMain small { color: var(--muted); font-size: 11px; }
  .personCardSide { min-width: 120px; gap: 7px; }
  .listCount { margin-top: 18px; font-size: 11px; }
  .jobTabs { gap: 28px; margin: 4px 0 24px; }
  .jobTabs button { min-height: 48px; padding: 10px 2px; font-size: 13px; display: flex; gap: 8px; align-items: center; }
  .jobTabs button.active { color: var(--ink); border-color: var(--ink); }
  .jobTabs button:hover { color: var(--ink); }
  .jobSinglePanel:has(.jobTabs) > .panelHead h2 { font-size: 24px; }
  .stats, .jobDetailStats, .personDetailStats { background: #f8f9fa; border: 0; padding: 18px 0; }
  .stats:has(.stat:nth-child(4)) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .stat { padding: 0 20px; }
  .statValue { font-size: 26px; font-weight: 600; margin-top: 5px; }
  .statFoot, .statNote { font-size: 11px; margin-top: 4px; }
  .assignmentSummary { min-height: 38px; padding-bottom: 8px; }
  .assignGrid { gap: 0 18px; }
  .assignPerson { padding: 15px 8px; gap: 12px; border-radius: 0; }
  .assignPerson strong { font-size: 13px; }
  .assignPerson small { font-size: 11px; margin-top: 3px; }
  .assignPerson.selected { background: #f3f6fb; }
  .dangerZone { padding: 20px 0; background: transparent; }
  .dangerZone summary { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; }
  .dangerZone summary span { margin-left: auto; }
  .table th { font-size: 11px; font-weight: 600; text-transform: none; background: #f5f6f8; padding: 12px 14px; color: #64707e; }
  .table td { font-size: 13px; padding: 17px 14px; line-height: 1.6; }
  .table tr.selected { background: #f0f4fb; }
  .table tr.selected td:first-child { box-shadow: inset 3px 0 var(--brand); }
  .table tfoot { background: #f7f8fa; }
  .attendanceFilters, .compactFilters { padding: 16px; background: #f6f7f8; border: 1px solid var(--line); border-radius: 4px; }
  .attendanceSummary { align-items: center; padding: 20px 0; margin-bottom: 0; }
  .attendanceSummary strong { font-size: 22px; font-weight: 600; }
  .approvalItem { padding: 20px 14px; gap: 16px; align-items: center; background: transparent; }
  .approvalItem strong { font-size: 15px; }
  .approvalItem p { font-size: 12px; line-height: 1.7; }
  .approvalItem > .uiIcon { color: #738196; width: 22px; height: 22px; }
  .approvalItem:hover { background: #f7f9fc; }
  .reviewKindField { padding-bottom: 8px; }
  .entryDetailGrid { grid-template-columns: minmax(0, 1fr) 310px; gap: 32px; }
  .entryDetailAside { padding-left: 24px; border-left: 1px solid var(--line); }
  .entryDetailAside .panel, .timeEntryDetailAside .panel { background: transparent; border: 0; padding: 0; }
  .approvalDecision { border: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; padding: 20px 0; background: transparent; }
  .approvalDecisionHead { align-items: flex-start; }
  .approvalDecisionActions { gap: 8px; }
  .historyEvent { position: relative; padding: 18px 0 18px 20px; }
  .historyEvent::before { content: ""; position: absolute; left: 0; top: 24px; width: 6px; height: 6px; border: 1px solid #97a6b8; border-radius: 50%; }
  .entryNarrative p { font-size: 14px; line-height: 1.8; white-space: pre-wrap; }
  .diaryWorkspace { grid-template-columns: 250px minmax(0, 1fr); gap: 32px; }
  .diarySidebar { padding: 0 22px 0 0; border: 0; border-right: 1px solid var(--line); background: transparent; border-radius: 0; }
  .diarySidebar .panelHead { padding: 4px 0 20px; }
  .diarySidebar .panelHead h2 { font-size: 15px; }
  .diarySidebar .field select { font-size: 12px; }
  .diaryDayMenu { padding-top: 12px; }
  .diaryDayCard { padding: 15px 10px; position: relative; }
  .diaryDayCard.selected { background: #edf2fb; }
  .diaryDayCard.selected::before { content: ""; position: absolute; width: 3px; inset: 10px auto 10px 0; background: var(--brand); }
  .diaryDayCard strong { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .diaryDayCard:hover { background: #f4f6f9; }
  .diaryMissingRow { padding: 12px 0; }
  .diaryEditor .panelHead { padding-bottom: 24px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
  .diaryEditor .panelHead h2 { font-size: 22px; font-weight: 600; }
  #diaryForm > .formGrid { gap: 22px 24px; }
  .diaryEntryMeta { display: grid; grid-template-columns: minmax(150px, .75fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: 18px; }
  #diaryForm textarea[name="workDone"] { min-height: 220px; font-size: 15px; line-height: 1.85; padding: 16px; }
  .diaryWeatherField textarea { min-height: 74px; font-size: 13px; background: #f9fafb; }
  .diaryWeatherStatus { padding: 10px 12px; border-color: #9cafc8; margin: 4px 0; background: #f6f8fb; font-size: 11px; }
  .diaryWeatherToolbar { gap: 12px; }
  .diaryWeatherToolbar a { font-size: 11px; }
  .diaryWeatherToolbar .btn { min-height: 32px; padding: 6px 10px; font-size: 11px; }
  .weatherLocationEditor, .jobCoordinates { font-size: 12px; color: var(--muted); }
  .diaryWorkLabel { margin-bottom: 2px; }
  .diaryWorkAiButton { min-height: 32px; padding: 6px 10px; font-size: 11px; color: #4b6190; border-color: #d0daeb; background: #f5f7fc; }
  .diaryPhotoSection { padding: 22px 0; border-bottom: 1px solid var(--line); }
  .diaryPhotoUpload { gap: 10px 14px; }
  .diaryQuickActions { display: flex; gap: 10px; flex-wrap: wrap; padding: 0 0 8px; }
  .diaryQuickActions .btn { font-size: 12px; min-height: 36px; }
  .diaryDetails { padding: 20px 0; border-color: var(--line); }
  .diaryDetails > summary { font-size: 14px; list-style: none; gap: 12px; }
  .diaryDetails > summary::after { content: "+"; font-size: 18px; color: #7e8996; margin-left: auto; }
  .diaryDetails[open] > summary::after { content: "\2212"; }
  .diaryDetails[open] > summary { margin-bottom: 20px; }
  .diaryDetails .formGrid { gap: 20px; }
  .diarySaveActions { padding: 20px 0 0; gap: 12px; }
  .diaryApprovalInline { padding-bottom: 18px; }
  .diaryApprovalInline .sectionHead h3 { font-size: 14px; color: var(--muted); font-weight: 500; }
  .fieldMode > .grid.two { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); }
  .fieldMode .grid.two > .panel:last-child { padding-left: 28px; border-left: 1px solid var(--line); }
  .fieldMode .grid.two > .panel:first-child { max-width: 780px; }
  .shiftClock { align-items: center; margin: 26px 0 22px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .shiftClock [data-shift-clock] { font-size: 48px; font-weight: 500; }
  .shiftClock small { font-size: 11px; text-align: right; }
  .fieldActions { margin: 0 0 16px; }
  .fieldAction { min-height: 56px; border-radius: 4px; font-size: 15px; }
  .fieldAction.start { background: #2d7158; border-color: #2d7158; }
  .fieldAction.start:hover { background: #245d48; border-color: #245d48; }
  .fieldAction.stop { color: #a83a3a; border-color: #e0b2b2; background: #fff7f6; }
  .fieldAction.stop:hover { background: #fbe8e6; }
  .breakBox { padding-top: 18px; }
  .gpsPreflight { background: #f5f7f9; border-color: #b3beca; padding: 12px; font-size: 11px; }
  .stamp { padding: 18px 0; }
  .stampValue { font-size: 15px; }
  .stampLabel { font-size: 10px; }
  .stampMeta { line-height: 1.65; }
  .fieldSummary strong { font-size: 14px; font-weight: 600; }
  .photos, .photoGrid { grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)); gap: 18px; }
  .photo { border-radius: 4px; border-color: var(--line); }
  .photo img { height: auto; aspect-ratio: 4 / 3; }
  .photoCap { padding: 12px; line-height: 1.7; font-size: 11px; }
  .photoCap strong { font-size: 12px; }
  .diaryPendingPhoto { border-radius: 4px; }
  .investorJobHeader { padding-bottom: 24px; border-bottom: 1px solid var(--line); }
  .investorJobHeader h2 { font-size: 24px; }
  .investorConfirmationFilters { display: flex; align-items: stretch; gap: 6px; border-bottom: 1px solid var(--line); }
  .investorConfirmationFilters button { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 10px 18px; background: transparent; border: 0; border-bottom: 2px solid transparent; color: #64707d; font-size: 13px; }
  .investorConfirmationFilters button strong { font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
  .investorConfirmationFilters button[aria-pressed="true"] { color: var(--brand); border-bottom-color: var(--brand); background: #f6f8fc; }
  .investorConfirmationBadge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; white-space: nowrap; flex-shrink: 0; padding: 5px 6px; }
  .investorConfirmationBadge .uiIcon { width: 12px; height: 12px; flex-basis: 12px; }
  .investorEntryConfirmation { display: flex; align-items: center; gap: 14px; padding: 16px 18px; margin: 0 0 22px; border-left: 3px solid #bf9444; background: #fcf6e9; scroll-margin-top: 82px; }
  .investorEntryConfirmation.confirmed { background: #eff6f1; border-left-color: #518368; }
  .investorConfirmationIcon { color: #94691b; display: flex; align-items: center; flex: 0 0 24px; }
  .confirmed .investorConfirmationIcon { color: #387253; }
  .investorConfirmationIcon .uiIcon { width: 22px; height: 22px; }
  .investorEntryConfirmation > div { flex: 1; min-width: 0; }
  .investorEntryConfirmation h3 { margin: 0; font-size: 14px; font-weight: 650; }
  .investorEntryConfirmation p { margin: 5px 0 0; font-size: 12px; line-height: 1.6; color: #5e6871; }
  .investorEntryConfirmation .investorConfirmationNote { white-space: pre-wrap; overflow-wrap: anywhere; }
  .investorEntryConfirmation .btn { flex-shrink: 0; white-space: nowrap; min-height: 42px; font-size: 13px; }
  .investorConfirmDock { display: none; }
  .investorSignatureDialog { width: calc(100% - 32px); max-width: 500px; max-height: calc(100dvh - 32px); padding: 28px; border: 0; border-radius: 6px; box-shadow: 0 12px 60px #25292e40; background: white; color: var(--ink); overflow-y: auto; }
  .investorSignatureDialog::backdrop { background: #171b2080; }
  .investorSignatureDialog h2 { margin: 0 0 14px; font-size: 21px; font-weight: 650; }
  .investorSignatureDate { margin: 0; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .investorSignatureDialog .stampMeta { margin: 6px 0 0; }
  .investorSignatureConsequence { margin: 0; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.7; color: #5e6871; }
  .investorSignatureDialog textarea { min-height: 96px; }
  .investorSignatureDialog [data-signature-message]:empty { display: none; }
  .investorSignatureDialog [data-signature-message] { font-size: 12px; line-height: 1.7; color: var(--muted); }
  .investorSignatureDialog [data-signature-message][role="alert"] { color: var(--red); }
  .investorSignatureActions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
  .investorDiaryDetail { container: investor-diary / inline-size; }
  .investorDayPicker { display: none; }
  .investorDiaryHeading { align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 22px; }
  .investorDiaryHeading h2 { font-size: 25px; font-weight: 650; font-variant-numeric: tabular-nums; }
  .investorDiaryHeading p { margin-top: 6px; font-size: 12px; }
  .investorDiaryEyebrow { display: block; margin-bottom: 6px; font-size: 11px; color: var(--muted); }
  .investorDiaryField { display: grid; grid-template-columns: 135px minmax(0, 1fr); align-items: start; gap: 14px; padding: 14px 0; }
  .investorDiaryField:last-child { border-bottom: 0; }
  .investorDiaryField dt { display: block; color: #59636d; font-size: 12px; font-weight: 600; line-height: 1.6; padding-top: 2px; overflow-wrap: anywhere; }
  .investorDiaryField dd { display: flex; align-items: flex-start; gap: 10px; min-width: 0; max-width: none; margin: 0; font-size: 14px; line-height: 1.65; white-space: normal; }
  .investorDiaryValue { flex: 1; min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
  .investorDiaryValue small { white-space: normal; font-size: 10px; line-height: 1.5; margin-top: 6px; }
  .investorDiaryField .iconButton { color: #758391; width: 30px; height: 30px; flex-basis: 30px; margin-top: -3px; border: 1px solid transparent; border-radius: 4px; }
  .investorDiaryField .iconButton .uiIcon { width: 17px; height: 17px; flex-basis: 17px; }
  .investorDiaryField .iconButton:hover, .investorDiaryField .iconButton:focus-visible { color: var(--brand); background: var(--brandSoft); border-color: #d6e0f0; }
  .investorDiaryField .diaryCommentLink.hasDiscussion, .investorDiaryField .diaryCommentLink.hasOpenDiscussion { width: auto; min-width: 44px; flex-basis: auto; flex-shrink: 0; padding: 5px 7px; gap: 6px; color: #365d93; border-color: #d7e1ee; background: #f3f6fb; }
  .investorDiaryField .diaryCommentLink.hasOpenDiscussion { color: #85590e; border-color: #ead7ae; background: #fcf5e6; }
  .diaryCommentCount { font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .investorDiaryMeta { grid-template-columns: 1.25fr 1fr 1fr; gap: 0; padding: 16px 18px; background: #f5f6f7; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .investorDiaryMeta .investorDiaryField { display: block; padding: 0 18px; border: 0; border-left: 1px solid #dde2e7; }
  .investorDiaryMeta .investorDiaryField:first-child { border-left: 0; padding-left: 0; }
  .investorDiaryMeta .investorDiaryField:last-child { padding-right: 0; }
  .investorDiaryMeta dd { margin-top: 7px; font-size: 13px; line-height: 1.6; gap: 4px; }
  .investorDiaryMeta .iconButton { width: 28px; height: 28px; flex-basis: 28px; }
  .investorDiaryWork { padding: 26px 0 28px; }
  .investorDiaryWork .investorDiaryField { display: block; padding: 0 0 0 18px; border: 0; border-left: 3px solid #7695bf; }
  .investorDiaryWork dt { font-size: 18px; color: var(--ink); font-weight: 650; margin-bottom: 10px; padding: 0; }
  .investorDiaryWork dd { font-size: 15px; line-height: 1.8; }
  .investorDiaryWork .investorDiaryValue { max-width: 78ch; }
  .investorDiarySections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 26px 32px; padding-top: 26px; }
  .investorDiaryGroup { min-width: 0; }
  .investorDiaryGroup h3 { margin: 0; padding-bottom: 12px; border-bottom: 2px solid #d9dee3; font-size: 15px; color: var(--ink); font-weight: 650; }
  .investorDiaryGroup[data-diary-group="events"] { grid-column: 1 / -1; }
  .investorDiaryGroup[data-diary-group="events"] .investorDiaryField { grid-template-columns: 185px minmax(0, 1fr); }
  .investorDiaryPhotos { padding: 20px 0; border-top: 1px solid var(--line); }
  .investorDiaryPhotos .sectionHead { margin-bottom: 16px; }
  .investorDiaryPhotos .sectionHead h3 { font-size: 15px; font-weight: 650; }
  .investorDiaryAttachments:has(.investorDiaryField) { margin-top: 12px; }
  .investorDiaryAttachments .investorDiaryField { grid-template-columns: 185px minmax(0, 1fr); padding-bottom: 0; }
  .investorDiaryPhotos:not(:has(.photos)) .investorDiaryAttachments { margin-top: 0; }
  .investorDiaryComments { margin-top: 28px; border-top: 2px solid #d9dee3; padding-top: 22px; }
  .investorDiaryComments > .sectionHead h3 { font-size: 17px; font-weight: 650; }
  .investorDiaryComments > form { max-width: 860px; padding: 4px 0 24px; }
  .thread { padding: 24px 0; }
  .threadFocused { background: #f5f8fc; box-shadow: inset 3px 0 #7594bf; padding-left: 16px; padding-right: 16px; }
  .threadHead h3 { font-size: 15px; }
  .reply { padding: 12px 16px; border-left-color: #c5d1e2; background: #f8f9fb; }
  .threadReplyForm { max-width: 800px; }
  .report { font-size: 14px; line-height: 1.9; }
  .companyPreview { border-bottom: 1px solid var(--line); padding-bottom: 24px; }
  .companyPreview h2 { font-size: 22px; }
  .employeeCard { padding-bottom: 24px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
  .employeeCard h2 { font-size: 22px; }
  .empty { background: #f7f8fa; padding: 28px 18px; border-radius: 4px; font-size: 13px; line-height: 1.7; }
  .appFeedback { display: flex; align-items: flex-start; gap: 10px; padding: 13px 16px; margin-bottom: 22px; background: var(--paper); border-left: 3px solid #a2afbf; font-size: 13px; line-height: 1.65; }
  .appFeedback > .uiIcon { width: 18px; height: 18px; flex-basis: 18px; margin-top: 2px; }
  .appFeedback > span:last-child { min-width: 0; overflow-wrap: anywhere; }
  .appFeedback.success { background: #f0f6f2; border-color: #52866a; color: #2d6247; }
  .appFeedback.error { background: var(--redSoft); border-color: #c46c63; color: #9a3c34; }
  .draftNotice { padding: 10px 12px; border-left: 2px solid #a8b6c9; background: #f6f8fb; }
  .diaryAiDialog { border: 0; border-radius: 6px; box-shadow: 0 12px 60px #25292e40; }
  .diaryAiHead { padding: 24px 28px; }
  .diaryAiHead h2 { font-size: 21px; font-weight: 600; }
  .diaryAiBody { padding: 24px 28px; }
  .diaryAiFooter { background: #f7f8fa; padding: 18px 28px; }
  .diaryAiChange textarea { min-height: 210px; line-height: 1.85; }
  .diaryAiHead .iconButton { border: 0; color: var(--muted); }
  .savingOverlay { border-radius: 4px; padding: 14px 18px; box-shadow: 0 6px 24px #25292e16; }
  body.photoViewerOpen { overflow: hidden; }
  .photoViewerDialog { width: calc(100% - 48px); max-width: 1600px; height: calc(100dvh - 48px); max-height: 1100px; padding: 0; border: 0; border-radius: 6px; background: white; color: var(--ink); box-shadow: 0 20px 80px #15191f50; overflow: hidden; }
  .photoViewerDialog[open] { display: flex; flex-direction: column; }
  .photoViewerDialog::backdrop { background: #171b20bf; }
  .photoViewerDialog [hidden] { display: none !important; }
  .photoViewerHead { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 18px; flex-shrink: 0; border-bottom: 1px solid var(--line); }
  .photoViewerTitle { display: flex; align-items: center; gap: 16px; min-width: 0; }
  .photoViewerTitle h2 { margin: 0; font-size: 14px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; max-height: 64px; overflow: auto; }
  .photoViewerTitle > span { font-size: 12px; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
  .photoViewerTools { display: flex; align-items: center; flex-shrink: 0; gap: 6px; }
  .photoViewerTools .iconButton { width: 40px; height: 40px; border: 0; background: transparent; border-radius: 4px; color: #586575; }
  .photoViewerTools .iconButton:hover { color: var(--brand); background: var(--brandSoft); }
  .photoViewerTools .iconButton:disabled, .photoViewerTools [aria-disabled="true"] { opacity: .4; pointer-events: none; }
  .photoViewerTools .photoViewerZoom { width: auto; min-width: 84px; padding: 6px 9px; gap: 8px; font-size: 11px; font-variant-numeric: tabular-nums; }
  .photoViewerZoom[aria-pressed="true"] { color: var(--brand); background: var(--brandSoft); }
  .photoViewerMain { position: relative; flex: 1; min-height: 100px; background: #17191c; }
  .photoViewerStage { width: 100%; height: 100%; overflow: auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom; }
  .photoViewerStage.zoomed { touch-action: pan-x pan-y pinch-zoom; cursor: grab; }
  .photoViewerStage.dragging { cursor: grabbing; }
  .photoViewerCanvas { display: grid; place-items: center; min-width: 100%; min-height: 100%; }
  .photoViewerCanvas img { display: block; max-width: none; max-height: none; object-fit: contain; user-select: none; }
  .photoViewerStatus { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; padding: 48px 70px; color: #eff1f3; font-size: 13px; text-align: center; line-height: 1.7; }
  .photoViewerStatus .savingSpinner { border-color: #ffffff30; border-top-color: white; }
  .photoViewerStatus .btn { background: #2d333b; border-color: #586371; color: white; }
  .photoViewerMain .photoViewerNav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: #ffffffed; color: #25292e; border: 0; border-radius: 50%; box-shadow: 0 2px 12px #00000025; }
  .photoViewerNav.previous { left: 16px; }
  .photoViewerNav.next { right: 16px; }
  .photoViewerMain .photoViewerNav:hover { background: white; color: var(--brand); }
  .photoViewerMain .photoViewerNav:disabled { opacity: .3; cursor: default; }
  .photoViewerFooter { flex-shrink: 0; padding: 12px 18px; border-top: 1px solid var(--line); max-height: 100px; overflow-y: auto; }
  .photoViewerFooter:has(p:empty) { display: none; }
  .photoViewerFooter p { margin: 0; white-space: pre-line; overflow-wrap: anywhere; font-size: 12px; color: #5d6875; line-height: 1.6; }
  body:has(.login), body:has(.accountGate) { background: #f3f4f5; }
  .login { max-width: 450px; min-height: 0; margin: 72px auto; padding: 0 20px; }
  .loginHero { padding: 0 0 28px; }
  .loginHero .brand { justify-content: center; }
  .loginHero .brandTitle { font-size: 27px; font-weight: 650; }
  .loginHero .mark { width: 42px; height: 42px; }
  .loginCopy { text-align: center; margin-top: 16px; }
  .loginCopy p { font-size: 12px; }
  .loginPanel { padding: 0; border: 1px solid #dfe3e8; border-radius: 6px; }
  .loginForm { padding: 30px; border: 0; }
  .loginForm h2 { font-size: 23px; font-weight: 600; }
  .loginForm .stack { gap: 18px; }
  .loginForm .btn.secondary { background: #fafbfc; }
  .accountGate { background: white; border: 1px solid var(--line); border-radius: 6px; padding: 32px; }
  .loadingScreen .mark { background: var(--ink); }
}

@media screen and (max-width: 1280px) {
  .workspace { grid-template-columns: 220px minmax(0, 1fr); }
  .side { padding-left: 10px; padding-right: 10px; }
  .sideHead { padding-left: 10px; }
  .main { padding-left: 28px; padding-right: 28px; }
  .overviewGrid { grid-template-columns: 1fr; gap: 26px; }
  .overviewGrid .controlList { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 26px; }
  .controlItem:first-child { padding-top: 18px; }
  .diaryWorkspace { grid-template-columns: 224px minmax(0, 1fr); gap: 26px; }
  .jobCard { grid-template-columns: 36px minmax(0, 1fr) auto 16px; gap: 14px; }
  .jobListColumns { grid-template-columns: 1fr auto; }
  .jobListColumns > span:nth-child(2) { display: none; }
  .jobCardClient { display: none; }
  .formSection > legend { width: 145px; }
  .formSection > .formGrid { margin-left: 160px; }
  .optionalSection > .formGrid { margin-left: 160px; }
  .entryDetailGrid { grid-template-columns: 1fr; }
  .entryDetailAside { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; border: 0; }
}

@media screen and (max-width: 1024px) {
  .formSection > legend { float: none; width: 100%; padding-left: 0; }
  .formSection > .formGrid { margin-left: 0; }
  .optionalSection > .formGrid { margin-left: 0; }
  .fieldMode > .grid.two { grid-template-columns: 1fr; }
  .fieldMode .grid.two > .panel:last-child { padding-left: 0; border: 0; border-top: 1px solid var(--line); padding-top: 24px; }
}

@media screen and (max-width: 920px) {
  .workspace { display: block; }
  .side { width: 270px; padding: 22px 14px 18px; }
  .sideHead { padding: 0 8px; }
  .menuClose { color: #c1c7cd; }
  .mobileTop { height: 62px; padding: 10px 18px; background: white; border-color: var(--line); }
  .mobileTop .mark { width: 30px; height: 30px; background: var(--ink); }
  .mobileTop .mark svg { width: 27px; height: 27px; }
  .mobileTop .brandTitle { font-size: 19px; }
  .mobileTop .btn { padding: 0; min-height: 38px; }
  .main { padding: 0 24px 110px; }
  .top { min-height: 98px; padding: 22px 0; margin-bottom: 24px; }
  .title h1 { font-size: 25px; }
  .connectionState { border: 0; padding-left: 0; }
  .grid.two { grid-template-columns: 1fr; }
  .diaryWorkspace { grid-template-columns: 215px minmax(0, 1fr); gap: 24px; }
  .diarySidebar { padding-right: 18px; }
  .investorDiaryDetail, .investorWorkspace .thread { scroll-margin-top: 82px; }
  .metric { padding: 0 16px; }
  .metric:first-child { padding-left: 16px; }
  .mobileBottomNav { min-height: 68px; background: white; padding: 4px 8px max(4px, env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px #25292e05; }
  .mobileBottomNav button { position: relative; min-height: 58px; gap: 5px; padding: 7px 2px; border-radius: 0; color: #6c7683; font-size: 10px; }
  .mobileBottomNav button.active { color: var(--brand); background: transparent; font-weight: 600; }
  .mobileBottomNav button.active::before { content: ""; position: absolute; width: 24px; height: 2px; top: 1px; background: var(--brand); border-radius: 1px; }
  .mobileBottomNav .uiIcon { width: 22px; height: 22px; }
  .savingOverlay { bottom: calc(80px + env(safe-area-inset-bottom)); }
}

@media screen and (max-width: 720px) {
  .main { padding: 0 16px 110px; }
  .top { min-height: 98px; padding: 22px 0; align-items: center; margin-bottom: 24px; gap: 12px; }
  .pageContext { font-size: 10px; margin-bottom: 6px; }
  .title h1 { font-size: 23px; }
  .topMeta { padding-top: 0; }
  .connectionState { font-size: 10px; }
  .panelHead { padding-bottom: 18px; gap: 12px; }
  .panelHead h2 { font-size: 18px; }
  .panelHead .btn { min-height: 38px; font-size: 12px; }
  .panelBody { padding-bottom: 22px; }
  .overviewMetrics { padding: 0; margin-bottom: 24px; }
  .metric { padding: 18px 16px; gap: 10px; }
  .metric:first-child { padding-left: 16px; }
  .metric > strong { font-size: 30px; }
  .metric > span { font-size: 11px; }
  .metric > .uiIcon:last-child { width: 14px; height: 14px; }
  .overviewGrid .controlList { grid-template-columns: 1fr; }
  .controlItem { padding: 18px 0; gap: 10px; }
  .controlItem strong { font-size: 13px; }
  .controlItem p { font-size: 11px; }
  .listToolbar { gap: 10px; padding: 14px 0; }
  .searchField { flex: 1 1 100%; max-width: none; min-width: 0; }
  .searchField input { min-height: 44px; }
  .filterSelect { flex: 1; flex-wrap: wrap; gap: 5px; align-items: flex-start; }
  .filterSelect select { width: 100%; max-width: none; min-height: 38px; }
  .trashMenu { align-self: flex-end; margin-left: auto; }
  .listColumns { display: none; }
  .jobCard { grid-template-columns: 30px minmax(0, 1fr) 14px; padding: 18px 0; gap: 6px 12px; }
  .jobListIcon { width: 30px; height: 32px; align-self: start; margin-top: 3px; }
  .jobListIcon .uiIcon { width: 18px; height: 18px; }
  .jobCard > .uiIcon:last-child { grid-column: 3; grid-row: 1 / 3; }
  .jobCardMain { grid-column: 2; }
  .jobCard strong { font-size: 14px; }
  .jobCardMeta { grid-column: 2; grid-row: 2; min-width: 0; gap: 10px; justify-content: flex-start; display: flex; }
  .jobCardMeta > span:not(.badge) { font-size: 10px; }
  .personCard { padding: 17px 0; gap: 10px; }
  .personCard .avatar { width: 34px; height: 34px; }
  .personCardMain strong { font-size: 14px; }
  .personCardMain > span, .personCardMain small { font-size: 11px; }
  .personCardSide { min-width: 0; max-width: 82px; gap: 6px; }
  .personCardSide small { font-size: 10px; text-align: right; }
  .personCard > .uiIcon { display: none; }
  .jobSinglePanel:has(.jobTabs) > .panelHead h2 { font-size: 21px; }
  .jobSinglePanel:has(.jobTabs) > .panelHead { flex-wrap: wrap; }
  .jobTabs { gap: 0; margin: 0 0 22px; }
  .jobTabs button { flex: 1; justify-content: center; min-height: 44px; padding: 8px 4px; font-size: 12px; }
  .jobTabs .uiIcon { width: 17px; height: 17px; flex-basis: 17px; }
  .formGrid { gap: 18px; }
  .formSection { padding: 18px 0 24px; }
  .formSection > legend, .formSection > summary { font-size: 13px; }
  .structuredForm > .btn { justify-self: stretch; width: 100%; min-width: 0; }
  .field input, .field select, .field textarea { font-size: 16px; }
  .field input[type="file"] { font-size: 12px; }
  .field label, .label { font-size: 12px; }
  .stats, .jobDetailStats, .personDetailStats { padding: 16px 0; }
  .stats:has(.stat:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .stat { padding: 0 10px; }
  .statValue { font-size: 23px; }
  .statFoot { font-size: 10px; }
  .assignGrid { gap: 0; }
  .assignPerson { padding: 14px 4px; }
  .jobAddressSearch > input { flex: 1 1 100%; }
  .jobAddressSearch > .btn { margin-left: auto; }
  .dangerZone summary span { margin-left: 0; }
  .table tbody tr { gap: 14px 18px; padding: 18px 10px; }
  .table td { font-size: 12px; padding: 0; }
  .table td[data-label]::before { font-size: 10px; text-transform: none; }
  .table tr.selected td:first-child { box-shadow: none; }
  .table tr.selected { box-shadow: inset 3px 0 var(--brand); }
  .attendanceFilters, .compactFilters { padding: 12px; gap: 14px; }
  .approvalItem { padding: 18px 0; align-items: flex-start; gap: 10px; }
  .approvalItem strong { font-size: 14px; }
  .approvalItem p { font-size: 11px; }
  .entryDetailAside { grid-template-columns: 1fr; }
  .diaryWorkspace { grid-template-columns: 1fr; gap: 24px; }
  .diarySidebar { border: 0; border-bottom: 1px solid var(--line); padding: 0 0 18px; }
  .diarySidebar .panelBody { padding: 0; }
  .diarySidebar .field select { font-size: 14px; }
  .diaryDayMenu { padding-top: 14px; }
  .diaryDayMenu > summary { font-size: 12px; }
  .diaryEditor .panelHead { padding-bottom: 18px; margin-bottom: 22px; }
  .diaryEditor .panelHead h2 { font-size: 20px; }
  .diaryEditor .panelHead p { font-size: 11px; }
  #diaryForm > .formGrid { gap: 20px; }
  .diaryEntryMeta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .diaryEntryMeta > .field:last-child { grid-column: 1 / -1; }
  #diaryForm textarea[name="workDone"] { font-size: 16px; min-height: 230px; line-height: 1.75; padding: 12px; }
  .diaryEditor .diaryWeatherField textarea { font-size: 14px; min-height: 82px; }
  .diaryWorkLabel { gap: 6px; }
  .diaryWorkAiButton { min-height: 34px; font-size: 11px; padding: 6px 8px; }
  .diaryPhotoSection { padding: 20px 0; }
  .diaryPhotoUpload > .stampMeta { flex-basis: 100%; font-size: 10px; }
  .diaryDetails { padding: 18px 0; }
  .diaryDetails > summary { font-size: 13px; }
  .diarySaveActions { justify-content: stretch; padding-top: 16px; }
  .diarySaveActions .btn { flex: 1 1 100%; min-height: 44px; }
  .fieldMode > .grid.two { grid-template-columns: 1fr; gap: 26px; }
  .fieldMode .grid.two > .panel:first-child { max-width: none; }
  .shiftClock { padding: 22px 0; margin: 22px 0 18px; gap: 10px; }
  .shiftClock [data-shift-clock] { font-size: 42px; }
  .shiftClock small { max-width: 100px; font-size: 10px; }
  .fieldAction { min-height: 54px; }
  .stamps { margin-top: 6px; }
  .stamp { padding: 16px 0; }
  .photos, .photoGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .photo img { height: auto; }
  .photoCap { padding: 9px; font-size: 10px; }
  .photoCap strong { font-size: 11px; }
  .investorJobHeader h2 { font-size: 21px; }
  .investorConfirmationFilters { gap: 0; }
  .investorConfirmationFilters button { flex: 1; min-width: 0; flex-direction: column; gap: 5px; padding: 10px 4px; font-size: 11px; }
  .investorConfirmationFilters button strong { font-size: 15px; }
  .investorEntryConfirmation { padding: 14px; gap: 10px; }
  .investorEntryConfirmation h3 { font-size: 13px; }
  .investorEntryConfirmation > .btn { display: none; }
  .main:has(.investorConfirmDock) { padding-bottom: 190px; }
  .investorConfirmDock { display: flex; position: fixed; left: 0; right: 0; bottom: max(68px, calc(62px + env(safe-area-inset-bottom))); z-index: 31; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; min-height: 74px; background: white; border-top: 1px solid #dfe4eb; border-bottom: 1px solid var(--line); box-shadow: 0 -4px 18px #25292e08; }
  .investorConfirmDock > div { min-width: 0; }
  .investorConfirmDock span, .investorConfirmDock strong { display: block; }
  .investorConfirmDock > div > span { font-size: 10px; color: #8a651f; margin-bottom: 4px; }
  .investorConfirmDock strong { font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
  .investorConfirmDock .btn { white-space: nowrap; flex-shrink: 0; min-height: 44px; font-size: 12px; padding: 10px 12px; }
  .investorSignatureDialog { padding: 22px 18px; }
  .investorSignatureDialog textarea { font-size: 16px; }
  .investorDiaryWorkspace .diarySidebar:has(.investorDayPicker) { padding: 0; border: 0; }
  .investorDiaryWorkspace .diarySidebar:has(.investorDayPicker) > .panelHead, .investorDiaryWorkspace .diarySidebar:has(.investorDayPicker) > .panelBody { display: none; }
  .investorDayPicker { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: end; gap: 8px; padding: 12px 0 16px; border-bottom: 1px solid var(--line); }
  .investorDayPicker .field { min-width: 0; }
  .investorDayPicker label { font-size: 11px; }
  .investorDayPicker select { font-size: 16px; min-height: 44px; }
  .investorDayPicker .iconButton { width: 44px; height: 44px; color: #586575; border: 1px solid var(--line); border-radius: 4px; }
  .investorDayPicker .iconButton:disabled { opacity: .35; }
  .photoViewerDialog { width: 100%; height: 100dvh; max-width: none; max-height: none; border-radius: 0; }
  .photoViewerHead { gap: 10px; padding: 10px 12px; flex-wrap: wrap; }
  .photoViewerTitle { flex: 1 1 100%; justify-content: space-between; gap: 12px; }
  .photoViewerTitle h2 { font-size: 13px; max-height: 44px; }
  .photoViewerTools { margin-left: auto; }
  .photoViewerTools .iconButton { width: 44px; height: 44px; }
  .photoViewerTools .photoViewerZoom { width: auto; }
  .photoViewerNav.previous { left: 10px; }
  .photoViewerNav.next { right: 10px; }
  .photoViewerFooter { padding: 10px 12px max(10px, env(safe-area-inset-bottom)); max-height: 100px; }
  .photoViewerFooter p { font-size: 11px; }
  .diaryAiHead, .diaryAiBody { padding: 20px 16px; }
  .diaryAiHead h2 { font-size: 18px; }
  .diaryAiFooter { padding: 14px 16px; }
  .diaryAiChange textarea { font-size: 16px; }
  .login { margin: 40px auto; padding: 0 18px; }
  .loginForm { padding: 26px 22px; }
  .accountGate { margin: 32px 16px; padding: 26px 22px; }
}

@media screen and (max-width: 420px) {
  .diaryEntryMeta { grid-template-columns: 1fr; }
  .diaryEntryMeta > .field:last-child { grid-column: auto; }
}

@container investor-diary (max-width: 680px) {
  .investorDiarySections { grid-template-columns: 1fr; gap: 24px; }
  .investorDiaryField, .investorDiaryGroup[data-diary-group="events"] .investorDiaryField, .investorDiaryAttachments .investorDiaryField { grid-template-columns: 155px minmax(0, 1fr); }
  .investorDiaryMeta { grid-template-columns: 1fr; padding: 2px 14px; }
  .investorDiaryMeta .investorDiaryField { display: grid; padding: 12px 0; border: 0; border-bottom: 1px solid #dde2e7; }
  .investorDiaryMeta .investorDiaryField:last-child { border-bottom: 0; }
  .investorDiaryMeta dd { margin-top: 0; }
}

@container investor-diary (max-width: 400px) {
  .investorDiaryHeading h2 { font-size: 22px; }
  .investorDiaryField, .investorDiaryGroup[data-diary-group="events"] .investorDiaryField, .investorDiaryAttachments .investorDiaryField { grid-template-columns: 1fr; gap: 5px; }
  .investorDiaryField dt { font-size: 12px; }
  .investorDiaryField dd { font-size: 14px; line-height: 1.65; }
  .investorDiaryField .iconButton { width: 44px; height: 44px; flex-basis: 44px; }
  .investorDiaryMeta .investorDiaryField { gap: 4px; }
  .investorDiaryWork { padding: 24px 0; }
  .investorDiaryWork .investorDiaryField { padding-left: 12px; }
  .investorDiaryWork dt { font-size: 17px; }
  .investorDiaryWork dd { line-height: 1.8; }
  .investorDiarySections { padding-top: 24px; gap: 22px; }
}

@media print {
  .photoViewerDialog, .investorDayPicker, .investorConfirmDock, .investorSignatureDialog, .investorConfirmationFilters { display: none !important; }
  .investorDiaryHeading { padding-bottom: 12px; border-bottom: 1px solid #bbb; }
  .investorDiaryEyebrow { font-size: 11px; }
  .investorDiaryMeta { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
  .investorDiaryMeta .investorDiaryField { padding: 0; border: 0; }
  .investorDiaryWork dt, .investorDiaryGroup h3 { font-size: 15px; color: black; font-weight: 700; }
  .investorDiaryGroup h3 { margin: 16px 0 8px; break-after: avoid; }
  .investorDiaryField { padding: 8px 0; break-inside: avoid; }
  .investorDiaryValue { white-space: pre-wrap; overflow-wrap: anywhere; }
  .investorDiarySections { display: block; }
  .investorDiaryDetail { break-inside: auto; }
}

/* Construction workspace: shared surfaces and interaction states. */
@media screen {
  .btn { border-radius: 4px; min-height: 42px; padding: 10px 16px; font-size: 13px; font-weight: 600; }
  .btn.primary { background: var(--accent); border-color: var(--accent); color: #272c30; }
  .btn.primary:hover { background: var(--accentHover); border-color: var(--accentHover); color: #272c30; }
  .btn.secondary { border-color: #ccd3d7; color: #38434c; background: #fff; }
  .btn.secondary:hover { background: #f1f4f4; border-color: #a6b3bb; }
  .btn.ghost { color: #53616a; }
  .btn.ghost:hover { background: #f1f4f4; color: #272c30; }
  .btn:focus-visible, .iconButton:focus-visible, .jobCard:focus-visible, .personCard:focus-visible, .reviewTabs button:focus-visible { outline: 2px solid #ae7605; outline-offset: 3px; }
  .field input:focus, .field textarea:focus, .field select:focus { border-color: #b18b31; box-shadow: 0 0 0 2px #f8edce; outline: none; }
  .field input, .field select { min-height: 44px; }
  .field label { color: #47545d; font-weight: 600; }
  .badge { padding: 5px 9px; font-size: 11px; }
  .badge.ok { background: #e7f2eb; color: #2e7052; }
  .badge.warn { background: #fff2d3; color: #825911; }
  .avatar { background: #ebeff1; color: #44515a; }
  .side .avatar { background: #47525b; color: white; }
  .side .btn.ghost { color: #bac3c9; background: transparent; }
  .side .btn.ghost:hover { color: white; background: #343c42; }
  .side .brandTitle { font-size: 23px; }
  .navGroupTitle { font-size: 10px; text-transform: uppercase; font-weight: 600; }
  .company { padding: 14px 0; }
  .topMeta { gap: 16px; }
  .topProfile { display: flex; align-items: center; gap: 9px; color: #3b464e; background: none; border: 0; padding: 4px; font-size: 12px; font-weight: 600; }
  .topProfile .avatar { width: 32px; height: 32px; font-size: 11px; }
  .topProfile:hover span { text-decoration: underline; }
  .pageContext { margin-bottom: 4px; color: #7a858c; }
  .viewContent { max-width: 1480px; margin-inline: auto; }
  .eyebrow { display: block; font-size: 10px; color: #7a858c; font-weight: 600; text-transform: uppercase; margin-bottom: 6px; }
  .workspaceIntro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
  .workspaceIntro h2 { margin: 0; font-size: 23px; line-height: 1.35; font-weight: 650; }
  .workspaceIntro .row { flex-shrink: 0; }
  .buttonCount { padding: 1px 6px; background: #edf0f2; font-size: 11px; border-radius: 3px; }
  .overviewMetrics { padding: 0; background: white; border-block: 1px solid var(--line); margin-bottom: 30px; }
  .metric { min-height: 112px; padding: 20px 24px; background: white; gap: 10px; }
  .metric:first-child { padding-left: 16px; }
  .metric > span { font-size: 12px; color: #5d6a73; font-weight: 500; }
  .metric > span .uiIcon { color: #8e6f24; }
  .metric > strong { font-size: 30px; font-weight: 650; }
  .metric:hover { background: #f6f7f7; }
  .metric[data-nav="approvals"] > strong { color: #825911; }
  .overviewGrid { grid-template-columns: minmax(0, 1.65fr) minmax(260px, .9fr); gap: 32px; }
  .overviewGrid > .panel { padding-top: 0; border-top: 0; }
  .overviewGrid > .panel:last-child { border-left: 1px solid var(--line); padding-left: 24px; }
  .panelHead h2 { font-size: 18px; font-weight: 650; }
  .panelHead { padding-bottom: 18px; }
  .controlItem { padding: 16px 0; }
  .controlItem > .badge { font-size: 10px; margin-top: 2px; }
  .controlItem strong { font-size: 13px; }
  .controlItem p { font-size: 12px; line-height: 1.6; }
  .controlCue { display: flex; align-items: center; align-self: center; color: #697781; font-size: 11px; }
  .recentDiary { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 24px; }
  .recentDiaryList { display: grid; }
  .recentDiaryList button { display: grid; grid-template-columns: 106px minmax(0, 1fr) auto 18px; gap: 20px; align-items: center; width: 100%; background: white; border: 0; border-bottom: 1px solid var(--line); padding: 16px 10px; text-align: left; color: inherit; }
  .recentDiaryList button:hover { background: #f4f6f6; }
  .recentDiaryList time { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
  .recentDiaryList strong { font-size: 13px; font-weight: 600; }
  .recentDiaryList button > span:not(.badge) { min-width: 0; }
  .recentDiaryList small { display: block; font-size: 12px; color: #75818a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 4px; }
  .listToolbar { gap: 12px; padding-bottom: 16px; }
  .searchField { max-width: 500px; }
  .searchField input { background: #f7f8f8; border-color: #d9e0e2; }
  .filterSelect select { min-height: 44px; }
  .listViewBar { display: flex; align-items: center; justify-content: space-between; padding: 8px 0 18px; }
  .listResultCount { color: #77838a; font-size: 12px; }
  .viewSwitch { display: flex; border: 1px solid #d6dddf; border-radius: 4px; padding: 3px; }
  .viewSwitch .iconButton { width: 36px; height: 34px; border: 0; border-radius: 2px; color: #77838a; background: transparent; }
  .viewSwitch .iconButton[aria-pressed="true"] { background: #f8dfa0; color: #4c3b16; }
  .jobGrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 252px), 1fr)); gap: 22px; }
  .jobGrid .jobCard { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto auto; align-items: start; gap: 0; position: relative; border: 1px solid #dce2e5; border-radius: 6px; overflow: hidden; background: white; padding: 0; transition: border-color .15s; }
  .jobGrid .jobCard:hover { border-color: #ba963d; background: #fff; box-shadow: 0 3px 10px #272c3009; }
  .jobCover { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: #edf1f2; color: #a0adb4; min-width: 0; }
  .jobCover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; }
  .jobCover.isReady img { opacity: 1; }
  .jobCover.isReady .jobCoverPlaceholder { visibility: hidden; }
  .jobCoverPlaceholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 8px; }
  .jobCoverPlaceholder > .uiIcon { width: 42px; height: 42px; }
  .jobCoverPlaceholder > span:last-child { font-size: 11px; color: #687982; font-weight: 400; }
  .jobGrid .jobCover { grid-column: 1; grid-row: 1; width: 100%; aspect-ratio: 16 / 9; height: auto; }
  .jobGrid .jobCardMain { grid-column: 1; grid-row: 2; padding: 18px 18px 10px; min-width: 0; }
  .jobGrid .jobCode { font-size: 10px; text-transform: uppercase; color: #83919a; margin-bottom: 6px; }
  .jobGrid .jobCard strong { font-size: 16px; line-height: 1.4; min-height: 44px; font-weight: 650; overflow-wrap: anywhere; }
  .jobGrid .jobCardMain > span:last-child { margin-top: 8px; color: #75818a; font-size: 12px; min-height: 36px; }
  .jobGrid .jobCardClient { display: flex; align-items: center; gap: 7px; font-size: 12px; grid-row: 3; padding: 0 18px 16px; min-width: 0; overflow-wrap: anywhere; }
  .jobCardClient > .uiIcon { width: 14px; height: 14px; flex-basis: 14px; }
  .jobGrid .jobCardMeta { display: flex; align-items: center; justify-content: space-between; gap: 8px; grid-row: 4; grid-column: 1; width: 100%; padding: 13px 38px 13px 18px; border-top: 1px solid #e5e9eb; min-height: 53px; background: #fafbfb; }
  .jobGrid .jobCardMeta small { font-size: 11px; white-space: nowrap; }
  .jobGrid .jobCard > .uiIcon:last-child { position: absolute; bottom: 18px; right: 12px; width: 16px; height: 16px; color: #89969e; }
  .jobRows .jobCard { grid-template-columns: 68px minmax(0, 1fr) minmax(100px, .4fr) auto 16px; padding: 15px 0; gap: 18px; }
  .jobRows .jobCover { width: 68px; height: 56px; border-radius: 3px; grid-row: 1; }
  .jobRows .jobCover .uiIcon { width: 24px; height: 24px; }
  .jobRows .jobCoverPlaceholder > span:last-child { display: none; }
  .jobRows .jobCardClient { display: flex; align-items: center; gap: 6px; }
  .jobListColumns { padding-left: 86px; }
  .jobDetailHeader { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding-bottom: 26px; }
  .jobDetailHeader h2 { font-size: 23px; font-weight: 650; }
  .jobDetailCover { width: 92px; height: 72px; border-radius: 4px; }
  .jobDetailCover .jobCoverPlaceholder > span:last-child { display: none; }
  .jobDetailCover.noPhoto .uiIcon { width: 32px; height: 32px; }
  .jobTabs { gap: 22px; margin-bottom: 24px; }
  .jobTabs button { min-height: 48px; border-bottom-width: 3px; color: #7a8790; font-size: 13px; }
  .jobTabs button.active { border-color: var(--accent); color: #272c30; background: transparent; font-weight: 650; }
  .summaryStrip { background: #f4f6f6; border: 0; padding: 18px 0; margin-bottom: 26px; }
  .summaryStrip > div { padding: 0 22px; border-right: 1px solid #dce2e5; }
  .summaryStrip > div:last-child { border: 0; }
  .summaryStrip strong { color: #313b42; font-size: 25px; font-weight: 650; }
  .summaryStrip span { font-size: 11px; }
  .jobOverviewContent { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(240px, .8fr); gap: 36px; margin-bottom: 24px; }
  .jobFacts { min-width: 0; }
  .jobFacts .table th { width: 160px; text-transform: none; color: #78858e; font-size: 12px; font-weight: 500; padding-left: 0; background: transparent; }
  .jobFacts .table td { font-size: 13px; }
  .jobQuickAccess { border-left: 1px solid var(--line); padding-left: 28px; min-width: 0; }
  .jobQuickAccess h3 { font-size: 15px; margin: 0 0 12px; font-weight: 650; }
  .jobQuickAction { display: flex; align-items: center; gap: 12px; padding: 16px 0; border: 0; border-bottom: 1px solid var(--line); background: white; width: 100%; text-align: left; color: inherit; }
  .jobQuickAction:hover { color: #8a610e; }
  .jobQuickAction > .uiIcon:first-child { color: #ab8328; }
  .jobQuickAction > span:not(.uiIcon) { min-width: 0; flex: 1; }
  .jobQuickAction strong, .jobQuickAction small { display: block; }
  .jobQuickAction strong { font-size: 13px; font-weight: 600; }
  .jobQuickAction small { font-size: 11px; color: #83919a; margin-top: 4px; }
  .jobContact { display: grid; gap: 5px; margin-top: 20px; }
  .jobContact span { font-size: 11px; color: #83919a; }
  .jobContact strong { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
  .jobEditSheet { margin: 24px 0; border-top: 1px solid var(--line); }
  .jobEditSheet > summary { display: flex; align-items: center; gap: 9px; list-style: none; padding: 18px 0; font-size: 13px; font-weight: 600; color: #586671; cursor: pointer; }
  .jobEditSheet > summary::-webkit-details-marker { display: none; }
  .jobEditSheet > summary > .uiIcon:last-child { margin-left: auto; width: 16px; height: 16px; }
  .jobEditSheet[open] > summary > .uiIcon:last-child { transform: rotate(180deg); }
  .structuredForm { max-width: 1060px; }
  .formStep { color: #b2882a; background: transparent; }
  .formSection > legend, .formSection > summary { color: #47545d; font-weight: 650; }
  .personCard { padding: 18px 8px; }
  .personCard:hover { background: #f7f8f8; }
  .personCardMain strong { font-size: 14px; }
  .assignPerson.selected { background: #fffbef; border-color: #e1c470; }
  .assignPerson input { accent-color: #785909; }
  .diaryProjectBar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 0 22px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
  .diaryProjectBar > div { min-width: 0; }
  .diaryProjectBar h2 { font-size: 21px; font-weight: 650; margin: 0; overflow-wrap: anywhere; }
  .diaryProjectBar p { display: flex; align-items: start; gap: 6px; margin: 7px 0 0; font-size: 12px; color: #819099; overflow-wrap: anywhere; }
  .diaryProjectBar p .uiIcon { width: 14px; height: 14px; flex-basis: 14px; margin-top: 2px; }
  .diaryProjectControls { display: flex; align-items: end; gap: 10px; width: 370px; flex-shrink: 0; max-width: 100%; }
  .diaryProjectControls .field { flex: 1; min-width: 0; }
  .diaryProjectControls .iconButton { width: 44px; height: 44px; border: 1px solid #d6dde0; border-radius: 4px; color: #5b6a73; }
  .diaryWorkspace { grid-template-columns: 218px minmax(0, 1fr); gap: 30px; }
  .diarySidebar { background: #f6f8f8; border: 0; padding: 18px 14px 0; border-radius: 0; }
  .diarySidebar .panelHead { padding-bottom: 12px; }
  .diarySidebar .panelHead h2 { font-size: 14px; }
  .diaryDayCard { background: transparent; }
  .diaryDayCard.active, .diaryDayCard.selected { background: #f9e9bd; box-shadow: inset 3px 0 #ba8921; }
  .diaryDayList { max-height: 600px; }
  .diaryEditor .panelHead { padding-bottom: 18px; margin-bottom: 0; }
  .diaryDocumentHead h2 { font-size: 24px; font-weight: 650; }
  .dayNavigation { display: flex; gap: 2px; border: 1px solid #d9e0e3; padding: 3px; border-radius: 4px; }
  .dayNavigation .iconButton { width: 32px; height: 32px; color: #586874; border: 0; background: transparent; }
  .dayNavigation .btn { min-height: 32px; font-size: 11px; padding: 6px 10px; }
  .diarySectionNav { display: flex; flex-wrap: wrap; gap: 0; padding: 0 0 18px; border-bottom: 1px solid var(--line); margin-bottom: 22px; }
  .diarySectionNav button { background: none; border: 0; border-right: 1px solid #dfe4e6; padding: 3px 16px; font-size: 12px; font-weight: 500; color: #7b8790; cursor: pointer; min-height: 30px; }
  .diarySectionNav button:first-child { padding-left: 0; }
  .diarySectionNav button:last-child { border: 0; }
  .diarySectionNav button:hover, .diarySectionNav button:focus-visible { color: #76550f; text-decoration: underline; }
  .diaryWorkSection { min-width: 0; }
  .diaryWorkSection .field { width: 100%; }
  .diaryWorkLabel > label { font-size: 16px; color: #313c44; font-weight: 650; }
  #diaryForm textarea[name="workDone"] { background: #fafbfb; font-size: 15px; line-height: 1.8; min-height: 230px; border: 1px solid #d7dfe2; padding: 16px; }
  .diaryEntryMeta { padding: 16px; background: #f6f8f8; border: 0; }
  .diaryDetails[data-diary-section] > summary { display: flex; align-items: center; gap: 12px; list-style: none; font-size: 14px; font-weight: 600; padding: 4px 0; }
  .diaryDetails[data-diary-section] > summary::-webkit-details-marker { display: none; }
  .diaryDetails[data-diary-section] > summary::after { display: none; }
  .diaryDetails[data-diary-section] > summary .uiIcon { width: 18px; height: 18px; flex-basis: 18px; color: #9aa6ad; }
  .diaryDetails[data-diary-section][open] > summary .uiIcon { transform: rotate(180deg); }
  .sectionFill { margin-left: auto; font-size: 11px; font-weight: 400; color: #8a979f; }
  [data-diary-target] { scroll-margin-top: 28px; }
  .diaryPhotoSection .sectionHead h3 { font-size: 16px; font-weight: 650; }
  .diaryQuickActions { justify-content: flex-start; }
  .diaryQuickActions .btn { color: #62717b; background: white; font-size: 12px; }
  .main:has(.diarySaveActions) { padding-bottom: 136px; }
  .diarySaveActions { position: fixed; z-index: 24; left: 228px; right: 0; bottom: 0; background: white; border-top: 1px solid #d6dee1; box-shadow: 0 -3px 18px #272c3008; margin: 0; padding: 14px 32px; display: flex; align-items: center; gap: 10px; }
  .diarySaveContext { display: flex; align-items: center; gap: 10px; margin-right: auto; min-width: 0; }
  .diarySaveContext > .uiIcon { color: #a78029; }
  .diarySaveContext > span { min-width: 0; }
  .diarySaveContext strong { display: block; font-size: 13px; font-weight: 600; }
  .diarySaveContext small { display: block; font-size: 11px; color: #819099; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 3px; }
  .main:has(.diarySaveActions) ~ .savingOverlay, body:has(.diarySaveActions) .savingOverlay { bottom: 90px; }
  .reviewTabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
  .reviewTabs button { border: 0; border-bottom: 3px solid transparent; background: white; padding: 14px 18px; color: #72808a; font-size: 13px; display: flex; align-items: center; gap: 10px; min-height: 48px; }
  .reviewTabs button span { color: #7c8991; background: #edf1f2; font-size: 11px; min-width: 22px; padding: 2px 5px; border-radius: 3px; }
  .reviewTabs button[aria-pressed="true"] { border-bottom-color: var(--accent); color: #272c30; font-weight: 600; }
  .reviewTabs button[aria-pressed="true"] span { background: #fbe6ae; color: #775515; }
  .reviewKindField { display: none; }
  .approvalItem { padding: 20px 8px; border-bottom: 1px solid var(--line); background: white; }
  .approvalItem:hover { background: #f7f8f8; }
  .approvalItem strong { font-size: 14px; }
  .approvalItem p { margin: 6px 0; font-size: 13px; color: #6e7c85; }
  .approvalItem p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .approvalItem > div { min-width: 0; }
  .approvalItem small { font-size: 11px; color: #87939b; }
  .queueFlags .badge { font-size: 10px; font-weight: 500; padding: 4px 7px; }
  .attendanceFilters, .compactFilters { background: #f5f7f7; }
  .table th { background: #f4f6f6; color: #74838c; font-size: 11px; font-weight: 600; }
  .table tbody td { padding-top: 16px; padding-bottom: 16px; }
  .table tbody tr:hover { background: #fafbfb; }
  .table tr.selected { background: #fff9e9; }
  .shiftClock { border-color: #dce3e6; background: #f6f8f8; padding: 24px 20px; }
  .shiftClock [data-shift-clock] { font-size: 48px; font-weight: 600; }
  .fieldAction.start { background: #377559; border-color: #377559; }
  .fieldAction.stop { background: #fbefed; border-color: #e6b7af; }
  .fieldSummary { background: #f6f8f8; padding: 18px; }
  .investorWorkspace { gap: 22px; }
  .investorDiaryWorkspace { grid-template-columns: 252px minmax(0, 1fr); }
  .investorDayList .diaryDayCard strong { white-space: nowrap; }
  .investorDiaryHeading h2 { font-size: 24px; }
  .investorJobHeader { padding-bottom: 20px; }
  .investorJobHeader h2 { font-size: 22px; }
  .investorConfirmationFilters button[aria-pressed="true"] { background: #fffbf0; border-bottom-color: var(--accent); color: #4c3b16; }
  .investorDiaryWork .investorDiaryField { border-left-color: #e3b33f; }
  .investorDiaryMeta { background: #f5f7f7; }
  .investorEntryConfirmation { background: #fff7e2; border-left-color: #d2a136; }
  .investorEntryConfirmation.confirmed { background: #eff6f1; border-color: #518368; }
  .investorDayList .diaryDayCard.selected { background: #f9edcb; }
  .photos { gap: 16px; }
  .photo { border-color: #d9e1e4; border-radius: 5px; }
  .photoCap { background: white; }
  .loginHero .mark, .mobileTop .mark, .loadingScreen .mark { background: var(--accent); color: #272c30; }
  .loginPanel { background: white; }
  .loginForm { padding: 32px; }
}

@media screen and (max-width: 1280px) {
  .workspace { grid-template-columns: 228px minmax(0, 1fr); }
  .main { padding-inline: 24px; }
  .top { margin-inline: -24px; padding-inline: 24px; }
  .topProfile > span { display: none; }
  .overviewGrid { grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; }
  .overviewGrid .controlList { grid-template-columns: 1fr; }
  .overviewGrid .jobGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .jobGrid .jobCard strong { font-size: 15px; }
  .jobGrid .jobCardMeta { flex-wrap: wrap; }
  .jobRows .jobCard { grid-template-columns: 68px minmax(0, 1fr) auto 16px; }
  .jobRows .jobCardClient { display: none; }
  .diaryWorkspace { grid-template-columns: 195px minmax(0, 1fr); gap: 24px; }
  .diaryProjectControls { width: 320px; }
  .jobDetailHeader { grid-template-columns: 76px minmax(0, 1fr); }
  .jobDetailCover { width: 76px; height: 66px; }
  .jobDetailHeader > .row { grid-column: 2; }
  .jobOverviewContent { grid-template-columns: minmax(0, 1fr) 230px; gap: 24px; }
  .jobQuickAccess { padding-left: 20px; }
  .jobFacts .table th { width: 140px; }
}

@media screen and (max-width: 1024px) {
  .overviewGrid { grid-template-columns: 1fr; }
  .overviewGrid > .panel:last-child { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
  .overviewGrid .controlList { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .workspaceIntro { align-items: start; }
  .workspaceIntro .row { flex-direction: column; align-items: stretch; }
  .diaryProjectBar { flex-wrap: wrap; gap: 18px; }
  .jobOverviewContent { grid-template-columns: 1fr; }
  .jobQuickAccess { border: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .jobQuickAccess > h3 { grid-column: 1 / -1; }
}

@media screen and (max-width: 920px) {
  .workspace { display: block; }
  .side { width: 270px; }
  .main { border-top: 0; padding: 0 24px 110px; }
  .top { min-height: 76px; margin: 0 -24px 22px; padding: 14px 24px; }
  .topMeta { display: none; }
  .top .title h1 { font-size: 22px; }
  .mobileTop { height: 62px; }
  .mobileBottomNav button.active { color: #5f4511; }
  .mobileBottomNav button.active::before { background: var(--accent); height: 3px; width: 32px; }
  .mobileTop .brandTitle { font-size: 20px; }
  .workspaceIntro .row { flex-direction: row; }
  .workspaceIntro h2 { font-size: 21px; }
  .diarySaveActions { left: 0; bottom: max(68px, calc(62px + env(safe-area-inset-bottom))); padding: 12px 24px; z-index: 31; }
  .main:has(.diarySaveActions) { padding-bottom: 196px; }
  body:has(.diarySaveActions) .savingOverlay { bottom: 166px; }
  .diarySaveContext { display: none; }
  .diarySaveActions .btn { flex: 1; }
  .investorConfirmDock .btn.primary { color: #272c30; background: var(--accent); }
  [data-diary-target] { scroll-margin-top: 82px; }
}

@media screen and (max-width: 720px) {
  .main { padding-inline: 16px; }
  .top { margin-inline: -16px; padding-inline: 16px; min-height: 70px; }
  .pageContext { font-size: 10px; }
  .top .title h1 { font-size: 21px; }
  .workspaceIntro { display: grid; gap: 16px; margin-bottom: 20px; }
  .workspaceIntro h2 { font-size: 20px; }
  .workspaceIntro .row { justify-content: flex-start; gap: 8px; }
  .workspaceIntro .btn { font-size: 12px; padding: 10px 12px; }
  .overviewMetrics { margin-bottom: 24px; }
  .metric, .metric:first-child { min-height: 100px; padding: 15px 12px; }
  .metric > span { font-size: 11px; }
  .metric > strong { font-size: 28px; }
  .overviewGrid .jobGrid, .overviewGrid .controlList { grid-template-columns: 1fr; }
  .overviewGrid > .panel:last-child { padding-top: 22px; }
  .jobGrid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 18px; }
  .jobGrid .jobCard strong { min-height: 0; font-size: 17px; }
  .jobGrid .jobCardMain > span:last-child { min-height: 0; font-size: 13px; }
  .jobGrid .jobCardClient { font-size: 12px; }
  .jobGrid .jobCover { aspect-ratio: 16 / 8; }
  .jobGrid .jobCardMeta { flex-wrap: nowrap; }
  .jobRows .jobCard { grid-template-columns: 56px minmax(0, 1fr) 14px; gap: 5px 12px; }
  .jobRows .jobCover { width: 56px; height: 48px; grid-row: 1 / 3; }
  .jobRows .jobCardMain { grid-column: 2; grid-row: 1; }
  .jobRows .jobCardMeta { grid-column: 2; grid-row: 2; display: flex; flex-wrap: wrap; gap: 8px; }
  .jobRows .jobCard > .uiIcon:last-child { grid-column: 3; grid-row: 1 / 3; }
  .recentDiaryList button { grid-template-columns: minmax(0, 1fr) auto 14px; gap: 6px 10px; padding: 16px 0; }
  .recentDiaryList time { grid-column: 1; grid-row: 1; }
  .recentDiaryList button > span:not(.badge) { grid-column: 1 / -1; grid-row: 2; }
  .recentDiaryList button > .badge { grid-column: 2; grid-row: 1; }
  .recentDiaryList .uiIcon { grid-column: 3; grid-row: 1; }
  .jobDetailHeader { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .jobDetailCover { width: 64px; height: 58px; }
  .jobDetailHeader h2, .jobSinglePanel:has(.jobTabs) > .panelHead h2 { font-size: 20px; }
  .jobDetailHeader p { font-size: 11px; }
  .jobDetailHeader > .row { grid-column: 1 / -1; justify-content: space-between; }
  .jobTabs { gap: 0; }
  .jobTabs button { font-size: 12px; min-height: 46px; }
  .summaryStrip { gap: 18px 0; padding-block: 18px; }
  .summaryStrip > div { padding-inline: 16px; }
  .summaryStrip strong { font-size: 23px; }
  .summaryStrip > div:nth-child(2n) { border: 0; }
  .jobFacts .table tbody tr { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; padding: 14px 0; }
  .jobFacts .table th { width: auto; padding: 0; font-size: 11px; grid-column: 1; }
  .jobFacts .table td { grid-column: 2; padding: 0; font-size: 13px; }
  .jobQuickAccess { gap: 0 18px; }
  .jobQuickAction { gap: 8px; }
  .jobQuickAction .uiIcon:last-child { display: none; }
  .jobQuickAction strong { font-size: 12px; }
  .jobEditSheet { margin-bottom: 18px; }
  .diaryProjectBar { display: grid; gap: 16px; padding-bottom: 18px; margin-bottom: 22px; }
  .diaryProjectBar .eyebrow { display: none; }
  .diaryProjectBar h2 { font-size: 19px; }
  .diaryProjectControls { width: 100%; }
  .diaryProjectControls label { font-size: 11px; }
  .diaryProjectControls select { font-size: 14px; }
  .diaryWorkspace { grid-template-columns: 1fr; gap: 20px; }
  .diarySidebar { background: #f6f8f8; padding: 0 12px; border: 0; }
  .diarySidebar .panelBody { padding: 0; }
  .diaryDayMenu { padding: 14px 0; border: 0; }
  .diaryDayMenu > summary { font-size: 12px; }
  .diaryDayList { max-height: 260px; }
  .diaryEditor .panelHead { margin: 0; padding-bottom: 16px; }
  .diaryDocumentHead { align-items: center; }
  .diaryDocumentHead > .row { width: 100%; justify-content: space-between; }
  .diaryDocumentHead h2 { font-size: 23px; }
  .dayNavigation .iconButton { width: 38px; height: 38px; }
  .dayNavigation .btn { min-height: 38px; }
  .diarySectionNav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 4px 0 14px; margin-bottom: 20px; }
  .diarySectionNav button, .diarySectionNav button:first-child { padding: 0 4px; min-height: 36px; font-size: 11px; }
  .diaryEntryMeta { grid-template-columns: 1fr; padding: 14px; }
  .diaryPrimaryFields .diaryWorkSection { grid-row: 1; }
  #diaryForm textarea[name="workDone"] { font-size: 16px; min-height: 240px; padding: 12px; }
  .diaryWorkLabel > label { font-size: 15px; }
  .diaryWorkAiButton { font-size: 11px; padding: 7px 9px; }
  .diaryDetails[data-diary-section] > summary { font-size: 13px; gap: 8px; }
  .sectionFill { font-size: 10px; }
  .diarySaveActions { gap: 8px; padding: 10px 16px; min-height: 76px; flex-wrap: nowrap; }
  .diarySaveActions .btn { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 9px 8px; font-size: 12px; white-space: normal; line-height: 1.4; }
  .diarySaveActions .uiIcon { width: 17px; height: 17px; flex-basis: 17px; }
  .reviewTabs { gap: 0; }
  .reviewTabs button { flex: 1 1 auto; justify-content: center; min-height: 44px; padding: 10px 9px; font-size: 12px; gap: 6px; }
  .approvalItem { padding: 18px 0; }
  .approvalItem p { font-size: 12px; }
  .queueFlags { gap: 5px; }
  .fieldSummary { padding: 16px; }
  .shiftClock [data-shift-clock] { font-size: 39px; }
  .shiftClock { padding: 22px 16px; }
  .investorJobHeader h2 { font-size: 20px; }
  .investorJobControls { gap: 8px; }
  .investorConfirmationFilters button[aria-pressed="true"] { background: #fffbf0; }
  .investorDiaryWorkspace .diarySidebar { background: transparent; padding: 0; }
  .investorDiaryWorkspace { grid-template-columns: 1fr; }
  .investorEntryConfirmation { margin-bottom: 18px; }
  .loginForm { padding: 26px 22px; }
}

@media print {
  .workspaceIntro, .topProfile, .viewSwitch, .diaryProjectControls, .diarySectionNav, .dayNavigation, .diarySaveActions, .jobEditSheet { display: none !important; }
}

:root {
  --accent: #24614e;
  --accentInk: #ffffff;
  --accentHover: #225946;
  --accentHoverInk: #ffffff;
  --accentBorder: #205540;
  --brand: #24614e;
  --brand2: #225946;
  --brandSoft: #eef4f1;
  --brandLine: #c8dbd3;
  --navBackground: #272d31;
  --navForeground: #ffffff;
  --navMuted: #bbc0c2;
  --navLine: #4e555a;
}

@media screen {
  ::selection { background: var(--brandLine); color: #17221c; }
  .btn.primary { background: var(--accent); color: var(--accentInk); border-color: var(--accentBorder); }
  .btn.primary:hover { background: var(--accentHover); color: var(--accentHoverInk); border-color: var(--accentHover); }
  .side .mark, .mobileTop .mark, .loginHero .mark, .loadingScreen .mark { color: var(--accentInk); }
  .side { background: var(--navBackground); color: var(--navForeground); scrollbar-color: var(--navLine) transparent; }
  .side .brandTitle, .side .companyName, .side .sideProfile, .side .sideProfile strong { color: var(--navForeground); }
  .side .nav button, .side .navGroupTitle, .side .companyMeta, .side .company > .uiIcon, .side .sideProfile small, .side .sideProfile > .uiIcon, .sideFoot > .btn, .side .menuClose { color: var(--navMuted); }
  .side .company, .side .sideFoot { border-color: var(--navLine); }
  .side .nav button:hover, .side .sideFoot > .btn:hover { background: var(--navLine); color: var(--navForeground); }
  .side .sideFoot > .btn.ghost { color: var(--navMuted); }
  .side .sideFoot > .btn.ghost:hover { background: var(--navLine); color: var(--navForeground); }
  .side .nav button.active { background: var(--accent); color: var(--accentInk); }
  .nav button.active::before { background: var(--accentInk); opacity: .55; }
  .navCount { background: var(--navLine); color: var(--navForeground); }
  .nav button.active .navCount { background: var(--accentBorder); color: var(--accentInk); }
  .side .sideProfile .avatar { background: var(--navLine); color: var(--navForeground); }
  .side button:focus-visible { outline-color: var(--accent); }
  .btn:focus-visible, .iconButton:focus-visible, .jobCard:focus-visible, .personCard:focus-visible, .reviewTabs button:focus-visible { outline-color: var(--brand); }
  .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brandSoft); }
  .btn, .nav button, .iconButton, .jobCard, .personCard, .colorSwatch { transition: background-color .16s, border-color .16s, color .16s, box-shadow .16s; }
  .iconButton:not(:disabled):hover { background: var(--brandSoft); }
  .metric > span .uiIcon, .jobQuickAction > .uiIcon:first-child, .formStep, .diarySaveContext > .uiIcon { color: var(--brand); }
  .viewSwitch .iconButton[aria-pressed="true"], .assignPerson.selected, .diaryDayCard.active, .diaryDayCard.selected, .investorDayList .diaryDayCard.selected { background: var(--brandSoft); color: var(--brand); }
  .diaryDayCard.active, .diaryDayCard.selected { box-shadow: inset 3px 0 var(--brandLine); }
  .jobGrid .jobCard:hover { border-color: var(--brandLine); box-shadow: 0 3px 12px #272c3010; }
  .jobQuickAction:hover { color: var(--brand); }
  .assignPerson input { accent-color: var(--brand); }
  .reviewTabs button[aria-pressed="true"] { color: var(--brand); }
  .reviewTabs button[aria-pressed="true"] span { background: var(--brandSoft); color: var(--brand); }
  .investorConfirmationFilters button[aria-pressed="true"] { background: var(--brandSoft); color: var(--brand); }
  .investorDiaryWork .investorDiaryField { border-left-color: var(--brandLine); }
  .mobileBottomNav button.active { color: var(--brand); }
  .investorConfirmDock .btn.primary { background: var(--accent); color: var(--accentInk); }
  .workspaceLogo { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 3px; overflow: hidden; }
  .workspaceLogo img { width: 100%; height: 100%; object-fit: contain; }
  .companyNavLogo { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 4px; background: white; border-radius: 4px; overflow: hidden; }
  .companyNavLogo img { width: 100%; height: 100%; object-fit: contain; }
  .side .company { align-items: center; }
  .companyLogoPreview { display: flex; align-items: center; justify-content: center; width: 104px; height: 76px; flex: 0 0 104px; padding: 10px; background: #f7f9f8; border: 1px solid var(--line); border-radius: 4px; }
  .companyLogoPreview img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
  .companyPreview { align-items: center; }
  .companyPreview > div { min-width: 0; }
  .companyName, .appearancePreview > span, .reportIdentity > div { min-width: 0; overflow-wrap: anywhere; }
  .companyAppearance { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 26px; }
  .companyAppearance h3 { font-size: 16px; font-weight: 650; }
  .brandPalette { display: flex; flex-wrap: wrap; gap: 12px; padding: 2px 0 8px; }
  .colorSwatch { width: 42px; height: 42px; border-radius: 50%; padding: 10px; display: flex; align-items: center; justify-content: center; border: 3px solid white; background: var(--swatch); box-shadow: 0 0 0 1px #d8dfe2; color: white; }
  .colorSwatch .uiIcon { visibility: hidden; width: 17px; height: 17px; }
  .colorSwatch[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--brand); }
  .colorSwatch[aria-pressed="true"] .uiIcon { visibility: visible; }
  .colorInput { display: flex; align-items: center; border: 1px solid #cbd4d9; border-radius: 4px; min-height: 46px; padding: 3px 10px 3px 4px; gap: 10px; background: white; }
  .colorInput input[type="color"] { width: 42px; height: 38px; min-height: 0; padding: 0; border: 0; cursor: pointer; border-radius: 3px; flex: 0 0 42px; }
  .colorInput input::-webkit-color-swatch-wrapper { padding: 3px; }
  .colorInput input::-webkit-color-swatch { border: 0; border-radius: 3px; }
  .colorInput > span { font-size: 12px; font-variant-numeric: tabular-nums; color: #64727b; }
  .appearancePreview { border: 1px solid var(--line); border-radius: 5px; padding: 18px; border-top: 4px solid var(--accent); background: #fafcfb; display: grid; gap: 16px; }
  .appearancePreview > span { display: flex; align-items: center; gap: 8px; color: #64727b; font-size: 12px; }
  .appearancePreview > strong { font-size: 19px; font-weight: 650; }
  .appearancePreview > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
  .previewColorLine { width: 76px; height: 4px; background: var(--accent); border-radius: 1px; }
  .appearanceActions { display: flex; flex-wrap: wrap; gap: 8px; }
  .appearanceActions .btn { font-size: 12px; }
  .appearanceFeedback { font-size: 12px; color: var(--brand); min-height: 18px; }
  .appearanceFeedback:empty { display: none; }
  .reportIdentity { display: flex; align-items: center; gap: 22px; margin-bottom: 26px; border-bottom: 2px solid var(--brandLine); padding-bottom: 22px; }
  .reportIdentity strong, .reportIdentity span { display: block; }
  .reportIdentity strong { font-size: 20px; font-weight: 650; }
  .reportIdentity span { color: var(--muted); font-size: 12px; margin-top: 4px; }
  .reportLogo { width: 120px; height: 56px; object-fit: contain; }
  .jobRows .jobCard.selected { background: var(--brandSoft); }
  .table tr.selected { background: var(--brandSoft); }
}

@media screen and (max-width:720px) {
  .companyLogoPreview { width: 76px; flex-basis: 76px; height: 64px; padding: 7px; }
  .companyAppearance .formGrid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .colorInput { gap: 5px; padding-right: 5px; }
  .colorInput input[type="color"] { width: 32px; flex-basis: 32px; }
  .colorInput > span { font-size: 11px; }
  .appearanceActions .btn.primary { flex: 1 1 100%; }
  .appearanceActions .btn { flex: 1; }
  .reportLogo { width: 88px; height: 48px; }
  .reportIdentity { gap: 16px; }
  .reportIdentity strong { font-size: 18px; }
}

@media print {
  .reportIdentity { display: flex; align-items: center; gap: 24px; border-bottom: 1px solid #aaa; padding-bottom: 16px; margin-bottom: 18px; }
  .reportLogo { width: 110px; max-height: 60px; object-fit: contain; }
  .reportIdentity strong, .reportIdentity span { display: block; }
}

.registryLookup { display: flex; align-items: stretch; gap: 8px; }
.registryLookup input { flex: 1 1 120px; width: 0; min-width: 104px; }
.registryLookup .btn, .loginForm .registryLookup .btn { flex: 0 0 auto; width: auto; white-space: nowrap; font-size: 12px; }
.registryResult { margin-top: 10px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; overflow-wrap: anywhere; }
.registryResult[hidden] { display: none; }
.registryCompany { display: grid; gap: 5px; }
.registryCompany strong { font-size: 15px; }
.registryCompany small, .registryDisclaimer { color: var(--muted); }
.registryActions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.registryActions a { display: inline-flex; align-items: center; gap: 5px; }
.registryActions .btn { font-size: 12px; }
.registryActions .uiIcon { width: 15px; height: 15px; }
.registryDisclaimer { display: block; margin-top: 12px; font-size: 11px; line-height: 1.5; }
.registryResult[data-state="error"] { color: #9b3933; border-color: #e1b8b5; }
.registryResult[data-state="applied"] { color: var(--brand); }
@media screen and (max-width: 380px) {
  .registryLookup { flex-wrap: wrap; }
  .registryLookup input { flex-basis: 100%; width: 100%; }
  .registryLookup .btn, .loginForm .registryLookup .btn { width: 100%; }
}
