.connect-login{min-height:100dvh;display:grid;place-items:center;margin:0;padding:24px}.connect-login main{max-width:440px;width:100%}.connect-login h1{font-size:26px}.connect-login form,#employee-form{display:grid;gap:16px}.connect-login label,#employee-form label{display:grid;gap:6px}input,select,textarea{font-size:16px;max-width:100%}.connect-app .sidebar{top:0}.connect-app .topbar{top:0}.connect-app #main{min-width:0}.connect-app .card{margin-bottom:20px}.connect-app .ws-table td{min-width:100px}.connect-app .ws-table select{width:100px}.connect-app .ws-table th{min-width:90px}.connect-app .ws-code{white-space:normal}.connect-app .ws-table-scroll{max-width:100%;overflow:auto}.connect-app .ws-cell-select{font-size:16px;min-height:44px}.connect-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.connect-cards .card{margin:0}.connect-cards h2{font-size:20px}.connect-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}#connect-nav{display:grid;gap:12px;padding:20px}#connect-nav a,#connect-mobile a{padding:12px;color:#163f34;background:#eef3e8;border-radius:8px}#connect-mobile{display:none}#connect-status{padding:16px;position:sticky;bottom:0;background:#edf4e6;color:#163f34;z-index:30}#connect-status:empty{display:none}.connect-app dialog{max-width:95vw;width:1100px;padding:24px;max-height:90dvh}.connect-app .check,#employee-form .check{display:flex;gap:8px;align-items:center}.check input{width:22px;height:22px}.connect-employee-list{display:grid;gap:10px;margin-top:20px}.connect-employee-list small{overflow-wrap:anywhere}.connect-app .ws-day-row{gap:12px}.connect-app .ws-day-row select{width:180px}.connect-app button:disabled{opacity:.6}.connect-app h1{font-size:28px}.connect-app h2{font-size:20px}.connect-app label{color:#163f34}#identity{overflow-wrap:anywhere}#memo{display:block;width:100%;margin-top:10px}.connect-app a:focus-visible,.connect-app button:focus-visible,.connect-app select:focus-visible{outline:3px solid #176791;outline-offset:3px}
@media(max-width:900px){#connect-mobile{display:flex;gap:8px;flex-wrap:wrap;padding:12px}.connect-app .topbar{height:auto;min-height:64px;gap:8px;flex-wrap:wrap}.connect-app #identity{font-size:12px}.connect-app #main{padding:20px 14px}.connect-cards{gap:10px}.connect-cards h2{font-size:17px}.connect-app .ws-month-controls{flex-wrap:wrap}.connect-app dialog{padding:16px}.connect-app .card{padding:16px}.connect-app .page-shell{margin-left:0}.connect-app .sidebar{display:none}}
/* Keep the supplied palette, with readable secondary text on light backgrounds. */
.connect-app .brand small,.connect-app .eyebrow,.connect-app .page-heading p,.connect-app .ws-half h3 span,.connect-app .ws-weekday,.connect-app small{color:#465c50}.connect-app .ws-code-unset{color:#465c50}
.connect-app .ws-memo-text,.connect-app .ws-legend-grid span,.connect-app .ws-legend-grid b,.connect-app .ws-code-rest,.connect-app .ws-code-paid{color:#3d5648}.connect-app .ws-legend-grid span,.connect-app .ws-legend-grid b,.connect-app .ws-day-row b,.connect-app .ws-table th,.connect-app .ws-table td{font-size:14px}.connect-app .ws-memo-text{font-size:16px}.connect-app .ws-code{font-size:14px;min-height:44px;height:auto}.connect-app .ws-legend-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.connect-app .ws-table th,.connect-app .ws-table td{color:#334d3e}
.connect-app .ws-table th,.connect-app .ws-table td{width:56px;min-width:56px;max-width:56px}.connect-app .ws-table select{width:56px;font-size:14px}.connect-app .ws-table .ws-name-head,.connect-app .ws-table .ws-name-tail{width:132px;min-width:132px;max-width:132px;color:#334d3e}.connect-app .ws-date-button{font-size:14px;min-height:44px}

/* Portal visual pass: scoped to the authenticated app, with supplied brand assets. */
.connect-app{--muted:#52665c;background:#f4f7f5;font-size:15px}
.connect-app .page-shell{padding-top:0}
.connect-app .sidebar{padding:28px 16px 16px;overflow-y:auto}
.connect-app .brand{padding:0 6px 18px}
.connect-app .topbar{min-height:76px;height:auto;padding:18px 32px;background:#fff;border-bottom:1px solid #dfe7e1}
.connect-app #main{padding:32px;max-width:1440px;margin:0 auto}
.connect-app h1{font-size:30px;line-height:1.5;letter-spacing:.02em;margin:0 0 10px}
.connect-app .page-heading{margin-bottom:24px}
.connect-app .page-heading p{margin:4px 0}
.connect-app .eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;margin:0 0 12px}
#connect-nav{padding:8px 0;gap:4px}
#connect-nav a,#connect-mobile a{text-decoration:none;background:transparent;color:#385448;font-weight:500;border-radius:10px;line-height:1.5;min-height:44px}
#connect-nav a{padding:12px 16px;border-left:3px solid transparent}
#connect-nav a:hover,#connect-mobile a:hover{background:#eef4ef}
#connect-nav a[aria-current=page],#connect-mobile a[aria-current=page]{background:#e5f0e8;color:#194f3e;font-weight:750}
#connect-nav a[aria-current=page]{border-left-color:#28734e}
.connect-app .card{border-radius:16px;border:1px solid #dce6df;box-shadow:0 3px 12px #173e3004}
.connect-welcome{position:relative;overflow:hidden;background:#e7f0e9;border:1px solid #d6e4da;border-radius:20px;padding:32px;margin-bottom:30px}
.connect-welcome>div:first-child{position:relative;z-index:1}
.connect-welcome p{margin:0 0 8px;color:#365744}
.connect-membership{display:inline-block;font-size:13px;color:#365744;margin-top:6px}
.connect-welcome-mark{position:absolute;right:-45px;top:-80px;width:300px;height:300px;border:45px solid #dce9df;border-radius:50%;pointer-events:none}
.connect-section-title{margin:0 0 16px!important;font-size:17px!important}
.connect-cards{gap:14px}
.connect-app .connect-feature{display:flex;align-items:center;gap:18px;padding:24px;text-decoration:none;min-height:116px;transition:background .15s,border-color .15s}
.connect-feature:hover{border-color:#80a88d!important;background:#fbfdfb}
.connect-feature>div{min-width:0}.connect-feature h2{margin:0 0 5px;font-size:18px}.connect-feature p{margin:0;color:#52665c;font-size:13px;line-height:1.7}
.connect-feature-icon{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;background:#edf4ef;border-radius:13px;color:#2a6748}
.feature-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.connect-chevron{margin-left:auto;color:#526e5e;font-size:24px}
.connect-upcoming{margin-top:30px;padding-top:22px;border-top:1px solid #dce5df}
.connect-upcoming h2{font-size:16px;margin:0 0 4px}.connect-upcoming p{color:#52665c;font-size:13px;margin:0 0 14px}
.connect-upcoming>div{display:flex;flex-wrap:wrap;gap:8px}.connect-upcoming span{border:1px solid #dce5df;border-radius:6px;padding:5px 12px;font-size:13px;color:#52665c;background:#fff}
.connect-app .button{min-height:44px;border-radius:9px;font-size:14px;padding:10px 18px}
.connect-app .button.primary{background:#215c42;color:#fff}
.connect-empty{text-align:center;padding:48px 16px}.connect-empty-symbol{display:grid;place-items:center;width:60px;height:60px;background:#edf4ef;border-radius:50%;margin:0 auto 20px;color:#38704f;font-size:24px}
.connect-empty h2{margin:0 0 12px;font-size:20px}.connect-empty p{color:#52665c;margin:6px 0;font-size:14px}
.connect-slip-list{display:grid;gap:12px}.connect-slip-list button{text-align:left;background:#f5f8f5}
.connect-footnote{color:#52665c;font-size:13px;line-height:1.9}
@media(max-width:900px){
 .connect-app .topbar{padding:12px 16px;min-height:70px;gap:12px}
 .connect-app #identity{margin-left:auto;font-size:12px}
 .connect-app .topbar form{margin-left:auto}
 #connect-mobile{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid #dfe7e1}
 #connect-mobile a{white-space:nowrap;padding:12px 14px;flex-shrink:0;font-size:14px}
 .connect-app #main{padding:24px 16px}
 .connect-welcome{padding:24px;margin-bottom:24px}.connect-welcome-mark{right:-150px;opacity:.65}
 .connect-app h1{font-size:25px}.connect-app .connect-feature{padding:18px;gap:12px}
}
@media(max-width:540px){
 .connect-cards{grid-template-columns:1fr;gap:10px}.connect-app .connect-feature{min-height:94px}
 .connect-feature h2{font-size:17px}.connect-feature p{font-size:13px}
 .connect-app .topbar .button{font-size:12px;padding:8px 12px}
 .connect-app .mobile-brand img{width:142px;height:auto}
 .connect-empty{padding:32px 0}.connect-empty h2{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.connect-app .connect-feature{transition:none}}

.connect-app #save-state{display:inline-block;margin:12px 0 0;padding:7px 12px;border-radius:7px;background:#e5f0e8;color:#194f3e;font-weight:650}
.connect-app #save-state[data-unsaved=true]{background:#fff0cf;color:#725015}
.connect-app [aria-pressed=true]{background:#e5f0e8;border-color:#54886a;color:#194f3e;font-weight:700}
.connect-app .connect-shift-actions{margin-bottom:8px}
.connect-app #shift-next-step{margin:8px 0 0}

.connect-ledger-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.connect-ledger-filters label{display:grid;gap:6px;min-width:0;font-size:14px}
.connect-ledger-filters input,.connect-ledger-filters select{width:100%;min-height:44px}
.connect-app .connect-employee-result{display:grid;gap:4px;text-align:left;padding:16px;background:#fff;white-space:normal;overflow-wrap:anywhere}
.connect-employee-result span{font-size:14px;color:#52665c}.connect-employee-result strong{font-size:16px}
.connect-no-results{padding:20px;background:#f4f7f5;border-radius:10px}
@media(max-width:540px){.connect-ledger-filters{grid-template-columns:1fr}}
.connect-app #employee-save-state{padding:10px 14px;border-radius:8px;background:#edf4ef;color:#24533b}
.connect-app #employee-save-state[data-unsaved=true]{background:#fff0cf;color:#725015;font-weight:650}

.connect-pay-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.connect-pay-totals>div{padding:16px;background:#f1f6f2;border-radius:10px;min-width:0}
.connect-pay-totals>div:last-child{background:#e0eee4}
.connect-pay-totals dt{font-size:14px;color:#365744}.connect-pay-totals dd{font-size:23px;font-weight:750;margin:8px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.connect-pay-breakdown{margin:0 0 24px}.connect-pay-breakdown>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:12px 0;border-bottom:1px solid #dfe7e1}
.connect-pay-breakdown dt{overflow-wrap:anywhere}.connect-pay-breakdown dt small{display:block;font-size:12px}.connect-pay-breakdown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;align-self:center;white-space:nowrap}
@media(max-width:540px){.connect-pay-totals{grid-template-columns:1fr;gap:8px}.connect-pay-totals>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.connect-pay-totals dd{margin:0;font-size:21px}.connect-pay-breakdown{font-size:14px}}
#connect-demo-badge{display:inline-block;border:1px solid #d5dece;border-radius:6px;padding:4px 8px;font-size:12px;color:#405a37;background:#f1f6e9}

#connect-shift-print{display:none}
@media print{
  @page{size:A4 landscape;margin:10mm}
  body.connect-printing{display:block!important;background:white!important;color:black!important}
  body.connect-printing>*:not(#connect-shift-print){display:none!important}
  body.connect-printing>#connect-shift-print{display:block!important;font:10pt sans-serif;color:black}
  #connect-shift-print h1{font-size:17pt}#connect-shift-print h2,#connect-shift-print h3{font-size:12pt;margin:12px 0 6px}
  #connect-shift-print .ws-table-scroll{overflow:visible;border:0}
  #connect-shift-print .ws-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:8pt}
  #connect-shift-print .ws-table th,#connect-shift-print .ws-table td{position:static!important;min-width:0!important;max-width:none;width:auto;white-space:normal;padding:4px 2px;border:1px solid #666;background:white!important;color:black!important;overflow-wrap:anywhere}
  #connect-shift-print .ws-name-head{width:27mm}#connect-shift-print .ws-name-tail{display:none}
  #connect-shift-print button{border:0;background:none;padding:0;color:black;font:inherit}
  #connect-shift-print .ws-code{background:none;color:black;min-width:0;padding:0;border:0;font-size:8pt}
  #connect-shift-print thead{display:table-header-group}#connect-shift-print tr{break-inside:avoid}
  #connect-shift-print .ws-memo-text{white-space:pre-wrap;overflow-wrap:anywhere}
}

#connect-payroll-print{display:none}
@media print{
  @page connect-payroll{size:A4 portrait;margin:14mm}
  body.connect-payroll-printing{display:block!important;background:white!important;color:black!important}
  body.connect-payroll-printing>*:not(#connect-payroll-print){display:none!important}
  body.connect-payroll-printing>#connect-payroll-print{display:block!important;page:connect-payroll;font:11pt sans-serif;color:black}
  #connect-payroll-print h1{font-size:18pt}#connect-payroll-print h2{font-size:14pt}#connect-payroll-print h3{font-size:12pt}
  #connect-payroll-print .connect-pay-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  #connect-payroll-print .connect-pay-totals>div{display:block;background:white;border:1px solid #777;padding:10px;break-inside:avoid}
  #connect-payroll-print .connect-pay-totals dd{font-size:14pt}
  #connect-payroll-print .connect-pay-breakdown>div{break-inside:avoid}
  #connect-payroll-print dt,#connect-payroll-print dd{color:black}
}

.connect-document-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
.connect-reader{max-width:76ch;margin-inline:auto;overflow-wrap:anywhere}
.connect-reader .connect-document-body{font-size:17px;line-height:1.95;margin:16px 0 28px}
.connect-reader.connect-reader-large .connect-document-body{font-size:22px;line-height:2}
.connect-reader h2{line-height:1.6}.connect-reader h3{margin-top:28px}
.connect-reader-tools{margin-bottom:18px;flex-wrap:wrap}
.connect-reader-tools [aria-pressed=true]{background:#e0eee4;border-color:#376b4d;color:#183d2a}
.connect-reader-confirmation{max-width:76ch;margin-inline:auto}
.connect-reader-confirmation .check{margin-block:16px;line-height:1.7}
@media(max-width:540px){.connect-reader,.connect-reader-confirmation{padding:20px 16px}.connect-reader-tools .button{min-height:44px}}
/* Home and navigation hierarchy: daily tasks, reference, management. */
.connect-nav-section{display:grid;gap:2px;margin-bottom:18px}
#connect-nav .connect-nav-section h2,.connect-mobile-panel .connect-nav-section h2{font-size:11px;letter-spacing:.07em;color:#52665c;margin:8px 16px;text-transform:none}
#connect-nav a{font-size:14px;padding:10px 13px;min-height:42px}
.connect-home>section{margin-bottom:30px}
.connect-home .connect-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e7f0e9;padding:28px 30px;border-radius:18px}
.connect-home .connect-welcome h1{font-size:28px;margin-bottom:6px}
.connect-home .connect-welcome .eyebrow{font-size:12px;letter-spacing:.05em;margin-bottom:10px}
.connect-help-link{color:#234f38;font-size:13px;white-space:nowrap;padding:12px 0;text-underline-offset:4px;min-height:44px}
.connect-section-heading{display:flex;align-items:baseline;gap:16px;margin:0 0 14px}
.connect-section-heading h2{margin:0;font-size:18px}.connect-section-heading p{margin:0;color:#52665c;font-size:13px}
.connect-home .connect-primary-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.connect-home .connect-feature{margin:0;box-shadow:none;border-radius:14px;min-height:104px;padding:20px;gap:14px}
.connect-home .connect-feature h3{font-size:17px;line-height:1.5;color:#183f2e;margin:0 0 5px}
.connect-home .connect-feature p{font-size:12px;line-height:1.7}
.connect-home .connect-primary-cards .connect-feature{border-top:3px solid #377653;background:#fff}
.connect-home .connect-primary-cards .connect-feature-icon{background:#e3f0e7;color:#22583d}
.connect-home .connect-reference-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.connect-home .connect-reference-cards .connect-feature{background:#fff;min-height:92px}
.connect-management{padding:22px;border:1px solid #dce6df;border-radius:14px;background:#edf2ee}
.connect-management-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.connect-management-links a{display:flex;justify-content:space-between;gap:10px;color:#264b37;padding:12px 2px;min-height:44px;border-bottom:1px solid #d2ded5;text-decoration:none;font-size:14px}
.connect-management-links a:hover{text-decoration:underline;text-underline-offset:4px}
.connect-home .connect-upcoming{margin-top:0;padding-top:18px;font-size:13px;color:#52665c}
.connect-upcoming summary{cursor:pointer;min-height:44px;padding:10px 0}
.connect-upcoming p{margin-top:12px}
@media(max-width:900px){
 #connect-mobile{display:block;padding:0;background:white;overflow:visible}
 .connect-quick-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:8px}
 #connect-mobile .connect-quick-nav a{padding:10px 3px;min-height:44px;text-align:center;font-size:12px;white-space:normal;display:grid;place-items:center}
 .connect-mobile-menu{border-top:1px solid #edf1ed}
 .connect-mobile-menu summary{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;min-height:44px;font-size:13px;color:#385448;cursor:pointer;list-style:none}
 .connect-mobile-menu summary::-webkit-details-marker{display:none}
 .connect-mobile-menu summary[data-current=true]{color:#194f3e;font-weight:750;background:#e5f0e8}
 .connect-mobile-menu[open] summary span{transform:rotate(180deg)}
 .connect-mobile-panel{padding:8px 14px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .connect-mobile-panel .connect-nav-section{margin:0;min-width:0}
 #connect-mobile .connect-mobile-panel a{display:block;white-space:normal;padding:10px 8px;font-size:13px}
 .connect-mobile-panel .connect-nav-section h2{margin:8px;font-size:11px}
 .connect-home .connect-welcome{padding:22px;align-items:flex-start;flex-direction:column;gap:4px}
 .connect-home .connect-welcome h1{font-size:25px}
 .connect-home .connect-welcome .connect-help-link{padding:8px 0}
}
@media(max-width:540px){
 .connect-home>section{margin-bottom:26px}
 .connect-section-heading{display:block}.connect-section-heading h2{font-size:17px}.connect-section-heading p{margin-top:4px;font-size:12px}
 .connect-home .connect-primary-cards{grid-template-columns:1fr;gap:10px}
 .connect-home .connect-primary-cards .connect-feature{min-height:92px;padding:16px}
 .connect-home .connect-reference-cards{gap:10px}
 .connect-home .connect-reference-cards .connect-feature{display:block;padding:16px 12px;min-height:132px;position:relative}
 .connect-home .connect-reference-cards .connect-feature-icon{width:34px;height:34px;margin-bottom:10px;background:transparent;place-items:start}
 .connect-home .connect-reference-cards h3{font-size:14px}.connect-home .connect-reference-cards p{font-size:11px}
 .connect-home .connect-reference-cards .connect-chevron{display:none}
 .connect-management{padding:18px 16px}.connect-management-links{grid-template-columns:1fr;gap:0}
}
.connect-mobile-menu summary:focus-visible,.connect-upcoming summary:focus-visible{outline:3px solid #176791;outline-offset:-3px}
@media(max-width:540px){.connect-home .connect-welcome{padding:18px}.connect-home .connect-welcome p{margin-bottom:4px}.connect-home .connect-membership{margin-top:2px}.connect-home .connect-welcome h1{font-size:23px}}

/* Daily workspace: prototype palette, hierarchy and compact navigation. */
.connect-app{background:#f7f9f4;color:#203e34}
.connect-app #main{padding:32px 40px 48px;max-width:1440px}
.connect-app .topbar{min-height:64px;padding:12px 40px;background:#fcfdfb}
#connect-nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;font-size:13px}
#connect-nav a .feature-icon{width:19px;height:19px;flex-shrink:0;color:#627b65}
#connect-nav .connect-nav-section{margin-bottom:12px}
#connect-nav .connect-nav-section h2{font-size:10px;letter-spacing:.1em;color:#60725f;margin:12px}
.prototype-home{--home-forest:#163f34;--home-leaf:#edf3e5;--home-border:#dce4d7}
.prototype-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 26px}
.connect-app .prototype-heading h1{font-size:27px;font-weight:650;letter-spacing:.04em;margin:8px 0}
.prototype-heading p{font-size:13px;color:#566c60;margin:0}
.prototype-home .eyebrow{font-size:10px;letter-spacing:.15em;color:#587267;font-weight:650;margin:0 0 12px}
.prototype-date{white-space:nowrap;background:#fff;border:1px solid var(--home-border);border-radius:8px;padding:11px 14px;color:#36543c;font-size:12px}
.prototype-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px}
.connect-app .prototype-shortcuts .connect-feature{margin:0;padding:16px 18px;min-height:78px;gap:12px;border-radius:14px;box-shadow:none}
.prototype-shortcuts .connect-feature-icon{width:40px;height:42px;flex-shrink:0;border-radius:11px;background:#edf3e5}
.prototype-shortcuts .connect-feature h3{font-size:14px;line-height:1.5;margin:0 0 4px}
.prototype-shortcuts .connect-feature p{font-size:11px;line-height:1.5;margin:0;color:#566b5c}
.prototype-shortcuts .connect-feature>span:last-child{margin-left:auto;color:#638052;font-size:20px}
.prototype-dashboard{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-areas:'attendance safety' 'stats notices' 'resources notices' 'local line';gap:20px;margin-bottom:24px}
.prototype-dashboard>*{min-width:0}
.connect-app .prototype-dashboard>.card{margin:0;padding:24px;border:1px solid var(--home-border);border-radius:18px;box-shadow:none}
.prototype-attendance{grid-area:attendance;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:300px;background:var(--home-forest);color:#fff}
.prototype-attendance:before{content:'';position:absolute;right:-95px;top:-150px;width:300px;height:300px;border:1px solid #ffffff0a;border-radius:50%;pointer-events:none}
.prototype-safety{grid-area:safety;background:var(--home-leaf);display:flex;flex-direction:column}
.prototype-notices{grid-area:notices;background:#fff}
.prototype-stats{grid-area:stats;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.prototype-resources{grid-area:resources}
.prototype-local{grid-area:local;background:#fff9ee}
.prototype-line{grid-area:line;background:var(--home-leaf)}
.prototype-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.connect-app .prototype-dashboard h2{font-size:16px;line-height:1.6;font-weight:650;margin:0 0 12px}
.prototype-card-head>a{white-space:nowrap;font-size:12px;color:#526b60;text-decoration:none}
.prototype-dashboard p{font-size:13px;line-height:1.85;color:#536958}
.prototype-dashboard .connect-footnote{font-size:11px;margin-bottom:0;color:#536958}
.prototype-state{display:inline-block;white-space:nowrap;background:#e8ede0;color:#40573d;border:1px solid #cdd9c3;border-radius:5px;padding:4px 9px;font-size:11px;align-self:flex-start}
.connect-app .prototype-attendance h2{color:#e2eee5;font-size:14px;font-weight:500;margin:0}
.prototype-attendance .prototype-state{background:#ffffff0d;color:#d4e6d7;border-color:#ffffff20}
.connect-app .prototype-attendance .prototype-time{font-size:58px;letter-spacing:-.02em;font-weight:400;line-height:1.2;margin:22px 0 6px;color:white;font-variant-numeric:tabular-nums}
.prototype-attendance .prototype-clock-caption{font-size:11px;color:#c1d6c7;margin:0}
.prototype-punch{display:flex;gap:12px;margin:24px 0 16px}
.connect-app .prototype-punch button:disabled{flex:1;min-height:50px;border-radius:10px;background:#284f43;border:1px solid #729383;color:#d1e0d5;opacity:1;cursor:not-allowed}
.prototype-attendance .connect-footnote{border-top:1px solid #ffffff20;padding-top:14px;color:#c3d7c9;margin-top:auto}
.prototype-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}
.prototype-tags span{border:1px solid #d7e3c9;background:#f8fbf4;border-radius:5px;padding:5px 8px;font-size:11px;color:#516743}
.prototype-safety>a{display:block;font-size:12px;margin-top:12px}
.prototype-safety>a.button{margin-top:auto;min-height:44px;text-align:center;border-radius:9px}
.prototype-safety .connect-footnote{margin-top:10px}
.connect-app .prototype-stats .card{margin:0;padding:18px;border-radius:13px;box-shadow:none}
.connect-app .prototype-stats h2{font-size:12px;font-weight:500;color:#526a5e;margin:0 0 14px}
.prototype-stats strong{font-size:23px;font-weight:500;color:#395b42}
.prototype-stats p{font-size:11px;margin:8px 0 0}
.prototype-resources .connect-reference-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.connect-app .prototype-resources .connect-feature{margin:0;padding:16px 12px;min-height:105px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;border-radius:13px;box-shadow:none}
.prototype-resources .connect-feature-icon{background:none;width:25px;height:25px;color:#5a7848}
.prototype-resources .connect-feature h3{font-size:13px;font-weight:550;margin:0}
.prototype-resources .connect-feature p{font-size:11px;margin:4px 0 0;color:#566b5c}
.prototype-resources .connect-feature>span:last-child{display:none}
.prototype-notice{padding:16px 0;border-bottom:1px solid var(--home-border);overflow-wrap:anywhere}
.prototype-notice:last-child{border:0}
.prototype-notice p{font-size:11px;margin:0 0 7px;color:#53694d}
.prototype-notice h3{font-size:14px;font-weight:550;margin:0 0 10px;line-height:1.7}
.prototype-notice a{font-size:12px;color:#365e42}
#home-notices-title{display:flex;align-items:center;gap:8px}
#home-notices-title .feature-icon{width:19px;height:19px}
#home-notices>p{padding:22px 0;color:#566b5c}
.prototype-line-icon{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#27864e;color:white;font-size:9px;margin-right:8px;vertical-align:middle}
.prototype-local .prototype-state,.prototype-line .prototype-state{margin-top:10px}
.prototype-home .connect-management{padding:20px 24px;background:#eff3eb;border:1px solid var(--home-border);border-radius:14px}
.prototype-home .connect-management h2{font-size:16px}
.prototype-home a:focus-visible{outline:3px solid #176791;outline-offset:4px}
@media(max-width:900px){
.connect-app #main{padding:24px 18px 100px}.connect-app .topbar{padding:12px 18px;min-height:66px}.connect-app #identity{font-size:11px}
#connect-mobile{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:0 8px env(safe-area-inset-bottom);border-top:1px solid #dbe5d7;background:#fff;display:flex;align-items:stretch;box-shadow:0 -4px 18px #193e3006}
#connect-mobile .connect-quick-nav{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:0;padding:0}
#connect-mobile .connect-quick-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;padding:9px 2px;min-height:60px;border-radius:0;background:none}
#connect-mobile .feature-icon{width:20px;height:20px}
#connect-mobile .connect-quick-nav a[aria-current]{color:#215e3e;background:#f1f6ed;border-top:2px solid #4b7954}
#connect-mobile .connect-mobile-menu{width:60px;border:0;margin:0;padding:0}
#connect-mobile summary{height:60px;display:flex;flex-direction:column;justify-content:center;gap:2px;align-items:center;font-size:10px;padding:6px 2px;color:#395948}
#connect-mobile summary>span{order:-1;font-size:20px;line-height:22px}
#connect-mobile .connect-mobile-panel{position:absolute;bottom:calc(60px + env(safe-area-inset-bottom));left:8px;right:8px;max-height:65dvh;overflow:auto;background:#fff;border:1px solid #dce6d7;border-radius:16px 16px 0 0;padding:18px;box-shadow:0 -8px 30px #163f3415}
#connect-mobile .connect-mobile-panel a{display:flex;gap:10px;align-items:center;font-size:13px}
.prototype-heading{align-items:flex-start;margin-bottom:20px;position:relative}.connect-app .prototype-heading h1{font-size:23px}.prototype-heading p{font-size:12px}.prototype-date{font-size:10px;padding:7px 9px;white-space:normal;max-width:104px;text-align:center}
.prototype-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.connect-app .prototype-shortcuts .connect-feature{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:94px;padding:14px 8px;text-align:center}
.prototype-shortcuts .connect-feature-icon{width:24px;height:24px;background:none}.prototype-shortcuts .connect-feature h3{font-size:12px;margin:0}.prototype-shortcuts .connect-feature p,.prototype-shortcuts .connect-feature>span:last-child{display:none}
.prototype-dashboard{grid-template-columns:minmax(0,1fr);grid-template-areas:'attendance' 'safety' 'notices' 'stats' 'resources' 'local' 'line';gap:16px}
.connect-app .prototype-dashboard>.card{padding:22px;border-radius:16px}.prototype-attendance{min-height:285px}.connect-app .prototype-dashboard h2{font-size:15px}.connect-app .prototype-stats h2{font-size:11px}.prototype-safety{min-height:280px}.prototype-dashboard p{font-size:12px}.prototype-stats p{font-size:10px}.prototype-stats strong{font-size:22px}.prototype-card-head{align-items:flex-start}.prototype-resources .connect-feature p{font-size:10px}.prototype-home .connect-management{padding:18px}.prototype-home .connect-management-links a{font-size:13px}
}
.prototype-card-head h2{display:flex;align-items:center;gap:9px}.prototype-card-head h2 .feature-icon{width:18px;height:18px;flex-shrink:0}
@media(max-width:900px){.connect-app #connect-status{bottom:calc(64px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:90px}.connect-app #main :focus-visible{scroll-margin-bottom:90px}}
/* Workspace refinement: actionable summaries, compact states and keyboard clarity. */
#connect-location{font-size:12px;color:#53685b;margin-right:auto}
.connect-app .topbar #identity{font-size:12px}
.prototype-date{display:flex;flex-direction:column;align-items:center;gap:5px;font-variant-numeric:tabular-nums;font-size:13px;min-width:120px}
.prototype-date small{font-size:10px;font-weight:400}
.prototype-dashboard{grid-template-areas:'attendance safety' 'stats notices' 'resources events' 'local line';align-items:start}
.prototype-attendance,.prototype-safety{align-self:stretch}
.prototype-events{grid-area:events}
.prototype-card-head h2{margin-bottom:0!important}
.prototype-card-head{margin-bottom:16px;min-height:28px}
.prototype-card-head>a{display:inline-flex;align-items:center;min-height:36px;padding:4px 0;text-underline-offset:4px}
.prototype-card-head>a:hover{text-decoration:underline}
.prototype-home .connect-feature{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.prototype-home .connect-feature:hover{background:#fafff5;border-color:#91ad82;box-shadow:0 5px 16px #26452908;transform:translateY(-2px)}
.prototype-home .connect-feature:active{transform:translateY(0);background:#edf4e6}
.prototype-resources .connect-feature-icon{border-radius:8px;background:#f1f6ec;width:34px;height:34px}
.prototype-dashboard>.prototype-notices,.prototype-dashboard>.prototype-events{padding:22px}
.prototype-dashboard .home-summary-count{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;margin:0;padding-bottom:10px;border-bottom:1px solid #e3e9de;color:#52624a}
.home-count-pill{display:inline-block;padding:5px 9px;border-radius:20px;background:#edf4e4;color:#365b30;font-size:11px;font-weight:650}
.home-notice-meta{display:flex;justify-content:space-between;gap:12px;color:#52634d;font-size:11px;line-height:1.5}
.home-read-state{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#3c632e;font-weight:600}
.home-read-state:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.home-read-state.is-read{color:#596959;font-weight:400}
.home-read-state.is-read:before{background:transparent;border:1px solid currentColor}
.prototype-notice h3{margin:10px 0 8px;line-height:1.75;font-size:14px;overflow-wrap:anywhere}
.prototype-notice .home-notice-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:10px}
.home-notice-footer a{display:inline-flex;min-height:36px;align-items:center;gap:8px;text-decoration:none;color:#31563e}
.home-notice-footer a:hover{text-decoration:underline}
.home-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 8px 10px;min-height:190px;justify-content:center}
.home-empty-icon{display:grid;place-items:center;width:48px;height:48px;background:#f0f5ea;color:#658457;border:1px solid #e0e9d5;border-radius:50%;margin-bottom:12px}
.home-empty-icon .feature-icon{width:23px;height:23px}
.home-empty h3,.home-load-error h3{font-size:14px;font-weight:550;line-height:1.7;margin:0 0 6px}
.prototype-dashboard .home-empty p{font-size:12px;margin:0;max-width:290px;color:#576754}
.home-empty a{font-size:12px;display:inline-flex;align-items:center;min-height:44px;gap:10px;color:#355b3b;text-underline-offset:4px;margin-top:8px}
.home-empty-compact{min-height:180px;padding:8px 0}
.home-empty-compact>.feature-icon{width:27px;height:27px;color:#61804d;margin-bottom:12px}
.home-event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid #e1e8dc}
.home-event:first-child{border-top:0;padding-top:4px}
.home-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;border:1px solid #d9e5cf;border-radius:9px;background:#f2f7ec;color:#3d6036;min-height:62px}
.home-event-date span{font-size:10px}.home-event-date strong{font-size:23px;font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums}
.home-event-state{font-size:11px;color:#53674b}
.home-event h3{font-size:14px;line-height:1.7;margin:5px 0;overflow-wrap:anywhere}
.prototype-dashboard .home-event p{font-size:11px;margin:0;overflow-wrap:anywhere}
.home-event a{display:inline-flex;min-height:36px;align-items:center;font-size:12px;color:#375e3b;gap:8px;text-underline-offset:4px}
.home-load-error{background:#fff9ed;border:1px solid #e8dcc2;border-radius:12px;padding:18px}
.prototype-dashboard .home-load-error p{font-size:12px;color:#645538}.home-load-error button{min-height:44px}
.home-loading{padding:20px;font-size:13px;color:#536b5b;border-radius:12px;background:#f1f5ed}
#home-notices[aria-busy=true],#home-events[aria-busy=true]{opacity:.65}
.prototype-home .connect-management-links a{min-height:44px}
.prototype-home>.connect-footnote{border-top:1px solid #dfe7d9;padding-top:18px;margin-top:24px;line-height:1.8}
.prototype-home>.connect-footnote a{display:inline-flex;align-items:center;min-height:44px}
#main:focus{outline:none}
@media(min-width:901px) and (max-width:1150px){.connect-app #main{padding:28px 24px}.prototype-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.prototype-dashboard{gap:14px}.connect-app .prototype-dashboard>.card{padding:18px}.prototype-home .prototype-time{font-size:50px}.prototype-card-head{flex-wrap:wrap}}
@media(max-width:900px){#connect-location{display:none}.prototype-dashboard{grid-template-areas:'attendance' 'safety' 'notices' 'events' 'stats' 'resources' 'local' 'line'}.prototype-date{min-width:0;font-size:11px;padding:9px;max-width:100px}.prototype-date small{font-size:9px}.prototype-heading{gap:10px}.connect-app .prototype-heading h1{font-size:22px}.prototype-dashboard p{font-size:13px}.prototype-shortcuts .connect-feature h3{font-size:13px}.prototype-resources .connect-feature p{font-size:11px}.prototype-dashboard .connect-footnote{font-size:12px}.prototype-dashboard .home-empty p{font-size:13px}.home-empty h3{font-size:14px}.prototype-stats p{font-size:11px}.prototype-home>.connect-footnote{font-size:12px}.connect-app .topbar{gap:8px;display:grid;grid-template-columns:1fr auto}.connect-app .topbar .mobile-brand{grid-column:1;grid-row:1}.connect-app #connect-demo-badge{grid-column:2;grid-row:1;justify-self:end;font-size:10px}.connect-app .topbar #identity{grid-column:1;grid-row:2;font-size:11px}.connect-app .topbar form{grid-column:2;grid-row:2}.connect-app .topbar form .button{min-height:36px;padding:6px 12px;font-size:11px}#connect-mobile summary>span{letter-spacing:2px;transform:none}#connect-mobile summary:focus-visible{outline:3px solid #176791;outline-offset:-3px}#connect-mobile .connect-mobile-panel{overscroll-behavior:contain}#connect-mobile .connect-nav-section a{min-height:44px}#connect-mobile .connect-nav-section a:focus-visible{outline-offset:-2px}}
@media(max-width:360px){.connect-app #main{padding-left:12px;padding-right:12px}.connect-app .prototype-heading h1{font-size:20px}.prototype-heading p{font-size:11px}.prototype-date{max-width:82px;font-size:10px}.connect-app .prototype-dashboard>.card{padding:18px}.prototype-stats{gap:8px}.connect-app .prototype-stats .card{padding:13px}.prototype-card-head{gap:6px;flex-wrap:wrap}.prototype-card-head h2{font-size:14px}}
@media(prefers-reduced-motion:reduce){.prototype-home .connect-feature{transition:none}.prototype-home .connect-feature:hover{transform:none}}
/* Independent columns prevent an empty summary from stretching unrelated cards. */
.connect-app .topbar{gap:14px}
.prototype-dashboard{grid-template-areas:'attendance safety' 'overview updates' 'local line'}
.prototype-overview{grid-area:overview;display:grid;gap:20px;align-content:start}
.prototype-updates{grid-area:updates;display:grid;gap:20px;align-content:start}
.connect-app .prototype-updates>.card{padding:22px;margin:0;border:1px solid #dce4d7;border-radius:18px;box-shadow:none}
.prototype-overview>.prototype-stats,.prototype-overview>.prototype-resources,.prototype-updates>.prototype-notices,.prototype-updates>.prototype-events{grid-area:auto}
@media(max-width:900px){.connect-app .topbar{gap:8px}.prototype-dashboard{grid-template-areas:'attendance' 'safety' 'notices' 'events' 'stats' 'resources' 'local' 'line'}.prototype-overview,.prototype-updates{display:contents}.prototype-overview>.prototype-stats{grid-area:stats}.prototype-overview>.prototype-resources{grid-area:resources}.prototype-updates>.prototype-notices{grid-area:notices}.prototype-updates>.prototype-events{grid-area:events}.connect-app .prototype-updates>.card{padding:20px;border-radius:16px}.home-empty{min-height:150px;padding:0}.home-empty-compact{min-height:130px}.prototype-home .prototype-card-head{margin-bottom:12px}}
.prototype-dashboard{grid-template-areas:'attendance safety' 'overview updates'}
.prototype-overview>.prototype-local,.prototype-updates>.prototype-line{grid-area:auto}
.connect-app .prototype-overview>.prototype-local{padding:24px;margin:0;border-radius:18px;box-shadow:none;background:#fff9ee}
@media(max-width:900px){.prototype-dashboard{grid-template-areas:'attendance' 'safety' 'notices' 'events' 'stats' 'resources' 'local' 'line'}.prototype-overview>.prototype-local{grid-area:local}.prototype-updates>.prototype-line{grid-area:line}.connect-app .prototype-overview>.prototype-local{padding:20px;border-radius:16px}}
/* Shared page hierarchy: return navigation, primary tasks, then reference material. */
.connect-page-return{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid #dfe7da}
.connect-page-return a,.connect-page-return .button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #d6e2d0;border-radius:9px;background:#fff;color:#315741;font-size:13px;text-decoration:none}
.connect-page-return a:before,.connect-page-return .button:before{content:'←';font-size:18px}
.connect-page-return a:hover,.connect-page-return .button:hover{background:#edf4e7}
.connect-page-return .button+a{margin-left:auto}
.connect-page-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 22px}
.connect-page-tools .button{min-height:44px}
.connect-page-tools [data-doc=save]{background:#215f46;color:white;border-color:#215f46}
.connect-app #main:not([data-page=home])>.card{padding:24px;margin-bottom:20px}
.connect-app #main:not([data-page=home])>.card>label{display:flex;flex-direction:column;gap:7px;margin:16px 0;font-size:13px;font-weight:550;max-width:780px}
.connect-app #main>.card>label.check{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.8}
.connect-app #main:not([data-page=home]) input:not([type=checkbox]):not([type=radio]),.connect-app #main:not([data-page=home]) select{min-height:44px;border-radius:8px}
.connect-app #main:not([data-page=home]) textarea{border-radius:10px;line-height:1.8}
.connect-app #main>.card>.button{margin:8px 8px 8px 0}
.connect-secondary-section{background:#f8faf5!important;border-color:#e1e7dc!important}
.connect-app .connect-secondary-section h2{font-size:17px;color:#415b46}
.connect-secondary-tools{background:#f8faf5}
.connect-app .connect-company-card{padding:32px!important;max-width:850px}
.connect-company-card>img{object-fit:contain;display:block;margin:0 0 24px;border-radius:12px;background:#fff}
.connect-company-card h2{font-size:24px!important}.connect-company-card p{line-height:1.9}
.connect-app .brand img,.connect-app .mobile-brand img,.connect-login main>img{object-fit:contain}
.connect-login main>img{display:block;width:220px;max-width:100%;height:auto;margin-bottom:24px}
.connect-login form+.connect-page-return{margin-top:20px}
.connect-slip-list{display:grid;gap:10px}.connect-slip-list .button{min-height:60px;text-align:left;justify-content:flex-start;line-height:1.7}
#connect-catalogue-results{display:grid;gap:14px}#connect-catalogue-results>.card{margin-bottom:0;padding:22px}
#connect-catalogue-results>.card h2{font-size:18px;line-height:1.7;overflow-wrap:anywhere}
#connect-catalogue-results>.card>.button{margin-top:12px;min-height:44px}
#employee-form{max-width:820px}#employee-form>.check{border-bottom:1px solid #e8eee2;padding-bottom:10px;font-weight:400}
#employee-form>button{justify-self:start;min-width:160px;min-height:48px}
@media(max-width:900px){.connect-page-return{margin-bottom:16px;gap:8px}.connect-page-return a,.connect-page-return .button{font-size:12px;padding:9px 11px}.connect-app #main:not([data-page=home])>.card{padding:18px}.connect-page-tools{gap:8px;margin:14px 0 20px}.connect-page-tools .button{flex:1;white-space:normal;line-height:1.6;min-width:130px}#connect-catalogue-results>.card{padding:18px}.connect-app .connect-company-card{padding:22px!important}.connect-company-card h2{font-size:21px!important}.connect-app .connect-secondary-section h2{font-size:16px}#employee-form>button{width:100%}}
.connect-page-tools:has([data-doc=save]){position:sticky;top:8px;z-index:20;padding:10px;background:#f7f9f4f5;border:1px solid #dce6d6;border-radius:12px;box-shadow:0 4px 12px #163f3408}
.connect-app #main:has([data-doc=save]) input,.connect-app #main:has([data-doc=save]) textarea,.connect-app #main:has([data-doc=save]) select{scroll-margin-top:90px;scroll-margin-bottom:100px}
/* User-provided horizontal logo: retain artwork and its aspect ratio. */
.connect-app .connect-company-card>img{width:340px;max-width:100%;height:auto;aspect-ratio:1125/265;object-fit:contain;border-radius:0;background:transparent;margin-bottom:28px}
.connect-login main>img{width:270px;max-width:100%;height:auto;aspect-ratio:1125/265;margin-bottom:28px}
@media(max-width:900px){.connect-app .topbar .mobile-brand{width:166px;max-width:100%;min-width:0}.connect-app .mobile-brand img{width:100%;height:auto;aspect-ratio:1125/265}}

/* Brand lives in the persistent shell; the home content starts with the greeting. */
.connect-app .brand img,.connect-app .mobile-brand img{mix-blend-mode:multiply}
@media(max-width:900px){.prototype-heading{flex-wrap:wrap}.prototype-heading>div{min-width:0;flex:1 1 200px}.prototype-heading .prototype-date{align-self:flex-end}.connect-app .topbar .mobile-brand{display:flex;align-items:center;width:156px;min-height:44px}}
/* Published catalogues: scan category/status first, then open the content. */
.connect-list-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:12px}
.connect-list-category{padding:4px 9px;border-radius:6px;background:#eff4e8;color:#47623d}
.connect-list-state{color:#566851;white-space:nowrap}.connect-list-state.needs-confirmation{font-weight:650;color:#315e37}
.connect-list-state.needs-confirmation:before{content:'●';font-size:9px;margin-right:6px}
#connect-catalogue-results .connect-catalogue-card h2{margin:0 0 8px;font-size:18px}
.connect-list-date{font-size:12px;color:#5c6c58;margin:0 0 16px}
.connect-list-excerpt{line-height:1.9;color:#465c4a;font-size:14px;overflow-wrap:anywhere;margin:12px 0 18px}
.connect-list-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid #e5ebdf;padding-top:14px;margin-top:16px}
.connect-list-actions .button{min-height:44px;min-width:150px;border-color:#b9cdb1;background:#f5f9f0;color:#2f5839}
.connect-list-actions small{font-size:11px;color:#53664e}
.connect-catalogue-card dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.7}
.connect-catalogue-card dt{color:#596d50}.connect-catalogue-card dd{margin:0;overflow-wrap:anywhere}
.connect-list-empty{text-align:center;padding:32px!important}.connect-list-empty h2{font-size:17px!important}.connect-list-empty p{line-height:1.9;color:#53664e;font-size:14px}
@media(max-width:900px){.connect-list-actions{gap:8px}.connect-list-actions .button{width:100%}.connect-catalogue-card dl{grid-template-columns:90px minmax(0,1fr);font-size:13px;gap:9px}.connect-list-excerpt{font-size:13px}.connect-list-empty{padding:24px 18px!important}}

/* Public detail: content first, revision information on demand. */
.connect-reader-heading{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #dce8df}
.connect-reader-heading h2{font-size:clamp(22px,3vw,30px);margin:14px 0 10px;letter-spacing:.02em}
.connect-reader-heading p{color:#52665a;margin:0;font-size:14px}
.connect-reader-revision{border-top:1px solid #dce8df;padding-top:16px;margin-top:28px;color:#52665a}
.connect-reader-revision summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;color:#315a42}
.connect-reader-revision p{white-space:pre-wrap;line-height:1.8}
.connect-reader-confirmation{border-top:3px solid #39825b;background:#f4faf6}
.connect-reader-confirmation .check{padding:16px;background:#fff;border:1px solid #c6dacf;border-radius:12px;cursor:pointer}
.connect-reader-end{max-width:76ch;margin:20px auto 32px;display:flex;justify-content:flex-end}
.connect-reader dl{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:12px 16px;margin:24px 0}
.connect-reader dt{color:#52665a;font-size:14px}.connect-reader dd{margin:0;font-weight:600}
@media(max-width:540px){.connect-reader-confirmation>.button,.connect-reader-end>.button{width:100%;min-height:48px}.connect-reader dl{grid-template-columns:1fr;gap:5px}.connect-reader dd{margin-bottom:12px}}

/* Own payroll: month-first list and clearly separated totals. */
.connect-slip-list .connect-slip-choice{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:20px;background:#fff;border:1px solid #d2e1d7;border-radius:14px}
.connect-slip-list .connect-slip-choice:hover{background:#f0f7f2;border-color:#6b947b}
.connect-slip-month{font-size:21px;font-weight:750;font-variant-numeric:tabular-nums}
.connect-slip-month small{display:block;font-size:13px;font-weight:400;color:#52665a;margin-top:4px}
.connect-slip-version{font-size:13px;padding:5px 10px;border-radius:20px;background:#f1f3f2;color:#52665a;white-space:nowrap}
.connect-slip-version.is-current{background:#e3f1e8;color:#26563a}
.connect-slip-open{font-size:14px;color:#315d43}
.connect-own-slip,.connect-slip-revision-note{max-width:900px;margin-inline:auto}
.connect-slip-revision-note{padding:16px 20px;border-left:4px solid #a17626;background:#fff7e8;color:#624b23;line-height:1.8}
.connect-own-slip>h2{font-size:20px}.connect-own-slip>h3{border-left:4px solid #39825b;padding-left:12px;margin-top:28px}
.connect-own-slip .connect-pay-totals>div:last-child{background:#22543c}.connect-own-slip .connect-pay-totals>div:last-child dt,.connect-own-slip .connect-pay-totals>div:last-child dd{color:#fff}
.connect-own-slip .connect-pay-breakdown>div{padding:16px 10px}.connect-own-slip .connect-pay-breakdown>div:nth-child(odd){background:#f6f9f6}
.connect-own-slip .connect-pay-breakdown dd{font-weight:650}.connect-own-slip .connect-pay-breakdown dt small{color:#596c60;margin-top:5px}
@media(max-width:540px){.connect-slip-list .connect-slip-choice{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}.connect-slip-open{grid-column:1/-1;text-align:right}.connect-own-slip{padding:20px 16px}.connect-own-slip .connect-pay-breakdown>div{gap:10px}.connect-slip-month{font-size:20px}}

/* Shift reading and editing controls. */
.connect-shift-toolbar .ws-month-controls{padding-bottom:18px;border-bottom:1px solid #dce8df;margin-bottom:18px}
.connect-shift-version{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;color:#31563f;font-size:14px}
.connect-shift-version span{padding:7px 12px;background:#edf5ef;border-radius:8px}
.connect-shift-toolbar #save-state{padding:12px 16px;background:#f5f8f5;border-left:3px solid #39825b;line-height:1.7}
.connect-shift-views{padding:5px;background:#edf3ee;border-radius:12px;width:fit-content;margin-bottom:22px}
.connect-shift-views .button{margin:0;border-color:transparent;background:transparent}
.connect-shift-views .button[aria-pressed=true]{background:#22543c;color:#fff;border-color:#22543c}
.connect-day-controls{display:flex;align-items:flex-end;gap:12px;max-width:520px}
.connect-day-controls label{flex:1;margin:0;min-width:0}.connect-day-controls select{margin-bottom:0}.connect-day-controls>.button{margin:0;flex-shrink:0;min-height:46px}
.connect-day-caption{font-weight:650;color:#31563f;margin:22px 0 12px}
.connect-day-number{display:block;font-size:12px;font-weight:400;color:#52665a;margin-top:5px}
.connect-shift-roster .ws-day-row{padding:16px;border:1px solid #dce8df;border-radius:12px;background:#fff;margin:10px 0}
.connect-shift-roster .ws-day-row:nth-child(even){background:#f6f9f6}
@media(max-width:540px){.connect-shift-roster{padding:20px 14px}.connect-day-controls{gap:8px}.connect-day-controls>.button{padding:10px 12px}.connect-shift-views{width:100%;display:grid;grid-template-columns:1fr 1fr}.connect-shift-views .button{justify-content:center}.connect-shift-toolbar .connect-shift-actions{display:grid;grid-template-columns:1fr}.connect-shift-toolbar .connect-shift-actions .button{width:100%}}

/* Employee ledger: identity, availability and responsibility are distinct. */
.connect-employee-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.connect-employee-list .connect-employee-result{padding:20px;background:#fff;border:1px solid #d3e2d8;border-radius:14px;gap:10px;min-width:0;align-items:start}
.connect-employee-list .connect-employee-result:hover{background:#f3f8f4;border-color:#6c957d}
.connect-employee-result strong{font-size:17px;line-height:1.6;overflow-wrap:anywhere}
.connect-employee-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.connect-employee-state{font-size:12px;padding:4px 10px;border-radius:20px;white-space:nowrap}
.connect-employee-state.is-active{background:#e2f1e7;color:#28583c}.connect-employee-state.is-inactive{background:#f4ebdc;color:#694b1e}
.connect-employee-roles{font-size:13px;color:#52665a}.connect-employee-open{font-size:13px;color:#315d43;justify-self:end}
#employee-form fieldset{margin:0;padding:20px;border:1px solid #dce8df;border-radius:12px;min-width:0;display:grid;gap:14px}
#employee-form legend{font-size:16px;font-weight:700;padding:0 8px;color:#244f37}
.connect-employee-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.connect-employee-fields>label:last-child{grid-column:1/-1}
#employee-form fieldset .check{padding:12px;background:#f5f8f5;border-radius:8px;line-height:1.7;cursor:pointer;align-items:flex-start}
#employee-form fieldset .check input{flex-shrink:0;margin-top:3px}
.connect-employee-editor-card #employee-save-state{padding:12px 16px;background:#edf5ef;border-left:3px solid #39825b;line-height:1.7}
.connect-employee-save-note{font-size:14px;line-height:1.9;color:#52665a}
@media(max-width:640px){.connect-employee-list,.connect-employee-fields{grid-template-columns:1fr}.connect-employee-list .connect-employee-result{padding:16px}#employee-form fieldset{padding:16px 12px}.connect-employee-fields>label:last-child{grid-column:auto}}

/* Help: common destinations first, detailed guidance and troubleshooting below. */
.connect-help-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.connect-help-shortcuts a{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #d1e1d7;border-radius:12px;background:#f5f9f5;color:#234e38;text-decoration:none;min-width:0}
.connect-help-shortcuts a:hover{background:#e8f2eb;border-color:#6a947c}.connect-help-shortcuts a>span:nth-last-child(2){flex:1;min-width:0}
.connect-help-shortcuts svg{width:26px;height:26px;flex-shrink:0}.connect-help-shortcuts strong{display:block;font-size:16px}.connect-help-shortcuts small{display:block;font-size:13px;margin-top:5px;color:#52665a;line-height:1.7}
.connect-help-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}
.connect-help-guides>.card{margin:0!important;min-width:0}.connect-help-guides p,.connect-help-guides li,.connect-help-trouble p{line-height:1.9}
.connect-help-guides h2{border-left:4px solid #39825b;padding-left:12px}.connect-help-guides li+li{margin-top:10px}
.connect-help-faq{border-top:1px solid #dce8df;margin-top:22px}.connect-help-faq details{border-bottom:1px solid #dce8df;padding:8px 0}
.connect-help-faq summary{padding:14px 0;cursor:pointer;font-weight:650;color:#28553b;line-height:1.7}.connect-help-faq details p{margin:0 0 16px;padding:12px 16px;background:#f5f8f5;border-radius:8px}
@media(max-width:640px){.connect-help-shortcuts,.connect-help-guides{grid-template-columns:1fr}.connect-help-shortcuts a{padding:16px}.connect-help-guides>.card{padding:20px}}

/* Authentication forms: clear labels, associated hints, visible feedback. */
.connect-login{background:#f3f7f2;padding:32px 20px}.connect-login main.card{max-width:480px;border:1px solid #dce8df;border-radius:20px;padding:32px;box-shadow:0 10px 35px #183d2a08}
.connect-login main>img{width:230px;margin-bottom:24px;mix-blend-mode:multiply}.connect-login h1{margin:8px 0 14px}.connect-login main>p{line-height:1.8}
.connect-auth-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:#52665a;margin:0}
.connect-login form{margin-top:24px;gap:14px}.connect-login form label{font-size:14px;font-weight:650;gap:8px}.connect-login input{width:100%;min-height:48px;border-radius:10px}
.connect-login .connect-auth-hint{font-size:12px;line-height:1.8;color:#52665a;margin:-6px 0 4px;font-weight:400}
.connect-login .button{min-height:48px;justify-content:center}.connect-login .primary{margin-top:8px}
.connect-auth-alert{padding:14px 16px;background:#fff1ec;color:#843a28;border-left:4px solid #b3553c;border-radius:6px;overflow-wrap:anywhere}
.connect-auth-success{padding:14px 16px;background:#eaf5ec;color:#28583c;border-left:4px solid #39825b;border-radius:6px}
.connect-auth-requirements{background:#edf5ef;border-radius:10px;padding:16px;font-size:14px;color:#31563f}
.connect-auth-help{margin-top:26px;padding-top:14px;border-top:1px solid #dce8df}.connect-auth-help summary{padding:12px 0;cursor:pointer;font-size:14px;font-weight:650;color:#31563f}.connect-auth-help p{font-size:13px;line-height:1.9;color:#52665a}
.connect-login .connect-auth-logout{border-top:1px solid #dce8df;padding-top:18px}
@media(max-width:540px){.connect-login{padding:20px 14px}.connect-login main.card{padding:26px 20px}.connect-login main>img{width:210px}.connect-login h1{font-size:24px}}

/* Content management: separate audience, operational details and body. */
.connect-content-editor fieldset{border:1px solid #dce8df;border-radius:12px;margin:24px 0;padding:20px;min-width:0;display:grid;gap:16px}
.connect-content-editor legend{font-weight:700;color:#28553b;font-size:16px;padding:0 8px}
.connect-content-editor fieldset label{display:grid;gap:8px;font-size:14px;font-weight:650;min-width:0}
.connect-content-editor fieldset input,.connect-content-editor fieldset select,.connect-content-editor fieldset textarea{width:100%;margin:0}
.connect-content-editor fieldset p{margin:0;font-size:13px;line-height:1.8;color:#52665a}
.connect-content-editor textarea{line-height:1.9}.connect-content-version{font-size:14px;color:#52665a;line-height:1.8}
.connect-content-editor #doc-state{padding:14px 16px;background:#edf5ef;border-left:3px solid #39825b;line-height:1.7}
.connect-review-audience{background:#e9f4ec;border:1px solid #c3dccb;border-radius:10px;padding:18px;font-weight:700;color:#28553b;line-height:1.8}
.connect-content-review .connect-document-body{line-height:1.95;font-size:17px;overflow-wrap:anywhere}
.connect-content-review>.check{padding:18px;margin:24px 0;background:#f5f8f5;border:1px solid #dce8df;border-radius:10px;line-height:1.8}
@media(max-width:540px){.connect-content-editor fieldset{padding:18px 12px}.connect-content-review>.button{width:100%;margin-top:8px}.connect-content-review>.check{padding:14px;align-items:flex-start}.connect-content-review>.check input{flex-shrink:0;margin-top:4px}}

#connect-status{white-space:pre-line;max-height:35dvh;overflow:auto;overflow-wrap:anywhere}
.connect-pay-workflow{padding:16px 20px;background:#edf5ef;border-left:4px solid #39825b;line-height:1.8;border-radius:8px}
#pay-inspection:not(:empty){margin-top:20px;padding:20px;background:#f5f8f5;border:1px solid #dce8df;border-radius:12px}
#pay-inspection label{display:grid;gap:8px;margin:16px 0}#pay-inspection .check{display:flex;line-height:1.8}
#pay-inspection .check input{flex-shrink:0}#pay-inspection p{line-height:1.8}
@media(max-width:540px){#pay-inspection:not(:empty){padding:16px 12px}#pay-inspection>.button{width:100%}}

.connect-batch-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.connect-batch-list .connect-batch-choice{display:grid;justify-content:stretch;text-align:left;gap:8px;background:#fff;border:1px solid #d3e2d8;border-radius:12px;padding:18px;min-width:0;white-space:normal;overflow-wrap:anywhere}
.connect-batch-choice strong{font-size:20px}.connect-batch-choice span{font-size:14px;color:#31563f}.connect-batch-choice small{color:#52665a;font-size:12px}.connect-batch-choice:hover{background:#f3f8f4}
@media(max-width:640px){.connect-batch-list{grid-template-columns:1fr}}

/* Staff search changes presentation only; the complete roster remains the save target. */
.connect-shift-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:18px}
.connect-shift-search label{flex:1;min-width:220px}
.connect-shift-search input{width:100%}
.connect-shift-search p{margin:0 0 12px;font-size:14px}
@media(max-width:640px){.connect-shift-search label{flex-basis:100%;min-width:0}}

.connect-shift-changes{padding:16px;margin:16px 0;border:1px solid #cbdccf;border-radius:14px;background:#f5f9f3;overflow-wrap:anywhere}
.connect-shift-changes h3{margin-top:0}
.connect-shift-changes summary{cursor:pointer;padding:12px 0;font-weight:700}
.connect-shift-change-list{max-height:30dvh;overflow:auto;padding-left:24px}
.connect-shift-change-list li{margin:8px 0}

.connect-shift-personal{margin-top:16px}
.connect-shift-personal [aria-pressed="true"]{background:#20543d;color:#fff;border-color:#20543d}

.connect-update-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 6px;margin-left:5px;border-radius:20px;background:#9b301f;color:white;font-size:12px;font-weight:700;line-height:1.4}
#connect-updates-summary{margin:18px 0}#connect-updates-summary p{font-size:13px}

.connect-app .home-loading{color:#465c50}
.connect-app a .connect-update-badge{display:inline-flex;background:#9b301f;color:#fff;font-size:12px;min-width:22px;width:auto;height:auto;flex:none;margin-left:5px}
#connect-updates-summary .connect-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:0}
#connect-updates-summary .button{font-size:12px;padding:10px 8px;min-height:44px}
@media(max-width:900px){#connect-updates-summary .connect-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared reading and form navigation: preserve logo and daily-first order. */
.connect-section-jump {margin:1rem 0;padding:.8rem 1rem;border:1px solid #cbdcd3;border-radius:12px;background:#f5faf7;}
.connect-section-jump summary {cursor:pointer;font-weight:700;min-height:32px;}
.connect-section-jump nav {display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem;}
.connect-section-jump a {padding:.65rem .8rem;border-radius:8px;background:white;color:#17593b;text-decoration:underline;}
#main h2 {scroll-margin-top:100px;}
#main :is(input,select,textarea,button,a):focus-visible {outline:3px solid #257855;outline-offset:3px;}
.connect-file-links ul {list-style:none;padding:0;display:grid;gap:.7rem;}
.connect-file-links li {display:flex;gap:.5rem;flex-wrap:wrap;}
#attendance-history-search .connect-actions {flex-wrap:wrap;}
@media(max-width:600px){#main input[type=file]{max-width:100%;font-size:16px;}.connect-file-links .button {width:100%;}.connect-section-jump nav {display:grid;grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){#main *{scroll-behavior:auto!important;transition:none!important;}}

/* Live attendance status sits on the dark home card. */
.connect-app #home-attendance-state p,
.connect-app #home-attendance-state strong{color:#e2eee5}
.connect-app #home-attendance-state .home-summary-count{font-size:15px;border-color:#ffffff30;margin-top:12px}
.connect-app #home-attendance-state .connect-footnote{color:#c3d7c9}

.connect-adjustment-diff>div{padding:12px 0;border-bottom:1px solid #d9e4dc}
.connect-adjustment-diff dt{font-weight:700;overflow-wrap:anywhere}
.connect-adjustment-diff dd{margin:6px 0;overflow-wrap:anywhere}
.connect-conflict-note{padding:12px;border-left:4px solid #9a5600;background:#fff3d9;color:#663800}

/* Search filters only the currently authorized navigation; hidden overrides flex links. */
.connect-app .connect-nav-section[hidden],.connect-app .connect-nav-section a[hidden],.connect-app .connect-menu-search button[hidden]{display:none!important}
.connect-menu-search{padding:12px 10px;color:#244b38}
.connect-menu-search label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.connect-menu-search>div{display:flex;gap:6px;align-items:center}
.connect-menu-search input{width:100%;min-width:0;min-height:44px;border:1px solid #819b8b;border-radius:8px;padding:8px;background:#fff;color:#173b29;font-size:16px}
.connect-menu-search .button{min-height:44px;padding:8px;flex-shrink:0}
.connect-menu-search p{font-size:13px;line-height:1.5;margin:6px 0 0;overflow-wrap:anywhere}
.connect-mobile-panel .connect-menu-search{grid-column:1/-1}

.connect-editing-identity{padding:12px;background:#edf4ee;border-left:4px solid #28734e;overflow-wrap:anywhere}
.connect-employee-review{border:1px solid #ccdcd0;border-radius:12px;padding:16px;background:#f5f8f5}
.connect-employee-review h3{margin-top:0}
.connect-employee-review dl{margin:0}
.connect-employee-review dl>div{padding:10px 0;border-bottom:1px solid #d4e0d7}
.connect-employee-review dt{font-weight:700}
.connect-employee-review dd{display:grid;gap:6px;margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
