@font-face{font-family:"Open Sans";src:url("/open-sans.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:Vollkorn;src:url("/vollkorn.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
:root{--ink:#18384e;--muted:#637584;--bg:#f3f6f8;--paper:#fff;--line:#e0e7ec;--dark:#113e5b;--accent:#ed4549;--green:#3c785e;--red:#c33c42;--blue:#276b93;font-family:"Open Sans","Segoe UI",sans-serif;color-scheme:light}
h1{font-family:Vollkorn,Georgia,serif;letter-spacing:-.5px;font-weight:650}
.brand-logo{display:block;width:150px;max-width:100%;height:auto}.brand .eyebrow{margin-top:13px;color:#c0d6e3;font-size:8px}.sidebar{background:linear-gradient(160deg,#103a57,#0e2b40)}.nav-link:hover{background:#21465f}.nav-link.active{background:#284f69}.nav-link.active svg{color:#ff7175}.nav-group{color:#97b7c9}.sidebar-note{color:#afc2cf}.field-switch{background:#20465f;border-color:#3a5b70}.btn-primary{background:var(--accent);border-color:var(--accent);color:white}.btn-primary:hover{background:#d3383e}.stat-icon{background:#edf3f7;color:#30688c}.stat-foot.good{color:#38745b}.site-symbol{background:#eef3f7;color:#46708e}.page-heading .eyebrow{color:#487690}.progress-track i{background:#3d83a9}.tab.active{border-bottom-color:var(--accent)}.avatar{background:#e8f0f6;color:#39617d}.field-intro{background:linear-gradient(135deg,#123e5c,#0b2c43)}.field-intro h2{font-family:Vollkorn,Georgia,serif;font-weight:600}.field-intro:after{border-color:#3c6884}.field-intro .eyebrow{color:#adc6d6}.field-intro p{color:#c3d3df}.text-link{color:#376f93}.account-name{display:block;font-size:12px;font-weight:650}.account-role{display:block;font-size:9px;color:var(--muted);margin-top:4px}.topbar-tools>.btn{font-size:10px}.theme-toggle{min-width:36px;min-height:36px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:linear-gradient(145deg,#154968,#0a2539);color:white;display:flex;flex-direction:column;justify-content:space-between;gap:55px;padding:66px 68px;position:relative;overflow:hidden}.login-story:before{content:"";position:absolute;width:450px;height:800px;right:-400px;bottom:-180px;border:100px solid #4a87ac2c;transform:rotate(25deg);pointer-events:none}.login-logo{width:190px;height:auto;align-self:flex-start}.login-story h1{font-size:55px;line-height:1.13;letter-spacing:-1px;margin:22px 0 24px;position:relative}.login-story p{font-size:14px;color:#c1d3df;line-height:1.9}.login-story .eyebrow{font-size:10px;color:#b4cddd;letter-spacing:2.5px}.login-story>small{color:#abc5d6;font-size:11px}.login-markings{display:flex;gap:14px;margin-top:38px}.login-markings i{width:43px;height:5px;background:#fff}.login-markings i:last-child{background:var(--accent)}.login-area{display:flex;align-items:center;justify-content:center;position:relative;padding:60px 40px;background:var(--bg)}.login-theme{position:absolute;right:24px;top:22px}.login-card{width:100%;max-width:360px}.login-card>.eyebrow{color:#598197;font-size:9px;letter-spacing:1.7px}.login-card h2{font-family:Vollkorn,Georgia,serif;font-size:33px;line-height:1.3;margin:16px 0 10px}.login-card>p{font-size:12px;color:var(--muted);margin-bottom:30px}.login-card .field{margin-bottom:20px}.login-card input{min-height:49px;font-size:15px}.login-card .field label{font-size:12px}.login-card .btn{min-height:49px;margin-top:10px;font-size:13px}.login-foot{font-size:10px;line-height:1.9;color:var(--muted);padding-top:35px}.login-foot a{color:#4f809c}.login-card .form-error{margin-bottom:15px}.login-card .form-error:empty{margin:0;padding:0}.topbar{background:var(--paper)}.form-error{color:#b63036}
[data-theme=dark]{--ink:#e1ebf3;--muted:#9eafbe;--bg:#0c1822;--paper:#142432;--line:#2c4050;--dark:#0f324b;--green:#88bba1;--orange:#e0a468;--red:#f08287;--blue:#8cbedb;color-scheme:dark}
[data-theme=dark] .topbar{background:#10202d}
[data-theme=dark] .btn{background:#1b3041;border-color:#344b5d;color:#e0eaf3}
[data-theme=dark] .btn-primary{background:#d93e46;border-color:#d93e46;color:white}
[data-theme=dark] .btn-quiet{background:transparent}
[data-theme=dark] .btn-primary:hover{background:#ef4e56}
[data-theme=dark] .btn-danger{background:#422630;border-color:#633841;color:#f1a0a5}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#10202c;color:#e1ebf3;border-color:#3a5366}
[data-theme=dark] .icon-button:hover{background:#253b4d;color:#e4eef6}
[data-theme=dark] .avatar{background:#27435a;color:#b1d2e7}
[data-theme=dark] .stat-icon,[data-theme=dark] .site-symbol,[data-theme=dark] .activity-icon{background:#233b4d;color:#90b8d4}
[data-theme=dark] .stat-alert .stat-icon{background:#433426;color:#e3b383}
[data-theme=dark] .stat-foot.good{color:#90c3a8}
[data-theme=dark] .stat-foot.warn{color:#e1ad73}
[data-theme=dark] .site-row:hover,[data-theme=dark] tbody tr:hover,[data-theme=dark] th,[data-theme=dark] .billing-total,[data-theme=dark] .chat-form,[data-theme=dark] .field-card-actions,[data-theme=dark] .modal-foot,[data-theme=dark] .calendar-head{background:#192d3c}
[data-theme=dark] td,[data-theme=dark] .site-row{border-color:var(--line)}
[data-theme=dark] .badge.open,[data-theme=dark] .pill{background:#2b3d48;color:#bed0db}
[data-theme=dark] .badge.in_progress{background:#223e56;color:#a3c6df}
[data-theme=dark] .badge.blocked,[data-theme=dark] .badge.high{background:#4b3426;color:#edbb8f}
[data-theme=dark] .badge.done,[data-theme=dark] .badge.resolved{background:#294437;color:#a4d0b6}
[data-theme=dark] .badge.cancelled{background:#472a32;color:#e6a5b2}
[data-theme=dark] .progress-track{background:#304452}
[data-theme=dark] .progress-label{color:#bdcdd9}
[data-theme=dark] .action-tile{background:#1e3646;color:#a8c7dc;border-color:#365366}
[data-theme=dark] .action-tile.danger{background:#3c3029;color:#e3af82;border-color:#665043}
[data-theme=dark] .note-card,[data-theme=dark] .queue-banner{background:#3f3326;color:#e0bc94;border-color:#67513a}
[data-theme=dark] .note-card strong{color:#f1cb9d}
[data-theme=dark] .description,[data-theme=dark] .info-label,[data-theme=dark] .table-secondary{color:#a3b6c5}
[data-theme=dark] .text-link,[data-theme=dark] .login-foot a{color:#91bad5}
[data-theme=dark] dialog,[data-theme=dark] .modal-head{background:#142432;color:#e1ebf3}
[data-theme=dark] .upload-zone,[data-theme=dark] .file-placeholder{background:#192d3c;border-color:#425c6e}
[data-theme=dark] .bubble{background:#233c4d}
[data-theme=dark] .mine .bubble{background:#29495d}
[data-theme=dark] .form-error{background:#40272e;color:#f3a3aa}
[data-theme=dark] .calendar-head.current,[data-theme=dark] .calendar-cell.current{background:#223b4c}
[data-theme=dark] .calendar-event{background:color-mix(in srgb,var(--crew-color) 25%,#142432);color:#e5edf4}
[data-theme=dark] .calendar-event small{color:#b2c4d1}
[data-theme=dark] .mobile-nav{background:#122331f5}
[data-theme=dark] .mobile-nav a{color:#a3b8c8}
[data-theme=dark] .mobile-nav a.active,[data-theme=dark] .mobile-nav a.active svg{color:#ff8085}
[data-theme=dark] .map-svg{background:#1c3242}
[data-theme=dark] .map-svg text{fill:#b5c9d7}
[data-theme=dark] #map-grid path{stroke:#2d4658}
[data-theme=dark] .map-svg>rect{fill:#1c3242;fill-opacity:.4}
[data-theme=dark] .login-card>.eyebrow{color:#9abdce}
[data-theme=dark] .login-area{background:#0d1b26}
@media(max-width:900px){.login-story{padding:48px 35px}.login-story h1{font-size:42px}.login-area{padding:60px 28px}.brand-logo{width:125px}}
@media(max-width:640px){.login-page{display:flex;flex-direction:column}.login-story{padding:28px 25px;gap:26px;min-height:235px}.login-logo{width:108px}.login-story h1{font-size:33px;margin:15px 0 10px}.login-story p{font-size:11px}.login-story>small,.login-markings{display:none}.login-area{padding:42px 25px;flex:1}.login-card h2{font-size:29px}.login-card>.eyebrow{font-size:8px}.login-theme{right:12px;top:10px}.topbar-tools{gap:5px}.account-name{font-size:10px}.account-role{font-size:8px}.topbar-tools>.btn{padding:7px 9px;min-height:34px;font-size:9px}.identity{gap:6px}.identity .avatar{width:25px;height:25px}.brand-logo{width:150px}}
@media print{[data-theme=dark]{--ink:#18384e;--muted:#738491;--bg:white;--paper:white;--line:#ddd;color-scheme:light}[data-theme=dark] th,[data-theme=dark] .billing-total{background:#f5f5f5}}

/* Custom company identity and practical field controls */
h1,.field-intro h2,.login-card h2{font-family:var(--heading-font,Vollkorn,Georgia,serif)}
.sidebar{background:linear-gradient(150deg,var(--brand-sidebar,#113e5b),color-mix(in srgb,var(--brand-sidebar,#113e5b) 65%,#07131f))}
.btn-primary,[data-theme=dark] .btn-primary{background:var(--accent);border-color:var(--accent);color:white}
.btn-primary:hover,[data-theme=dark] .btn-primary:hover{background:color-mix(in srgb,var(--accent) 85%,black)}
.company-logo,.preview-logo{display:block;max-width:185px;padding:5px;border-radius:5px}.company-logo img,.preview-logo img{display:block;width:100%;height:auto;max-height:110px;object-fit:contain}.logo-surface-light{background:#fff}.logo-surface-dark{background:#113e5b}
.product-label{font-weight:800;font-size:11px;letter-spacing:3px;color:#b7d1e1;margin-bottom:17px}
.branding-preview{padding-top:20px}.preview-logo{max-width:230px;background:var(--brand-sidebar,#113e5b)}
.spot-wordmark{font-weight:800;font-size:43px;letter-spacing:5px;line-height:1.3}.spot-wordmark span{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:5px}
.site-map{height:490px;min-height:300px;border-radius:7px;z-index:0}.map-toolbar,.map-buttons{display:flex;gap:6px}.map-toolbar [aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper);color:var(--ink)}.leaflet-popup-content a{color:var(--blue)}.leaflet-container{font-family:"Open Sans",sans-serif}
.map-status{font-size:11px;line-height:1.7;padding-top:10px;color:var(--muted)}
.progress-control>label{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress-output{font-size:20px;font-weight:700;color:var(--ink)}.progress-control input[type=range]{appearance:none;border:0;width:100%;height:44px;padding:0;background:transparent;cursor:pointer;accent-color:var(--accent)}
.progress-control input[type=range]::-webkit-slider-runnable-track{height:8px;background:var(--line);border-radius:8px}.progress-control input[type=range]::-webkit-slider-thumb{appearance:none;height:27px;width:27px;border:3px solid var(--paper);border-radius:50%;background:var(--accent);box-shadow:0 1px 4px #0004;margin-top:-9px}
.progress-control input[type=range]::-moz-range-track{height:8px;background:var(--line);border-radius:8px}.progress-control input[type=range]::-moz-range-thumb{height:23px;width:23px;border:3px solid var(--paper);border-radius:50%;background:var(--accent)}.progress-control input:disabled{opacity:.45}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.photo-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-choices .btn{min-height:62px;white-space:normal}.selected-files{font-size:12px;margin:16px 0;overflow-wrap:anywhere}
.notification-bell{position:relative}.notification-item{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:23px;border-bottom:1px solid var(--line)}.notification-item.unread{border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--paper))}.notification-item h3{font-size:14px;margin:13px 0 8px}.notification-item small{font-size:10px;color:var(--muted);margin-left:12px}.notification-item p{font-size:12px;line-height:1.8;white-space:pre-wrap}.notification-item>.btn{flex-shrink:0}
.resource-stock{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:12px}.resource-stock span{color:var(--muted)}.resource-allocation{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.9}.resource-allocation p{font-size:11px;color:var(--muted);white-space:pre-wrap;margin:5px 0}.resource-allocation>.btn{flex-shrink:0}
@media(max-width:640px){.site-map{height:390px}.spot-wordmark{font-size:30px}.spot-wordmark span{font-size:8px}.map-toolbar .btn{padding:8px}.notification-item{flex-direction:column;padding:20px}.notification-item>.btn{align-self:flex-end}.resource-allocation{flex-wrap:wrap}.resource-stock{flex-wrap:wrap}.photo-choices{gap:7px}.photo-choices .btn{font-size:11px}}

.site-code,.footer-note,.local-label{color:var(--muted)}
