@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-display: "Outfit", sans-serif;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--border-color: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .08);--status-offline: #64748b;--status-offline-bg: #f1f5f9;--status-onduty: #0ea5e9;--status-onduty-bg: #e0f2fe;--status-travelling: #f59e0b;--status-travelling-bg: #fef3c7;--status-working: #10b981;--status-working-bg: #d1fae5;--status-break: #8b5cf6;--status-break-bg: #ede9fe;--status-leave: #f43f5e;--status-leave-bg: #ffe4e6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .01);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(226, 232, 240, .8)}[data-theme=dark]{--bg-primary: #0b0f19;--bg-secondary: #131a26;--bg-tertiary: #1e293b;--border-color: #1e293b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--primary-color: #6366f1;--primary-hover: #818cf8;--primary-glow: rgba(99, 102, 241, .2);--status-offline: #94a3b8;--status-offline-bg: rgba(148, 163, 184, .1);--status-onduty: #38bdf8;--status-onduty-bg: rgba(56, 189, 248, .1);--status-travelling: #fbbf24;--status-travelling-bg: rgba(251, 191, 36, .1);--status-working: #34d399;--status-working-bg: rgba(52, 211, 153, .1);--status-break: #a78bfa;--status-break-bg: rgba(167, 139, 250, .1);--status-leave: #fb7185;--status-leave-bg: rgba(251, 113, 133, .1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .2);--glass-bg: rgba(19, 26, 38, .8);--glass-border: rgba(30, 41, 59, .8)}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-sans)}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);overflow:hidden;height:100vh;width:100vw;transition:background-color .2s ease,color .2s ease}.legal-page{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--bg-primary)}.legal-page-inner{max-width:720px;margin:0 auto;padding:32px 24px 48px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes pulse-live{0%{transform:scale(.9);opacity:.8}50%{transform:scale(1.2);opacity:1;box-shadow:0 0 10px var(--pulse-color, var(--primary-color))}to{transform:scale(.9);opacity:.8}}.pulse-working{--pulse-color: var(--status-working);animation:pulse-live 2s infinite ease-in-out}.pulse-travelling{--pulse-color: var(--status-travelling);animation:pulse-live 2s infinite ease-in-out}.pulse-onduty{--pulse-color: var(--status-onduty);animation:pulse-live 2s infinite ease-in-out}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--shadow-md);transition:all .2s ease}.glass-card:hover{border-color:var(--text-muted);box-shadow:var(--shadow-lg)}[data-theme=dark] .dark-leaflet-map .leaflet-tile-container{filter:invert(100%) hue-rotate(180deg) brightness(85%) contrast(90%)}.dark-leaflet-map{background:#0b0f19!important}.leaflet-container{font-family:var(--font-sans)!important}.leaflet-popup-content-wrapper{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-radius:8px!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-lg)!important}.leaflet-popup-tip{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important}.app-sidebar .ant-layout-sider-children{height:100%;overflow:hidden}.app-sidebar-inner{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.app-sidebar-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}[data-theme=dark] .ant-layout,[data-theme=dark] .ant-layout-header,[data-theme=dark] .ant-layout-sider{background:var(--bg-primary)!important}[data-theme=dark] .ant-menu{background:transparent!important;border:none!important}[data-theme=dark] .ant-menu-item-selected{background-color:var(--bg-tertiary)!important;color:var(--primary-color)!important}[data-theme=dark] .ant-card{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-card-head{border-bottom-color:var(--border-color)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-table{background:var(--bg-secondary)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-table-thead>tr>th{background:var(--bg-tertiary)!important;color:var(--text-primary)!important;border-bottom-color:var(--border-color)!important}[data-theme=dark] .ant-table-tbody>tr>td{border-bottom-color:var(--border-color)!important}[data-theme=dark] .ant-table-tbody>tr:hover>td{background:var(--bg-tertiary)!important}[data-theme=dark] .ant-tabs-nav{border-bottom-color:var(--border-color)!important}[data-theme=dark] .ant-tabs-tab{color:var(--text-secondary)!important}[data-theme=dark] .ant-tabs-tab-active{color:var(--primary-color)!important}[data-theme=dark] .ant-input,[data-theme=dark] .ant-select-selector,[data-theme=dark] .ant-input-number,[data-theme=dark] .ant-picker{background-color:var(--bg-primary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-select-dropdown{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important}[data-theme=dark] .ant-select-item{color:var(--text-secondary)!important}[data-theme=dark] .ant-select-item-option-selected{background-color:var(--bg-tertiary)!important;color:var(--primary-color)!important}[data-theme=dark] .ant-modal-content{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-modal-header{background-color:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important}[data-theme=dark] .ant-modal-title{color:var(--text-primary)!important}[data-theme=dark] .ant-modal-footer{border-top:1px solid var(--border-color)!important}.ant-modal-wrap.ant-fade-leave,.ant-modal-wrap.ant-fade-leave-active,.ant-modal-mask.ant-fade-leave,.ant-modal-mask.ant-fade-leave-active,.ant-modal-wrap.ant-zoom-leave,.ant-modal-wrap.ant-zoom-leave-active,.ant-modal-mask.ant-zoom-leave,.ant-modal-mask.ant-zoom-leave-active{pointer-events:none!important}.ant-modal-wrap{display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:24px 16px!important}.ant-modal{top:auto!important;padding-bottom:0!important;margin:0 auto!important;max-width:calc(100vw - 32px)}.ant-modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden}.ant-modal-header,.ant-modal-footer{flex-shrink:0}.ant-modal-body{overflow-x:hidden;overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch}.ant-modal-body .ant-form,.ant-modal-body form{max-width:100%}[data-theme=dark] .ant-drawer-content{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important}[data-theme=dark] .ant-dropdown-menu{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important}.dispatch-drag-card{cursor:grab;transition:transform .1s ease,box-shadow .1s ease}.dispatch-drag-card:active{cursor:grabbing;transform:scale(1.02);box-shadow:0 8px 16px #00000026}.dispatch-drop-zone{border:2px dashed var(--border-color);border-radius:8px;transition:all .2s ease}.dispatch-drop-zone.active{border-color:var(--primary-color);background-color:var(--primary-glow)}.phone-frame{width:375px;height:780px;border-radius:40px;border:12px solid #1f2937;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;background-color:#f3f4f6;display:flex;flex-direction:column}[data-theme=dark] .phone-frame{border-color:#2e3b4e;background-color:#0b0f19}.phone-notch{width:140px;height:25px;background-color:#1f2937;position:absolute;top:0;left:50%;transform:translate(-50%);border-bottom-left-radius:16px;border-bottom-right-radius:16px;z-index:100;display:flex;justify-content:center;align-items:center}[data-theme=dark] .phone-notch{background-color:#2e3b4e}.phone-screen{flex:1;display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;position:relative;padding-top:25px}.text-display{font-family:var(--font-display)}.border-subtle{border:1px solid var(--border-color)}.member-row-inactive td{background:var(--bg-tertiary)!important;color:var(--text-muted)}@media(max-width:768px){body{overflow:auto;height:auto;min-height:100dvh}.app-main-layout{height:auto!important;min-height:100dvh;overflow:visible!important}.app-main-column{min-height:100dvh}.app-content{overflow:auto!important;-webkit-overflow-scrolling:touch}.app-sidebar-desktop{display:none!important}.app-header{padding:0 12px!important}.header-role-badge,.header-theme-toggle{display:none!important}.technician-page{padding:16px!important}.technician-page-header{flex-direction:column;align-items:stretch!important;gap:12px}.technician-jobs-table{display:none}.technician-jobs-cards{display:flex}}@media(min-width:769px){.technician-jobs-cards{display:none}}.technician-jobs-cards{display:none;flex-direction:column;gap:12px;padding:12px}.technician-job-card{border:1px solid var(--border-color);border-radius:12px;padding:14px;background:var(--bg-secondary);cursor:pointer;transition:border-color .15s ease}.technician-job-card:active{border-color:var(--primary-color)}.location-gate-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px 24px;background:var(--bg-primary)}.location-gate-topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);z-index:10}.location-gate-card{width:100%;max-width:420px;padding:28px 24px;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-secondary);box-shadow:var(--shadow-md)}.location-gate-icon{width:56px;height:56px;border-radius:14px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:var(--primary-glow);color:var(--primary-color)}
