:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19382f;background:#f5f7f1;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#215943}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #c0824c;outline-offset:2px}
.loading{margin:20vh auto;text-align:center;color:#486153}.app-layout{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:#183f32;color:#f8fcf6;padding:28px 17px;display:flex;flex-direction:column;gap:22px}.sidebar .brand{display:flex;align-items:center;gap:12px}.brand-logo{width:43px;height:43px;object-fit:cover;object-position:left center;background:#fff;border-radius:12px;padding:3px}.brand-name{font-size:1.15rem;font-weight:780;letter-spacing:-.025em}.brand-sub{font-size:.77rem;opacity:.78}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;text-align:left;padding:11px 13px;background:transparent;color:#dcece1;border-radius:11px;font-weight:600}.nav button:hover,.nav button.active{background:#3a7058;color:white}.sidebar-footer{margin-top:auto;color:#d1e5d4;font-size:.78rem;line-height:1.5}.sidebar-footer button{width:100%;background:transparent;border:1px solid #83a38f;color:white;padding:10px;border-radius:9px}
.detail summary{cursor:pointer;font-weight:700;color:#275944}.detail summary:focus-visible{outline:3px solid #c0824c;outline-offset:4px}.contract-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:10px 16px;margin:17px 0}.contract-facts dt{font-weight:700;color:#4e6857}.contract-facts dd{margin:0;overflow-wrap:anywhere}.insurance-plans{margin:15px 0}
.content{min-width:0;padding:0 clamp(18px,4vw,62px) 60px}.topbar{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #dbe7dc}.topbar p{margin:0;color:#668075;font-size:.88rem}.topbar select{min-width:190px}.main{max-width:1120px;margin:36px auto 0}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#3c7658;margin:0 0 8px}h1{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.045em;line-height:1.13;margin:0 0 9px}h2{font-size:1.18rem;letter-spacing:-.025em;margin:0 0 17px}h3{font-size:1rem;margin:0 0 9px}p{line-height:1.55}.subline{color:#64786b;margin:0 0 25px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #dce8dd;border-radius:17px;padding:22px;box-shadow:0 8px 28px #1535290b}.card.soft{background:#eaf3e9}.card p{color:#596c60}.card .big{font-size:2.2rem;font-weight:760;color:#235840;margin:0}.section{margin-top:23px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.section-head h2{margin:0}.banner{border-radius:12px;background:#eaf3e9;border:1px solid #d1e6d3;color:#23553f;padding:13px 17px;font-size:.88rem;margin:20px 0}.banner.warn{background:#fff3df;color:#644818;border-color:#e8d5af}.banner.error{background:#fff0ea;color:#823b2f;border-color:#f1cec0}.banner:empty{display:none}.pill{display:inline-block;border-radius:100px;padding:5px 10px;background:#e5f1e7;color:#276044;font-size:.78rem;font-weight:740}.pill.warn{background:#fff0d5;color:#745318}.pill.dark{background:#e3e8e9;color:#384b4f}.muted{color:#65766b;font-size:.86rem}.divider{height:1px;background:#dfebdf;margin:20px 0}
.btn{border:0;border-radius:10px;background:#2f654f;color:#fff;padding:11px 15px;font-weight:730;min-height:42px}.btn:hover{background:#24513e}.btn.secondary{border:1px solid #a8c8ad;background:#fff;color:#285d44}.btn.secondary:hover{background:#edf5ea}.btn.danger{background:#fff0e5;color:#774a24}.btn:disabled{opacity:.48;cursor:not-allowed}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:.85rem;font-weight:700;color:#3b5b48}.field input,.field select,.field textarea,.topbar select{background:#fff;border:1px solid #bfcfc1;border-radius:9px;min-height:43px;padding:9px 11px;color:#1d382e;width:100%}.field textarea{min-height:76px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:18px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field.wide{grid-column:1/-1}.check{display:flex;gap:9px;align-items:flex-start;font-size:.87rem;line-height:1.4}.check input{margin-top:3px;accent-color:#2f654f}.form-actions{display:flex;gap:9px;align-items:center;margin-top:18px}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:#53735f;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.data-table td,.data-table th{padding:12px 9px;border-bottom:1px solid #e2ece2;vertical-align:top}.data-table td:last-child{text-align:right}.data-table tr:last-child td{border-bottom:0}.scroll{overflow-x:auto}.row-title{font-weight:720}.subrow{font-size:.8rem;color:#728277;margin-top:3px}.empty{padding:28px;border:1px dashed #acc5af;background:#f7fbf6;border-radius:11px;color:#5b745f}.detail{border:1px solid #dce8dd;background:#fff;border-radius:15px;padding:20px;margin-top:13px}.detail-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.issues{margin:12px 0;padding:0;list-style:none}.issues li{padding:9px 12px;border-left:3px solid #cc8c49;background:#fff8ed;margin-top:6px;font-size:.85rem}.issues li.blocker{border-color:#bc5343;background:#fff1ed}.link-output{overflow-wrap:anywhere;background:#f1f7ed;border:1px dashed #80b08a;border-radius:9px;padding:12px;margin-top:14px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(160deg,#e9f2e7,#f8faf4 52%,#dcebdc)}.auth-card{background:white;border:1px solid #d3e4d3;border-radius:22px;padding:clamp(24px,5vw,44px);max-width:520px;width:100%;box-shadow:0 22px 70px #24453221}.auth-card .logo{width:200px;height:78px;object-fit:contain;object-position:left}.auth-card h1{margin:14px 0 8px}.auth-card .field{margin-top:15px}.auth-card .btn{margin-top:20px;width:100%}.auth-card .switch{margin:19px 0 0}.auth-note{margin:22px 0 0;border-top:1px solid #e3ece1;padding-top:15px;color:#687a6c;font-size:.81rem}.worker-layout{max-width:850px;margin:auto;padding:24px 18px 75px}.worker-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0 24px;border-bottom:1px solid #d6e4d7}.worker-top .brand-name{color:#265d45}.worker-top .btn{min-height:38px;padding:8px 12px}.worker-title{margin-top:32px}.worker-title h1{margin:6px 0}.worker-layout .card{margin-top:15px}.entry{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e4ede3;padding:13px 0}.entry:last-child{border:0}.entry .entry-date{font-weight:740}.entry .entry-notes{font-size:.82rem;color:#677a6b}.print-only{display:none}
@media(max-width:900px){.app-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{display:block;min-width:0;padding:12px 16px}.sidebar .brand{display:inline-flex;vertical-align:middle}.sidebar .brand-logo{width:37px;height:37px}.sidebar .brand-sub{display:none}.nav{margin-top:10px;display:flex;flex-direction:row;overflow-x:auto;max-width:100%}.nav button{white-space:nowrap;padding:9px 11px}.sidebar-footer{display:none}.content{padding:0 18px 45px}.topbar{min-height:70px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid,.grid.two,.form-grid,.form-grid.three{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column;justify-content:center;padding:10px 0}.topbar select{min-width:0;width:100%}.card{padding:18px}.main{margin-top:26px}.section-head{align-items:flex-start;flex-direction:column}.data-table th,.data-table td{white-space:nowrap}.worker-top .brand-name{font-size:1rem}.field.wide{grid-column:auto}}
@media print{.sidebar,.topbar,.btn,.banner,.form-actions{display:none!important}.app-layout{display:block}.content,.main{padding:0;margin:0;max-width:none}.card,.detail{box-shadow:none;break-inside:avoid;border:1px solid #aaa}.print-only{display:block}body.printing-sheet #app{display:none!important}body.printing-sheet #print-sheet{display:block}.sheet-page{height:255mm;break-after:page;page-break-after:always;position:relative;color:#19382f;background:white}.sheet-page:last-child{break-after:auto;page-break-after:auto}.sheet-brand{border-top:7mm solid #2f654f;background:#eaf3e9;font-size:13pt;font-weight:bold;padding:5mm 3mm}.sheet-page h1{font-size:18pt;color:#2f654f;margin:8mm 0 3mm}.sheet-meta{font-size:9pt;margin:0 0 6mm}.sheet-table{border-collapse:collapse;width:100%;font-size:8pt}.sheet-table th{background:#2f654f;color:#fff;text-align:left;padding:2.5mm 1.5mm}.sheet-table td{height:9mm;border:1px solid #9fbaa7;padding:1mm 1.5mm}.sheet-table th:first-child,.sheet-table td:first-child{width:17mm}.sheet-table th:last-child,.sheet-table td:last-child{width:39mm}.sheet-totals{font-size:9pt;font-weight:bold;margin-top:9mm}.sheet-sign{font-size:8pt;margin-top:13mm}.sheet-foot{position:absolute;bottom:2mm;color:#64786b;font-size:8pt} }
@page{size:A4;margin:16mm}
[hidden]{display:none!important}

/* Dossier and office forms also fit small mobile screens. */
.field > span { display:block; margin-bottom:.4rem; font-weight:600; }
label.field { display:block; }
.app-layout, .content, .main, .card, .form-grid > *, .topbar { min-width:0; }
.card, .contract-facts dd { overflow-wrap:anywhere; }
.form-grid .check input { width:auto; }

.mobile-menu { display:none; }
@media(max-width:900px){.mobile-menu{display:block;width:100%;margin-top:12px;padding:10px;border:1px solid #9bbea9;border-radius:9px;background:#fff;color:#19382f;font:inherit;font-weight:650}.sidebar .nav{display:none}}
@media(max-width:640px){.contract-facts{grid-template-columns:1fr;gap:3px}.contract-facts dt{font-size:.78rem;color:#61756a}.contract-facts dd{margin:0 0 10px}.contract-facts dt,.contract-facts dd{overflow-wrap:break-word}}

.legal-page {max-width: 52rem;}
.legal-page p {white-space:pre-line;overflow-wrap:anywhere;}
.legal-page h2 {margin-top:2rem;}
.legal-links {display:flex;gap:.4rem;flex-wrap:wrap;}
.recovery-codes {display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;background:#eef4ef;font-size:1rem;}

/* Discreet, keyboard-accessible help; all explanations remain closed. */
.setup-help-field {position:relative;min-width:0;}
.setup-help-field > label {padding-right:44px;display:block;}
.setup-help-field > label > input:not([type=checkbox]),
.setup-help-field > label > select,
.setup-help-field > label > textarea {width:calc(100% + 44px);max-width:none;}
.setup-help-button {position:absolute;top:-8px;right:-4px;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:transparent;color:#2f654f;font:700 1rem Georgia,serif;cursor:pointer;}
.setup-help-button::before {content:'';position:absolute;inset:11px;border:1px solid currentColor;border-radius:50%;}
.setup-help-button:hover {background:#eaf3e9;}
.setup-help-button:focus-visible {outline:3px solid #946721;outline-offset:1px;}
.setup-help-dialog {box-sizing:border-box;width:calc(100% - 32px);max-width:520px;max-height:85vh;overflow:auto;border:1px solid #9fbaa7;border-radius:16px;padding:24px;background:#fff;color:#19382f;box-shadow:0 12px 48px #0004;}
.setup-help-dialog::backdrop {background:#10251dcc;}
.setup-help-dialog h2 {padding:0;margin:0 0 20px;font-size:1.3rem;}
.setup-help-dialog h3 {font-size:1rem;margin:20px 0 6px;}
.setup-help-dialog p {line-height:1.55;margin:0;overflow-wrap:anywhere;}
.setup-help-dialog .btn {margin-top:24px;}
@media print {.setup-help-button,.setup-help-dialog {display:none!important;}}

.legal-consent {margin:18px 0;font-size:.92rem;}
.legal-consent > a {display:inline-block;margin:6px 0 0 28px;text-decoration:underline;}
.start-steps {padding-left:22px;line-height:1.6;margin:24px 0;}
.start-steps li {margin:12px 0;}
.auth-card > .btn {display:block;box-sizing:border-box;text-align:center;margin:14px 0;text-decoration:none;}

.start-help{margin-top:1.5rem;text-align:left}.start-help h2{font-size:1.25rem}.start-help-topic{border-top:1px solid #c9dacf;padding:.5rem 0}.start-help-topic summary{cursor:pointer;min-height:44px;display:list-item;padding:.65rem .25rem;font-weight:600}.start-help-topic p{line-height:1.6}.start-help [hidden]{display:none!important}

/* Short overview pages: only the selected task opens its existing form. */
.compact-section {margin: .75rem 0;border:1px solid #cbd8cf;border-radius:1rem;background:white;}
.compact-section > summary {padding:1rem 1.2rem;cursor:pointer;font-weight:700;font-size:1.05rem;}
.compact-section > .card {margin:0;border:0;box-shadow:none;}
.compact-section > .card > h2:first-child {display:none;}
[hidden] {display:none !important;}

.calendar-choice-list{display:grid;gap:.45rem;margin:.65rem 0 1rem}.calendar-choice{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.calendar-choice input{width:auto;flex:none}.calendar-choice select{width:auto;max-width:9rem;margin-left:auto}.vacation-range-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));max-width:520px}

/* Everyday work comes first; all existing forms remain available on request. */
.nav-more{border-top:1px solid #426452;padding-top:12px}.nav-more>summary{padding:9px 13px;cursor:pointer;color:#dcece1;font-size:.88rem}.nav-more .nav{margin-top:8px}.mobile-navigation{display:none}
#backup-reminder .banner:not(.warn){display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:transparent;border:0;padding:7px 0;margin:0 0 10px;font-size:.8rem}#backup-reminder .banner:not(.warn)>p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#backup-reminder .banner:not(.warn)>.btn{min-height:30px;padding:5px 9px;font-size:.78rem}
.month-toolbar{display:flex;justify-content:flex-start;margin:0 0 20px}.month-toolbar .field{max-width:220px;margin:0}.home-tasks .card{padding:26px;display:flex;flex-direction:column;align-items:flex-start}.home-tasks h2{margin-bottom:10px}.home-tasks .task-number{font-size:2.6rem;font-weight:760;line-height:1.1;color:#235840;margin:0 0 10px}.home-tasks .task-status{font-size:.88rem;color:#687d70;margin-top:auto}.home-tasks .btn{margin-top:6px}.home-people{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0}.release-note{font-size:.83rem;color:#69786d;margin:22px 0}
.work-tabs{display:flex;gap:7px;margin:0 0 20px;flex-wrap:wrap}.work-tabs .btn.selected{background:#2f654f;color:white;border-color:#2f654f}.work-more{margin:12px 0;border:0}.work-more>summary{cursor:pointer;color:#426450;font-weight:650;padding:8px 0}.work-more>.actions{padding:8px 0}.context-links{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.context-links .btn{padding:7px 11px;min-height:36px;font-size:.86rem}
.task-disclosure{margin:20px 0;border:1px solid #dce8dd;border-radius:14px;background:#fff}.task-disclosure>summary{cursor:pointer;list-style-position:inside;padding:15px 20px;font-weight:700;color:#2d6248}.task-disclosure>.card{margin:0;border:0;box-shadow:none}.task-disclosure>.card>h2:first-child{display:none}.dossier-more{margin:20px 0}.contract-overview{margin:12px 0;padding:12px;border:1px solid #dde6de;border-radius:12px}.contract-overview>.contract-detail{margin-top:0;border:0;padding:0}.contract-overview>.actions{margin-top:10px}.contract-overview>.actions .btn{font-size:.88rem;padding:8px 12px}.home-setup{border-top:1px solid #dce6dd;padding-top:12px}
@media(max-width:900px){
 .sidebar{padding:12px 16px}.sidebar .nav-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) repeat(3,minmax(0,1fr));overflow:visible;gap:3px;margin:12px -5px 0}.nav-primary button{min-height:44px;padding:9px 2px;font-size:.73rem;text-align:center;white-space:normal;min-width:0;line-height:1.35}.nav-more{display:none}.mobile-navigation{display:block;margin-top:5px}.mobile-navigation>summary{cursor:pointer;color:#e2eee4;padding:8px 0;font-size:.82rem}.mobile-navigation .mobile-menu{margin-top:2px}.topbar{min-height:52px}.main{margin-top:24px}.home-tasks .card{padding:20px}.home-people{align-items:flex-start}.home-people .btn{font-size:.85rem}.work-tabs .btn{flex:1;text-align:center}
}

.nav-short{display:none}.contract-summary{font-weight:600;margin:0 0 10px}.saved-summary{font-weight:600}
@media(max-width:900px){.nav-primary .nav-full{display:none}.nav-primary .nav-short{display:inline}}

.worker-new-entry{border-color:#a6c7b0}.worker-time-proposal{font-size:.86rem;line-height:1.45;min-height:5em;background:#eef5ef;border-radius:9px;padding:10px 12px;margin:0 0 18px}.worker-entry-list>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.worker-proposals .btn{display:block;margin:8px 0;width:100%;text-align:left}.worker-new-entry .short-sickness-help{margin-top:0}
.industry-contract>label{margin:12px 0}.industry-documents{display:grid;gap:12px;margin:14px 0}.industry-document{min-width:0}.industry-document .btn{max-width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}.industry-document p{margin:4px 0}.industry-document a{overflow-wrap:anywhere}.industry-payday{grid-column:1/-1}.industry-payday>.wide{grid-column:1/-1}.industry-contract select{max-width:100%}

/* One monthly list and one focused editor; no duplicate row disclosures. */
.timesheet-entries .entry{align-items:center}.timesheet-entries .entry>div{min-width:0;overflow-wrap:anywhere}.timesheet-entries .entry>.btn{flex-shrink:0}
.timesheet-editor{border:1px solid #bfcfc1;border-radius:18px;background:#fff;color:#1d382e;padding:24px;width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;box-shadow:0 20px 80px #16332340}.timesheet-editor::backdrop{background:#152d2466}.timesheet-editor h2{margin:0 0 16px}.timesheet-editor .detail{border:0;padding:0;margin:0}.timesheet-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-editor select{width:100%;min-height:43px;border:1px solid #bfcfc1;border-radius:9px;background:#fff;color:#1d382e;padding:9px 11px}.timesheet-editor-actions{position:sticky;bottom:-24px;background:#fff;padding:14px 0 22px;margin-top:12px;border-top:1px solid #e4ede3;flex-wrap:wrap}.timesheet-remove{margin-top:8px}.timesheet-proposal{font-size:.9rem}
@media(max-width:560px){.timesheet-editor{padding:18px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.timesheet-editor .form-grid{grid-template-columns:1fr;gap:12px}.timesheet-editor-actions{bottom:-18px;padding-bottom:18px}.timesheet-entries .entry>.btn{padding:9px 10px;font-size:.84rem}.timesheet-actions>.btn{width:100%;text-align:center}}

.person-dossier-view>h1{overflow-wrap:anywhere}.person-conflict{margin-top:14px;border:1px solid #d3ad78;border-radius:10px;padding:12px;background:#fff8ed}.person-conflict dd{overflow-wrap:anywhere}
@media(max-width:640px){.people-table thead{display:none}.people-table,.people-table tbody{display:block;width:100%}.people-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:13px 0;border-bottom:1px solid #e2ece2}.people-table td{padding:0;border:0;white-space:normal;overflow-wrap:anywhere;min-width:0}.people-table td:first-child{grid-column:1;grid-row:1}.people-table .person-open{grid-column:2;grid-row:1/4;align-self:start}.people-table .person-birth,.people-table .person-contact{grid-column:1}.people-table .person-birth::before,.people-table .person-contact::before{content:attr(data-label) ': ';color:#53735f;font-size:.8rem}.people-table .person-open .btn{padding:9px 12px;min-height:44px}}

/* Clear primary monthly action and guide link, including narrow screens. */
.business-guide>a.btn{display:block;width:max-content;max-width:100%;text-decoration:none;margin:14px 0 24px;white-space:normal}
.business-guide>h3{margin-top:20px}
.payroll-control>.btn{margin:8px 8px 0 0}
.payroll-control>.check{margin:16px 0 8px}
@media(max-width:560px){.payroll-control>.btn{display:block;width:100%;margin:10px 0 0}.payroll-control .issues .btn{max-width:100%;white-space:normal}}
