/* October 21 reference layout; existing record controls remain authoritative. */
#stormcoreApp{background:#f4f7fb;min-height:100dvh;padding-left:208px;color:#142033}#stormcoreApp[hidden]{display:none!important}.production-sidebar{position:fixed;inset:0 auto 0 0;width:208px;background:#0c1c2f;color:#f5f9ff;z-index:1200;padding:20px 10px;box-sizing:border-box;overflow-y:auto}.production-brand{display:flex;align-items:center;gap:8px;padding:0 8px 24px;color:white;text-decoration:none;font:bold 20px system-ui}.production-brand img{width:30px;height:30px;object-fit:contain}.production-brand>span>span{color:#00a9ed}.production-sidebar nav{display:grid;gap:6px}.production-sidebar button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:7px;background:transparent;color:#f4f7ff;text-align:left;font:600 13px/1.4 system-ui;padding:12px;min-height:46px}.production-sidebar button[aria-current=page]{background:#075fc7;box-shadow:0 3px 9px #0003}.production-sidebar button:hover{background:#263c55}.production-sidebar button>span:first-child{font-size:19px;width:20px;text-align:center}.production-heading{display:flex;align-items:center;gap:18px;padding:26px 24px 14px;background:#fff}.production-heading>div{flex:1}.production-heading h1{font:750 26px/1.25 system-ui;margin:0 0 6px}.production-heading p{font-size:13px;color:#496078;margin:0}.production-heading time{font:600 12px system-ui}.production-heading button{min-height:42px;border:1px solid #d6e0ed;background:#f4f8fc;border-radius:8px;padding:10px 14px}.production-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 24px;background:#fff;border-bottom:1px solid #e0e7ef}.production-status-tabs{display:flex;gap:8px;flex-wrap:wrap}.production-status-tabs button{display:flex;gap:7px;align-items:center;border:1px solid #e0e7ef;border-radius:7px;background:#f8fafc;color:#243b55;padding:10px 12px;min-height:42px;font:600 12px system-ui}.production-status-tabs button[aria-pressed=true]{background:#075fc7;border-color:#075fc7;color:#fff}.production-status-tabs button>span:last-child{padding:2px 6px;background:#dce5f080;border-radius:8px}.production-search{margin-left:auto}.production-search input{min-height:42px;width:220px;max-width:100%;border:1px solid #dce5ef;border-radius:7px;padding:10px 12px;font:14px system-ui}.production-new{background:#075fc7;color:white;border:0;border-radius:7px;padding:11px 16px;min-height:42px;font:600 13px system-ui}.production-menu-toggle{display:none}body #stormcoreApp>.sc-platform-header,body #stormcoreApp>.main-nav{display:none!important}#productionWorkspace{padding:0 0 24px}.job-view-toolbar{margin:0;padding:10px 24px;background:#f8fafc}.board-wrap{margin:0 20px;max-height:none;border:1px solid #e1e8f0;border-radius:8px;background:#fff}.board-heading{background:#f2f6fb!important;color:#334a63!important;min-height:46px}.job-row{min-height:55px!important;border-bottom:1px solid #e6edf4!important;background:#fff!important}.job-row.alternate-row{background:#f7faff!important}.job-row.job-complete{background:#eaf8ef!important}.customer-row-number{font:700 11px system-ui;color:#203249}.job-row select{border:1px solid #dce5ef;border-radius:7px;font-size:12px;background:#f7fafc}.detail-row:not(.hidden){position:fixed;inset:18px 18px 18px auto;z-index:2200;width:min(680px,calc(100vw - 36px));overflow:auto;background:#fff;border:1px solid #dce6f0;border-radius:12px;box-shadow:0 15px 80px #10213555;padding:20px;box-sizing:border-box}.production-detail-close{display:block;margin:0 0 16px auto;padding:10px 14px;background:#f8fafc;color:#075fc7;border:1px solid #e1e7ef;border-radius:7px;min-height:44px}#modal .card{border-radius:12px;background:#fff;box-shadow:0 18px 70px #0c1c2f44}#modalBody h2{font:700 23px system-ui}.pagebar{padding:14px 24px}button:focus-visible,input:focus-visible{outline:3px solid #1698eb;outline-offset:3px}.workflow-focus-mode #stormcoreApp,.platform-estimate-work-mode #stormcoreApp{padding-left:0}.workflow-focus-mode .production-sidebar,.platform-estimate-work-mode .production-sidebar{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1100px){.production-heading time{display:none}.production-search{margin-left:0}.production-controls{gap:10px}.production-search{flex:1}.production-search input{width:100%}}
@media(max-width:760px){#stormcoreApp{padding-left:0}.production-sidebar{transform:translateX(-100%);width:224px;top:64px;z-index:2100}.production-menu-open .production-sidebar{transform:none}.production-menu-toggle{display:block}.production-heading{padding:12px;gap:10px;position:sticky;top:0;z-index:1300;border-bottom:1px solid #dce5ef}.production-heading h1{font-size:19px}.production-heading p{display:none}.production-heading>button:last-child{font-size:12px;padding:8px}.production-controls{padding:12px}.production-status-tabs{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.production-status-tabs button{flex-shrink:0}.board-wrap{margin:0 8px}.job-view-toolbar{padding:8px 12px}.detail-row:not(.hidden){inset:72px 8px 8px;width:calc(100vw - 16px)}.production-search input{font-size:16px}.production-new{padding:10px}.production-heading>div{min-width:0}.production-heading h1{overflow-wrap:break-word}}

.job-row .customer-expand{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:38px;font-size:12px}.job-row .customer-expand b{font-size:16px;color:#526b85}body #stormcoreApp .board-heading{font-size:11px}

.production-reports article{display:flex;align-items:center;gap:18px;border:1px solid #dce5ef;border-radius:8px;padding:16px;margin:12px 0}.production-reports article>div{flex:1}.production-reports h3{font-size:16px;margin:0 0 6px}.production-reports p{font-size:13px;color:#4d627b}.production-reports button{min-height:44px;background:#075fc7;color:#fff;border:0;border-radius:7px;padding:10px 16px}.production-read-table{overflow:auto}.production-read-table table{width:100%;border-collapse:collapse;min-width:380px}.production-read-table th,.production-read-table td{padding:12px;border-bottom:1px solid #e0e7ef;text-align:left}@media(max-width:600px){.production-reports article{flex-wrap:wrap}.production-reports article>div{flex-basis:75%}}

/* Dedicated module pages follow the approved board shell. */
#workspaceModule[hidden]{display:none!important}#workspaceModule{min-width:0;padding-bottom:30px}.module-heading{border-bottom:1px solid #e0e7ef;margin-bottom:20px}.module-heading h1:focus{outline:none}.module-heading button{min-height:44px}.module-menu{display:none}
#modal[data-workspace-page]{position:static!important;inset:auto!important;display:block;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0 24px!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;z-index:auto!important;overflow:visible!important}
#modal[data-workspace-page].hidden{display:none!important}#modal[data-workspace-page]>.card{position:static!important;box-sizing:border-box;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;margin:0!important;border:1px solid #dce5ef!important;border-radius:10px!important;background:#fff!important;padding:20px!important}
#modal[data-workspace-page] #closeModal{display:none!important}#modal[data-workspace-page] #modalBody{box-sizing:border-box;padding:0!important;max-height:none!important;overflow:visible!important;min-width:0}#modal[data-workspace-page=settings] #modalBody>h2,#modal[data-workspace-page=calendar] .production-calendar>h2,#modal[data-workspace-page=reports] .production-reports>h2{display:none}.module-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.module-toolbar input{box-sizing:border-box;width:min(460px,100%);min-height:44px;border:1px solid #c6daee;border-radius:7px;padding:10px 12px;font:14px system-ui}.module-record{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #e2eaf3;min-width:0}.module-record>div:first-child{min-width:0}.module-record strong{font:700 15px system-ui;overflow-wrap:anywhere}.module-record p{font:13px/1.6 system-ui;color:#496078;margin:5px 0;overflow-wrap:anywhere}.module-record small{font:12px/1.5 system-ui;color:#52667d;overflow-wrap:anywhere}.module-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.module-actions a,.module-actions button,.module-toolbar button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;border:1px solid #c6daee;border-radius:7px;padding:9px 13px;background:#edf5ff;color:#075fc7;text-decoration:none;font:600 13px system-ui}.module-toolbar .module-primary{background:#075fc7;color:white;border-color:#075fc7}.module-empty{padding:18px;color:#52667d;font:14px system-ui}.module-actions a:focus-visible,.module-actions button:focus-visible,.module-toolbar button:focus-visible{outline:3px solid #075fc7;outline-offset:2px}
@media(max-width:800px){.module-heading{padding:20px 16px;flex-wrap:wrap;gap:10px}.module-heading h1{font-size:25px}.module-menu{display:block}#modal[data-workspace-page]{margin:0 16px!important}#modal[data-workspace-page]>.card{padding:16px!important}.module-record{align-items:stretch;flex-direction:column;gap:10px}.module-toolbar{flex-wrap:wrap}.module-toolbar input{width:100%}.module-actions{width:100%}.module-actions>*{flex:1}#workspaceModule{padding-bottom:90px}}

.production-sidebar .workspace-link-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;flex:0 0 20px}.production-sidebar .workspace-link-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
/* Approved preview: desktop sidebar only; navy mobile bottom navigation. */
html body #stormcoreApp>.main-nav,html body #stormcoreApp>.sc-platform-header,html body #mobileQuickSearchPanel{display:none!important}
.sc-mobile-app-header,.sc-mobile-bottom-nav,.sc-mobile-nav-sheet{display:none}
@media(max-width:800px){
 html body #stormcoreApp{padding-left:0!important;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
 html body .production-sidebar{display:none!important}
 html body #stormcoreApp .production-menu-toggle,html body #stormcoreApp .module-menu,html body #stormcoreApp .workday-menu{display:none!important}
 .sc-mobile-app-header{display:flex;position:sticky;top:0;z-index:1500;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:8px 16px;background:#0c1c2f;color:#fff;border-bottom:1px solid #243a51}
 .sc-mobile-app-header button{min-height:44px;border:0;background:transparent;color:#fff;border-radius:8px;padding:6px}
 .sc-mobile-app-brand{display:flex;align-items:center;gap:8px;font:700 18px system-ui}.sc-mobile-app-brand img{width:32px;height:32px;object-fit:contain}.sc-mobile-app-brand b{color:#168dff}.sc-mobile-search{font:600 13px system-ui}
 html body #stormcoreApp .production-heading{top:64px!important}
 .sc-mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:2400;background:#0c1c2f;border-top:1px solid #29435c;padding:8px 5px calc(8px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
 .sc-mobile-bottom-nav button{display:grid;justify-items:center;align-content:center;gap:4px;min-height:58px;min-width:0;border:0;background:transparent;color:#bacbe0;border-radius:8px;padding:0;font:500 11px/1.4 system-ui;white-space:nowrap}
 .sc-mobile-bottom-nav .sc-mobile-nav-icon{display:grid;place-items:center;width:43px;height:29px;border-radius:8px;font:600 20px system-ui}.sc-mobile-nav-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .sc-mobile-bottom-nav button[aria-current=page]{color:#fff}.sc-mobile-bottom-nav button[aria-current=page] .sc-mobile-nav-icon{background:#075fc7}.sc-mobile-bottom-nav button[aria-expanded=true] .sc-mobile-nav-icon{background:#203e5c;color:#168dff}
 .sc-mobile-nav-sheet:not([hidden]){display:block;position:fixed;bottom:calc(89px + env(safe-area-inset-bottom,0px));left:10px;right:10px;z-index:2450;max-height:calc(100dvh - 190px);overflow:auto;overscroll-behavior:contain;background:#0c1c2f;color:#fff;border:1px solid #29435c;border-radius:14px;padding:16px;box-shadow:0 -12px 40px #0c1c2f44}
 .sc-mobile-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.sc-mobile-sheet-heading h2{font:700 16px system-ui;margin:0}.sc-mobile-nav-sheet button{min-height:46px;border:1px solid #29435c;border-radius:7px;padding:9px;background:#142b42;color:#fff;font:500 13px system-ui;text-align:left}.sc-mobile-sheet-heading button{border:0;background:transparent}
 .sc-mobile-nav-sheet nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sc-mobile-nav-sheet nav button{display:flex;align-items:center;gap:8px}.sc-mobile-nav-sheet nav svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sc-mobile-nav-sheet button:disabled{color:#8da1b8}
 .sc-mobile-bottom-nav button:focus-visible,.sc-mobile-nav-sheet button:focus-visible,.sc-mobile-app-header button:focus-visible{outline:3px solid #168dff;outline-offset:2px}
 html body .workflow-view-toolbar{bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}
 html{scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}input,select,textarea{scroll-margin-bottom:120px}
}
@media(min-width:801px){html body #stormcoreApp{padding-left:208px!important}.sc-mobile-app-header,.sc-mobile-bottom-nav,.sc-mobile-nav-sheet{display:none!important}.production-sidebar{transform:none!important}}
.schedule-toolbar,.schedule-tabs,.schedule-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}.schedule-workspace input,.schedule-workspace select,.schedule-form input,.schedule-form select,.schedule-form textarea{box-sizing:border-box;min-height:44px;padding:9px 12px;font:14px system-ui;border:1px solid #b8cee5;border-radius:7px;background:#fff;color:#142033;max-width:100%}.schedule-workspace button,.schedule-workspace a,.schedule-form button,.sc-location-consent button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;font:600 13px system-ui;border:1px solid #b8cee5;border-radius:7px;background:#edf5ff;color:#075fc7;text-decoration:none}.schedule-tabs button[aria-pressed=true],.schedule-form button[type=submit]{background:#075fc7;color:#fff;border-color:#075fc7}.schedule-stop{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e0e8f1;padding:16px 0;min-width:0}.schedule-stop>div{min-width:0}.schedule-stop strong{font:700 14px system-ui}.schedule-stop p{color:#496078;font:13px/1.6 system-ui;margin:6px 0;overflow-wrap:anywhere}.schedule-stop small{font:12px/1.6 system-ui;color:#496078}.schedule-note{font:13px/1.6 system-ui;color:#496078}.schedule-form{display:grid;gap:16px}.schedule-form label{display:grid;gap:7px;font:600 14px system-ui;min-width:0}.schedule-form input,.schedule-form select,.schedule-form textarea{width:100%}.schedule-field-row,#appointmentNewCustomer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.schedule-form .schedule-check{display:flex;align-items:center}.schedule-form .schedule-check input{width:18px;min-height:18px}.schedule-form [role=alert]{color:#b42332}.schedule-workspace button:disabled{opacity:.5}.schedule-team-locations{margin-top:20px}.schedule-team-locations h2{font:700 18px system-ui}.sc-location-consent{box-sizing:border-box;width:min(520px,calc(100vw - 28px));border:1px solid #b8cee5;border-radius:12px;padding:22px;background:#fff;color:#142033;box-shadow:0 20px 70px #102b4938;font:14px/1.6 system-ui}.sc-location-consent::backdrop{background:#132b4766}.sc-location-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.sc-location-heading h2{font:700 20px system-ui;margin:0}.sc-location-heading button{border:0;background:transparent;padding:4px}.sc-location-consent [role=alert]{color:#b42332}.sc-location-consent .schedule-actions button:first-child{background:#075fc7;color:#fff}.sc-location-consent button:focus-visible,.schedule-workspace button:focus-visible,.schedule-workspace a:focus-visible{outline:3px solid #168dff;outline-offset:2px}
@media(max-width:800px){.schedule-stop{flex-direction:column;align-items:stretch;gap:8px}.schedule-stop .schedule-actions>*{flex:1}.schedule-field-row,#appointmentNewCustomer{grid-template-columns:1fr}.schedule-form input,.schedule-form select,.schedule-form textarea{font-size:16px}.schedule-toolbar{align-items:stretch}.schedule-toolbar>*{flex:1;min-width:0}.schedule-toolbar input[type=date]{flex-basis:100%}}

/* Schedule day/week/month views: existing navy/blue controls and touch targets. */
.schedule-period-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.schedule-period-day{min-width:0;border:1px solid #b8cee5;border-radius:7px;padding:8px;background:#fff}.schedule-period-day>button{width:100%;white-space:normal;text-align:left;justify-content:flex-start}.schedule-period-day p{font:12px system-ui;color:#496078}.schedule-period-day .schedule-period-appointment{margin-top:8px;font-weight:400;overflow-wrap:anywhere}
@media(max-width:1100px){.schedule-period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.schedule-period-grid{grid-template-columns:1fr}}

.schedule-job-date{border-left:3px solid #075fc7;padding:6px 10px;color:#142033}
/* Native edit dialogs must remain above the fixed mobile navigation. */
@media(max-width:800px){#modal.modal:not([data-workspace-page]){z-index:2600!important}}

/* Contacts: shared StormCore directory, with category-specific forms and record IDs. */
#modal[data-workspace-page=contacts] .contacts-tabs{justify-content:flex-start;flex-wrap:wrap;padding:6px;background:#edf5ff;border-radius:10px;border:1px solid #d5e5f6}
.contacts-tabs button[aria-pressed=true]{background:#075fc7;color:#fff;border-color:#075fc7}
#modal[data-workspace-page=contacts] .module-toolbar{flex-wrap:wrap}
#modal[data-workspace-page=contacts] .module-toolbar input{flex:1 1 260px}
#modal[data-workspace-page=contacts] .module-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}
#modal[data-workspace-page=contacts] .module-record{flex-direction:column;align-items:stretch;justify-content:space-between;gap:16px;padding:18px;border:1px solid #d5e3f1;border-top:3px solid #075fc7;border-radius:10px;background:#f8fbff}
#modal[data-workspace-page=contacts] .module-record strong{display:block;color:#0c1c2f;font-size:16px}
#modal[data-workspace-page=contacts] .module-record strong+small{display:inline-block;margin-top:8px;border-radius:20px;padding:3px 10px;background:#e5f0ff;color:#075fc7;font-weight:600}
#modal[data-workspace-page=contacts] .module-actions{flex-wrap:wrap}
@media(max-width:600px){#modal[data-workspace-page=contacts] .contacts-tabs{gap:6px}.contacts-tabs button{flex:1 1 40%}#modal[data-workspace-page=contacts] .module-toolbar .module-primary{flex:1 1 40%}}

#modal[data-workspace-page=contacts] #modalBody h2{color:#0c1c2f;font:700 22px system-ui;margin:0 0 20px}
#modal[data-workspace-page=contacts] #modalBody label{color:#203d5c}
#modal[data-workspace-page=contacts] #modalBody input:not([type=checkbox]):not([type=radio]),#modal[data-workspace-page=contacts] #modalBody select,#modal[data-workspace-page=contacts] #modalBody textarea{box-sizing:border-box;max-width:100%;min-height:44px;border:1px solid #c6daee;border-radius:7px;padding:10px 12px;background:#fff;color:#142033}
#modal[data-workspace-page=contacts] #modalBody input:focus-visible,#modal[data-workspace-page=contacts] #modalBody select:focus-visible,#modal[data-workspace-page=contacts] #modalBody textarea:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
#modal[data-workspace-page=contacts] #saveCustomer,#modal[data-workspace-page=contacts] #saveVendor,#modal[data-workspace-page=contacts] #saveContractor{min-height:44px;background:#075fc7;color:white;border-color:#075fc7;border-radius:7px}

#modal[data-workspace-page=contacts] #modalBody h2{color:#0c1c2f;font:700 22px system-ui;margin:0 0 20px}
#modal[data-workspace-page=contacts] #modalBody label{color:#203d5c}
#modal[data-workspace-page=contacts] #modalBody input:not([type=checkbox]):not([type=radio]),#modal[data-workspace-page=contacts] #modalBody select,#modal[data-workspace-page=contacts] #modalBody textarea{box-sizing:border-box;max-width:100%;min-height:44px;border:1px solid #c6daee;border-radius:7px;padding:10px 12px;background:#fff;color:#142033}
#modal[data-workspace-page=contacts] #modalBody input:focus-visible,#modal[data-workspace-page=contacts] #modalBody select:focus-visible,#modal[data-workspace-page=contacts] #modalBody textarea:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
#modal[data-workspace-page=contacts] #saveCustomer,#modal[data-workspace-page=contacts] #saveVendor,#modal[data-workspace-page=contacts] #saveContractor{min-height:44px;background:#075fc7;color:white;border-color:#075fc7;border-radius:7px}

/* Accessible customer-linked appointment actions. */
.workday-add-appointment,.module-heading .contact-add-appointment,.schedule-toolbar .schedule-add-appointment{box-sizing:border-box;min-height:44px;padding:11px 16px!important;border:1px solid #075fc7!important;border-radius:7px;background:#075fc7!important;color:#fff!important;font:700 14px system-ui;white-space:normal}
.customer-appointments{border:1px solid #d5e3f1;border-radius:10px;background:#f8fbff;padding:16px;margin:18px 0}.customer-appointments h3{margin-top:0;color:#0c1c2f}.customer-appointments button{min-height:44px}.customer-appointments article{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.customer-appointments span{overflow-wrap:anywhere}.workday-add-appointment:focus-visible,.contact-add-appointment:focus-visible,.schedule-add-appointment:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}@media(max-width:600px){.workday-header-actions{flex-wrap:wrap}.workday-add-appointment,.module-heading .contact-add-appointment{width:100%}.customer-appointments article button{width:100%}}

/* FINAL114: calendar and daily appointment routes remain visible together. */
.schedule-dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;margin:20px 0 24px;align-items:start}
.schedule-calendar-panel,.schedule-map-panel{min-width:0;border:1px solid #bed3e5;border-radius:12px;background:#fff;padding:18px;box-sizing:border-box}
.schedule-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.schedule-panel-heading h3{font-size:1rem;margin:0;color:#123c5b}.schedule-panel-heading>span{font-size:.75rem;color:#58758c;white-space:nowrap}
.schedule-month-arrows{display:flex;gap:8px;flex:none}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.schedule-weekday{font-size:.6875rem;color:#5a7489;text-align:center;padding:6px 0}
.schedule-map-surface{display:grid;place-items:center;min-height:370px;background:#edf4fa;border:1px solid #d6e3ef;border-radius:8px;overflow:hidden;color:#47647c;text-align:center}
.schedule-map-surface>p,.schedule-map-empty{padding:24px}.schedule-map-empty strong{color:#143e5b;font-size:1rem}.schedule-map-empty p{font-size:.8125rem}
.schedule-route-map{display:block;width:100%;height:410px;border:0;background:#edf4fa}
.schedule-route-summary{max-height:220px;overflow:auto;padding-left:24px;color:#0874cf;font-size:.8125rem;margin:16px 0}.schedule-route-summary li{padding:6px 0}.schedule-route-summary strong,.schedule-route-summary span{display:block;color:#173e5b;overflow-wrap:anywhere}.schedule-route-summary span{font-size:.75rem;color:#5b7285;margin-top:3px}
.schedule-map-panel>a{margin:6px 6px 0 0}.schedule-map-panel>select{width:100%;margin-bottom:10px}
@layer stormcore-actions{@media screen{
 #workspaceModule .schedule-month-arrows button{min-width:40px!important;width:40px!important;min-height:40px!important;padding:0!important;margin:0!important;font-size:20px!important}
 #workspaceModule .schedule-month-grid .schedule-month-date{position:relative;display:flex!important;flex-direction:column;justify-content:flex-start!important;gap:6px!important;min-width:0!important;width:100%!important;min-height:68px!important;padding:9px 3px!important;margin:0!important;background:#f1f6fb!important;color:#234e6e!important;border:1px solid #e0eaf3!important;border-radius:8px!important;box-shadow:none!important;font-size:.8125rem!important}
 #workspaceModule .schedule-month-grid .schedule-month-date[aria-pressed=true]{background:#075fc7!important;color:#fff!important;border-color:#238de8!important}
 #workspaceModule .schedule-month-grid .schedule-month-date[data-today=true]{border-color:#0878dd!important}
 .schedule-date-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 3px;border-radius:5px;background:#d2eaff;color:#0756a5;font-size:.625rem;line-height:1}
 #workspaceModule .schedule-month-grid .schedule-month-date[data-jobs=true]:after{content:'';width:4px;height:4px;position:absolute;right:5px;bottom:5px;border-radius:50%;background:#00a7c8}
 #workspaceModule .schedule-month-grid .schedule-month-date:focus-visible{outline:3px solid #0878dd!important;outline-offset:2px!important}
 @media(max-width:800px),(pointer:coarse){#workspaceModule .schedule-month-arrows button{min-width:44px!important;width:44px!important;min-height:44px!important}}
}}
@media(max-width:1100px){.schedule-dashboard{grid-template-columns:1fr}.schedule-map-surface{min-height:320px}.schedule-route-map{height:360px}}
@media(max-width:540px){.schedule-dashboard{gap:14px}.schedule-calendar-panel,.schedule-map-panel{padding:12px}.schedule-month-grid{gap:8px}.schedule-weekday{font-size:.625rem}.schedule-map-surface{min-height:280px}.schedule-route-map{height:320px}}

/* OpenFreeMap map surface, controls and attribution are scoped to Schedule. */
.schedule-map-surface{display:block;position:relative;overflow:visible;text-align:left}
.schedule-open-map{width:100%;height:410px;min-height:280px;border-radius:8px;overflow:hidden}
.schedule-map-status{font-size:.75rem;line-height:1.6;color:#42617a;margin:0;padding:10px 12px!important;background:#f2f7fb;border-radius:0 0 8px 8px;overflow-wrap:anywhere}
.schedule-map-status a{display:inline!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;font:inherit!important;color:#075fc7!important}
.schedule-map-surface .maplibregl-popup-content{font:12px/1.5 var(--sc-ui-font);color:#153b58;max-width:240px}.schedule-map-surface .maplibregl-popup-content p{margin:4px 0;overflow-wrap:anywhere}
.schedule-map-surface .maplibregl-ctrl-attrib{font-size:10px!important;line-height:1.5!important;padding:3px 5px!important;max-width:100%}.schedule-map-surface .maplibregl-ctrl-attrib a{display:inline!important;font:inherit!important;color:#234e6d!important;background:none!important;border:0!important;min-height:0!important;padding:0!important;margin:0!important}
@layer stormcore-actions{@media screen{
 #workspaceModule .schedule-map-surface .maplibregl-ctrl button{display:block!important;min-width:40px!important;width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;margin:0!important;background:#fff!important;color:#153b58!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 #workspaceModule .schedule-map-surface button.schedule-map-pin{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;margin:0!important;border-radius:50%!important;border:2px solid #fff!important;background:#075fc7!important;color:#fff!important;box-shadow:0 2px 7px #102b4960!important;font-size:12px!important;cursor:pointer}
 #workspaceModule .schedule-map-surface .maplibregl-popup-close-button{display:block!important;position:absolute!important;top:0!important;right:0!important;min-width:32px!important;min-height:32px!important;width:32px!important;height:32px!important;padding:0!important;background:#fff!important;color:#153b58!important;border:0!important;box-shadow:none!important}
 @media(max-width:800px),(pointer:coarse){#workspaceModule .schedule-map-surface .maplibregl-ctrl button{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important}}
}}
@media(max-width:1100px){.schedule-open-map{height:360px}}@media(max-width:540px){.schedule-open-map{height:320px}}

@layer stormcore-actions{@media(max-width:800px),(pointer:coarse){#workspaceModule .schedule-map-surface button.schedule-map-pin{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;}}}
