:root{--bg:#eaf7ff;--surface:#fff;--surface-2:#f0faff;--sidebar-bg:#075985;--sidebar-hover:#bae6fd29;--sidebar-active:#0284c7;--text:#102236;--text-muted:#5d7486;--border:#c7e6f7;--primary:#0284c7;--primary-hover:#0369a1;--danger:#dc2626;--success:#059669;--radius:10px;--shadow:0 10px 30px #0759851f, 0 1px 2px #07598514;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}.text-light{color:#fff}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 12%,#38bdf838,#0000 28%),radial-gradient(circle at 82% 18%,#7dd3fc57,#0000 30%),linear-gradient(135deg,#eaf7ff 0%,#f8fcff 48%,#dff3ff 100%);min-height:100vh;margin:0}#root{min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.loading-screen{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:linear-gradient(135deg,#082f49f0,#0284c7e6),radial-gradient(circle at 28% 18%,#7dd3fc5c,#0000 28%),radial-gradient(circle at 72% 82%,#67e8f94d,#0000 32%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border-radius:16px;width:100%;max-width:420px;padding:2rem;position:relative;box-shadow:0 20px 60px #00000040}.login-lang-row{justify-content:flex-end;margin-bottom:.5rem;display:flex}.language-switcher{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.language-switcher select{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .5rem;font-size:.85rem}.header-language-switcher{margin-right:.25rem}.header-language-switcher .language-switcher-label{display:none}@media (width<=768px){.header-language-switcher select{max-width:7rem}}.login-brand{text-align:center;margin-bottom:1.5rem}.app-logo{object-fit:contain;display:block}.app-logo--login{width:min(140px,70%);height:auto;margin:0 auto .5rem}.app-logo--sidebar{width:100%;max-width:110px;height:auto;margin:0 auto}.app-logo--sidebar-collapsed{object-fit:cover;object-position:top center;background:#fff;border-radius:6px;width:32px;height:32px}.app-logo--header{object-fit:cover;object-position:top center;background:#fff;border-radius:8px;flex-shrink:0;width:40px;height:40px}.app-logo--loading{width:120px;height:auto;margin-bottom:.25rem}.login-brand p{color:var(--text-muted);margin:0;font-size:.9rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form label{flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;display:flex}.login-form input{border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem;font-size:.95rem}.login-form .speech-input-wrap,.login-captcha-row .speech-input-wrap{width:100%}.login-form .speech-input-wrap>input,.login-captcha-row .speech-input-wrap>input{width:100%;padding-right:2.75rem}.login-password-wrap{align-items:stretch;width:100%;display:flex;position:relative}.login-password-wrap input{width:100%;padding-right:2.75rem}.login-password-toggle{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--primary);background:#e6f8fb}.login-form input.input-error{background:#fef2f2;border-color:#ef4444}.login-form input.input-error:focus{border-color:#ef4444;outline:2px solid #ef444440}.login-form label.has-error{color:#b91c1c}.login-form label.login-remember{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-self:flex-start;align-items:center;gap:.5rem;margin-top:-.25rem;font-size:.875rem;font-weight:500}.login-form label.login-remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.login-submit-btn{justify-content:center;width:100%;padding:.75rem 1.5rem}.field-error{color:#dc2626;font-size:.8rem;font-weight:500;line-height:1.3}.login-alert{border-radius:8px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem .9rem;font-size:.875rem;line-height:1.45;display:flex}.login-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.login-alert-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.login-alert svg{flex-shrink:0;margin-top:.1rem}.login-help-text{color:var(--text-muted);text-align:center;margin:0 0 1rem;font-size:.875rem;line-height:1.45}.login-footer-link{text-align:center;margin:1rem 0 0;font-size:.875rem}.login-footer-link a{color:var(--primary);font-weight:500}.login-forgot-link{color:var(--primary);font-size:.8rem;font-weight:500}.login-captcha{flex-direction:column;gap:.35rem;display:flex}.login-captcha-label{font-size:.875rem;font-weight:500}.login-captcha.has-error .login-captcha-label{color:#b91c1c}.login-captcha-row{flex-direction:column;gap:.5rem;display:flex}.login-captcha-top{align-items:stretch;gap:.5rem;min-width:0;display:flex}.login-captcha-image-wrap{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex:1;min-width:0;height:52px;overflow:hidden}.login-captcha-image{object-fit:cover;width:100%;height:52px;display:block}.login-captcha-placeholder{width:100%;height:52px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.8rem;display:flex}.login-captcha-refresh{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:52px;padding:0;display:inline-flex}.login-captcha-input{box-sizing:border-box;border:1px solid var(--border);letter-spacing:.06em;border-radius:8px;width:100%;padding:.65rem .85rem;font-size:.95rem}.login-captcha-input.input-error{background:#fef2f2;border-color:#ef4444}.login-captcha-input.input-error:focus{border-color:#ef4444;outline:2px solid #ef444440}.login-captcha-input:focus{border-color:var(--primary);outline:2px solid #0f8a9d2e}.login-hints{border-top:1px solid var(--border);color:var(--text-muted);margin-top:1.25rem;padding-top:1rem;font-size:.8rem}.login-hints p{margin:.25rem 0}.login-forgot-row{justify-content:flex-end;margin-top:.35rem;display:flex}.login-forgot-link{color:var(--primary);font-size:.85rem;text-decoration:none}.login-forgot-link:hover{text-decoration:underline}.login-help-text{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.login-footer-link{text-align:center;margin-top:1.25rem;font-size:.9rem}.login-footer-link a{color:var(--primary);text-decoration:none}.login-footer-link a:hover{text-decoration:underline}.admin-layout{height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.admin-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.admin-content{-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 18% 8%,#38bdf82e,#0000 30%),radial-gradient(circle at 76% 22%,#67e8f93d,#0000 34%),linear-gradient(135deg,#eef9ff 0%,#fbfdff 50%,#dff3ff 100%);flex:1;min-height:0;padding:1rem;overflow-y:auto}.sidebar{color:#e0f7ff;background:linear-gradient(135deg,#08466cf2,#0284c7e6),radial-gradient(circle at 80% 12%,#bae6fd40,#0000 30%),repeating-linear-gradient(115deg,#ffffff0f 0 1px,#0000 1px 22px);border-radius:20px;flex-direction:column;flex-shrink:0;width:260px;max-height:100vh;margin:10px;transition:width .2s;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{width:72px}.sidebar-brand{border-bottom:1px solid #e0f7ff3d;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex}.sidebar.collapsed .sidebar-brand{padding:.65rem .35rem}.sidebar-brand-tag{opacity:.82;color:#fff;text-align:center;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.65rem}.sidebar-nav{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:.75rem .5rem;overflow:hidden auto}.sidebar-link{color:#e6f8ff;border-radius:8px;align-items:center;gap:.65rem;margin-bottom:2px;padding:.6rem .85rem;font-size:.875rem;transition:background .15s,box-shadow .15s,color .15s;display:flex}.sidebar-link:hover{background:var(--sidebar-hover);color:#fff}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#0284c7f5,#0ea5e9eb);box-shadow:0 8px 24px #08466c57}.sidebar-link.depth-1{padding-left:2rem;font-size:.825rem}.sidebar-group-title{color:#bae6fd;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.6rem .85rem;font-size:.75rem;font-weight:600;display:flex}.sidebar-link-left{align-items:center;gap:.65rem;display:flex}.sidebar-group-title .rotated{transform:rotate(180deg)}.sidebar-children{margin-bottom:.25rem}.sidebar-toggle{width:24px;height:24px;color:var(--primary);cursor:pointer;z-index:10;background:#fff;border:1px solid #0284c747;border-radius:50%;font-size:.75rem;position:absolute;bottom:72px;right:-12px}.sidebar-backdrop,.sidebar.collapsed .sidebar-group-title span,.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .sidebar-group-title svg:last-child{display:none}@media (width>=769px){.sidebar.collapsed,.sidebar.collapsed .sidebar-nav{overflow:visible}.sidebar.collapsed .sidebar-link[data-tooltip]{position:relative}.sidebar.collapsed .sidebar-link[data-tooltip]:after{content:attr(data-tooltip);z-index:1000;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#0f172a;border-radius:6px;max-width:220px;padding:.45rem .65rem;font-size:.78rem;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + .6rem);transform:translateY(-50%)translate(-4px);box-shadow:0 8px 20px #0f172a40}.sidebar.collapsed .sidebar-link[data-tooltip]:hover:after,.sidebar.collapsed .sidebar-link[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}}.admin-header{border-bottom:1px solid var(--border);background:#ffffffeb;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex}.admin-header-brand{align-items:center;gap:.75rem;min-width:0;display:flex}.mobile-menu-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:none}.admin-header h2{margin:0;font-size:1.1rem}.admin-header p{color:var(--text-muted);margin:0;font-size:.8rem}.header-actions{align-items:center;gap:.75rem;display:flex}.user-chip{background:#e0f5ff;border:1px solid #b7e3fa;border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.8rem;display:flex}.user-chip strong{font-size:.85rem;display:block}.user-chip span{color:var(--text-muted);font-size:.75rem}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7,#0ea5e9)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0369a1,#0284c7)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--text);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:#e7f7ff}.btn-block{justify-content:center;width:100%;padding:.75rem}.btn-icon{cursor:pointer;width:32px;height:32px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-icon:hover{color:var(--primary);background:#e7f7ff;border-color:#b8e2f7}.btn-icon.danger:hover{color:var(--danger);background:#fef2f2;border-color:#fecaca}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0 0 .25rem;font-size:1.5rem}.page-header p{color:var(--text-muted);margin:0;font-size:.9rem}.page-actions{gap:.5rem;display:flex}.panel{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;padding:1.25rem}.society-message-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;gap:1rem;display:grid}.society-messages-page .panel{border-radius:8px}.society-message-composer{max-width:980px}.society-message-composer .form-field{margin-bottom:.85rem}.society-message-composer .form-field label{margin-bottom:.35rem}.society-message-composer textarea{min-height:156px}.message-channel-row,.message-template-row{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.channel-toggle{border:1px solid var(--border);min-height:42px;color:var(--text);cursor:pointer;background:#f8fafc;border-radius:8px;align-items:center;gap:.55rem;padding:.5rem .7rem;display:inline-flex}.channel-toggle input{width:1rem;height:1rem}.channel-toggle span{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.whatsapp-toggle span{color:#15803d}.template-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:.45rem .65rem;font-size:.84rem;font-weight:600}.template-chip:hover{border-color:var(--primary);color:var(--primary)}.message-preview-header{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.8rem;font-weight:700;display:flex}.chat-preview{background:#eef7f0;border:1px solid #d7eadb;border-radius:8px;min-height:150px;padding:.9rem}.chat-bubble{color:#16351f;background:#dcf8c6;border:1px solid #bfe8a6;border-radius:8px 8px 2px;width:min(100%,320px);margin-left:auto;padding:.75rem;font-size:.93rem;box-shadow:0 1px 2px #0f172a14}.chat-bubble strong{margin-bottom:.35rem;display:block}.chat-bubble p,.recipient-summary p{overflow-wrap:anywhere;margin:0}.recipient-summary,.send-result{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.recipient-summary span,.send-result strong{margin-bottom:.35rem;font-weight:700;display:block}.recipient-summary p,.send-result span{color:var(--text-muted);font-size:.9rem;display:block}@media (width<=900px){.society-message-layout{grid-template-columns:1fr}}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);align-items:center;gap:.85rem;padding:1rem 1.15rem;display:flex}.stat-icon{background:color-mix(in srgb, var(--accent) 15%, white);width:44px;height:44px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;display:flex}.stat-card p{color:var(--text-muted);margin:0;font-size:.8rem}.stat-card h3{margin:0;font-size:1.5rem}.info-list{color:var(--text-muted);margin:0;padding-left:1.25rem;font-size:.9rem}.info-list li{margin-bottom:.35rem}.table-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.search-box{border:1px solid var(--border);min-width:240px;max-width:360px;color:var(--text-muted);background:#f8fafc;border-radius:10px;flex:1;align-items:center;gap:.5rem;padding:.55rem .85rem;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{border-color:var(--primary);color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2563eb1f}.search-box .speech-input-wrap{flex:1;min-width:0}.search-box .speech-input-wrap>input{width:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding-right:2.25rem;font-size:.875rem}.search-box .speech-input-btn{background:0 0;border:none;width:1.75rem;height:1.75rem;right:0}.search-box input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.search-box input::placeholder{color:#94a3b8}.per-page-control,.filter-control{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.per-page-control select,.filter-control select{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:.45rem .65rem;font-size:.85rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.per-page-control select:hover,.filter-control select:hover{border-color:#94a3b8}.per-page-control select:focus,.filter-control select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb26}.per-page-control label,.filter-control label{font-weight:500}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.data-table thead th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border);z-index:1;background:#f8fafc;padding-top:.75rem;padding-bottom:.75rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.data-table thead th:first-child{border-top-left-radius:10px}.data-table thead th:last-child{border-top-right-radius:10px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s,color .12s}.data-table th.sortable:hover{color:var(--primary);background:#eff6ff}.data-table th .th-label{align-items:center;gap:.35rem;display:inline-flex}.sort-icon{opacity:.35;transition:opacity .12s}.data-table th.sortable:hover .sort-icon{opacity:.7}.sort-icon.active{opacity:1;color:var(--primary)}.data-table tbody tr{transition:background-color .12s}.data-table tbody tr:nth-child(2n){background:#fafbfc}.data-table tbody tr:hover{background:#eff6ff}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody td strong{color:var(--text);letter-spacing:-.01em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:600}.sr-col{text-align:center;width:60px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.actions-col{white-space:nowrap;text-align:right;width:110px}.actions-col .btn-icon+.btn-icon{margin-left:.25rem}.empty-cell{text-align:center;color:var(--text-muted);font-style:italic;padding:3rem!important}.color-swatch{align-items:center;gap:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;display:inline-flex}.color-dot{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:14px;height:14px}.pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;font-size:.85rem;display:flex}.pagination-left{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.pagination-info{color:var(--text-muted);font-variant-numeric:tabular-nums}.pagination-controls{align-items:center;gap:.3rem;display:flex}.pagination-page{color:var(--text);font-variant-numeric:tabular-nums;padding:0 .65rem;font-weight:600}.pagination button{border:1px solid var(--border);cursor:pointer;min-width:38px;color:var(--text);background:#fff;border-radius:8px;padding:.4rem .85rem;font-weight:500;transition:all .15s}.pagination button:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.45;cursor:not-allowed;background:#f8fafc}.badge{text-transform:capitalize;white-space:nowrap;letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;padding:.3rem .7rem;font-size:.72rem;font-weight:600;line-height:1.2;display:inline-flex}.badge-active{color:#166534;background:#dcfce7}.badge-inactive{color:#475569;background:#f1f5f9}.badge-suspended{color:#991b1b;background:#fee2e2}.badge-default{color:#3730a3;background:#e0e7ff}.badge-scheduled{color:#1d4ed8;background:#dbeafe}.badge-water_filled{color:#0e7490;background:#cffafe}.badge-in_progress{color:#b45309;background:#fef3c7}.badge-reached_destination{color:#6d28d9;background:#ede9fe}.badge-received{color:#047857;background:#d1fae5}.badge-completed{color:#166534;background:#dcfce7}.badge-cancelled{color:#991b1b;background:#fee2e2}.badge-requested{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff}.badge-pass{color:#155e75;background:#ecfeff;border:1px solid #a5f3fc;font-weight:600}.badge-req-pending{color:#b45309;background:#fef3c7}.badge-req-approved{color:#166534;background:#dcfce7}.badge-req-rejected{color:#991b1b;background:#fee2e2}.cell-stack{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.cell-stack small{color:var(--text-muted,#64748b);font-size:.78rem}.cell-stack .badge{padding:.1rem .4rem;font-size:.65rem}.cell-wrap{white-space:normal;max-width:360px;line-height:1.4}.action-stack{flex-direction:column;align-items:stretch;gap:.35rem;display:inline-flex}.action-stack .btn{white-space:nowrap}.btn-success{color:#fff;background:#16a34a;border:1px solid #15803d}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{color:#fff;background:#dc2626;border:1px solid #b91c1c}.btn-danger:hover:not(:disabled){background:#b91c1c}.muted{color:var(--text-muted,#64748b)}.form-hint{color:#1e3a8a;background:#eff6ff;border-left:3px solid #2563eb;border-radius:4px;margin:.5rem 0 0;padding:.6rem .8rem;font-size:.85rem;line-height:1.45}.request-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem 1rem;margin-bottom:1rem;padding:.8rem 1rem;display:grid}.request-summary>div{flex-direction:column;gap:.15rem;display:flex}.request-summary>div.full{grid-column:1/-1}.request-summary span{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.72rem}.request-summary strong{color:#0f172a;font-size:.92rem;font-weight:600}.modal-lg{max-width:780px}.modal-sm{max-width:440px}.modal-subtitle{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.form-password-row-fields{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.password-hint{color:var(--text-muted);margin:.35rem 0 0;font-size:.75rem;line-height:1.45}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.trip-detail-layout{grid-template-columns:minmax(300px,1fr) minmax(520px,1.9fr);align-items:start;gap:1rem;display:grid}.trip-detail-page{flex-direction:column;gap:1.75rem;display:flex}.trip-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.trip-detail-header .back-link{margin-bottom:.25rem}.trip-detail-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.trip-detail-title-row h1{margin:0;font-size:1.35rem}.trip-detail-sub{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.trip-progress-panel{padding:.75rem 1rem}.trip-locations-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.trip-location-card h3{margin:0 0 .5rem;font-size:.95rem}.trip-location-name{margin:0 0 .35rem;font-weight:600}.trip-detail-main{grid-template-columns:1fr 280px;align-items:start;gap:.75rem;display:grid}.trip-info-panel h3{margin:0 0 .65rem;font-size:.95rem}.detail-list-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.detail-list-grid div{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;padding:.4rem 0;display:flex}.detail-list-grid .detail-full{grid-column:1/-1}.detail-list-grid dt{text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.detail-list-grid dd{font-size:.88rem}.trip-detail-actions-col{flex-direction:column;gap:.75rem;display:flex}.receive-panel-compact{background:#f0fdf4;border:1px solid #86efac}.receive-panel-compact h3{margin:0 0 .35rem;font-size:.95rem}.receive-panel-compact p{margin:0 0 .5rem;font-size:.82rem}.receive-panel-compact textarea{border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;margin-bottom:.5rem;padding:.5rem;font-size:.85rem}.status-update-stack{flex-direction:column;align-items:stretch}.status-update-stack select,.status-update-stack input,.status-update-stack .btn{width:100%;min-width:0}.trip-detail-secondary{grid-template-columns:1fr 1fr;align-items:start;gap:.75rem;display:grid}.trip-detail-secondary .trip-proof-panel,.trip-detail-secondary .trip-dispute-panel{height:100%;margin:0}.panel-gps-bottom{min-height:auto;margin-top:.25rem}.panel-gps-bottom .gps-header{margin-bottom:.5rem}.gps-header-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gps-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.5rem;display:flex}.gps-footer .gps-coords{margin:0}.gps-footer .gps-history{color:var(--text-muted);font-size:.8rem}.gps-footer .gps-history ul{max-height:80px;margin:.35rem 0 0;padding-left:1rem;overflow-y:auto}.trip-detail-left{flex-direction:column;gap:.75rem;display:flex}.panel-compact{padding:.85rem 1rem}.panel-compact h3{margin:0 0 .5rem;font-size:.95rem}.panel-gps{flex-direction:column;min-height:auto;display:flex}.gps-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.gps-header h3{margin:0}.gps-status{color:#64748b;background:#f1f5f9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.gps-status.live{color:#047857;background:#d1fae5}.gps-status .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.gps-status.live .dot{animation:1.2s infinite tm-pulse}@keyframes tm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.tm-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.tm-marker{background:0 0!important;border:0!important}.tm-pin{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.tm-pin:after{content:"";border-radius:50% 50% 50% 0;position:absolute;inset:0;transform:rotate(-45deg);box-shadow:0 2px 8px #0f172a59}.tm-pin span{z-index:1;color:#fff;letter-spacing:.3px;font-size:11px;font-weight:700;position:relative}.tm-marker-source .tm-pin:after{background:#2563eb}.tm-marker-dest .tm-pin:after{background:#10b981}.tm-tanker{justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.tm-tanker:before{content:"";background:#ef444440;border-radius:50%;animation:1.6s ease-out infinite tm-pulse-ring;position:absolute;inset:0}.tm-tanker-dot{z-index:1;background:#ef4444;border:3px solid #fff;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:0 2px 6px #0f172a59}@keyframes tm-pulse-ring{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.panel-gps h3{margin:0 0 .65rem}.panel-gps .gps-section{flex-direction:column;flex:1;gap:.5rem;display:flex}.detail-list{margin:0}.detail-list div{border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;gap:.5rem;padding:.5rem 0;display:grid}.detail-list dt{color:var(--text-muted);font-size:.85rem;font-weight:600}.detail-list dd{margin:0}.back-link{color:var(--text-muted);align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.85rem;display:inline-flex}.gps-map{border:1px solid var(--border);border-radius:8px;flex:1;width:100%;height:460px;min-height:360px}.gps-placeholder{text-align:center;color:var(--text-muted);background:var(--bg);border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:360px;padding:4rem 2rem;display:flex}.gps-coords{color:var(--text-muted);align-items:center;gap:.35rem;margin:.5rem 0;font-size:.85rem;display:flex}.gps-history ul{color:var(--text-muted);margin:.5rem 0 0;padding-left:1.25rem;font-size:.8rem}.status-update-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.status-update-form select,.status-update-form input{border:1px solid var(--border);border-radius:8px;flex:1;min-width:160px;padding:.45rem .6rem;font-size:.85rem}.status-update-form .btn-sm{padding:.45rem .9rem;font-size:.85rem}.receive-panel textarea{border:1px solid var(--border);border-radius:8px;width:100%;margin:.75rem 0;padding:.65rem}@media (width<=1100px){.trip-detail-layout,.trip-detail-main,.trip-detail-secondary,.detail-list-grid{grid-template-columns:1fr}.panel-gps{min-height:auto}.gps-map{height:280px}}.ss-root{width:100%;position:relative}.ss-control{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:.5rem .7rem;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s;display:flex}.ss-control:hover:not(:disabled){border-color:#94a3b8}.ss-is-open .ss-control,.ss-control:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 3px #2563eb1f}.ss-disabled .ss-control{color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.ss-value{text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:.5rem;overflow:hidden}.ss-placeholder{color:#94a3b8;font-weight:400}.ss-actions{color:#64748b;align-items:center;gap:.3rem;display:inline-flex}.ss-clear{cursor:pointer;border-radius:4px;align-items:center;padding:2px;display:inline-flex}.ss-clear:hover{color:#dc2626;background:#fee2e2}.ss-chev{transition:transform .15s}.ss-is-open .ss-chev{transform:rotate(180deg)}.ss-panel{z-index:60;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;max-height:300px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #0f172a2e}.ss-search{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:.5rem}.ss-search input{border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:.4rem .6rem;font-family:inherit;font-size:.85rem}.ss-search input:focus{border-color:#2563eb;outline:0;box-shadow:0 0 0 2px #2563eb1a}.ss-list{max-height:240px;overflow-y:auto}.ss-option{cursor:pointer;border-bottom:1px solid #f8fafc;flex-direction:column;gap:2px;padding:.5rem .75rem;font-size:.875rem;display:flex}.ss-option:hover{background:#f1f5f9}.ss-option.ss-active{color:#1d4ed8;background:#dbeafe;font-weight:500}.ss-option-sub{color:#64748b;font-size:.72rem;font-weight:400}.ss-empty{color:#94a3b8;text-align:center;padding:1rem;font-size:.85rem}.ss-required-shadow{opacity:0;pointer-events:none;z-index:-1;width:1px;height:1px;position:absolute}.ss-multi-control{align-items:flex-start;height:auto;min-height:42px;padding-top:.45rem;padding-bottom:.45rem}.ss-multi-values{text-align:left;flex-wrap:wrap;flex:1;gap:.35rem;min-width:0;display:flex}.ss-tag{color:#1e40af;background:#dbeafe;border-radius:999px;align-items:center;gap:.2rem;max-width:100%;padding:.15rem .35rem .15rem .5rem;font-size:.78rem;font-weight:500;line-height:1.2;display:inline-flex}.ss-tag-remove{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ss-tag-remove:hover{color:#dc2626}.ss-multi-option{align-items:flex-start;gap:.55rem;display:flex}.ss-check{color:#fff;background:#fff;border:1.5px solid #cbd5e1;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;margin-top:.1rem;display:inline-flex}.ss-check-on{background:#2563eb;border-color:#2563eb}.ss-option-body{flex-direction:column;min-width:0;display:flex}.report-tabs{background:#f1f5f9;border-radius:10px;gap:4px;margin-bottom:1rem;padding:4px;display:inline-flex}.report-tab{cursor:pointer;color:#475569;background:0 0;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:600;transition:background .15s,color .15s}.report-tab:hover{color:#0f172a}.report-tab.active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a14}.filters-panel{margin-bottom:1rem}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.filters-grid label{flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;display:flex}.filters-grid input,.filters-grid select{border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem}.notif-wrap,.notif-btn{position:relative}.notif-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:.65rem;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown{border:1px solid var(--border);width:320px;box-shadow:var(--shadow);z-index:50;background:#fff;border-radius:10px;max-height:400px;margin-top:.5rem;position:absolute;top:100%;right:0;overflow-y:auto}.notif-header{border-bottom:1px solid var(--border);padding:.75rem 1rem;font-weight:600}.notif-empty{color:var(--text-muted);padding:1rem;font-size:.85rem}.notif-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.75rem 1rem;display:flex}.notif-item.unread{background:#eff6ff}.notif-item span{color:var(--text-muted);font-size:.85rem}.notif-item small{color:var(--text-muted);font-size:.75rem}.notif-item-actions{border-top:1px dashed #e2e8f0;gap:.6rem;margin-top:.3rem;padding-top:.3rem;display:flex}.btn-sm{padding:.35rem .65rem;font-size:.8rem}.alert{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.alert button{cursor:pointer;opacity:.7;background:0 0;border:none;font-size:1.1rem}.modal-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:640px;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0003}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{margin:0;font-size:1.1rem}.modal-form{padding:1.25rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{flex-direction:column;gap:.35rem;display:flex;overflow:visible}.form-field.full{grid-column:1/-1}.form-field label{color:var(--text-muted);font-size:.8rem;font-weight:500}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);border-radius:8px;padding:.55rem .75rem}.form-field textarea{resize:vertical}.speech-input-wrap{width:100%;position:relative}.speech-input-wrap.is-listening>input,.speech-input-wrap.is-listening>textarea{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.speech-input-wrap>input,.speech-input-wrap>textarea{width:100%;padding-right:2.75rem}.speech-input-wrap.is-textarea>textarea{padding-bottom:.75rem;padding-right:2.75rem}.speech-input-btn{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;z-index:2;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:.45rem;overflow:visible;transform:translateY(-50%)}.speech-input-wrap.is-textarea .speech-input-btn{top:.45rem;transform:none}.speech-input-btn:hover{color:var(--primary);border-color:var(--primary)}.speech-input-btn.is-listening{color:#fff;background:var(--primary);border-color:var(--primary);animation:1.2s ease-in-out infinite speech-pulse}.speech-input-tooltip{white-space:nowrap;background:var(--primary);color:#fff;pointer-events:none;border-radius:8px;padding:.3rem .55rem;font-size:.72rem;font-weight:500;line-height:1.2;position:absolute;bottom:calc(100% + .4rem);right:0;box-shadow:0 4px 12px #2563eb40}.speech-input-tooltip:after{content:"";border:5px solid #0000;border-top-color:var(--primary);position:absolute;top:100%;right:.55rem}.speech-input-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.speech-input-error{z-index:3;color:#dc2626;pointer-events:none;font-size:.72rem;line-height:1.3;position:absolute;top:calc(100% + .15rem);left:0;right:0}.vendor-list-cell{flex-direction:column;gap:.25rem;min-width:140px;display:flex}.vendor-list-cell-item{color:var(--text);font-size:.8125rem;line-height:1.35}.form-field.full .ss-multi-values{flex-direction:column;align-items:flex-start}.form-field.full .ss-tag{max-width:100%}.form-field .speech-input-wrap{width:100%}@keyframes speech-pulse{0%,to{box-shadow:0 0 #2563eb59}50%{box-shadow:0 0 0 .45rem #2563eb00}}.field-hint{color:var(--text-muted);margin-top:.15rem;font-size:.75rem}.multiselect{min-height:100px}.checkbox-row{cursor:pointer;align-items:center;gap:.5rem;display:flex}.field-error{color:var(--danger);font-size:.75rem}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.dashboard-loading{text-align:center;color:var(--text-muted);padding:3rem}.dashboard-error{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;padding:2rem;display:flex}.dashboard-error h2{margin:0}.dashboard-error p{color:var(--text-muted);max-width:36rem;margin:0}.setup-hints-panel{margin-bottom:1.5rem}.setup-hints-panel h3{margin:0 0 .35rem}.setup-hints-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.setup-hint{border:1px solid var(--border);color:inherit;border-radius:10px;align-items:center;gap:.65rem;padding:.75rem 1rem;text-decoration:none;transition:background .15s;display:flex}.setup-hint:hover{background:var(--surface-2,#f8fafc)}.setup-hint-high{background:#fef2f2;border-color:#fecaca}.dashboard-hero{color:#fff;background:linear-gradient(135deg,#08466cf2,#0284c7e6),radial-gradient(circle at 18% 24%,#bae6fd61,#0000 26%),radial-gradient(circle at 75% 18%,#67e8f947,#0000 32%),repeating-linear-gradient(116deg,#ffffff14 0 1px,#0000 1px 28px);border-radius:16px;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1.5rem 1.75rem;display:flex;box-shadow:0 18px 42px #08466c2e}.dashboard-greeting{opacity:.85;margin:0 0 .15rem;font-size:.9rem}.dashboard-hero h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.dashboard-date{opacity:.75;margin:0;font-size:.85rem}.dashboard-hero .btn-primary{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08466c80;border:1px solid #e0f7ff6b;box-shadow:0 10px 24px #082f4938}.dashboard-hero .btn-primary:hover{background:#ffffff40}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;display:grid}.kpi-card{background:linear-gradient(135deg, #ffffffeb, #dbf2ffc7), radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--kpi-color) 18%, transparent), transparent 34%);border:1px solid var(--border);box-shadow:var(--shadow);border-top:0;border-radius:14px;min-height:128px;padding:1.15rem 1.25rem;transition:transform .15s,box-shadow .15s}.kpi-card-link:hover .kpi-card,.kpi-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0759852e}.kpi-top{align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.kpi-icon{background:color-mix(in srgb, var(--kpi-color) 18%, white);width:36px;height:36px;color:var(--kpi-color);border-radius:10px;justify-content:center;align-items:center;display:flex}.kpi-label{color:#314b59;text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.kpi-value{color:var(--text);font-size:2rem;font-weight:700;line-height:1.1}.kpi-sub{color:var(--text-muted);margin-top:.35rem;font-size:.78rem}.mini-stats-row{flex-wrap:wrap;gap:.65rem;margin-bottom:1.25rem;display:flex}.mini-stat{color:var(--text-muted);box-shadow:var(--shadow);background:#e0f5ffe6;border:1px solid #b7e3fa;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .85rem;font-size:.8rem;display:flex}.mini-stat svg{color:var(--primary);flex-shrink:0}.mini-stat strong{color:var(--text);margin-left:.15rem}.dashboard-charts{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.chart-panel-wide{grid-column:1/-1}.chart-panel{min-height:292px}.panel-title-row{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.panel-title-row h3{margin:0;font-size:1rem;font-weight:600}.link-muted{color:var(--primary);align-items:center;gap:.2rem;font-size:.85rem;display:inline-flex}.donut-wrap{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.donut-chart{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:160px;height:160px;display:flex;box-shadow:0 14px 30px #0759852e}.donut-hole{width:100px;height:100px;box-shadow:inset 0 0 0 1px var(--border);background:#ffffffe6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex}.donut-hole strong{font-size:1.5rem;line-height:1}.donut-hole span{color:var(--text-muted);margin-top:.2rem;font-size:.7rem}.donut-legend{flex:1;min-width:180px;margin:0;padding:0;list-style:none}.donut-legend li{border-bottom:1px solid var(--border);grid-template-columns:10px 1fr auto;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.82rem;display:grid}.legend-dot{border-radius:50%;width:10px;height:10px}.legend-label{color:var(--text-muted)}.legend-value{font-weight:600}.bar-chart{align-items:flex-end;gap:.65rem;height:200px;padding-top:.5rem;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.bar-track{background:linear-gradient(#fffc,#ccebfabd);border:1px solid #b0ddf6db;border-radius:8px 8px 4px 4px;flex:1;align-items:flex-end;width:100%;max-width:48px;display:flex;overflow:hidden;box-shadow:inset 0 1px 3px #07598514}.bar-fill{border-radius:8px 8px 4px 4px;width:100%;min-height:4px;transition:height .4s;box-shadow:0 0 18px #0284c73d}.bar-label{color:var(--text-muted);margin-top:.45rem;font-size:.75rem;font-weight:600}.bar-value{color:var(--text-muted);margin-top:.1rem;font-size:.7rem}.status-bars{flex-direction:column;gap:.65rem;display:flex}.status-bar-row{grid-template-columns:130px 1fr 36px;align-items:center;gap:.65rem;font-size:.82rem;display:grid}.status-bar-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status-bar-track{background:#e0f5ff;border-radius:999px;height:10px;overflow:hidden}.status-bar-fill{border-radius:999px;min-width:2px;height:100%;transition:width .4s}.status-bar-count{text-align:right;font-weight:600}.recent-trips-panel{margin-bottom:1rem}@media (width<=1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-charts{grid-template-columns:1fr}.chart-panel-wide{grid-column:auto}}@media (width<=768px){.sidebar{z-index:100;width:min(82vw,280px);height:100dvh;transition:transform .2s;position:fixed;transform:translate(-100%);box-shadow:0 20px 50px #0f172a40}.admin-layout.mobile-menu-open .sidebar{transform:translate(0)}.sidebar.collapsed{width:min(82vw,280px);transform:translate(-100%)}.admin-layout.mobile-menu-open .sidebar.collapsed{transform:translate(0)}.admin-layout.mobile-menu-open .sidebar.collapsed .sidebar-group-title span,.admin-layout.mobile-menu-open .sidebar.collapsed .sidebar-link span,.admin-layout.mobile-menu-open .sidebar.collapsed .sidebar-group-title svg:last-child{display:inline-flex}.sidebar-toggle{display:none}.sidebar-backdrop{z-index:90;cursor:pointer;background:#0f172a73;border:0;display:block;position:fixed;inset:0}.form-grid{grid-template-columns:1fr}.admin-header{flex-wrap:wrap;align-items:center;gap:.65rem;padding:.75rem .85rem}.mobile-menu-btn{display:inline-flex}.admin-header-brand{gap:.5rem;width:100%}.admin-header-brand .app-logo--header{width:34px;height:34px}.admin-header-brand h2{font-size:.95rem;line-height:1.2}.admin-header-brand p{font-size:.72rem}.header-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.45rem;width:100%;min-width:0}.header-language-switcher select{max-width:5.75rem}.user-chip{display:none}.logout-btn{flex-shrink:0;padding-inline:.55rem}.logout-btn span{font-size:.82rem;display:inline}.notif-dropdown{width:auto;position:fixed;top:96px;left:.75rem;right:.75rem}.dashboard-hero{flex-direction:column;align-items:flex-start}.kpi-grid{grid-template-columns:1fr}.status-bar-row{grid-template-columns:90px 1fr 28px}}.text-muted{color:var(--text-muted)}.small{font-size:.78rem}.flex{display:flex}.gap-2{gap:.5rem}.items-center{align-items:center}.live-tracking-grid{grid-template-columns:360px 1fr;align-items:stretch;gap:1rem;display:grid}.lt-sidebar{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:12px;flex-direction:column;max-height:720px;padding:.85rem;display:flex}.lt-search{border:1px solid var(--border,#e2e8f0);color:var(--text-muted);border-radius:8px;align-items:center;gap:.4rem;margin-bottom:.5rem;padding:.45rem .6rem;display:flex}.lt-search .speech-input-wrap{flex:1;min-width:0}.lt-search .speech-input-wrap>input{background:0 0;border:0;outline:0;flex:1;width:100%;padding-right:2rem}.lt-search input{color:#0f172a;background:0 0;border:0;outline:0;flex:1;font-size:.85rem}.lt-actions{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.lt-list{flex-direction:column;flex:1;gap:.4rem;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.lt-item{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:10px;transition:border-color .15s,background .15s}.lt-item.active{background:#eff6ff;border-color:#2563eb}.lt-item-row{cursor:pointer;gap:.6rem;padding:.6rem .7rem;display:flex}.lt-item-row input[type=checkbox]{margin-top:.2rem}.lt-item-body{flex:1;min-width:0}.lt-item-head{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.lt-pill{color:#475569;background:#e2e8f0;border-radius:999px;padding:.1rem .5rem;font-size:.7rem}.lt-pill.live{color:#166534;background:#dcfce7}.lt-item-actions{margin-top:.35rem}.link-sm{color:#2563eb;align-items:center;gap:.2rem;font-size:.75rem;text-decoration:none;display:inline-flex}.link-sm:hover{text-decoration:underline}.lt-map{border:1px solid var(--border,#e2e8f0);background:#fff;border-radius:12px;padding:.5rem;position:relative}.lt-empty-overlay{color:var(--text-muted);pointer-events:none;background:#fff9;border-radius:12px;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}@media (width<=960px){.live-tracking-grid{grid-template-columns:1fr}.lt-sidebar{max-height:360px}}.masked-value{align-items:center;gap:.35rem;max-width:100%;display:inline-flex}.masked-value-text{font-variant-numeric:tabular-nums;word-break:break-all}.masked-eye-btn{width:1.5rem;height:1.5rem;color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.masked-eye-btn:hover{color:#2563eb;background:#eff6ff}.masked-input-wrap{align-items:stretch;width:100%;display:flex;position:relative}.masked-input-wrap .masked-input{width:100%;padding-right:2.25rem}.masked-textarea-wrap .masked-input{resize:vertical;min-height:5rem}.masked-eye-btn-input,.masked-eye-btn-textarea{position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.masked-eye-btn-textarea{top:.65rem;transform:none}.dashboard-date-sub{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.kpi-card-link{color:inherit;text-decoration:none;display:block}.kpi-card-link:hover .kpi-card{border-color:#93c5fd;box-shadow:0 4px 12px #2563eb14}.action-alerts{gap:.65rem;margin-bottom:1.25rem;display:grid}.action-alert{color:inherit;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;padding:.85rem 1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.action-alert:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.action-alert-high{color:#991b1b;background:#fef2f2;border-color:#fecaca}.action-alert-medium{color:#92400e;background:#fffbeb;border-color:#fde68a}.action-alert div{flex-direction:column;flex:1;gap:.1rem;display:flex}.action-alert span{opacity:.85;font-size:.82rem}.mini-stat-warn strong{color:#dc2626}.notif-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hide-mobile{display:inline}.trip-timeline-panel{margin:0}.trip-timeline-compact .trip-progress-steps{margin-bottom:0}.trip-cancelled-alert{margin:0;padding:.5rem .75rem;font-size:.85rem}.trip-progress-steps{scrollbar-width:thin;flex-wrap:nowrap;gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.progress-step{color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;background:#f8fafc;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.72rem;display:flex}.progress-step.done{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.progress-step.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;font-weight:600}.progress-dot{align-items:center;display:flex}.timeline-events-collapse{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.timeline-events-collapse summary{cursor:pointer;color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;list-style:none;display:flex}.timeline-events-collapse summary::-webkit-details-marker{display:none}.timeline-events-collapse[open] .timeline-chevron{transform:rotate(180deg)}.timeline-chevron{color:var(--text-muted);transition:transform .2s}.timeline-list{flex-direction:column;gap:.5rem;max-height:160px;margin:.5rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.timeline-item{gap:.5rem;display:flex}.timeline-icon{color:#2563eb;background:#eff6ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.timeline-body{flex:1;min-width:0}.timeline-body p{color:#334155;margin:.1rem 0;font-size:.8rem}.timeline-meta{color:var(--text-muted);font-size:.72rem;display:block}.trip-proof-panel,.trip-dispute-panel{padding:.85rem 1rem}.trip-proof-panel h3,.trip-dispute-panel h3{align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.95rem;display:flex}.trip-proof-panel>p.text-muted,.trip-dispute-panel>p.text-muted{margin:0 0 .5rem;font-size:.82rem}.proof-upload-form{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.proof-upload-form select{flex:1;min-width:120px;padding:.4rem;font-size:.85rem}.proof-upload-btn{cursor:pointer}.proof-gallery{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;max-height:140px;display:grid;overflow-y:auto}.proof-thumb{color:inherit;border:1px solid var(--border);background:#f8fafc;border-radius:6px;flex-direction:column;gap:.15rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.proof-thumb>a{color:inherit;flex-direction:column;text-decoration:none;display:flex}.proof-delete{color:#fff;cursor:pointer;background:#b91c1ceb;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #00000040}.proof-delete:hover{background:#991b1b;transform:scale(1.05)}.proof-thumb img{aspect-ratio:1;object-fit:cover;width:100%}.proof-thumb span,.proof-thumb small{padding:0 .3rem;font-size:.68rem}.proof-thumb small{color:var(--text-muted);padding-bottom:.3rem}.proof-empty{margin:0;font-size:.82rem}.dispute-open-card{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-bottom:.5rem;padding:.6rem;font-size:.85rem}.dispute-open-card p{margin:.25rem 0}.dispute-form,.dispute-resolve-form{flex-direction:column;gap:.4rem;display:flex}.dispute-form select,.dispute-form textarea,.dispute-resolve-form textarea{border:1px solid var(--border);border-radius:8px;padding:.45rem;font-size:.85rem}.dispute-actions{flex-wrap:wrap;gap:.35rem;display:flex}.dispute-history{margin-top:.5rem;font-size:.8rem}.dispute-history ul{margin:.35rem 0 0;padding-left:1rem}.badge-open{color:#92400e;background:#fef3c7}.badge-under_review{color:#1e40af;background:#dbeafe}.badge-resolved{color:#166534;background:#dcfce7}.badge-rejected{color:#991b1b;background:#fee2e2}@media (width<=768px){.hide-mobile{display:none}.trip-detail-header{flex-direction:column}.trip-detail-title-row h1{font-size:1.15rem}.trip-progress-steps{flex-wrap:wrap}.gps-footer{flex-direction:column;align-items:flex-start}.proof-gallery{grid-template-columns:repeat(3,1fr);max-height:none}.mobile-card-table .data-table tr{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:.65rem;padding:.65rem;display:block}.mobile-card-table .data-table td{border:none;justify-content:space-between;gap:.5rem;padding:.3rem 0;display:flex}.mobile-card-table .data-table td:before{content:attr(data-label);color:var(--text-muted);font-size:.78rem;font-weight:600}.mobile-card-table .data-table td:last-child{justify-content:flex-end;padding-top:.5rem}.mobile-card-table .data-table td:last-child:before{display:none}.gps-header{flex-direction:column;align-items:flex-start;gap:.35rem}}.swal2-popup{border-radius:14px!important;width:min(420px,100vw - 32px)!important;padding:1.25rem!important}.swal2-icon{width:4rem!important;height:4rem!important;margin:.5rem auto 1rem!important}.swal2-title{padding:0!important;font-size:1.55rem!important}.swal2-html-container{margin:1rem 0 0!important;font-size:.95rem!important}.swal2-actions{margin-top:1.25rem!important}.swal2-styled{padding:.65rem 1.15rem!important;font-size:.9rem!important}.tanker.main-brown-tank{z-index:3;background:linear-gradient(#4a240f 0%,#a86638 8%,#884c25 25%,#693414 65%,#421f0a 90%,#210e03 100%);border:1.5px solid #2d1405;border-radius:12px 6px 6px 12px;justify-content:center;align-items:center;width:110px;height:40px;display:flex;position:absolute;bottom:18px;right:50px;overflow:hidden;box-shadow:inset 0 1.5px 3px #ffffff40,inset 0 -3px 6px #0006,0 3px 6px #00000059}.water-liquid{width:100%;height:var(--water-height,0%);opacity:.85;z-index:1;background:linear-gradient(#38bdf8,#0284c7);transition:height 1.8s ease-in-out;position:absolute;bottom:0;left:0}.water-liquid:before{content:"";width:200%;height:12px;position:absolute;top:-10px;left:0;opacity:1!important;visibility:visible!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C300,100 300,20 600,60 C900,100 900,20 1200,60 L1200,120 L0,120 Z' fill='%2338bdf8'/%3E%3C/svg%3E")!important;background-size:50% 100%!important;animation:2s linear infinite liquidWaveMove!important;display:block!important}@keyframes liquidWaveMove{0%{transform:translate(0)}to{transform:translate(-50%)}}.trip-locations-grid.animate-track-container{flex-direction:row;justify-content:space-between;align-items:center;width:100%;display:flex!important}.trip-locations-grid.animate-track-container .trip-location-card{z-index:2;flex-shrink:0;min-width:280px;max-width:320px;margin:0}.clickable-truck-card{cursor:pointer;transition:all .2s ease-in-out;border:2px solid #0000!important}.clickable-truck-card.active-target{box-shadow:0 4px 12px #b4530933}.truck-animation-track{flex-grow:1;min-width:180px;min-height:180px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1e293b75 0%,#0f172a00 100%),url(/app/track.png) 50%/cover no-repeat!important}@keyframes highwayDashMove{0%{transform:translateY(-50%)}to{transform:translate(-50%,-50%)}}.truck-wrapper{z-index:5;width:165px;height:65px;position:absolute;bottom:12px}.truck-wrapper.to-right{animation:8s linear infinite driveRightLoop}.truck-wrapper.to-left{animation:8s linear infinite driveLeftLoop;transform:scaleX(-1)}.tanker-truck{width:100%;height:100%;position:relative}.truck-cabin{z-index:4;background:linear-gradient(165deg,#a76436 0%,#854a24 40%,#542910 85%,#2d1405 100%);border:1.5px solid #281204;border-radius:4px 27px 10px 16px;width:43px;height:50px;position:absolute;bottom:14px;right:2px;box-shadow:inset 0 3px 4px #ffffff40,inset 0 -15px 20px #000000a6,0 3px 6px #0006}.truck-cabin:after{content:"";pointer-events:none;border:1px solid #28120466;border-top:1.5px solid #000000b3;border-radius:2px;width:32px;height:20px;position:absolute;top:22px;left:4px}.truck-cabin:before{content:"";opacity:.9;background:linear-gradient(#b45309,#d97706 50%,#92400e);border-top:.5px solid #0006;border-bottom:.5px solid #00000080;width:100%;height:3.5px;position:absolute;bottom:18px;left:0}.cabin-grille{background:linear-gradient(135deg,#3f3f46 0%,#18181b 100%);border:1.5px solid #09090b;border-radius:2px 1px 1px 2px;width:6px;height:11px;position:absolute;bottom:1px;right:-2px;box-shadow:0 1px 3px #00000080}.cabin-window{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 35%,#94a3b8 70%,#475569 100%);border:1.8px solid #1c0c03;border-radius:4px 29px 0 5px;width:30px;height:18px;position:absolute;top:6px;right:5px;box-shadow:inset 0 3px 5px #0009,0 1px 1px #ffffff26}.cabin-window:before{content:"";opacity:.95;background:#1c0c03;width:2px;height:100%;position:absolute;top:0;right:8px}.truck-chassis{z-index:2;background:#27272a;border-top:1px solid #18181b;width:110px;height:6px;position:absolute;bottom:14px;left:12px}.truck-animation-track:before{content:"";background:linear-gradient(#4b5563 0 1px,#0000 1px),linear-gradient(#27272a 0%,#1f1f23 100%);width:200%;height:85px;position:absolute;top:100%;left:0;transform:translateY(-50%)}.tank-rings{pointer-events:none;z-index:4;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.tank-rings:before{content:"";background:#6e3919;border:1px solid #42200b;border-radius:2px 2px 0 0;width:14px;height:4px;position:absolute;top:-4px;left:20px}.tank-rings:after{content:"";background:#6e3919;border:1px solid #42200b;border-radius:2px 2px 0 0;width:14px;height:4px;position:absolute;top:-4px;right:20px}.rear-ladder{z-index:2;background:repeating-linear-gradient(#3f2314 0 2px,#0000 2px 7px);border-left:1.5px solid #42200b;border-right:1.5px solid #42200b;width:8px;height:43px;position:absolute;top:-2px;left:4px}.wheels{z-index:5;width:100%;height:22px;position:absolute;bottom:2px}.wheel{background:radial-gradient(circle,#4b5563 20%,#27272a 40%,#18181b 75%);border:2px solid #090d16;border-radius:50%;width:22px;height:22px;position:absolute;bottom:0;box-shadow:inset 0 0 4px #000,0 2px 4px #0009}.wheel.front-steer{right:20px}.wheel.rear-drive-1{right:100px}.wheel.rear-drive-2{right:125px}.wheels:before{content:"";z-index:4;border:1.5px solid #281204;border-bottom:none;border-radius:16px 16px 0 0;width:25px;height:10px;position:absolute;top:-5px;right:18px;box-shadow:inset 0 1px 2px #fff3}.wheels:after{content:"";z-index:4;background:linear-gradient(#7a3f1b 0%,#3a1b07 100%);border:1.5px solid #281204;border-bottom:none;border-radius:18px 18px 0 0;width:53px;height:5px;position:absolute;top:0;right:95px;box-shadow:inset 0 1px 2px #ffffff26,0 2px 4px #0000004d}@keyframes driveRightLoop{0%{left:-175px}to{left:100%}}@keyframes driveLeftLoop{0%{right:-175px}to{right:100%}}.trip-locations-grid.animate-track-container .trip-location-card.clickable-truck-card{color:#fff;flex-direction:column;justify-content:center;min-height:180px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.industrial-boiler-card{box-shadow:inset 0 8px 16px #ffffff1a,0 8px 24px #0000004d;background:linear-gradient(135deg,#1e293bb4 0%,#0f172a54 100%),url(/app/tanker-truck.png) 50%/cover no-repeat!important}.industrial-boiler-card.pouring .overhead-delivery-pipe:after{content:"";background:linear-gradient(#38bdf8,#0000);width:10px;height:100px;animation:.7s linear infinite waterPouringEffect;position:absolute;bottom:10px;left:-10px}@keyframes waterPouringEffect{0%{opacity:0;transform:translateY(0)scaleY(0)}50%{opacity:1}to{opacity:0;transform:translateY(15px)scaleY(1)}}.overhead-delivery-pipe{z-index:10;pointer-events:none;border-bottom:10px solid #44403c;border-left:10px solid #44403c;border-radius:0 0 0 12px;width:42px;height:32px;position:absolute;top:15px;right:-42px;transform:rotate(180deg)scaleX(1)}.society-complex-card{z-index:1;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%)!important;border:3px solid #334155!important}.society-complex-card.active-target{box-shadow:0 0 25px #eab3084d}.society-buildings-bg{opacity:.15;pointer-events:none;z-index:1;justify-content:flex-end;align-items:flex-end;gap:4px;width:140px;height:85%;transition:opacity .3s;display:flex;position:absolute;bottom:0;right:10px}.society-complex-card.active-target .society-buildings-bg{opacity:.35}.b-tower{background:#64748b;border-radius:4px 4px 0 0;position:relative}.b-tower:after{content:"";background:repeating-linear-gradient(#cbd5e1 0 3px,#0000 3px 8px) 0 0/100%;width:60%;height:80%;position:absolute;top:8px;left:20%}.b-tower.tall{width:38px;height:100%}.b-tower.mid{width:42px;height:75%}.b-tower.short{width:32px;height:45%}.boiler-content-wrapper,.society-content-wrapper{z-index:5;position:relative}.trip-locations-grid.animate-track-container .trip-location-card h3{text-transform:uppercase;letter-spacing:1.2px;opacity:.8;margin-bottom:6px;font-size:11px}.trip-locations-grid.animate-track-container .trip-location-card .trip-location-name{margin:0 0 4px;font-size:18px;font-weight:800}.trip-locations-grid.animate-track-container .trip-location-card .text-muted{opacity:.8;margin-bottom:12px;font-size:12px;color:#cbd5e1!important}@media (width<=768px){.trip-locations-grid.animate-track-container{align-items:stretch;gap:30px;padding:15px;flex-direction:column!important}.trip-locations-grid.animate-track-container .trip-location-card{width:100%;min-width:0!important;max-width:100%!important}.overhead-delivery-pipe{display:none}}@keyframes tankFillUp{0%{height:0%}to{height:65%}}@keyframes tankDrainDown{0%{height:65%}to{height:0%}}.water-liquid.fill-animate{animation:1.8s ease-out forwards tankFillUp}.water-liquid.drain-animate{animation:.8s ease-in forwards tankDrainDown}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{width:2.9375em!important;top:2.375em!important;right:0!important;transform:rotate(-45deg)!important}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{width:1.5625em!important;top:2.875em!important;left:.2125em!important;transform:rotate(45deg)!important}.pass-details-modal{max-width:860px}.pass-details-header p{color:var(--text-muted);margin:.25rem 0 0;font-size:.82rem}.pass-details-body{gap:1rem;display:grid}.pass-details-summary{border:1px solid var(--border);background:color-mix(in srgb, var(--primary) 5%, var(--surface));border-radius:12px;grid-template-columns:minmax(150px,.8fr) minmax(250px,1.5fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.pass-details-summary div{min-width:0}.pass-details-summary span:not(.badge),.pass-details-grid dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600;display:block}.pass-details-summary strong{color:var(--text);overflow-wrap:anywhere;margin-top:.3rem;font-size:1rem;display:block}.pass-details-summary .badge{justify-self:end;padding:.45rem .8rem}.pass-details-section{border:1px solid var(--border);border-radius:12px;padding:1rem}.pass-details-section h3{color:var(--text);margin:0 0 .9rem;font-size:.9rem}.pass-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin:0;display:grid}.pass-details-grid div{min-width:0}.pass-details-grid dd{color:var(--text);overflow-wrap:anywhere;margin:.3rem 0 0;font-size:.95rem;font-weight:600}.pass-remarks p{color:var(--text-muted);white-space:pre-wrap;margin:0;line-height:1.55}@media (width<=640px){.pass-details-summary,.pass-details-grid{grid-template-columns:1fr}.pass-details-summary .badge{justify-self:start}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
