:root{font-family:Inter,system-ui,sans-serif;color:#1f2937;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,calc(100% - 32px));margin:24px auto 48px}.app-header,.calendar-shell{background:#fff;border:1px solid #e5e7eb;border-radius:14px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin-bottom:16px}.app-header h1,.calendar-header h2{margin:0}.eyebrow{margin:0 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.system-status,.calendar-meta{margin:0;font-size:.9rem}.ok{color:#166534;font-weight:600}.error{color:#991b1b;font-weight:600}.calendar-shell{padding:24px}.calendar-locked{min-height:220px}.calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-meta{margin-top:6px;color:#64748b}.calendar-navigation,.view-switcher,.calendar-filters,.job-facts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-navigation button,.view-switcher button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:8px 12px}.view-switcher button.active{background:#0f172a;color:#fff;border-color:#0f172a}.calendar-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid #e5e7eb}.calendar-filters label{display:grid;gap:4px;font-size:.8rem;font-weight:600}.calendar-filters select{min-width:140px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.calendar-filters .checkbox-filter{display:flex;grid-auto-flow:column;align-items:center;gap:6px}.calendar-list{display:grid;gap:10px;margin-top:18px}.calendar-job{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #e5e7eb;border-radius:10px}.calendar-job.unavailable{background:#f1f5f9;border-color:#94a3b8}.unavailability{font-weight:700;color:#475569}.job-time{display:grid;align-content:start;gap:4px}.job-time span,.job-main p,.job-facts{color:#64748b}.job-main p{margin:4px 0 10px}.job-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-title-row h3{margin:0}.status{padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:#e2e8f0}.status-confirmed{background:#dcfce7}.status-cancelled{background:#fee2e2}.warning{font-weight:700;color:#92400e}.hard-block{font-weight:700;color:#991b1b}.empty-state{padding:32px;text-align:center;color:#64748b}.year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.month-summary{display:grid;gap:6px;padding:16px;border:1px solid #e5e7eb;border-radius:10px}.month-summary h3{margin:0 0 4px}.month-summary span{font-size:.85rem;color:#64748b}@media(max-width:900px){.app-header,.calendar-header,.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-job{grid-template-columns:1fr}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.app-shell{width:min(100% - 16px,1440px);margin-top:8px}.calendar-shell,.app-header{padding:16px}.year-grid{grid-template-columns:1fr}}.employee-shell{width:min(100% - 24px,680px);margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom))}.employee-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px 14px}.employee-header h1{margin:0;font-size:clamp(1.7rem,7vw,2.2rem)}.connection-state{margin:0;min-width:84px;padding:8px 12px;border-radius:999px;text-align:center;font-weight:700}.connection-state.online{background:#e6eadf;color:#384328}.connection-state.offline{background:#f3e4d5;color:#70421f}.employee-nav{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 0 12px;background:#f4f6f8}.employee-nav button{min-height:52px;border:1px solid #c8c0b3;border-radius:12px;background:#fffdf9;color:#3f3a33;font-weight:700}.employee-nav button.active{border-color:#655846;background:#655846;color:#fff}.employee-card{margin-top:12px;padding:22px;border:1px solid #ded8cd;border-radius:16px;background:#fffdf9}.employee-card h2{margin:0 0 10px;font-size:1.35rem}.employee-card p:last-child{margin-bottom:0;line-height:1.55}.employee-primary-card{min-height:180px}.employee-hint{background:#f3f0e9}.employee-locked{margin-top:24px}@media(max-width:420px){.employee-shell{width:min(100% - 16px,680px)}.employee-header{align-items:flex-start}.employee-nav{gap:6px}.employee-nav button{min-height:50px;padding-inline:8px}.employee-card{padding:18px}}.employee-name,.sync-note,.employee-empty,.employee-error{margin:6px 0 0;color:#64748b}.employee-section-heading,.employee-job-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.employee-job-list{display:grid;gap:14px;margin-top:16px}.employee-job-card{padding:18px;border:1px solid #d8d1c5;border-radius:14px;background:#fff}.employee-job-card h3,.employee-job-card h4,.employee-job-card p{margin-top:0}.employee-job-date{margin-bottom:4px;font-weight:700;color:#655846}.employee-location{line-height:1.45;color:#475569}.employee-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0}.employee-facts div{padding:10px;border-radius:10px;background:#f7f4ed}.employee-facts dt{font-size:.78rem;font-weight:700;color:#64748b}.employee-facts dd{margin:4px 0 0;font-weight:600}.employee-resource-list{margin-top:14px}.employee-resource-list h4{margin-bottom:6px}.employee-resource-list ul{margin:0;padding-left:20px}.employee-error{color:#991b1b;font-weight:700}@media(max-width:480px){.employee-section-heading,.employee-job-heading{display:grid}.employee-facts{grid-template-columns:1fr}}.employee-quantity-list{margin-top:16px}.employee-quantity-item{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid #d8d1c5;border-radius:10px;background:#f7f4ed}.employee-quantity-item p{margin:4px 0 0}.employee-quantity-item label{display:grid;gap:5px;font-size:.85rem;font-weight:700}.employee-quantity-item input{min-height:44px;box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid #b8b0a3;border-radius:7px;background:#fff;font:inherit}.employee-quantity-input{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.employee-quantity-input>span{min-width:38px;font-weight:700}.employee-quantity-item button{min-height:46px}.employee-sickness-card{margin-bottom:16px}.employee-sickness-form{display:grid;gap:12px}.employee-sickness-form label{display:grid;gap:5px;font-weight:700}.employee-sickness-form input[type=date]{min-height:44px;box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid #b8b0a3;border-radius:7px;background:#fff;font:inherit}.employee-checkbox-label{grid-template-columns:auto 1fr;align-items:center}.employee-checkbox-label input{width:22px;height:22px}.employee-sickness-form button{min-height:46px}.employee-warning{color:#8a4b08;font-weight:700}.employee-help{margin:0;font-size:.85rem;color:#64748b}.employee-job-actions{display:grid;gap:10px;margin-top:14px}.employee-job-actions button,.employee-preparation-summary button{min-height:48px;border:1px solid #655846;border-radius:10px;background:#655846;color:#fff;font-weight:700}.employee-job-actions button:disabled,.employee-preparation-summary button:disabled{cursor:default;border-color:#c8c0b3;background:#e8e3da;color:#7b7469}.employee-preparation-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700}.employee-preparation-toggle input{width:24px;height:24px;flex:0 0 auto}.employee-preparation-card{margin-bottom:16px}.employee-preparation-summary{display:grid;gap:10px}.employee-preparation-summary p{margin:0}.employee-preparation-summary ul{margin:0;padding-left:22px}.employee-asset-card{margin-bottom:16px}.employee-asset-form{display:grid;gap:10px}.employee-asset-form label{display:grid;gap:5px;font-weight:700}.employee-asset-form input[type=text]{min-height:48px;width:100%;padding:9px 11px;border:1px solid #b8b0a3;border-radius:8px;background:#fff;font:inherit;text-transform:uppercase}.employee-asset-form>button,.employee-asset-actions button{min-height:48px;border:1px solid #655846;border-radius:10px;background:#655846;color:#fff;font-weight:700}.employee-asset-form button:disabled{cursor:default;border-color:#c8c0b3;background:#e8e3da;color:#7b7469}.employee-asset-preview{display:grid;gap:3px;padding:12px;border:1px solid #b7c2a5;border-radius:10px;background:#f1f4eb}.employee-asset-preview span,.employee-custody-item span{color:#64748b}.employee-asset-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.employee-active-custody{margin-top:18px;padding-top:16px;border-top:1px solid #ded8cd}.employee-active-custody h3{margin:0 0 10px}.employee-custody-list{display:grid;gap:10px}.employee-custody-item{display:grid;gap:10px;padding:12px;border:1px solid #d8d1c5;border-radius:10px;background:#f7f4ed}.employee-custody-item>div:first-child{display:grid;gap:3px}.employee-custody-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.employee-custody-item dl div{padding:8px;border-radius:8px;background:#fff}.employee-custody-item dt{font-size:.76rem;font-weight:700;color:#64748b}.employee-custody-item dd{margin:3px 0 0;font-weight:600}@media(max-width:480px){.employee-asset-actions,.employee-custody-item dl{grid-template-columns:1fr}}.employee-asset-operations{margin-top:12px;padding-top:12px;border-top:1px solid #c7c7c7}.employee-asset-operations h4{margin:0 0 10px}.employee-operation-summary{display:grid;gap:4px;margin-bottom:12px;font-size:.92rem}.employee-operation-row,.employee-defect-form{display:grid;gap:8px;margin:12px 0}.employee-operation-row input,.employee-defect-form select,.employee-defect-form textarea,.employee-checklist select{min-height:44px}.employee-defect-form textarea{min-height:72px;resize:vertical}.employee-checklist{display:grid;gap:8px;margin:12px 0;padding:10px}.employee-checklist label{display:grid;grid-template-columns:1fr minmax(135px,auto);align-items:center;gap:8px}.employee-checklist button,.employee-operation-row button,.employee-defect-form button{min-height:48px}@media(max-width:480px){.employee-checklist label{grid-template-columns:1fr}}.employee-job-completion{display:grid;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #c7c7c7}.employee-job-completion h4{margin:0}.employee-return-deviation{display:grid;gap:8px;padding:10px;border:1px solid #c7c7c7}.employee-return-deviation textarea{min-height:72px;resize:vertical}.employee-job-completion button,.employee-return-deviation button{min-height:48px}.employee-complete-button{font-weight:700}.employee-header-actions{display:flex;align-items:center;gap:8px}.employee-home-button{min-height:44px;padding:8px 12px;border:1px solid #655846;border-radius:10px;background:#fffdf9;color:#3f3a33;font-weight:700}.employee-home-card[hidden],.employee-nav[hidden],.employee-sickness-card[hidden],.employee-preparation-card[hidden],.employee-asset-card[hidden],.employee-primary-card[hidden]{display:none}.employee-home-actions{display:grid;gap:12px;margin-top:16px}.employee-home-actions button{display:grid;gap:4px;min-height:72px;padding:14px 16px;border:1px solid #c8c0b3;border-radius:12px;background:#fff;color:#3f3a33;text-align:left}.employee-home-actions button strong{font-size:1.05rem}.employee-home-actions button span{color:#64748b;line-height:1.35}@media(max-width:420px){.employee-header-actions{align-items:stretch;flex-direction:column}.employee-home-button{width:100%}}.employee-search{display:grid;gap:.5rem;margin:1rem 0 1.25rem}.employee-search label{font-weight:700}.employee-search input{min-height:3rem;width:100%;font:inherit}.employee-search-results{display:grid;gap:.5rem}.employee-search-results button,.employee-search-result-disabled{display:grid;gap:.2rem;min-height:3.5rem;padding:.75rem;text-align:left}.employee-search-results button span,.employee-search-result-disabled span{font-size:.9rem}.employee-search-result-disabled{border:1px solid var(--border-color, #d7d7d7);border-radius:.75rem;opacity:.75}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:#f3f0e9}.auth-card{width:min(100%,440px);padding:28px;border:1px solid #c8c0b3;border-radius:16px;background:#fffdf9}.auth-card h1{margin:0 0 8px}.auth-help{line-height:1.5;color:#64748b}.auth-form,.account-form{display:grid;gap:14px;margin-top:20px}.auth-form label,.account-form label{display:grid;gap:6px;font-weight:700}.auth-form input,.account-form input,.account-form select{min-height:48px;width:100%;padding:9px 11px;border:1px solid #b8b0a3;border-radius:8px;background:#fff;font:inherit}.auth-primary,.account-form button,.reset-request button{min-height:48px;border:1px solid #655846;border-radius:10px;padding:10px 14px;background:#655846;color:#fff;font-weight:700}.auth-primary:disabled{cursor:default;opacity:.65}.auth-link-button{margin-top:18px;padding:8px 0;border:0;background:transparent;color:#4f4639;text-decoration:underline}.auth-status{margin-top:16px;line-height:1.45;font-weight:600}.account-admin{margin-top:16px}.account-admin h2{margin-top:0}.reset-requests{margin-top:26px;padding-top:20px;border-top:1px solid #ded8cd}.reset-request{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e5e1d9}.reset-request>div{display:grid;gap:4px}.reset-request span{color:#64748b;font-size:.9rem}@media(max-width:560px){.auth-card{padding:20px}.reset-request{align-items:stretch;flex-direction:column}}.account-list{margin-top:26px;padding-top:20px;border-top:1px solid #ded8cd}.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e5e1d9}.account-row>div:first-child{display:grid;gap:4px}.account-row span{color:#64748b;font-size:.9rem}.account-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.account-actions button{min-height:42px}@media(max-width:700px){.account-row{align-items:stretch;flex-direction:column}.account-actions{justify-content:stretch}.account-actions button{flex:1 1 100%}}
