*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.layout{--sidebar-width:250px;background-color:#f5f5f5;display:flex;min-height:100vh}.auth-loading,.auth-shell{background:linear-gradient(180deg,#f8fafc,#eef2ff);min-height:100vh}.auth-loading{align-items:center;display:flex;justify-content:center;padding:1rem}.auth-card{background:#fff;border:1px solid #dbeafe;border-radius:.9rem;box-shadow:0 16px 40px #0f172a1f;color:#0f172a;font-weight:600;max-width:520px;min-width:280px;padding:1.25rem 1.4rem}.auth-blocked h2{margin:0 0 .4rem}.auth-blocked p{color:#334155;font-weight:500;margin:.35rem 0}.auth-blocked-user{font-size:.85rem}.provider-context-warning{background:#fffbeb;border:1px solid #f59e0b;border-left-width:4px;border-radius:.375rem;color:#78350f;margin:2rem;padding:1rem 1.25rem}.provider-context-warning h2{font-size:1rem;margin:0 0 .4rem}.provider-context-warning p{margin:0}.hamburger-button{align-items:center;background-color:#1e293b;border:none;border-radius:.375rem;box-shadow:0 2px 8px #00000026;color:#fff;cursor:pointer;display:flex;justify-content:center;left:1rem;padding:.5rem;position:fixed;top:1rem;transition:background-color .2s;z-index:1001}.hamburger-button:hover{background-color:#334155}.close-button{background:#0000;border:none;color:#cbd5e1;cursor:pointer;display:none;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:color .2s;z-index:1002}.close-button:hover,.sidebar{color:#fff}.sidebar{background-color:#1e293b;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;transition:transform .3s ease;width:var(--sidebar-width);z-index:1000}.nav-menu{flex:1 1;list-style:none;margin:0;padding:1rem 0}.nav-menu li{margin:0}.nav-menu a{align-items:center;color:#cbd5e1;display:flex;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.nav-menu a:hover{background-color:#ffffff0d;color:#fff}.nav-menu a.active{background-color:#3b82f6;border-left:4px solid #60a5fa;color:#fff}.nav-icon{align-items:center;display:flex;height:1.5rem;justify-content:center;margin-right:.75rem;width:1.5rem}.nav-label{font-size:.9375rem;font-weight:500}.header-provider-name{display:block;font-size:.75rem;font-weight:400;line-height:1.2;overflow-wrap:anywhere}.main-content{flex:1 1;margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.app-version{bottom:.65rem;color:#64748b;font-size:.7rem;font-weight:700;letter-spacing:.04em;pointer-events:none;position:fixed;right:.85rem;z-index:90}.top-header{align-items:center;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.header-branding{flex:1 1 240px;min-width:0;text-align:left}.brand-title{color:#3b82f6;font-size:1.25rem;font-weight:700;line-height:1.2;margin:0}.provider-subtitle{color:#64748b;font-size:.875rem;line-height:1.2;margin:.25rem 0 0}.header-actions{align-items:center;display:flex;gap:.75rem}.provider-id-switcher{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.375rem;display:flex;gap:.35rem;padding:.2rem .45rem}.provider-id-switcher label{color:#475569;font-size:.75rem;font-weight:600;white-space:nowrap}.provider-id-input{background:#fff;border:1px solid #cbd5e1;border-radius:.25rem;color:#1e293b;font-size:.8rem;padding:.25rem .4rem;width:65px}.provider-id-input:focus{border-color:#3b82f6;outline:none}.provider-apply-btn{background:#3b82f6;border:1px solid #3b82f6;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .5rem;transition:background-color .15s}.provider-apply-btn:hover{background:#2563eb}.context-switcher{align-items:center;display:flex;gap:.4rem}.context-switcher label{color:#475569;font-size:.75rem;font-weight:600}.context-switcher-select{background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;color:#1e293b;font-size:.8rem;min-width:190px;padding:.35rem .5rem}.context-switcher-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;outline:none}.context-clear{background:#eff6ff;border:none;border-radius:.375rem;color:#1d4ed8;cursor:pointer;font-size:.75rem;font-weight:600;padding:.35rem .55rem}.session-actions{align-items:center;display:inline-flex;gap:.45rem}.session-user{color:#475569;font-size:.75rem;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-link{align-items:center;background:#eff6ff;border:1px solid #93c5fd;border-radius:.375rem;color:#1d4ed8;display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;padding:.3rem .55rem;text-decoration:none}.auth-link:hover{background:#dbeafe}.auth-link-secondary{background:#f8fafc;border-color:#cbd5e1;color:#334155}.profile-icon-button{align-items:center;background-color:#fff;border:1px solid #cbd5e1;border-radius:9999px;color:#1e293b;display:inline-flex;height:2.5rem;justify-content:center;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;width:2.5rem}.profile-icon-button:hover{background-color:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.main-content>:not(.top-header){padding:2rem}@media (max-width:1256px){.close-button,.hamburger-button{display:flex}.sidebar{transform:translateX(-100%)}.sidebar.sidebar-open{transform:translateX(0)}.main-content{margin-left:0;width:100%}.top-header{padding:.75rem 1rem .75rem 4rem}.header-actions{flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.context-switcher{justify-content:flex-end;width:100%}.context-switcher-select{max-width:180px;min-width:140px}.session-user{display:none}.profile-icon-button{height:2.25rem;width:2.25rem}.brand-title{font-size:1rem}.header-provider-name{font-size:.75rem}.main-content>:not(.top-header){padding:1rem}}@media (min-width:1257px){.hamburger-button{display:none}.sidebar{transform:translateX(0)}.main-content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.top-header{padding:1rem 2rem}.main-content>:not(.top-header){padding:2rem}}.provider-dashboard{max-width:1400px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#1e293b;font-size:2rem;font-weight:700;margin:0}.assigned-worker-badge{background:#eff6ff;border:1px solid #dbeafe;border-radius:.375rem;color:#1d4ed8;display:inline-block;font-size:.85rem;font-weight:600;padding:.25rem .5rem}.worker-dropdown{border-radius:.375rem;color:#1e293b;font-size:.82rem;max-width:190px;padding:.35rem .5rem}.metrics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2rem}.metric-card{align-items:center;background:#fff;border-left:4px solid;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:.75rem;padding:.875rem 1rem;transition:transform .2s,box-shadow .2s}.metric-card-link{color:inherit;cursor:pointer;text-decoration:none}.metric-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.metric-blue{border-left-color:#3b82f6}.metric-green{border-left-color:#10b981}.metric-orange{border-left-color:#f97316}.metric-purple{border-left-color:#a855f7}.metric-amber{border-left-color:#f59e0b}.metric-red{border-left-color:#ef4444}.metric-icon{flex-shrink:0;font-size:2rem;opacity:.9}.metric-content{align-items:baseline;display:flex;flex:1 1;gap:.5rem;min-width:0}.metric-count{color:#1e293b;flex-shrink:0;font-size:1.75rem;font-weight:700;line-height:1}.metric-title{color:#64748b;font-size:.8125rem;font-weight:600;letter-spacing:.05em;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.table-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.mobile-cards{display:none;padding:0}.service-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 1px 3px #0000000d;margin-bottom:.75rem;padding:.75rem}.service-card:last-child{margin-bottom:0}.card-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.card-customer{color:#1e293b;font-size:.9375rem;font-weight:700;margin:0}.card-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.card-detail-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.detail-label{color:#64748b;flex-shrink:0;margin-right:1rem}.detail-value{color:#334155;flex:1 1;text-align:right}.card-details-compact{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.625rem}.card-info-item{align-items:center;color:#334155;display:flex;font-size:.8125rem;gap:.375rem;min-width:0}.card-icon{color:#64748b;flex-shrink:0}.card-action-button{background-color:#3b82f6;border-radius:.375rem;color:#fff;display:block;font-size:.8125rem;font-weight:600;padding:.5rem;text-align:center;text-decoration:none;transition:background-color .2s;width:100%}.card-action-button:hover{background-color:#2563eb}.section-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.section-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.view-all-link{color:#3b82f6;font-size:.9375rem;font-weight:600;text-decoration:none;transition:color .2s}.view-all-link:hover{color:#2563eb;text-decoration:underline}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table thead th{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.data-table tbody td{border-bottom:1px solid #e2e8f0;color:#334155;padding:1rem}.data-table tbody tr:hover{background-color:#f8fafc}.unallocated{color:#f97316;font-style:italic}.status-badge{border-radius:9999px;display:inline-block;font-size:.8125rem;font-weight:600;padding:.25rem .75rem}.status-due{background-color:#dbeafe;color:#1e40af}.status-overdue{background-color:#fee2e2;color:#991b1b}.status-completed{background-color:#d1fae5;color:#065f46}.status-confirmed{background-color:#e0e7ff;color:#3730a3}.status-active{background-color:#d1fae5;color:#065f46}.status-inactive{background-color:#f1f5f9;color:#64748b}.risk-critical{background-color:#7f1d1d;font-weight:700}.risk-high{background-color:#fee2e2;color:#991b1b}.risk-medium{background-color:#fef3c7;color:#92400e}.risk-low{background-color:#dbeafe;color:#1e40af}.risk-very-low{background-color:#f0fdf4;color:#166534}.risk-badge{gap:.375rem}.risk-badge,.risk-icon{align-items:center;display:inline-flex}.status-default{background-color:#f1f5f9;color:#475569}.action-button{border:1px solid #0000;border-radius:.375rem;display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.btn-outline{background:#0000;border-color:#3b82f6;color:#3b82f6}.btn-outline:hover{background-color:#3b82f6;color:#fff}.btn-icon{align-items:center;background:#0000;border:none;color:#64748b;display:inline-flex;justify-content:center;padding:.375rem}.btn-icon:hover{background:#0000;color:#3b82f6}.btn-solid-orange{background-color:#f97316;color:#fff}.btn-solid-orange:hover{background-color:#ea580c}.btn-solid-blue{background-color:#3b82f6;border:none;color:#fff}.btn-solid-blue:hover{background-color:#2563eb}.card-actions{display:flex;gap:.5rem;margin-top:.625rem}.card-actions .action-button{align-items:center;display:flex;flex:1 1;gap:.25rem;justify-content:center}.action-buttons{display:flex;gap:.5rem}.type-badge{border-radius:9999px;display:inline-block;font-size:.8125rem;font-weight:600;padding:.25rem .75rem}.type-admin{background-color:#fef3c7;color:#92400e}.type-worker{background-color:#dbeafe;color:#1e40af}.customer-link{color:#3b82f6;text-decoration:none;transition:color .2s}.customer-link:hover{color:#2563eb;text-decoration:underline}.error,.loading{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;min-height:400px}@media (max-width:768px){.metrics-grid{gap:.75rem;grid-template-columns:1fr;margin-bottom:1.5rem}.page-header{margin-bottom:1.25rem}.page-header h1{font-size:1.5rem}.table-container{display:none}.mobile-cards{display:block}.table-section{background:#0000;box-shadow:none;padding:.75rem}.metric-card{gap:.625rem;padding:.75rem}.metric-icon{font-size:1.5rem}.metric-title{font-size:.75rem}.metric-count{font-size:1.5rem}.status-badge{font-size:.75rem;padding:.2rem .625rem}.action-button{font-size:.8125rem;padding:.375rem .75rem}}.filter-controls{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1.5rem;padding:1.25rem}.filter-row{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column;gap:.375rem}.filter-group label{color:#475569;font-size:.875rem;font-weight:600}.filter-input,.filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:.375rem;color:#1e293b;cursor:pointer;font-size:.9375rem;padding:.5rem .75rem;transition:border-color .2s}.filter-input:focus,.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.active-filters{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem}.active-filters-label{color:#64748b;font-size:.875rem;font-weight:600}.filter-tag{background-color:#3b82f6;border-radius:9999px;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.375rem .75rem}.filter-tag,.filter-tag-close{align-items:center;color:#fff;display:inline-flex}.filter-tag-close{background:#0000;border:none;cursor:pointer;padding:0;transition:opacity .2s}.filter-tag-close:hover{opacity:.7}.filter-banner{align-items:center;background-color:#dbeafe;border:1px solid #3b82f6;border-radius:.5rem;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:.75rem 1rem}.filter-banner span{color:#1e40af;font-size:.9375rem}.clear-filter-btn{align-items:center;background-color:#fff;border:1px solid #3b82f6;border-radius:.375rem;color:#3b82f6;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.375rem .75rem;transition:all .2s;white-space:nowrap}.clear-filter-btn:hover{background-color:#3b82f6;color:#fff}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:#f1f5f9!important}.worker-dropdown{background:#fff;border:1px solid #cbd5e1;border-radius:.25rem;cursor:pointer;font-size:.875rem;padding:.25rem .5rem}.worker-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.schedule-summary-bar{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.5rem;justify-content:space-between;margin-bottom:.75rem;padding:0 .25rem}.schedule-count-text strong{color:#0f172a}.schedule-limit-notice{color:#d97706;font-size:.8rem;font-weight:600}.status-amber{background-color:#fef3c7;color:#92400e}@media (max-width:768px){.filter-controls{padding:1rem}.filter-row{grid-template-columns:1fr}.active-filters{align-items:flex-start;flex-direction:column}}.calendar-schedule-page{--calendar-ink:#17324d;--calendar-muted:#6d7f90;--calendar-line:#d9e2e8;--calendar-accent:#e26d4f}.calendar-page-header{align-items:end}.eyebrow{color:var(--calendar-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:0 0 .3rem;text-transform:uppercase}.calendar-date-picker,.calendar-toolbar-actions{align-items:center;display:flex;gap:.6rem}.calendar-date-picker{color:var(--calendar-muted);font-size:.85rem;font-weight:700}.calendar-date-picker input,.calendar-toolbar button,.calendar-toolbar select{background:#fff;border:1px solid var(--calendar-line);border-radius:.35rem;color:var(--calendar-ink);font:inherit;padding:.55rem .7rem}.calendar-toolbar{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.calendar-toolbar-title{align-items:center;color:var(--calendar-ink);display:flex;font-size:1.1rem;gap:.55rem}.calendar-toolbar button{cursor:pointer}.calendar-toolbar button:hover{border-color:var(--calendar-accent);color:var(--calendar-accent)}.calendar-layout{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.calendar-grid{background:#fff;border-left:1px solid var(--calendar-line);border-top:1px solid var(--calendar-line);display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekday{border-bottom:1px solid var(--calendar-line);border-right:1px solid var(--calendar-line);color:var(--calendar-muted);font-size:.75rem;font-weight:800;padding:.7rem .5rem;text-align:center;text-transform:uppercase}.calendar-day{background:#fff;border:0;border-bottom:1px solid var(--calendar-line);border-right:1px solid var(--calendar-line);color:var(--calendar-ink);cursor:pointer;min-height:6.6rem;padding:.6rem;text-align:left}.calendar-day:hover{background:#fff7f3}.calendar-day-muted{background:#f8fafb;color:#aebbc4}.calendar-day-selected{background:#fff7f3;box-shadow:inset 0 0 0 2px var(--calendar-accent)}.calendar-day-number{display:block;font-weight:800}.calendar-day-count{display:block;font-size:.72rem;font-weight:700;margin-top:1.1rem}.calendar-day-dots{display:flex;gap:.25rem;margin-top:.45rem}.calendar-dot{background:var(--calendar-accent);border-radius:50%;height:.45rem;width:.45rem}.status-dot-due{background:#3b82f6}.status-dot-done{background:#10b981}.status-dot-alert{background:#f59e0b}.status-dot-overdue{background:#ef4444}.calendar-day-today .calendar-day-number{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}.calendar-agenda{background:#f8fafb;border:1px solid var(--calendar-line);padding:1.25rem}.agenda-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.agenda-heading h2{color:var(--calendar-ink);font-size:1.25rem;margin:0}.agenda-heading>span{background:var(--calendar-ink);border-radius:50%;color:#fff;display:grid;font-weight:800;height:2rem;place-items:center;width:2rem}.agenda-empty{color:var(--calendar-muted)}.agenda-item{background:#fff;border-left:3px solid var(--calendar-accent);margin-top:.75rem;padding:.9rem}.agenda-item-top{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.agenda-item h3{color:var(--calendar-ink);font-size:1rem;margin:.65rem 0 .15rem}.agenda-item p{color:var(--calendar-muted);font-size:.85rem;margin:0}.agenda-meta{grid-gap:.35rem;color:var(--calendar-muted);display:grid;font-size:.78rem;gap:.35rem;margin-top:.8rem}.agenda-meta span{align-items:center;display:flex;gap:.35rem}@media (max-width:900px){.calendar-layout{grid-template-columns:1fr}}@media (max-width:640px){.calendar-page-header,.calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-toolbar-actions{flex-wrap:wrap}.calendar-day{min-height:4.8rem;padding:.4rem}.calendar-day-count{font-size:.62rem;margin-top:.7rem}.calendar-weekday{font-size:.65rem}}.service-details{max-width:1200px}.service-default-confirmation{background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#1f2937;font:inherit;max-height:calc(100vh - 32px);overflow:auto;padding:24px;width:min(480px,calc(100% - 32px))}.service-default-confirmation::backdrop{background:#00000073}.service-default-confirmation h2{font-size:1.25rem;margin:0 0 16px}.service-default-confirmation p{line-height:1.5}.service-default-confirmation-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:24px}.back-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:1rem;padding:.5rem 0;transition:color .2s}.back-button:hover{color:#2563eb}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.info-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.card-title{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.125rem;font-weight:700;margin:0 0 1rem;padding-bottom:.75rem}.info-row{border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0}.info-row:last-child{border-bottom:none}.label{color:#64748b;font-weight:600}.value{color:#334155;text-align:right}.info-row-editable{align-items:center}.service-card-actions{border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem}.service-calendar-button{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.375rem;color:#2563eb;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;gap:.6rem;padding:.65rem .9rem;transition:background-color .2s,border-color .2s}.service-calendar-button:hover{background:#eff6ff;border-color:#3b82f6}.card-inline-select{font-size:.85rem;margin-left:auto;max-width:210px;min-width:150px;padding:.35rem .55rem;width:auto}.risk-low{color:#10b981}.risk-medium{color:#f59e0b}.risk-high{color:#ef4444}.risk-very-low{color:#22c55e}.risk-critical{color:#dc2626}.risk-list,.risks-list{list-style:none;margin:0;padding:0}.risk-list{display:flex;flex-direction:column;gap:.45rem}.risk-item-row{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;gap:.5rem;justify-content:space-between;padding:.35rem 0}.risk-item-row:last-child{border-bottom:none}.risk-main-content{flex:1 1}.risk-header-row{display:flex;gap:.4rem;justify-content:space-between;margin-bottom:.2rem}.risk-header-row,.risk-tag-group{align-items:center;flex-wrap:wrap}.risk-tag-group{display:inline-flex;gap:.35rem}.risk-category-pill,.severity-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:700;gap:.3rem;letter-spacing:.01em;padding:.15rem .45rem}.severity-pill{background:#0f172a0d}.risk-very-low{color:#15803d}.risk-low{color:#a16207}.risk-medium{color:#b45309}.risk-high{color:#b91c1c}.risk-critical{background:#7f1d1d;color:#fff}.risk-category-pill{background:#e2e8f0;color:#334155}.risk-description{color:#334155;font-size:.9rem;line-height:1.4;margin:.3rem 0 .25rem;white-space:normal}.risk-description.collapsed{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.risk-toggle{align-items:center;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;color:#334155;cursor:pointer;display:flex;height:2rem;justify-content:center;margin-top:.15rem;min-width:2rem;padding:.2rem .35rem;transition:transform .2s ease,background .2s ease}.risk-toggle:hover{background:#dbeafe}.risk-toggle span{font-size:1.5rem;font-weight:700;line-height:1}.risk-toggle.expanded{transform:rotate(90deg)}.risk-item{background-color:#fef3c7;border-left:3px solid #f59e0b;border-radius:.25rem;color:#92400e;margin-bottom:.5rem;padding:.75rem}.no-risks{color:#64748b;font-style:italic}.log-card{grid-column:span 2}.log-entry{border-bottom:1px solid #e2e8f0;padding:1rem 0}.log-entry:last-child{border-bottom:none}.log-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.log-date{color:#475569;font-weight:600}.log-worker{color:#64748b;font-size:.875rem}.log-note{color:#334155;margin:0}.validation-form{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-title{border-bottom:2px solid #e2e8f0;color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-label{color:#334155;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-label.required:after{color:#ef4444;content:" *"}.radio-group{display:flex;gap:2rem}.radio-label{align-items:center;color:#475569;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.radio-label input[type=radio]{cursor:pointer;height:1.125rem;width:1.125rem}.timestamp-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.timestamp-field{flex:1 1;min-width:120px}.timestamp-input{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.85rem;height:2.2rem;min-width:0;padding:.4rem .6rem;width:100%}.form-row.two-column{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-row.recurrence-row{grid-template-columns:repeat(3,minmax(0,1fr))}.attachment-picker{align-items:center;background:#f8fbff;border:1.5px dashed #7c93d2;border-radius:.75rem;color:#1d4ed8;cursor:pointer;display:flex;font-weight:600;justify-content:center;min-height:58px;padding:.9rem 1rem;transition:all .2s ease}.attachment-picker:hover{background:#edf4ff;border-color:#3b82f6}.attachment-picker input{display:none}.attachment-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.attachment-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;gap:.75rem;padding:.5rem .75rem}.attachment-preview{background:#e2e8f0;border:1px solid #dbeafe;border-radius:.5rem;height:52px;object-fit:cover;width:52px}.attachment-file-badge{align-items:center;background:#dbeafe;border-radius:.5rem;color:#1d4ed8;display:flex;font-size:.7rem;font-weight:700;height:52px;justify-content:center;width:52px}.attachment-meta{display:flex;flex:1 1;flex-direction:column;min-width:0}.attachment-meta span{color:#1e293b;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-meta small{color:#64748b}.attachment-remove{background:#fee2e2;border:none;border-radius:999px;color:#b91c1c;cursor:pointer;font-size:1.2rem;height:2rem;line-height:1;width:2rem}.form-textarea{border:1px solid #cbd5e1;border-radius:.375rem;font-family:inherit;font-size:.9375rem;padding:.75rem;resize:vertical;width:100%}.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:.375rem;cursor:pointer;font-size:.9375rem;padding:.5rem .75rem;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.inline-warning-text{color:#b91c1c;font-size:.85rem;font-weight:600;margin:.5rem 0 0}.alert-box{border-radius:.5rem;margin:1rem 0;padding:1.5rem}.alert-warning{background-color:#fef3c7;border-left:4px solid #f59e0b}.alert-box h3{color:#92400e;margin:0 0 1rem}.alert-box ol{color:#78350f;margin:0;padding-left:1.5rem}.alert-box li{margin-bottom:.5rem}.form-actions{border-top:2px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.btn-primary,.btn-secondary{border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#e2e8f0;color:#475569}.btn-secondary:hover{background-color:#cbd5e1}@media (max-width:768px){.details-grid{grid-template-columns:1fr}.log-card{grid-column:span 1}.form-row,.form-row.recurrence-row{grid-template-columns:1fr}.timestamp-row{flex-direction:column}.timestamp-field{flex-basis:100%;width:100%}.attachment-item{padding:.5rem}.attachment-meta span{font-size:.82rem}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.welfare-check{background-color:#fef3c7;border:2px solid #f59e0b;border-radius:.5rem;margin-top:2rem;padding:2rem}.welfare-header{margin-bottom:1.5rem}.welfare-title{color:#92400e;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.welfare-section{background:#fff;border-radius:.375rem;margin-bottom:2rem;padding:1.5rem}.welfare-label{color:#334155;display:block;font-weight:600;margin-bottom:1rem}.welfare-label.required:after{color:#ef4444;content:" *"}.emergency-banner{background-color:#fee2e2;border:3px solid #ef4444;border-radius:.5rem;margin-bottom:2rem;padding:1.5rem}.emergency-banner h3{color:#991b1b;font-size:1.125rem;margin:0 0 1rem}.emergency-banner ul{color:#7f1d1d;margin:0;padding-left:1.5rem}.emergency-banner li{font-weight:600;margin-bottom:.5rem}.concerns-list{display:flex;flex-direction:column;gap:1rem}.concern-item{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;padding:1rem}.checkbox-label{align-items:flex-start;color:#334155;cursor:pointer;display:flex;font-weight:500;gap:.75rem}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:1.125rem;margin-top:.125rem;width:1.125rem}.concern-details{border-left:3px solid #3b82f6;margin-top:1rem;padding-left:1rem}.detail-group{margin-bottom:1rem}.detail-hint{color:#475569;font-size:.875rem;margin:.5rem 0 0}.detail-label{color:#475569;display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.radio-group-inline{display:flex;gap:1.5rem}.radio-group-inline label{align-items:center;color:#475569;cursor:pointer;display:flex;gap:.5rem}.radio-group-inline input[type=radio]{cursor:pointer;height:1rem;width:1rem}.detail-textarea{border:1px solid #cbd5e1;border-radius:.375rem;font-family:inherit;font-size:.9375rem;padding:.75rem;resize:vertical;width:100%}.detail-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}@media (max-width:768px){.welfare-check,.welfare-section{padding:1rem}.concern-details{padding-left:.75rem}}.form-section{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;max-width:1100px;padding:2rem}.worker-form{width:100%}.worker-form-shell{display:flex;flex-direction:column;gap:.75rem}.worker-edit-page{max-width:1440px}.compliance-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:.75rem;padding:1.25rem}.compliance-card:last-of-type{margin-bottom:0}.section-header-inline{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.compliance-subsection h3,.compliance-subsection h4,.record-card-header h4,.section-header-inline h2,.section-header-inline h3{color:#1e293b;margin:0}.compliance-subsection p,.section-header-inline p{color:#64748b;font-size:.9375rem;margin:.375rem 0 0}.compliance-subsection{margin-top:1.1rem}.compliance-subsection:first-of-type{margin-top:0}.compliance-section-grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.checkbox-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:.7rem}.checkbox-item{align-items:center;background:#f8fafc;border:1px solid #dbe3ef;border-radius:.5rem;color:#334155;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem .65rem}.checkbox-item input{accent-color:#3b82f6;height:1rem;width:1rem}.stacked-records{display:flex;flex-direction:column;gap:1rem}.record-card{background:#f8fafc;border:1px solid #dbe3ef;border-radius:.75rem;padding:1rem}.record-card-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.icon-button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:9999px;color:#475569;cursor:pointer;display:inline-flex;height:2rem;justify-content:center;width:2rem}.icon-button:hover{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.compact-action{align-items:center;display:inline-flex;gap:.5rem}.info-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;color:#1d4ed8;font-size:.9375rem;margin-bottom:1rem;padding:.875rem 1rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.form-group{display:flex;flex-direction:column;margin-bottom:0}.form-group-full{grid-column:1/-1}.form-group label{color:#334155;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.required{color:#ef4444}.form-input{border:1px solid #cbd5e1;border-radius:.375rem;color:#1e293b;font-size:.9375rem;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input:disabled{background-color:#f1f5f9;cursor:not-allowed}.field-hint{color:#64748b;font-size:.8125rem;margin-top:.35rem}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#b91c1c;padding:.875rem 1rem}.invitation-message{color:#166534;font-size:.9375rem;margin-top:.75rem}.form-actions button:disabled{cursor:not-allowed;opacity:.7}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}@media (max-width:768px){.compliance-card,.form-section{padding:1rem}.record-card-header,.section-header-inline{align-items:stretch;flex-direction:column}.form-grid{gap:1rem;grid-template-columns:1fr}.form-group-full{grid-column:1}.form-actions{flex-direction:column}.form-actions button{width:100%}.checkbox-grid,.compliance-section-grid{grid-template-columns:1fr}}.login-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:1.25rem}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 16px 40px #0f172a14;padding:1.5rem;width:min(560px,100%)}.login-card h1{color:#0f172a;font-size:1.4rem;margin:0 0 .5rem}.login-copy{color:#475569;margin:0 0 1rem}.provider-list{grid-gap:.75rem;display:grid;gap:.75rem}.provider-button{align-items:flex-start;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.7rem;color:#0f172a;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:700;gap:.15rem;padding:.85rem .95rem;text-align:left;text-decoration:none;width:100%}.provider-button small{color:#64748b;font-weight:500}.provider-button:hover{background:#eff6ff;border-color:#60a5fa}.login-account-guide{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;color:#475569;font-size:.825rem;line-height:1.5;margin-top:1rem;padding:.85rem 1rem}.login-account-guide strong{color:#1e293b;display:block;margin-bottom:.35rem}.login-account-guide ul{margin:0;padding-left:1.15rem}.login-account-guide li{margin-bottom:.3rem}.login-account-guide code{background:#e2e8f0;border-radius:.25rem;color:#0f172a;font-size:.8rem;padding:.1rem .3rem}.login-footnote{color:#64748b;font-size:.8rem;line-height:1.45;margin:1rem 0 0}.dev-login-panel{border-top:1px solid #e2e8f0;margin-top:1.25rem;padding-top:1rem}.dev-login-panel h2{color:#0f172a;font-size:1rem;margin:0 0 .35rem}.dev-login-panel p{color:#64748b;font-size:.85rem;margin:0 0 .75rem}@media (max-width:768px){.login-page{padding:.5rem}.login-card{border-radius:.75rem;padding:1rem}.login-card h1{font-size:1.2rem}.provider-button{padding:.8rem .85rem}}.help-page{max-width:900px}.help-content{line-height:1.6;overflow-wrap:anywhere}.help-content h1{font-size:1.75rem;margin:0 0 24px}.help-content h2{font-size:1.25rem;margin:28px 0 12px}.help-content h3{font-size:1.05rem;margin:20px 0 10px}.help-content li{margin-bottom:10px;padding-inline-start:.25rem}.help-content ol,.help-content ul{list-style-position:outside;margin:12px 0;padding-inline-start:2rem}.App{min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:2rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:2rem}.button{background:#0078d4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .3s}.button:hover{background:#106ebe}.button:disabled{background:#ccc;cursor:not-allowed}.loading{color:#666;padding:2rem;text-align:center}.error{background:#fef0f0;border-left:4px solid #d13438;border-radius:4px;color:#d13438;padding:1rem}.page-placeholder{align-items:center;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem}.page-placeholder h1{color:#1e293b;font-size:2rem;margin:0 0 1rem}.page-placeholder p{color:#64748b;font-size:1.125rem;margin:0}.risk-badge-low{background-color:#d1fae5;color:#065f46}.risk-badge-medium{background-color:#fef3c7;color:#92400e}.risk-badge-high{background-color:#fee2e2;color:#991b1b}.success{background:#f0fdf4;border-left:4px solid #15803d;border-radius:4px;color:#15803d;margin-bottom:1rem;padding:1rem}
/*# sourceMappingURL=main.ccd8b72c.css.map*/