@charset "UTF-8";:root{--font-sans: "Fira Sans", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Fira Code", ui-monospace, "SFMono-Regular", Menlo, monospace;--color-primary: #1e40af;--color-primary-hover: #1e3a8a;--color-primary-soft: #dbeafe;--color-accent: #f59e0b;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #475569;--color-success: #15803d;--color-success-soft: #dcfce7;--color-warning: #b45309;--color-warning-soft: #fef3c7;--color-danger: #b91c1c;--color-danger-soft: #fee2e2;--color-info: #1d4ed8;--color-info-soft: #dbeafe;--sidebar-bg: #0f172a;--sidebar-text: #cbd5e1;--sidebar-text-active: #ffffff;--sidebar-hover: rgba(148, 163, 184, .12);--sidebar-active: rgba(59, 130, 246, .22);--radius-sm: 6px;--radius-md: 10px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--focus-ring: 0 0 0 3px rgba(59, 130, 246, .45)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{font-family:var(--font-sans);line-height:1.5;font-weight:400;color:#1f2933;background-color:#f5f7fb;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f5f7fb}a{color:inherit;text-decoration:none}button{font-family:inherit}.ui-page{max-width:1280px;margin:0 auto;font-family:var(--font-sans);color:var(--color-text)}.ui-page--narrow{max-width:1100px}.ui-page--wide{max-width:1400px}.ui-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;font-size:.85rem;color:var(--color-text-muted)}.ui-crumb a{color:var(--color-primary);font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.ui-crumb a:hover{text-decoration:underline}.ui-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.ui-header h1{margin:0;font-size:1.6rem;font-weight:700;color:var(--color-text)}.ui-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.ui-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.ui-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.ui-section{padding:1.15rem 1.25rem 1.3rem;margin-bottom:1rem}.ui-section>h2,.ui-card-title{margin:0 0 .9rem;font-size:1rem;font-weight:700}.ui-section-hint{margin:-.6rem 0 1rem;font-size:.84rem;color:var(--color-text-muted)}.ui-grid-2{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:1rem;align-items:start;margin-bottom:1rem}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.4rem 1rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.ui-btn:hover:not(:disabled){background:var(--color-primary-soft)}.ui-btn:disabled{opacity:.6;cursor:not-allowed}.ui-btn--primary{background:var(--color-primary);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-btn--ghost{color:var(--color-text-muted);border-color:#cbd5e1}.ui-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:var(--color-text)}.ui-btn--danger{color:var(--color-danger);border-color:var(--color-danger)}.ui-btn--danger:hover:not(:disabled){background:var(--color-danger-soft)}.ui-btn--danger-solid{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.ui-btn--danger-solid:hover:not(:disabled){background:#991b1b}.ui-btn--sm{min-height:34px;padding:.25rem .75rem;font-size:.82rem}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;font-size:1rem;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s}.ui-icon-btn:hover{background:#f1f5f9;color:var(--color-primary)}.ui-icon-btn--danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.ui-link{color:var(--color-primary);font-weight:600;text-decoration:none;border-radius:var(--radius-sm);cursor:pointer}.ui-link:hover{text-decoration:underline}.ui-btn:focus-visible,.ui-icon-btn:focus-visible,.ui-link:focus-visible,.ui-crumb a:focus-visible,.ui-stat:focus-visible,.ui-seg button:focus-visible,.ui-page-btn:focus-visible,.ui-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4;white-space:nowrap;background:#e2e8f0;color:#334155}.ui-badge--success{background:var(--color-success-soft);color:#166534}.ui-badge--warning{background:var(--color-warning-soft);color:#92400e}.ui-badge--danger{background:var(--color-danger-soft);color:#991b1b}.ui-badge--info{background:var(--color-info-soft);color:#1e40af}.ui-badge--sky{background:#e0f2fe;color:#075985}.ui-badge--violet{background:#ede9fe;color:#5b21b6}.ui-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--dot, #94a3b8);border:1px solid rgba(15,23,42,.15)}.ui-tags{display:flex;flex-wrap:wrap;gap:.3rem}.ui-muted{color:#94a3b8}.ui-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-bottom:1rem}.ui-stat{--tone: var(--color-primary);display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.9rem 1.1rem;font:inherit;text-align:left;color:inherit;border-top:3px solid var(--tone)}button.ui-stat{cursor:pointer;transition:background-color .2s,box-shadow .2s}button.ui-stat:hover{background:#f8fafc}button.ui-stat[aria-pressed=true]{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--tone)}.ui-stat-label{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.ui-stat-value{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600;line-height:1.1;color:var(--color-text)}.ui-stat-foot{margin:0;font-size:.78rem;color:var(--color-text-muted)}.ui-tone-info{--tone: var(--color-info)}.ui-tone-success{--tone: var(--color-success)}.ui-tone-warning{--tone: var(--color-warning)}.ui-tone-danger{--tone: var(--color-danger)}.ui-tone-neutral{--tone: #64748b}.ui-tone-violet{--tone: #6d28d9}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.9rem 1.1rem;margin-bottom:1rem}.ui-toolbar-end{display:flex;align-items:center;gap:.6rem;margin-left:auto}.ui-search{position:relative;flex:1 1 260px;min-width:220px}.ui-search>svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.ui-search input{padding-left:2.25rem!important}.ui-seg{display:inline-flex;border:1px solid #cbd5e1;border-radius:var(--radius-sm);overflow:hidden}.ui-seg button{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .85rem;font:inherit;font-size:.86rem;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border:none;cursor:pointer;transition:background-color .2s,color .2s}.ui-seg button+button{border-left:1px solid #cbd5e1}.ui-seg button:hover{background:#f1f5f9}.ui-seg button[aria-pressed=true]{background:var(--color-primary);color:#fff}.ui-pills{display:flex;flex-wrap:wrap;gap:.4rem}.ui-pill{min-height:36px;padding:.35rem .85rem;font:inherit;font-size:.85rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:999px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.ui-pill:hover{background:#f1f5f9;color:var(--color-text)}.ui-pill[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ui-pill:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ui-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem;overflow-x:auto}.ui-tab{padding:.65rem 1rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.ui-tab:hover{color:var(--color-text)}.ui-tab[aria-selected=true],.ui-tab[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ui-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem 1.25rem}.ui-span-2{grid-column:span 2}.ui-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;border:none;margin:0;padding:0}.ui-field>label,.ui-field>legend,.ui-label{font-size:.82rem;font-weight:600;color:var(--color-text);padding:0}.ui-req{color:var(--color-danger);margin-left:.15rem}.ui-hint{font-size:.78rem;color:var(--color-text-muted)}.ui-input,.ui-select,.ui-textarea,.ui-field input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]),.ui-field select,.ui-field textarea,.ui-toolbar input,.ui-toolbar select{width:100%;min-height:40px;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s,background-color .2s}.ui-textarea,.ui-field textarea{min-height:96px;resize:vertical;line-height:1.5}.ui-select,.ui-field select,.ui-toolbar select{cursor:pointer}.ui-toolbar select{width:auto;min-width:160px}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled),.ui-field input:hover:not(:disabled),.ui-field select:hover:not(:disabled),.ui-field textarea:hover:not(:disabled),.ui-toolbar input:hover,.ui-toolbar select:hover{border-color:#94a3b8}.ui-input:focus-visible,.ui-select:focus-visible,.ui-textarea:focus-visible,.ui-field input:focus-visible,.ui-field select:focus-visible,.ui-field textarea:focus-visible,.ui-toolbar input:focus-visible,.ui-toolbar select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ui-field input:disabled,.ui-field select:disabled,.ui-field textarea:disabled{background:#f1f5f9;color:var(--color-text-muted);cursor:not-allowed}.ui-field input:user-invalid{border-color:var(--color-danger)}.ui-check{display:inline-flex;align-items:center;gap:.55rem;min-height:32px;font-size:.9rem;cursor:pointer}.ui-check input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.ui-chips{display:flex;flex-wrap:wrap;gap:.5rem}.ui-chip{position:relative}.ui-chip input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.ui-chip span{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .9rem;font-size:.86rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:999px;transition:background-color .2s,border-color .2s,color .2s}.ui-chip:hover span{background:#f1f5f9}.ui-chip input:checked+span{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.ui-chip input:focus-visible+span{box-shadow:var(--focus-ring)}.ui-suffix{position:relative}.ui-suffix input{padding-right:3.4rem!important}.ui-suffix>span{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);font-size:.8rem;font-weight:600;color:var(--color-text-muted);pointer-events:none}.ui-formbar{position:sticky;bottom:.75rem;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 6px 20px #0f172a1f}.ui-formbar-actions{display:flex;gap:.5rem;margin-left:auto}.ui-dirty{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--color-text-muted)}.ui-dirty i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.ui-dirty.is-dirty{color:var(--color-warning);font-weight:600}.ui-dirty.is-dirty i{background:var(--color-accent)}.ui-table-card{overflow:hidden}.ui-table-wrap{overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;font-size:.88rem}.ui-table th{padding:.65rem 1rem;text-align:left;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--color-text-muted);background:#f8fafc;border-bottom:1px solid var(--color-border)}.ui-table td{padding:.7rem 1rem;border-top:0;border-bottom:1px solid #f1f5f9;vertical-align:middle}.ui-table tbody tr{transition:background-color .15s}.ui-table tbody tr:hover{background:#f8fafc}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table .num,.ui-table th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui-table th.actions,.ui-table td.actions{text-align:right}.ui-row-actions{display:inline-flex;gap:.25rem}.ui-cell-title{display:block;max-width:320px;font-weight:600;color:var(--color-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm)}a.ui-cell-title:hover{text-decoration:underline}.ui-cell-sub{display:block;max-width:320px;margin-top:.1rem;font-size:.8rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-progress{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.ui-progress>span{display:block;height:100%;border-radius:inherit;background:var(--tone, var(--color-primary))}.ui-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted)}.ui-pager-nav{display:flex;align-items:center;gap:.6rem}.ui-page-btn{min-height:34px;padding:.25rem .75rem;font:inherit;font-size:.84rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);cursor:pointer}.ui-page-btn:hover:not(:disabled){background:var(--color-primary-soft)}.ui-page-btn:disabled{color:#94a3b8;cursor:not-allowed}.ui-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem 1.5rem;margin:0}.ui-dl>div{min-width:0}.ui-dl dt{margin:0 0 .15rem;font-size:.8rem;color:var(--color-text-muted)}.ui-dl dd{margin:0;font-size:.93rem;font-weight:500;overflow-wrap:anywhere}.ui-dl dd.ui-muted{font-weight:400}.ui-group+.ui-group{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid #f1f5f9}.ui-group-title{margin:0 0 .6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.ui-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;margin-bottom:1rem;border-radius:var(--radius-md);font-weight:500;background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger)}.ui-banner--success{background:var(--color-success-soft);border-color:#bbf7d0;color:#166534}.ui-banner--warning{background:var(--color-warning-soft);border-color:#fde68a;color:#92400e}.ui-banner--info{background:var(--color-info-soft);border-color:#bfdbfe;color:#1e40af}.ui-empty{padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted)}.ui-empty p{margin:0 0 .75rem}.ui-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:ui-shimmer 1.4s ease-in-out infinite}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a8c}.ui-modal{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;padding:1.25rem 1.4rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 20px 50px #0f172a59}.ui-modal h2{margin:0 0 .75rem;font-size:1.15rem}.ui-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}@media (max-width: 1000px){.ui-grid-2{grid-template-columns:1fr}}@media (max-width: 720px){.ui-toolbar-end{margin-left:0;width:100%;justify-content:space-between}.ui-toolbar select{min-width:0;width:100%}.ui-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.ui-span-2{grid-column:auto}.ui-formbar-actions{width:100%}.ui-formbar-actions .ui-btn{flex:1}}.main-layout{display:flex;height:100vh;overflow:hidden}.skip-link{position:absolute;left:.75rem;top:-3rem;z-index:100;padding:.5rem .9rem;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-card)}.skip-link:focus{top:.75rem}.sidebar{width:260px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid rgba(148,163,184,.15)}.sidebar-header{padding:1.25rem 1rem 1rem;border-bottom:1px solid rgba(148,163,184,.15);display:flex;flex-direction:column;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;padding:0 .25rem}.brand-mark{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md);background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;font-size:1.1rem;box-shadow:0 2px 8px #1e40af73}.brand-text{display:flex;flex-direction:column;min-width:0}.sidebar-header h2{margin:0;font-size:1.05rem;font-weight:700;line-height:1.2;letter-spacing:.01em;color:var(--sidebar-text-active)}.brand-text span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.user-card{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem;border-radius:var(--radius-md);background:var(--sidebar-hover);border:1px solid rgba(148,163,184,.14)}.user-avatar{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--sidebar-active);color:#bfdbfe;font-size:.82rem;font-weight:700;letter-spacing:.02em}.user-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.user-name{font-size:.9rem;font-weight:600;color:var(--sidebar-text-active);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{width:fit-content;margin:.1rem 0 .35rem;padding:.05rem .5rem;border-radius:999px;background:#3b82f633;color:#bfdbfe;font-size:.7rem;font-weight:600}.user-meta{display:flex;align-items:center;gap:.35rem;font-size:.76rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta svg{flex:none}.user-action-btn{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);color:var(--sidebar-text);text-decoration:none;transition:background-color .2s,color .2s}.user-action-btn:hover{background:#94a3b838;color:var(--sidebar-text-active)}.user-action-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-nav{flex:1;padding:.75rem .6rem;overflow-y:auto}.nav-group{display:flex;flex-direction:column;margin-bottom:2px}.nav-group.has-children .nav-parent{display:flex;align-items:center;justify-content:space-between}.nav-parent{position:relative}.nav-group.has-children .nav-item{flex:1}.nav-item{display:flex;align-items:center;min-height:40px;padding:.5rem .85rem;color:var(--sidebar-text);text-decoration:none;font-size:.92rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,color .2s}.nav-item:hover{background-color:var(--sidebar-hover);color:var(--sidebar-text-active)}.nav-item.active{background-color:var(--sidebar-active);color:var(--sidebar-text-active);box-shadow:inset 3px 0 0 var(--color-accent)}.nav-item svg{margin-right:.7rem;font-size:1.1rem;flex-shrink:0}.nav-submenu{display:flex;flex-direction:column;margin:2px 0 4px 1.4rem;padding-left:.4rem;border-left:1px solid rgba(148,163,184,.25)}.nav-item--group{width:100%;background:none;border:none;font-family:inherit;text-align:left}.nav-item--group.is-current{color:var(--sidebar-text-active)}.nav-item--group:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-toggle-icon{width:8px;height:8px;margin-left:auto;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}.nav-toggle-icon.open{transform:rotate(135deg)}.nav-sub-item{display:flex;align-items:center;min-height:36px;padding:.4rem .75rem;color:var(--sidebar-text);text-decoration:none;font-size:.86rem;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,color .2s}.nav-sub-item:hover{color:var(--sidebar-text-active);background-color:var(--sidebar-hover)}.nav-sub-item.active{color:var(--sidebar-text-active);background-color:var(--sidebar-active)}.nav-sub-icon{display:inline-flex;align-items:center;margin-right:.5rem;font-size:.95rem}.logout-btn{display:flex;align-items:center;width:100%;min-height:48px;padding:.85rem 1.25rem;background:transparent;color:var(--sidebar-text);border:none;border-top:1px solid rgba(148,163,184,.15);cursor:pointer;font-size:.92rem;transition:background-color .2s,color .2s}.logout-btn:hover{background:#b91c1c2e;color:#fecaca}.logout-btn svg{margin-right:.7rem;font-size:1.1rem}.sidebar a:focus-visible,.sidebar button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.main-content{flex:1;overflow-y:auto;background-color:var(--color-bg);padding:2rem}.main-content:focus{outline:none}@media (max-width: 900px){.sidebar{width:220px}.main-content{padding:1.25rem}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a8a)}.login-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.login-card h1{text-align:center;color:var(--color-primary);margin-bottom:.5rem;font-size:1.8rem}.login-card h2{text-align:center;color:#666;margin-bottom:2rem;font-size:1.2rem;font-weight:400}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn-primary{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:5px;margin-bottom:1rem;text-align:center}.lg-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem 1rem;background:linear-gradient(135deg,#0f172a,#1e3a8a);font-family:var(--font-sans)}.lg-card{width:100%;max-width:420px;padding:2rem 1.75rem 1.75rem;background:var(--color-surface);border-radius:14px;box-shadow:0 20px 50px #00000059}.lg-brand{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.5rem;text-align:center}.lg-logo{display:block;width:52px;height:52px;border-radius:14px}.lg-card h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.lg-sub{margin:0;font-size:.92rem;color:var(--color-text-muted)}.lg-form{display:flex;flex-direction:column;gap:1rem}.lg-pass{position:relative}.lg-pass input{padding-right:2.9rem!important}.lg-eye{position:absolute;right:2px;top:2px;width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.lg-eye:hover{color:var(--color-primary)}.lg-eye:focus-visible{outline:none;box-shadow:var(--focus-ring)}.lg-error{display:flex;align-items:flex-start;gap:.5rem;padding:.7rem .9rem;margin-bottom:1rem;font-size:.9rem;font-weight:500;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:var(--radius-sm)}.lg-error svg{flex:none;margin-top:2px}.lg-submit{width:100%;min-height:44px;margin-top:.25rem;font-size:.95rem}.lg-foot{margin:1.25rem 0 0;text-align:center;font-size:.78rem;color:var(--color-text-muted)}.od{max-width:1280px;margin:0 auto;font-family:var(--font-sans);color:var(--color-text)}.od-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.od-crumb{display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.85rem;color:var(--color-text-muted)}.od-crumb a{color:var(--color-primary);font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.od-crumb a:hover{text-decoration:underline}.od-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.od-title{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.od-title h1{margin:0;font-size:1.6rem;font-weight:700;color:var(--color-text)}.od-subtitle{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.od-actions{display:flex;gap:.5rem;flex-wrap:wrap}.od-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.4rem 1rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.od-btn:hover{background:var(--color-primary-soft)}.od-btn--primary{background:var(--color-primary);color:#fff}.od-btn--primary:hover{background:var(--color-primary-hover)}.od-btn--ghost{color:var(--color-text-muted);border-color:#cbd5e1}.od-btn--ghost:hover{background:#f1f5f9;color:var(--color-text)}.od-btn--sm{min-height:34px;padding:.25rem .75rem;font-size:.82rem}.od-btn:focus-visible,.od-toggle:focus-visible,.od-link:focus-visible,.od-crumb a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.od-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.4;background:#e2e8f0;color:#334155;white-space:nowrap}.od-badge--prospect{background:#e0f2fe;color:#075985}.od-badge--new,.od-badge--warning{background:var(--color-warning-soft);color:#92400e}.od-badge--active,.od-badge--success{background:var(--color-success-soft);color:#166534}.od-badge--dispute,.od-badge--danger{background:var(--color-danger-soft);color:#991b1b}.od-badge--churn{background:#ede9fe;color:#5b21b6}.od-badge--info{background:var(--color-info-soft);color:#1e40af}.od-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:1rem;align-items:start;margin-bottom:1rem}.od-panel{padding:1.1rem 1.25rem}.od-panel h2{margin:0 0 .9rem;font-size:1rem;font-weight:700}.od-group+.od-group{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid #f1f5f9}.od-group-title{margin:0 0 .6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.od-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem 1.5rem;margin:0}.od-dl>div{min-width:0}.od-dl dt{margin:0 0 .15rem;font-size:.8rem;color:var(--color-text-muted)}.od-dl dd{margin:0;font-size:.93rem;font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.od-dl dd.od-empty-value{color:#94a3b8;font-weight:400}.od-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.od-link{color:var(--color-primary);font-weight:600;text-decoration:none;border-radius:var(--radius-sm);cursor:pointer}.od-link:hover{text-decoration:underline}.od-segment{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.od-tags{display:flex;flex-wrap:wrap;gap:.35rem}.od-map-card{padding:1.1rem 1.25rem;position:sticky;top:0}.od-map-card h2{margin:0 0 .75rem;font-size:1rem;font-weight:700}.od-map{height:320px;width:100%;border-radius:var(--radius-sm);overflow:hidden;z-index:0}.od-map-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.82rem;color:var(--color-text-muted)}.od-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px;color:var(--color-text-muted);text-align:center}.od-map-empty svg{font-size:1.6rem;color:#94a3b8}.od-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1rem}.od-kpi{padding:1rem 1.15rem;border-top:3px solid var(--color-primary)}.od-kpi h3{margin:0 0 .5rem;font-size:.82rem;font-weight:600;color:var(--color-text-muted)}.od-kpi p{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:600;line-height:1.2;color:var(--color-text)}.od-kpi small{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--color-text-muted);margin-left:.25rem}.od-history-head{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.9rem}.od-history-head h2{margin:0;font-size:1rem;font-weight:700}.od-count{padding:.05rem .55rem;border-radius:999px;background:#f1f5f9;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.8rem;font-weight:600}.od-timeline{list-style:none;margin:0;padding:0 0 0 1.35rem;position:relative}.od-timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--color-border)}.od-visit{position:relative;padding:0 0 1.1rem}.od-visit:last-child{padding-bottom:0}.od-visit:before{content:"";position:absolute;left:calc(-1.35rem + 0px);top:1.05rem;width:12px;height:12px;border-radius:50%;background:var(--marker, var(--color-primary));border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--marker, var(--color-primary))}.od-visit--completed{--marker: var(--color-success)}.od-visit--progress{--marker: var(--color-warning)}.od-visit--planned{--marker: var(--color-info)}.od-visit--suspect{--marker: var(--color-danger)}.od-visit-card{padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fcfdff}.od-visit-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.od-visit-top h3{margin:0;font-size:.95rem;font-weight:600}.od-visit-date{margin:.15rem 0 0;font-size:.82rem;color:var(--color-text-muted)}.od-visit-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.65rem;font-size:.85rem;color:var(--color-text-muted)}.od-visit-meta span{display:inline-flex;align-items:center;gap:.35rem}.od-notes{margin:.7rem 0 0;padding:.6rem .8rem;border-left:3px solid var(--color-border);background:#f8fafc;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;white-space:pre-wrap}.od-visit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.od-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.25rem .6rem;font:inherit;font-size:.85rem;font-weight:600;color:var(--color-primary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer}.od-toggle:hover{background:var(--color-primary-soft)}.od-toggle svg{transition:transform .2s}.od-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.od-answers{margin:.5rem 0 0;display:grid;gap:.5rem}.od-answers>div{padding:.5rem .75rem;background:#f8fafc;border:1px solid #f1f5f9;border-radius:var(--radius-sm)}.od-answers dt{margin:0 0 .1rem;font-size:.78rem;color:var(--color-text-muted)}.od-answers dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.od-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;margin-top:.75rem}.od-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.od-empty{margin:0;padding:1.75rem 0;text-align:center;color:var(--color-text-muted)}.od-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:od-shimmer 1.4s ease-in-out infinite}@keyframes od-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.od-error{padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-radius:var(--radius-md);background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger);font-weight:500}@media (max-width: 1000px){.od-grid{grid-template-columns:1fr}.od-map-card{position:static}}@media (max-width: 640px){.od-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.od-kpi p{font-size:1.15rem}.od-actions{width:100%}.od-actions .od-btn{flex:1}}.od-kpi-sub{display:block;margin-top:.35rem;font-size:.8rem;color:var(--color-text-muted)}.od-trend{margin-left:.5rem;font-family:var(--font-sans);font-size:.85rem;font-weight:700;white-space:nowrap}.od-trend--up{color:#166534}.od-trend--down{color:#b91c1c}.od-trend--flat,.od-trend--neutral{color:var(--color-text-muted)}.od-score-body{display:grid;gap:1rem}.od-spark{width:100%;max-width:360px;height:64px;color:var(--color-primary);overflow:visible}.od-score-table{width:100%;border-collapse:collapse;font-size:.88rem}.od-score-table th{text-align:left;padding:.4rem .6rem;font-size:.74rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.od-score-table td{padding:.5rem .6rem;border-bottom:1px solid #f1f5f9}.od-score-table .num{text-align:right;font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.filters-card h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group label{margin-bottom:.5rem;font-weight:500;color:#555;font-size:.9rem}.filter-group input,.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:.9rem}.date-filter{grid-column:1 / -1}.date-pills{display:flex;flex-wrap:wrap;gap:.5rem}.date-pill{border:1px solid #e0e0e0;background:#f8f9fa;color:#333;padding:.4rem .8rem;border-radius:999px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.date-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #1e40af4d}.custom-date-range{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.custom-date-range input{flex:1;min-width:180px}.custom-date-range span{color:#6c757d;font-size:.9rem}.date-hint{margin-top:.5rem;font-size:.85rem;color:#6b7280}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d;display:flex;align-items:center;gap:1rem;transition:transform .2s}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #0000001a}.kpi-icon{width:60px;height:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.kpi-content{flex:1}.kpi-content h3{margin:0 0 .5rem;font-size:.9rem;color:#6c757d;font-weight:500}.kpi-value{margin:0;font-size:2rem;font-weight:700;color:#333}.kpi-subtitle{margin:.25rem 0 0;font-size:.85rem;color:#6c757d}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.summary-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.summary-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.summary-icon{font-size:1.5rem;color:var(--color-primary)}.summary-header h3{margin:0;font-size:1.1rem;color:#333}.summary-value{font-size:2.5rem;font-weight:700;color:var(--color-primary);margin:0 0 1rem}.summary-text{color:#6c757d;margin:0 0 1rem}.summary-link{color:var(--color-primary);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .2s}.summary-link:hover{color:var(--color-primary-hover);text-decoration:underline}.visits-by-monitor-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.visits-by-monitor-list li{background:#f8f9fb;border:1px solid #e9ecef;border-radius:8px;padding:.75rem 1rem}.monitor-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.monitor-name{font-weight:600;color:#333}.monitor-visits{font-weight:500;color:var(--color-primary)}.monitor-substats{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:#6c757d}@media (max-width: 768px){.kpi-grid,.summary-grid,.filters-grid{grid-template-columns:1fr}}.dash{max-width:1280px;margin:0 auto;font-family:var(--font-sans);color:var(--color-text)}.dash-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.dash-header h1{margin:0;font-size:1.6rem;font-weight:700;color:var(--color-text)}.dash-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.dash-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.dash-filters{padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem}.dash-field{display:flex;flex-direction:column;gap:.35rem;min-width:190px}.dash-field>label,.dash-field>.dash-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.dash-field select,.dash-field input[type=date]{min-height:40px;padding:.4rem .7rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,box-shadow .2s}.dash-field select:hover,.dash-field input[type=date]:hover{border-color:#94a3b8}.dash-field select:focus-visible,.dash-field input[type=date]:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.dash-period{flex:1 1 100%}.dash-pills{display:flex;flex-wrap:wrap;gap:.4rem}.dash-pill{min-height:36px;padding:.35rem .85rem;font:inherit;font-size:.85rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:999px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.dash-pill:hover{background:#f1f5f9;color:var(--color-text)}.dash-pill[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.dash-pill:focus-visible,.dash-btn:focus-visible,.dash-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dash-custom-range{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:.6rem;color:var(--color-text-muted);font-size:.9rem}.dash-hint{margin:.5rem 0 0;font-size:.82rem;color:var(--color-text-muted)}.dash-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:40px;padding:.4rem 1rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,color .2s}.dash-btn:hover{background:var(--color-primary-soft)}.dash-btn--primary{background:var(--color-primary);color:#fff}.dash-btn--primary:hover{background:var(--color-primary-hover)}.dash-filters .dash-btn{margin-left:auto}.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.25rem}.dash-kpi{padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.6rem;border-top:3px solid var(--kpi-color, var(--color-primary))}.dash-kpi-head{display:flex;align-items:center;gap:.6rem}.dash-kpi-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;color:var(--kpi-color, var(--color-primary));background:var(--kpi-soft, var(--color-primary-soft));flex-shrink:0}.dash-kpi-label{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.dash-kpi-value{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:600;line-height:1.1;color:var(--color-text)}.dash-kpi-unit{font-size:.95rem;font-weight:500;color:var(--color-text-muted);margin-left:.25rem}.dash-kpi-foot{margin:0;font-size:.8rem;color:var(--color-text-muted)}.dash-kpi--info{--kpi-color: var(--color-info);--kpi-soft: var(--color-info-soft)}.dash-kpi--success{--kpi-color: var(--color-success);--kpi-soft: var(--color-success-soft)}.dash-kpi--warning{--kpi-color: var(--color-warning);--kpi-soft: var(--color-warning-soft)}.dash-kpi--danger{--kpi-color: var(--color-danger);--kpi-soft: var(--color-danger-soft)}.dash-kpi--neutral{--kpi-color: #475569;--kpi-soft: #f1f5f9}.dash-progress{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dash-progress>span{display:block;height:100%;border-radius:inherit;background:var(--kpi-color, var(--color-primary))}.dash-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1rem;align-items:start}.dash-panel{padding:1.1rem 1.25rem}.dash-panel h2{margin:0 0 .85rem;font-size:1rem;font-weight:700}.dash-table-wrap{overflow-x:auto}.dash-table{width:100%;border-collapse:collapse;font-size:.88rem}.dash-table th{padding:.5rem .75rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.dash-table td{padding:.65rem .75rem;border-top:0;border-bottom:1px solid #f1f5f9;vertical-align:middle}.dash-table tbody tr{transition:background-color .15s}.dash-table tbody tr:hover{background:#f8fafc}.dash-table .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dash-table th.num{text-align:right}.dash-monitor-name{font-weight:600}.dash-rate{display:flex;align-items:center;gap:.5rem;min-width:120px}.dash-rate .dash-progress{flex:1;--kpi-color: var(--color-success)}.dash-rate-text{font-family:var(--font-mono);font-size:.8rem;min-width:3.2ch;text-align:right}.dash-badge{display:inline-block;min-width:1.8rem;padding:.1rem .5rem;border-radius:999px;font-family:var(--font-mono);font-size:.8rem;font-weight:600;text-align:center;background:#f1f5f9;color:var(--color-text-muted)}.dash-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.dash-side{display:flex;flex-direction:column;gap:1rem}.dash-stat{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.4rem 0}.dash-stat-value{font-family:var(--font-mono);font-size:1.6rem;font-weight:600;color:var(--color-primary)}.dash-link{display:inline-flex;align-items:center;min-height:36px;font-size:.88rem;font-weight:600;color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer}.dash-link:hover{color:var(--color-primary-hover);text-decoration:underline}.dash-empty{margin:0;padding:1.5rem 0;text-align:center;color:var(--color-text-muted)}.dash-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:dash-shimmer 1.4s ease-in-out infinite}@keyframes dash-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dash-error{padding:1rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-radius:var(--radius-md);background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger);font-weight:500}@media (max-width: 1000px){.dash-main{grid-template-columns:1fr}}@media (max-width: 640px){.dash-field{min-width:100%}.dash-filters .dash-btn{margin-left:0;width:100%}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpi-value{font-size:1.5rem}}.dash-trends{padding:1.1rem 1.25rem;margin-bottom:1.25rem}.dash-trends h2{margin:0 0 .9rem;font-size:1.05rem}.dash-trend-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.1rem}.dash-trend-kpi{padding:.2rem 0}.dash-trend-label{font-size:.82rem;font-weight:600;color:var(--color-text-muted, #6b7280)}.dash-trend-value{margin:.25rem 0;font-family:var(--font-mono, monospace);font-size:1.8rem;font-weight:600;line-height:1.2}.dash-trend-sub{font-size:.8rem;color:var(--color-text-muted, #6b7280)}.dash-trend-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.dash-trend-charts figure{margin:0}.dash-trend-charts figcaption{margin-bottom:.4rem;font-size:.82rem;font-weight:600;color:var(--color-text-muted, #6b7280)}.dash-trend-chart{width:100%;height:120px;color:var(--color-primary, #1d4ed8);overflow:visible}.dash-trend-orders .dash-trend-chart{color:#0f766e}.dash-trend-axis{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted, #6b7280)}.manager-chip{display:inline-flex;align-items:center;gap:.35rem;background-color:#eef2ff;color:#3949ab;padding:.15rem .6rem;border-radius:999px;font-size:.85rem;font-weight:500}.helper-text{font-size:.85rem;color:#6c757d;margin-top:.25rem}.status-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:500}.status-badge.active{background-color:#e8f5e9;color:#2e7d32}.status-badge.inactive{background-color:#ffebee;color:#c62828}.mn-page .ui-table th,.mn-page .ui-table td{border-top:none}.mn-page .ui-table td{padding:.7rem 1rem}.mn-page .ui-table th{padding:.65rem 1rem}.mn-page .ui-table tbody tr:hover{background:#f8fafc}.mn-person{display:flex;align-items:center;gap:.7rem;min-width:0}.mn-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:.8rem;font-weight:700;letter-spacing:.02em;background:var(--color-primary-soft);color:var(--color-primary)}.mn-avatar--lg{width:52px;height:52px;font-size:1.05rem}.mn-avatar--off{background:#e2e8f0;color:#64748b}.mn-person-text{min-width:0}.mn-zone{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:500}.mn-filter{display:flex;flex-direction:column;gap:.3rem}.mn-filter label{font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.mn-skel-row td{padding-top:.9rem;padding-bottom:.9rem}.mn-skel-line{height:14px;border-radius:6px}.mn-count{padding:.6rem 1rem;font-size:.82rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.mn-hero{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.25rem;margin-bottom:1rem}.mn-hero-main{flex:1 1 240px;min-width:0}.mn-hero-name{margin:0;font-size:1.35rem;font-weight:700;overflow-wrap:anywhere}.mn-hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem}.mn-stat-val--danger{color:var(--color-danger)}.mn-visit-table td:first-child{white-space:nowrap}.mn-form{display:block}.mn-note{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.7rem .9rem;font-size:.86rem;color:#1e40af;background:var(--color-info-soft);border:1px solid #bfdbfe;border-radius:var(--radius-sm)}.mn-note svg{flex:none;margin-top:.15rem}.mn-note--warn{color:#92400e;background:var(--color-warning-soft);border-color:#fde68a}.mn-toggle{display:flex;align-items:center;min-height:40px}@media (max-width: 720px){.mn-hero-name{font-size:1.15rem}.mn-cell-hide-sm{display:none}}.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;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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{max-width:none!important;max-height:none!important;width:auto;padding:0}.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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.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;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;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:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;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{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.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{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;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{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.outlet-name{display:flex;align-items:center;gap:.5rem}.search-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.search-bar input[type=text]{flex:1}.search-bar .type-filter{min-width:200px;padding:.75rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff;color:#333;cursor:pointer;transition:all .2s}.search-bar .type-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e40af1a}.search-bar .type-filter:hover{border-color:var(--color-primary)}.icon-small{font-size:1rem;color:var(--color-primary)}.header-actions{display:flex;align-items:center;gap:.75rem}.import-result{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.import-result.success{border-color:#28a745;background:#e8f5e9}.import-result.error{border-color:#dc3545;background:#f8d7da}.import-result strong{display:block;margin-bottom:.5rem;color:#333}.import-summary{display:flex;flex-wrap:wrap;gap:1rem;font-size:.95rem;color:#333}.import-result details{margin-top:.75rem}.import-result ul{margin:.5rem 0 0;padding-left:1.25rem;color:#6c757d;font-size:.9rem}.detail-section{margin-bottom:2rem}.history-section{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.history-section h2{margin:0 0 1.5rem;color:#333}.no-data{text-align:center;padding:2rem;color:#6c757d}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#e9ecef}.timeline-item{position:relative;margin-bottom:2rem}.timeline-marker{position:absolute;left:-2rem;top:0;width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:3px solid white;box-shadow:0 0 0 2px #e9ecef}.timeline-content{background:#f8f9fa;padding:1.5rem;border-radius:8px}.visit-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.visit-header h3{margin:0 0 .25rem;color:#333}.visit-date{margin:0;color:#6c757d;font-size:.875rem}.visit-badges{display:flex;gap:.5rem}.visit-info{display:flex;gap:1.5rem;margin-bottom:1rem}.visit-actions{margin-top:1rem;margin-bottom:1rem}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#e5e7eb;color:#374151}.status-prospect{background:#e0f2fe;color:#0369a1}.status-new{background:#fef3c7;color:#92400e}.status-active{background:#dcfce7;color:#166534}.status-inactive{background:#e5e7eb;color:#374151}.status-dispute{background:#fee2e2;color:#991b1b}.status-churn{background:#ede9fe;color:#5b21b6}.status-default{background:#e5e7eb;color:#374151}.segment-pill{display:inline-flex;align-items:center;padding:.2rem .75rem;border-radius:999px;border:1px solid #cbd5f5;font-size:.85rem;font-weight:600;background:#f8fafc}.score-value{font-size:1.1rem;font-weight:700;color:#111827}.info-item{display:flex;align-items:center;gap:.5rem;color:#6c757d;font-size:.875rem}.info-item svg{font-size:1rem}.visit-answers{margin-top:1rem}.toggle-answers{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.875rem;transition:background .2s}.toggle-answers:hover{background:var(--color-primary-hover)}.answers-detail{margin-top:1rem;padding:1rem;background:#fff;border-radius:5px;border:1px solid #e9ecef}.answer-item{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.answer-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.answer-item label{color:#333;font-size:.875rem;font-weight:600}.answer-item p{color:#6c757d;margin:0;font-size:.95rem}.btn-link{background:none;border:none;color:var(--color-primary);text-decoration:none;cursor:pointer;font-size:.95rem;padding:.5rem 0;display:flex;align-items:center;gap:.5rem;transition:color .2s}.btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.visit-notes{margin-top:1rem;padding:1rem;background:#fff;border-radius:5px;border-left:3px solid var(--color-primary)}.visit-notes strong{display:block;color:#333;margin-bottom:.5rem;font-size:.875rem}.visit-notes p{margin:0;color:#6c757d;font-size:.875rem;line-height:1.5}.visit-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}.visit-photo{width:100%;height:150px;object-fit:cover;border-radius:5px;cursor:pointer;transition:transform .2s}.visit-photo:hover{transform:scale(1.05)}.view-toggle{display:flex;gap:.5rem;margin-bottom:1rem;background:#f8f9fa;padding:.5rem;border-radius:8px;width:fit-content}.view-toggle button{padding:.5rem 1rem;border:none;background:transparent;color:#6c757d;cursor:pointer;border-radius:5px;font-size:.95rem;transition:all .2s;display:flex;align-items:center;gap:.5rem}.view-toggle button:hover{background:#e9ecef;color:#333}.view-toggle button.active{background:var(--color-primary);color:#fff}.map-container{position:relative;height:600px;width:100%;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.map-legend{position:absolute;bottom:20px;right:20px;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 10px #0003;z-index:1000}.map-legend h4{margin:0 0 .75rem;font-size:.875rem;color:#333;font-weight:600}.legend-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.legend-item:last-child{margin-bottom:0}.legend-color{width:20px;height:20px;border-radius:50%;border:2px solid white;box-shadow:0 2px 5px #0000004d}.map-popup h3{margin:0 0 .5rem;color:#333;font-size:1rem}.map-popup .outlet-type{display:inline-block;background:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;margin-bottom:.5rem}.map-popup .outlet-address{margin:.5rem 0;color:#6c757d;font-size:.875rem}.map-popup .outlet-city{margin:.5rem 0;color:#333;font-size:.875rem}.map-popup .outlet-contact,.map-popup .outlet-phone{margin:.25rem 0;color:#6c757d;font-size:.875rem}.map-popup .outlet-coordinates{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e9ecef;color:#6c757d;font-size:.75rem}.custom-marker{background:transparent;border:none}.leaflet-popup-content-wrapper{border-radius:8px}.detail-section-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.detail-info{grid-column:1}.detail-map{grid-column:2;position:sticky;top:2rem;align-self:start}.map-detail-container{width:100%}.map-detail-container h2{margin:0 0 1rem;color:#333;font-size:1.25rem}.map-detail-placeholder{height:400px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:8px;color:#6c757d}.map-coordinates-info{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.map-coordinates-info p{margin:.5rem 0;color:#333;font-size:.95rem}.map-coordinates-info .btn-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;color:var(--color-primary);text-decoration:none;font-size:.95rem;transition:color .2s}.map-coordinates-info .btn-link:hover{color:var(--color-primary-hover);text-decoration:underline}.map-section{margin-top:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;box-shadow:0 1px 3px #0000000d}.map-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.map-header h3{margin:0;color:#1f2937}.map-hint{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.coords-display{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem;color:#111827}.map-container-outlet{width:100%;height:360px;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb}@media (max-width: 768px){.timeline{padding-left:1.5rem}.timeline-marker{left:-1.5rem}.visit-header{flex-direction:column;gap:1rem}.visit-info{flex-direction:column;gap:.75rem}.visit-photos{grid-template-columns:repeat(2,1fr)}.map-container{height:400px}.map-legend{bottom:10px;right:10px;padding:.75rem}.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}.detail-section-split{grid-template-columns:1fr;gap:1.5rem}.detail-info,.detail-map{grid-column:1}.detail-map{position:static}.map-container-outlet{height:320px}}@media (max-width: 1024px) and (min-width: 769px){.detail-section-split{grid-template-columns:1fr 1fr;gap:1rem}.map-detail-container h2{font-size:1.1rem}}.kpi-section{margin:2rem 0}.kpi-section h2{margin-bottom:1.5rem;color:#333;font-size:1.5rem;font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.kpi-item{background:var(--color-primary);padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.kpi-item:hover{transform:translateY(-4px);box-shadow:0 8px 12px #00000026}.kpi-item label{display:block;font-size:.9rem;font-weight:500;color:#ffffffe6;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:1.8rem;font-weight:700;color:#fff;margin:0;line-height:1.2}@media (max-width: 768px){.kpi-grid{grid-template-columns:1fr;gap:1rem}.kpi-item{padding:1.25rem}.kpi-value{font-size:1.5rem}}@media (max-width: 480px){.kpi-value{font-size:1.3rem}}.kpi-form-section{margin:2rem 0;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.kpi-form-section h3{margin:0 0 1.5rem;color:#333;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.kpi-form-section h3:before{content:"📊";font-size:1.5rem}.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:#fff;border:1px solid #e9ecef;border-radius:8px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#333;padding:.5rem .75rem;border-radius:6px;transition:background .2s}.checkbox-label:hover{background:#f8f9fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.channels-list{display:flex;flex-wrap:wrap;gap:.5rem}.channel-tag{display:inline-flex;align-items:center;padding:.25rem .75rem;background:#e0f2fe;color:#0369a1;border-radius:999px;font-size:.85rem;font-weight:500}.chain-name{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#fef3c7;color:#92400e;border-radius:999px;font-size:.85rem;font-weight:500}.om-shell{overflow:hidden}.om-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.7rem 1.1rem;border-bottom:1px solid var(--color-border);font-size:.88rem;color:var(--color-text-muted)}.om-bar-title{display:inline-flex;align-items:center;gap:.45rem}.om-bar-title strong{color:var(--color-text)}.om-map{position:relative;height:clamp(420px,68vh,720px);width:100%;z-index:0}.om-map .leaflet-container{font-family:var(--font-sans)}.om-legend{position:absolute;right:12px;bottom:24px;z-index:500;min-width:190px;max-width:calc(100% - 24px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 14px #0f172a2e;overflow:hidden}.om-legend-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:40px;padding:.4rem .85rem;font:inherit;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer}.om-legend-toggle:hover{background:#f8fafc}.om-legend-toggle:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.om-legend-list{list-style:none;margin:0;padding:.25rem .85rem .7rem}.om-legend-item{display:flex;align-items:center;gap:.55rem;padding:.2rem 0;font-size:.86rem}.om-legend-dot{flex:none;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0f172a40}.om-legend-name{flex:1}.om-legend-count{font-size:.8rem;color:var(--color-text-muted)}.om-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;display:flex;flex-direction:column;align-items:center;gap:.3rem;max-width:300px;padding:1.25rem 1.5rem;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);color:var(--color-text-muted)}.om-empty svg{font-size:1.6rem;color:var(--color-primary)}.om-empty p{margin:0;font-weight:600;color:var(--color-text)}.om-empty span{font-size:.84rem}.om-popup{min-width:200px;font-family:var(--font-sans)}.om-popup h3{margin:0 0 .4rem;font-size:1rem;color:var(--color-text)}.om-popup p{margin:.3rem 0}.om-popup-type{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--color-info-soft);color:#1e40af}.om-popup-address{font-size:.85rem;color:var(--color-text-muted)}.om-popup-city{font-size:.85rem;color:var(--color-text)}.om-popup-line{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted)}.om-popup-coords{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted)}@media (max-width: 560px){.om-map{height:clamp(380px,70vh,560px)}.om-legend{right:8px;bottom:20px;min-width:160px}}.ol{max-width:1400px;margin:0 auto;font-family:var(--font-sans);color:var(--color-text)}.ol-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.ol-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.ol-header h1{margin:0;font-size:1.6rem;font-weight:700}.ol-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.ol-actions{display:flex;gap:.5rem;flex-wrap:wrap}.ol-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.4rem 1rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.ol-btn:hover:not(:disabled){background:var(--color-primary-soft)}.ol-btn:disabled{opacity:.6;cursor:not-allowed}.ol-btn--primary{background:var(--color-primary);color:#fff}.ol-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ol-btn--ghost{color:var(--color-text-muted);border-color:#cbd5e1}.ol-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:var(--color-text)}.ol-btn--sm{min-height:34px;padding:.25rem .75rem;font-size:.82rem}.ol-btn:focus-visible,.ol-stat:focus-visible,.ol-seg button:focus-visible,.ol-icon-btn:focus-visible,.ol-name:focus-visible,.ol-page-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ol-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.ol-stat{--tone: var(--color-primary);display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem 1rem;font:inherit;text-align:left;color:inherit;cursor:pointer;border-top:3px solid var(--tone);transition:background-color .2s,border-color .2s,box-shadow .2s}.ol-stat:hover{background:#f8fafc}.ol-stat[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--tone);box-shadow:inset 0 0 0 1px var(--tone)}.ol-stat-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.ol-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1.1}.ol-tone-all{--tone: var(--color-primary)}.ol-tone-prospect{--tone: #0369a1}.ol-tone-new{--tone: var(--color-warning)}.ol-tone-active{--tone: var(--color-success)}.ol-tone-inactive{--tone: #64748b}.ol-tone-dispute{--tone: var(--color-danger)}.ol-tone-churn{--tone: #6d28d9}.ol-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:.9rem 1.1rem;margin-bottom:1rem}.ol-search{position:relative;flex:1 1 260px;min-width:220px}.ol-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}.ol-search input{width:100%;min-height:40px;padding:.4rem .75rem .4rem 2.25rem}.ol-field{display:flex;flex-direction:column;gap:.3rem}.ol-field>label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.ol-toolbar input,.ol-toolbar select{min-height:40px;padding:.4rem .7rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}.ol-toolbar select{cursor:pointer;min-width:160px}.ol-toolbar input:hover,.ol-toolbar select:hover{border-color:#94a3b8}.ol-toolbar input:focus-visible,.ol-toolbar select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ol-toolbar-end{display:flex;align-items:center;gap:.6rem;margin-left:auto}.ol-seg{display:inline-flex;border:1px solid #cbd5e1;border-radius:var(--radius-sm);overflow:hidden}.ol-seg button{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .85rem;font:inherit;font-size:.86rem;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border:none;cursor:pointer;transition:background-color .2s,color .2s}.ol-seg button+button{border-left:1px solid #cbd5e1}.ol-seg button:hover{background:#f1f5f9}.ol-seg button[aria-pressed=true]{background:var(--color-primary);color:#fff}.ol-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;margin-bottom:1rem;border-radius:var(--radius-md);font-weight:500;background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger)}.ol-banner--success{background:var(--color-success-soft);border-color:#bbf7d0;color:#166534}.ol-import{padding:.9rem 1.1rem;margin-bottom:1rem;border-radius:var(--radius-md);border:1px solid #bbf7d0;background:var(--color-success-soft);color:#166534}.ol-import.is-error{border-color:#fecaca;background:var(--color-danger-soft);color:var(--color-danger)}.ol-import-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.4rem;font-size:.86rem}.ol-import details{margin-top:.5rem;font-size:.86rem}.ol-import summary{cursor:pointer;font-weight:600}.ol-import ul{margin:.4rem 0 0;padding-left:1.2rem}.ol-table-card{overflow:hidden}.ol-table-wrap{overflow-x:auto}.ol-table{width:100%;border-collapse:collapse;font-size:.88rem}.ol-table th{padding:.65rem 1rem;text-align:left;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--color-text-muted);background:#f8fafc;border-bottom:1px solid var(--color-border)}.ol-table th.ol-col-actions,.ol-table td.ol-col-actions{text-align:right}.ol-table td{padding:.7rem 1rem;border-top:0;border-bottom:1px solid #f1f5f9;vertical-align:middle}.ol-table tbody tr{transition:background-color .15s}.ol-table tbody tr:hover{background:#f8fafc}.ol-table tbody tr:last-child td{border-bottom:none}.ol-name{display:block;max-width:320px;font-weight:600;color:var(--color-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);cursor:pointer}.ol-name:hover{text-decoration:underline}.ol-place{display:block;max-width:320px;margin-top:.1rem;font-size:.8rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ol-muted{color:#94a3b8}.ol-badge{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:#e2e8f0;color:#334155}.ol-badge--prospect{background:#e0f2fe;color:#075985}.ol-badge--new{background:var(--color-warning-soft);color:#92400e}.ol-badge--active{background:var(--color-success-soft);color:#166534}.ol-badge--dispute{background:var(--color-danger-soft);color:#991b1b}.ol-badge--churn{background:#ede9fe;color:#5b21b6}.ol-segment{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;white-space:nowrap}.ol-tags{display:flex;flex-wrap:wrap;gap:.25rem}.ol-tag{padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:500;background:#f1f5f9;color:#334155;white-space:nowrap}.ol-row-actions{display:inline-flex;gap:.25rem}.ol-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;font-size:1rem;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s}.ol-icon-btn:hover{background:#f1f5f9;color:var(--color-primary)}.ol-icon-btn--danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.ol-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted)}.ol-pager-nav{display:flex;align-items:center;gap:.6rem}.ol-page-btn{min-height:34px;padding:.25rem .75rem;font:inherit;font-size:.84rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);cursor:pointer}.ol-page-btn:hover:not(:disabled){background:var(--color-primary-soft)}.ol-page-btn:disabled{color:#94a3b8;cursor:not-allowed}.ol-empty{padding:2.5rem 1rem;text-align:center;color:var(--color-text-muted)}.ol-empty p{margin:0 0 .75rem}.ol-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:ol-shimmer 1.4s ease-in-out infinite}@keyframes ol-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 720px){.ol-toolbar-end{margin-left:0;width:100%;justify-content:space-between}.ol-toolbar select{min-width:0;width:100%}.ol-field{flex:1 1 140px}.ol-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.ol-check{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.ol-row-checked td{background:var(--color-primary-soft)}.ol-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;padding:.6rem 1rem;background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);font-size:.9rem}.ol-modal-note{margin:.75rem 0 0;font-size:.82rem;color:var(--color-text-muted)}.ol-field select{min-width:220px}.of{max-width:1100px;margin:0 auto;font-family:var(--font-sans);color:var(--color-text)}.of-crumb{display:flex;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.85rem;color:var(--color-text-muted)}.of-crumb a{color:var(--color-primary);font-weight:600;text-decoration:none;border-radius:var(--radius-sm)}.of-crumb a:hover{text-decoration:underline}.of-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.of-header h1{margin:0;font-size:1.6rem;font-weight:700}.of-subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.of-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.of-section{padding:1.15rem 1.25rem 1.3rem;margin-bottom:1rem}.of-section>h2{margin:0;font-size:1rem;font-weight:700}.of-section-hint{margin:.15rem 0 1rem;font-size:.84rem;color:var(--color-text-muted)}.of-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem 1.25rem}.of-span-2{grid-column:span 2}.of-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.of-field>label,.of-field>legend{font-size:.82rem;font-weight:600;color:var(--color-text);padding:0}.of-req{color:var(--color-danger);margin-left:.15rem}.of-hint{font-size:.78rem;color:var(--color-text-muted)}.of input[type=text],.of input[type=number],.of input[type=date],.of select{width:100%;min-height:42px;padding:.45rem .75rem;font:inherit;font-size:.92rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s,background-color .2s}.of select{cursor:pointer}.of input:hover:not(:disabled),.of select:hover:not(:disabled){border-color:#94a3b8}.of input:focus-visible,.of select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.of input:disabled,.of select:disabled{background:#f1f5f9;color:var(--color-text-muted);cursor:not-allowed}.of input:user-invalid{border-color:var(--color-danger)}.of-suffix{position:relative}.of-suffix input{padding-right:3.4rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.of-suffix span{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);font-size:.8rem;font-weight:600;color:var(--color-text-muted);pointer-events:none}.of-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.of-chips{display:flex;flex-wrap:wrap;gap:.5rem;border:none;margin:0;padding:0}.of-chip{position:relative}.of-chip input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.of-chip span{display:inline-flex;align-items:center;min-height:38px;padding:.3rem .9rem;font-size:.86rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:999px;transition:background-color .2s,border-color .2s,color .2s}.of-chip:hover span{background:#f1f5f9}.of-chip input:checked+span{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.of-chip input:focus-visible+span{box-shadow:var(--focus-ring)}.of-chip input:disabled+span{opacity:.6}.of-geo{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1.25rem;align-items:start}.of-geo-fields{display:grid;gap:1rem}.of-geo-coords{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.of-map{height:340px;width:100%;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border);z-index:0}.of-map-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.of-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.4rem 1.15rem;font:inherit;font-size:.9rem;font-weight:600;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.of-btn:hover:not(:disabled){background:var(--color-primary-soft)}.of-btn:disabled{opacity:.6;cursor:not-allowed}.of-btn--primary{background:var(--color-primary);color:#fff}.of-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.of-btn--ghost{color:var(--color-text-muted);border-color:#cbd5e1}.of-btn--ghost:hover:not(:disabled){background:#f1f5f9;color:var(--color-text)}.of-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.of-bar{position:sticky;bottom:.75rem;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1.1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 6px 20px #0f172a1f}.of-dirty{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--color-text-muted)}.of-dirty i{width:8px;height:8px;border-radius:50%;background:#cbd5e1}.of-dirty.is-dirty{color:var(--color-warning);font-weight:600}.of-dirty.is-dirty i{background:var(--color-accent)}.of-bar-actions{display:flex;gap:.5rem;margin-left:auto}.of-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1.1rem;margin-bottom:1rem;border-radius:var(--radius-md);font-weight:500;background:var(--color-danger-soft);border:1px solid #fecaca;color:var(--color-danger)}.of-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:of-shimmer 1.4s ease-in-out infinite}@keyframes of-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 860px){.of-geo{grid-template-columns:1fr}}@media (max-width: 560px){.of-span-2{grid-column:auto}.of-bar-actions{width:100%}.of-bar-actions .of-btn{flex:1}}.prospects-container{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.page-header h1{margin:0;font-size:2rem;color:#1f2937}.subtitle{color:#6b7280;margin:.5rem 0 0;font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;align-items:center;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.prospect-icon{background:#fef3c7}.client-icon{background:#d1fae5}.rate-icon{background:#dbeafe}.recent-icon{background:#fce7f3}.stat-content h3{margin:0;font-size:2rem;color:#1f2937;font-weight:700}.stat-content p{margin:.25rem 0 0;color:#6b7280;font-size:.875rem}.filters-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.filters-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-group select,.filter-group input{padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;background:#fff;transition:border-color .2s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.prospects-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.prospects-table{width:100%;border-collapse:collapse}.prospects-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.prospects-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em}.prospects-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.prospects-table tbody tr:hover{background:#f9fafb}.prospects-table td{padding:1rem;font-size:.9375rem;color:#1f2937}.prospect-name{display:flex;flex-direction:column;gap:.25rem}.prospect-name strong{color:#1f2937}.prospect-name small{color:#6b7280;font-size:.875rem}.prospect-notes{color:#6b7280;display:block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{display:inline-block;padding:.125rem .5rem;background:#e5e7eb;border-radius:4px;font-size:.75rem;color:#374151;text-transform:uppercase}.badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-info{background:#dbeafe;color:#1e40af}.badge-warning{background:#fed7aa;color:#92400e}.badge-primary{background:#e0e7ff;color:#3730a3}.badge-secondary{background:#e5e7eb;color:#374151}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f633}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.pagination button{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.pagination button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#374151;font-size:.875rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;color:#1f2937}.modal-close{background:none;border:none;font-size:2rem;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-body{padding:2rem}.prospect-info{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.prospect-info h3{margin:0 0 .5rem;color:#1f2937;font-size:1.125rem}.prospect-info p{margin:0;color:#6b7280;font-size:.9375rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.9375rem}.form-group select,.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;transition:border-color .2s}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.form-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.loading-spinner{text-align:center;padding:3rem;color:#6b7280;font-size:1.125rem}.empty-state{text-align:center;padding:3rem;color:#6b7280;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state p{font-size:1.125rem;margin:0}@media (max-width: 768px){.prospects-container{padding:1rem}.stats-grid{grid-template-columns:1fr}.filters-row{flex-direction:column}.filter-group{width:100%}.prospects-table-container{overflow-x:auto}.prospects-table{min-width:900px}.modal-content{width:95%;margin:1rem}.modal-body{padding:1.5rem}}.page-container{padding:2rem;max-width:1400px;margin:0 auto}.action-buttons{display:flex;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 6px #10b98133}.btn-info{background:#3b82f6;color:#fff}.btn-info:hover{background:#2563eb}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-top:2rem}.detail-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.detail-card h2{margin:0 0 1.5rem;font-size:1.25rem;color:#1f2937;border-bottom:2px solid #e5e7eb;padding-bottom:.75rem}.detail-item{display:flex;gap:1rem;margin-bottom:1.25rem;align-items:flex-start}.detail-item:last-child{margin-bottom:0}.detail-item .icon{color:#3b82f6;font-size:1.25rem;margin-top:.25rem;flex-shrink:0}.detail-item label{display:block;font-size:.875rem;color:#6b7280;margin-bottom:.25rem;font-weight:500}.detail-item p{margin:0;color:#1f2937;font-size:.9375rem}.prospect-notes-box{background:#f9fafb;padding:.75rem;border-radius:6px;border:1px solid #e5e7eb;white-space:pre-wrap;word-break:break-word}.map-card{grid-column:1 / -1}.map-container{border-radius:8px;overflow:hidden;margin-bottom:1rem;border:1px solid #e5e7eb}.map-link{margin:0;text-align:center}.map-link a{color:#3b82f6;text-decoration:none;font-size:.875rem}.map-link a:hover{text-decoration:underline}.loading,.error-message{text-align:center;padding:3rem;color:#6b7280;font-size:1.125rem}.error-message{color:#dc2626;background:#fee2e2;border-radius:8px;display:flex;flex-direction:column;gap:1rem;align-items:center}.pr-filter{flex:0 1 240px;min-width:180px}.pr-skeleton{display:grid;gap:.6rem;padding:1rem}.pr-notes{max-width:220px;margin-top:0}.pr-recap{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem;margin-bottom:1rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;color:var(--color-text-muted)}.pr-recap strong{color:var(--color-text);font-size:.95rem}.pr-modal-form{display:grid;gap:.9rem}.pr-modal-wide{max-width:680px}.pr-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 560px){.pr-create-grid{grid-template-columns:1fr}.pr-filter{flex:1 1 100%}}.pr-notes-box{margin:0;padding:.75rem .9rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.92rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.pr-map{height:300px;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.pr-map iframe{display:block}.pr-map-link{margin:.75rem 0 0;font-size:.88rem}.pr-map-link a{display:inline-flex;align-items:center;gap:.35rem}.zones-count{margin-bottom:20px;font-size:14px;color:#666}.view-toggle{display:flex;gap:0;background:#f3f4f6;border-radius:6px;padding:4px}.btn-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:#6b7280;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-toggle:hover{background:#e5e7eb}.btn-toggle.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e5e7eb}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:20px}.color-picker-container{display:flex;flex-direction:column;gap:16px}.color-presets{display:flex;gap:12px;flex-wrap:wrap}.color-preset{width:40px;height:40px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a}.color-preset:hover{transform:scale(1.1);box-shadow:0 4px 8px #00000026}.color-preset.active{border-color:#111827;transform:scale(1.15)}.color-input-wrapper{display:flex;align-items:center;gap:12px}.color-input-wrapper input[type=color]{width:60px;height:40px;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer}.color-value{font-family:Courier New,monospace;font-size:14px;color:#6b7280;font-weight:600}.color-indicator{display:inline-block;width:24px;height:24px;border-radius:4px;border:2px solid white;box-shadow:0 1px 3px #0003;vertical-align:middle}.color-indicator.large{width:32px;height:32px;margin-right:8px}.map-view-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;padding:12px}.map-controls{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.map-controls .map-select{padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;min-width:240px}.zone-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:24px}@media (max-width: 968px){.zone-detail-grid{grid-template-columns:1fr}}.detail-card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.detail-card h2{font-size:18px;font-weight:600;color:#111827;margin-bottom:20px;display:flex;align-items:center;gap:8px}.detail-info{display:flex;flex-direction:column;gap:16px}.info-row{display:flex;align-items:center;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{font-weight:600;color:#6b7280;min-width:140px;font-size:14px}.info-value{color:#111827;font-size:14px;display:flex;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.stat-item{text-align:center;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.stat-value{font-size:32px;font-weight:700;color:#3b82f6;margin-bottom:8px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.no-data{text-align:center;padding:40px;color:#9ca3af;font-style:italic}.map-popup{min-width:200px}.map-popup h3{margin:0 0 8px;font-size:16px;color:#111827}.map-popup p{margin:4px 0;font-size:14px;color:#6b7280}.map-popup .btn{margin-top:12px;width:100%}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;flex-direction:column;gap:12px}.view-toggle{width:100%}.btn-toggle{flex:1;justify-content:center}.filters-bar{flex-direction:column;gap:12px}.search-form{width:100%}.filter-buttons{width:100%;justify-content:space-between}.color-presets{justify-content:flex-start}}.zn-search-form{display:flex;flex:1 1 320px;gap:.5rem;align-items:center;min-width:0}.zn-search-form .ui-search{flex:1 1 200px}.zn-name{display:inline-flex;align-items:center;gap:.6rem;min-width:0}.zn-dot{flex:none;width:14px;height:14px}.zn-desc{margin-top:0;max-width:280px}.zn-skeleton{display:grid;gap:.6rem;padding:1rem}.zn-map-card{overflow:hidden}.zn-map-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--color-border)}.zn-map-select{flex:1 1 260px;max-width:420px}.zn-map{height:clamp(420px,65vh,680px);position:relative;z-index:0}.zn-popup{min-width:200px;font-family:var(--font-sans)}.zn-popup h3{margin:0 0 .4rem;font-size:1rem}.zn-popup p{margin:.3rem 0;font-size:.86rem;color:var(--color-text-muted)}.zn-popup-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.6rem}@media (max-width: 560px){.zn-search-form{flex-wrap:wrap}.zn-search-form .ui-btn{width:100%}}.zn-map--inner{height:clamp(360px,55vh,520px);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.zn-swatch{display:inline-block;width:18px;height:18px;margin-right:.5rem;vertical-align:middle;border-radius:4px;border:1px solid rgba(15,23,42,.2)}.zn-color-val{display:flex;align-items:center}.zn-color-val .zn-swatch{margin-right:.5rem}.zn-table-title{display:flex;align-items:center;gap:.5rem;margin:0;padding:1.1rem 1.25rem .8rem}.zn-colors{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.zn-presets{display:flex;flex-wrap:wrap;gap:.5rem}.zn-preset{width:36px;height:36px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;cursor:pointer;transition:box-shadow .2s}.zn-preset:hover{box-shadow:0 0 0 2px #94a3b8}.zn-preset[aria-pressed=true]{box-shadow:0 0 0 3px var(--color-primary)}.zn-preset:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.zn-custom-color{display:flex;align-items:center;gap:.6rem}.zn-color-input{width:44px;height:36px;padding:2px;border:1px solid #cbd5e1;border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAeCAYAAACWuCNnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAG7AAABuwBHnU4NQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbvSURBVHic7dtdbBxXFQfw/9nZ3SRKwAP7UFFUQOoHqGnUoEAoNghX9tyxVcpD1X0J+WgiUQmpfUB5ACSgG1qJIKASqBIUIauqAbWseIlqb+bOWHVR6y0FKZBEqdIUQROIREGRx3FFvR/38ODZst3a3nE8Ywfv+T2t7hzdM3fle/bOnWtACCGEEEIIIYQQQgghhBBCCCGEEEIIIcRa0EbfgBDdFItFKwzDAa3175LuWylVAvBIR/MxrXUp6Vxx9dp4VyObVEdKKW591lonXgiVUg6AHzPzk9ls9meVSmUh6RzXkz179uQKhcIgM+8CACI6U6vVnp+enm6knXt4ePiuTCbzWQAwxlSDIHg57ZwroDAMnwKwz3XdBzzPG08hxzsTNprQG2lTjtd13WFmfghAP4A+AJcATFiW9YNKpfL3uP0kUliiX4SG1pqUUpx0wXJd9/PMXAGwPWq6yMyPz8/P/7xarf4nyVwt7QV4JWkU52i8YwBu6bh0wRhzJAiCF5POCQCDg4N2Pp//NYDRjkuTxph9QRCESeYrFov5ubm5R5n5AIAPtV1aYOb7BgYGTpZKJeO67lFmPsbM9/i+/8Ja8y6zylhOYquPXhsvAJRKpczMzMwTAIaJ6LFGo+HNzs5eKRQKNxPRAWb+CoAjWuvn4vS35skWFasxAAdbbUlOYqVUPwAPwI4lLr8J4KeWZT1eqVTmksoZ5d2QghUVKx/AlmVCFph5yPf9l5LMCwBKqUksFqszRHQcAJj5GwB2MfOE7/tfTDKf4zjHiejrAE4CuNhqZ+bf2rY9FYbhGBH92/O8o47j3Oj7/uUk86+3XhsvACilHmPmgW3btn3pxIkTVzuvj4yMfNoY85wxZiQIglPd+lvTZIuq5xiAQwCe6evr218ul5tr6bNd9GiiAbyvS+hFrfVHk8oLbEzBih4Dz+G9K6t3IaLXFhYWdib5eBh911UA8wBu1lq/CQBDQ0M3WJb1OoAdRPQZz/NeSSqnUuofAKpa6/vb26MfwacA7AdwFcCdWuu/JpU3yl1C91VHoquNXhvvyMjIx4wxr1iWtbNSqfxruTjHcR4AcMj3/bu79XnNe1hpFyvHcXYT0QS6FysASHR1tVEKhcIguhQrAGDm23K53BcATCWV27KsAWYGgPOtYgUAU1NT/1RKnQewxxjzOQCJFSwANwI4297QtmLfD+AtZr43m83OJ5iz3bGU+l1OT43XGFNk5mdXKlYAYNv2eBiG31dK3aS1vrRSbOZabqRYLFppFisAIKJxAB+MGf56krk30O64gZlMJnZsHMxsoo8fHxoauqHVHn3+BAAQUaxV57Xq2F54i5nvIaJXm81mYoX5etID491JRH/sFlQul5tEdMoYc3u32FUXrLYvObViBQDM/MQqwi8knX8jEJHpHrXIGJNo8WDm1spph2VZgeu6+5RSX7YsK8D/Xnb8Psmcnebm5h7G4uS9ysxutOH8VQC70sy7UTb7eImImTnWlgkzUyaT6fr3v6qC1fGL8EytVjuQRrECANu2fwHg1TixzPyXNO5hvTHz6VWE/znJ3L7vzxBRa9PzDmb+FYBfArgjajvd39+f9vGGKwACZh5te6mwmc8KburxMvO5TCbzqW5xxWLRArDbsqyu8z32HtZSxSrNM0Hlcrnpum6JmZ+NEb4pHglrtdrz+Xz+AoBbu4Ser9fra37d3YEBfBvAkq+XmfmbpVIp9grwWnie9zSAp9PMcT3Z7OPNZrO/aTQaf1BKfbd9X7RTGIaHmPlcnPNYsVZYSikOw7AB4CAzj/f19e1fjwOMnueVEeMxJJfLbYqCNT093TDGHAGw0qHYBQBH0vj+Pc+bYOb3HFRk5nHf9yeTzgfgMhF9uEvMTQD+71/vR3pqvJOTk28AeBJAeXR09P1LxbiuuxfA9wB8LU6fsVdYrUOhtm0fTusxcAlMRN+KziUt5SqAM3v37r00OZnGfFp/QRC86DjOUCaTGWPm2zoun8fiIbuZtPLX6/UH8/n8rQDuippertfrD6aRKyqOR5VS81ji8Z+IbmfmgwB+mEb+9dZr4wWA/v7+R6rV6k+azeYpx3EezeVyJ7dv335lfn7+lkajcZCZDzPzYd/3/xSnv9gFq3UuaR2LFQDA87xAKVUB8BEAZ6N9nrNEdEZr/TcArLVOPG8aJ9jj8n3/pcHBwZ1btmx5519zmPl0vV5/Ie2V7fT09Nujo6Nus9kcA4CtW7ce1lq/nUYu27a/Mzs7CyI6gMVX/u/CzJeZ+Ue2bcc9pb1aXc8lJZms18YLANE2wkOu694N4OFGo3E8DMMPAHiDiCaY+ZOb4YCsEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhEjYfwGO+b5dFNs4OgAAAABJRU5ErkJggg==);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg);background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAA8CAYAAAC6nMS5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA16SURBVHic7d1/jBxneQfw7zNzvotdn+9sVQkxoRKoammBqqpbk6uT5mLfvHPn42yn1VFRVCEhoFH5IYpoSaUCKi1NcGkcfrbCVRFKEwG2aHLn83pmLvY2CTqT1AmCOBE0EOT4B0nBPw/snb2dp3/sLr6s77i923dud/a+H8ny7tzMo8f3eud99p133gGIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiFYGaXYCRETUPMYYrWe/MAzZX2QQ27d5OpqdABFROxgZGVlz5cqVrzuOc18QBJPNzofsYvvSYrVcgTVftZ2l6npgYODXHMc5oKoHHcfZHQTB2WbnRETpGRkZWVMoFA6IyO2qutX3/R1Z64TnO8fWOwLSzti+mSKDg4M3l0qlnSJyG4CbAFwP4ByAlwE8paoPX3fddcH4+PjP00yk5QqsrDPGvAZAHsBrReRNqvpeY8x/iMg9QRCcaXJ6ZIHv+xtUdReAHQBej/IHGABOAnhORMY6OjoempiYONe0JC3zPM84jjOqqrfi6r/3RQCPAdgXhmHUvOyaa3R01L1w4cJBALdVNq1W1THP87woir7ZzNyocWzf7PA8b4uI7E6S5A9Frqknb6j8eZOIvKNQKPzU9/1/dhznvlwuV0gjn5YbFapW09Vqu/Z9K9u2bdsNruvmUe50axUAfMV13X/I5XInlzcze2x/28lCu1b19fWt7u7u/hCAvwGwboHdL6jq7unp6T1TU1OXlyG9VAwODv5mkiR7Ady6wK6Plkqldz/yyCPfX468bBkaGuqamZm5E8DbReQNANYscMiLIrI1CILnZ280xrwHwL+hck4VkacBDLTS6HVaIxWt/Blm+zauldu3atOmTas2bNjwWRG5s7LplKp+VUQOuq77/bVr17589uzZ9SKy0XGcAVUdFZE/qOx7zHXdXWn0yy31i6sMw/4MyF6BZYy5XlWPiMhvL7BrrKpfcxznE7Uf4ixYqQWW53kbATw060NZr28nSbJzcnLyRBp5pcnzvNtE5CEAvXUecg7ArjAMH00xLWuGhoZuKpVKEwB+p85DXnRd9/ZcLvcDAOjv778un88XAChwtRMWkW+jxTpfYOV1wGxfO1q1fav6+vpWr1u3blxVtwH4uar+/fT09OcW+mJrjBkBcC+AXwdwBoAJw/AZm7m1zC+uUlyNA9g6189buZH7+/t/tbOz8wiANy7isKKqftV13U8eOnToe2nlZttKLLAqJ+qjAF69xBAnZ2Zmbj58+PApm3mlqTJydRTXFldHAUxVXvcBuLnm5+dU9c1RFP1v2jk2YmhoqKtUKj2B+jvfE0mS3D45OflD4OqcHADPh2H4F6h0wp7nva1YLOby+fz5dDKnerB9Vwzxff8BVX0bgFMAdoZheKzeg4eHh9cXi8WvAfAAvOC67ptzudz/WUvOVqBGVO7OmBCR/vn2adWOuL+/v7ezs3MSwKYlhkgAHBSRjwdB8JTF1FKx0gqsymXBxwH8XoOh/ieO41vz+fwVG3mlzRjzKF55WfA8gD8LwzA3ez/P87aLyIMAeqrbVDUfRdHty5Pp0hhjPgDgM9X3qnq/iNwPYM5RCdd1T1RPvLM63+q/ce/sTpiaj+27Mvi+f6eq/iuAi67r9uVyuWcXG6NSjB8B0KeqE1EUvcVWfk3v3OYZuXosjuPt+Xx+ull51WNgYKBHRKIlXDaaS6Kq+6Mo+lMLsVKz0gosz/M+KiKfsBTub8MwvMdSrNQYYzwAYc3m7bXFVZXv+8OqemD2NlUdiKLokbRybJQx5lsANlfefi4Mww/UedyvADgI4I9mbxeRDwdB8C92s0yHrc9wK3922b6Na+X2BYD+/v61nZ2dz6M8cX00DMP9S421ffv2V83MzDwHoNfmucuxEWSpslxcjYyMrHEcZ8xScQUAjoj8vqVYZIHv+xtE5MMWQ941PDy83mK8VIjIW2s2HZ2vuAKAIAgmADyxQIxWM3uu5J56DhgZGVkDYBw1nS+ApwB82VJeZAfbt82tWrXqPSgXV481UlwBwMGDB3+sqncDgIh81EZ+QBMLrKwXV5Uh5NoPYqMyN+m9nanqHVj4bsHF6InjeKfFeKmoLMUw+/2Ct6KLyOM1m2x/NmxbW30RhuGPFtp5jstGVU+JiNdqE57rEYahzB6lWOz7Fsf2be/2hYj8SeXlvTbiFYvFLwK4DOAWY8z1NmI2pcDKcnE1OjraWSgU9uPaD2LDRKSlJwavQCO2A4rIDtsxU7BxsQeoau2Jeak3BDTDL72kUm/n63neaFoJUkPYvm3G9/0NKN9gc7mrq6t2OsOSVGqPSQCuiAzaiLnsBVaWiysAuHDhwn4AQ2nEVtUfpBGXluwNKcRcaBmPVpDMfiMiW+o4pnafZM69MmYxnW9lsj9lCNs3m1T1tSjXL89aXo39WCX+62wEW9YCK+vFVcXLKcbmJcLW8qoUYmZhZOfFmvc3e563fb6djTFvwdUJxfPFyJx6O1/f999a6Xz5ZIwMYftm2o2Vv60+HUVETldeLnoUfy7LVmC1SXEFVf0YgFSeX5QkCQus9tfyIzsicnSObQ/6vj9cu71SXP1nPTGyplAo5FDT+arqk3Ecb5s9J0dV2flmENs3u0REgTmnJjRkVjwrd2Iuy3+adimuACCKotPGmC8A+GvLoZOZmZkXLMekBojIaVX9DcthTy+8S3MlSTIuIu+q2dyjqgeMMU8A+CYAUdUtAOa8izZJkvG081wG19xN5jjO4ByLTLrLlRBZxfbNrjMAICI3LrTjIlVHrqyMjKU+gtVOxVVVHMf/hHkWrGvAiawsQrlSqOqiF61rRkzbOjo6AsxfCG4G8FcAPvhLlih5qVgsWpl42kIyezcZ1YXtmy0/QvlqwG9V1i6zZRMAiIiV+dCpFljtWFwBQOUbzqcth+XlwdZjfRRGRMZsx7St8mT5zzcQ4r52+LKgqp9S1U8B+GTtZSPKPrZvdlXaagrAalU1NmJWCrVtAEqO4xyyETO1S4TtWlxVXbp06b7u7u6/BHCTjXiqygKrxYjIQ6p6L2Y9BqZB51etWtXyBRYAuK77hVKp9H5cnUxarzOu634xjZyWWxRFdzU7B0oP2zfbVPUbIrLFcZwPAfivRuOJyPtUdbWq5m09jzCVEax2L64AYGpq6rKq/qOteI7jsMBqMUEQnFXV3bbiqerdExMT52zFS1Mul7soIovugETkI7lc7mIaORERVRWLxS8BeElVb/F9v6EnR/i+f6Oq3gUAjuPYejSavQLLGKPVP4VC4Wd4ZXF1pKura7Bdiquq3t7efwfwnKVwLLBa0PT09B5U1kZp0BPFYvGzFuIsmyAI7kf5uWz1OhgEwTV3FLaoX5yLKosWLknNsZcayohsYvu2uUo98TEAUNW9vu8vad3CoaGhLlX9BoBeAONBEByxleNyLNPwWBzHOywvBtYS9u3bV1LVj1sKxwKrBU1NTV12XXcXgFMNhDmpqndkcF6SisifAzhRx76n4jh+Byzd3rwMjldfqOqSV+xPkmT2yvzH592RlhvbdwUIw3AvgAcArFPVcHBwcFHPBvZ9f0OpVDqA8qrwL8Rx/E6b+VkvsGqfZ9ROlwXnEkXRfgDfajCMXrx48Yc28iH7crncSVXdrKpPLvZYEXk6SZItURS1/PIMcwmC4KzjOCMAam9dn+0SgJ35fP4ny5SWDQ/Mer3HGLPoTtgYMyIiv3gOmqpmZfRuJWD7rgwax/G7UH7EzcYkSf7bGHNXX1/f6oUO9H1/Z+WcPoDysgw7bJ/DUl8Hq52LqwoVkb9T1WiRx8UoX158RlWfnJqaupxCbmRJFEWn+/r6buvu7v4ggI9g4Ynv50XknkKh8JkMjly9wqFDh77j+/6oqo4BqD1xXRaRPw6CwMZl1GXjuu6XSqXSOwH8LoD1AMaMMecA1PtF53WV4wCUC+menp699jOlpWD7rhz5fP5Kf3//UFdX132q+l4Ad3d3d7/fGPN1EZlQ1e/19PS8dPbs2fWu694kIgOqOqqqm4Dy4rKlUumOw4cPN3KVYk7WVkE1xsx5aSBLT+duhDEmQrkSnssZlIeXnxWRY6p6PI7j41nveFeq4eHh9XEc7xSRnQBej6t3kp5EuWh+OI7jh+dYsDDTfN/frKrjAKpPmv9pkiS7JicnH29mXku1devWV3d0dBxAuRNeMhF5ulgsjqRxgk7DfOfqxWr1czvbtzGt3r5zGRwc7FPV3ap6y0L7ishPAHx63bp1e/bt2xenkQ8LLEuMMZtE5JCqfhfAMwCeSZLkO2vWrDk+NjbGyZHUFjzP2yginwcAVX1fVi99Vo2OjnaeP3/+3SLydgBvBNBd56GXAHxXVR/s7e3dm9YJOg0rqQNm+y5dFtp3HmKM2QxgF8qr9b8GwA0AzgH4MYBjIjJ28eLFkFeOiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIhWgv8Hnffz4dmwY9cAAAAASUVORK5CYII=);background-image:linear-gradient(transparent,transparent),url(/assets/spritesheet-DpIxuf5L.svg)}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}.routes-page{padding:2rem;max-width:1400px;margin:0 auto}.routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:2rem}.route-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .3s;border:1px solid #e9ecef}.route-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.route-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.route-info{display:flex;align-items:flex-start;gap:1rem;flex:1}.route-card h3{margin:0;font-size:1.1rem;color:#2d3748;font-weight:600}.route-zone{margin:.25rem 0 0;font-size:.9rem;color:#718096}.route-actions{display:flex;gap:.5rem}.route-card-body{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.route-stat{display:flex;align-items:center;gap:.5rem;color:#4a5568;font-size:.95rem}.route-stat svg{color:var(--color-primary)}.route-description{margin-top:.75rem;font-size:.9rem;color:#718096}.route-detail-page{padding:2rem;max-width:1200px;margin:0 auto}.route-info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem;margin-bottom:2rem}.route-info-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.route-color-indicator-large{width:6px;height:60px;border-radius:3px;flex-shrink:0}.route-info-header h1{margin:0;font-size:1.75rem;color:#2d3748;font-weight:600}.route-zone-name{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 0;font-size:1rem;color:#718096}.route-stats{display:flex;gap:2rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #e9ecef}.stat-item{display:flex;align-items:center;gap:.75rem}.stat-icon{font-size:1.5rem;color:var(--color-primary)}.stat-item strong{display:block;font-size:1.5rem;color:#2d3748;font-weight:600}.stat-item span{display:block;font-size:.9rem;color:#718096}.route-description-text{color:#4a5568;font-size:.95rem}.outlets-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem}.outlets-section h2{margin:0 0 .5rem;font-size:1.5rem;color:#2d3748;font-weight:600}.section-description{margin:0 0 1.5rem;color:#718096;font-size:.95rem}.table-container{overflow-x:auto;margin-top:1rem}.table-container table{width:100%;border-collapse:collapse;background:#fff}.order-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;font-weight:600;font-size:.9rem}.outlet-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#2d3748}.type-badge{display:inline-block;background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.visits-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:.4rem .75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:8px;font-weight:600;font-size:.9rem;box-shadow:0 2px 4px #10b98133}.contact-info,.phone-info{display:flex;align-items:center;gap:.5rem;color:#4a5568}.action-buttons{display:flex;gap:.5rem;justify-content:center}.btn-icon.btn-warning{background:#fff3e0;color:#f57c00}.btn-icon.btn-warning:hover{background:#ffe0b2;color:#e65100}.btn-icon.btn-danger{background:#ffebee;color:#d32f2f}.btn-icon.btn-danger:hover{background:#ffcdd2;color:#b71c1c}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column}.modal-header h2{margin:0;font-size:1.5rem;color:#2d3748;font-weight:600}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.generated-routes-preview{display:flex;flex-direction:column;gap:1.5rem}.preview-summary{background:#f8f9fa;padding:1.5rem;border-radius:8px}.preview-summary h3{margin:0 0 1rem;font-size:1.1rem;color:#2d3748}.filter-badge{display:inline-block;background:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;margin-bottom:1rem}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-stats .stat{text-align:center}.summary-stats .stat strong{display:block;font-size:1.75rem;color:var(--color-primary);font-weight:600;margin-bottom:.25rem}.summary-stats .stat span{display:block;font-size:.85rem;color:#718096}.preview-routes h3{margin:0 0 1rem;font-size:1.1rem;color:#2d3748}.preview-route-item{padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem}.preview-route-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.preview-route-header strong{flex:1;color:#2d3748}.route-badge{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.preview-route-info{font-size:.9rem;color:#718096;padding-left:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.view-toggle-section{display:flex;justify-content:center;margin:2rem 0 1rem}.view-toggle{display:inline-flex;background:#fff;border-radius:8px;padding:.25rem;gap:.25rem;box-shadow:0 2px 8px #0000001a}.view-toggle button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:#718096;font-size:.95rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.view-toggle button:hover{background:#f8f9fa;color:#4a5568}.view-toggle button.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #1e40af4d}.header-actions{display:flex;align-items:center;gap:1rem}.route-map-container{margin-top:1rem}.all-routes-map-container{margin-top:2rem}.routes-count{font-size:.9rem;color:#718096;font-weight:500}.map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem}.map-header h3{margin:0;font-size:1.1rem;color:#2d3748;font-weight:600}.map-legend{display:flex;align-items:center;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#4a5568}.legend-line{width:30px;height:4px;border-radius:2px}.numbered-marker{width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 3px 8px #0000004d;position:relative}.numbered-marker span{transform:rotate(45deg);font-weight:700;font-size:1rem;color:#fff}.start-marker-icon,.end-marker-icon{background:#fff;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;box-shadow:0 2px 6px #0003;white-space:nowrap;text-align:center}.start-marker-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.end-marker-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.route-map-popup{min-width:250px}.popup-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid #e9ecef}.popup-order{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;font-weight:600;font-size:.9rem;flex-shrink:0}.popup-header h3{margin:0;font-size:1rem;color:#2d3748;font-weight:600;line-height:1.3}.popup-type{display:inline-block;background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;margin-bottom:.75rem}.popup-info{font-size:.9rem;color:#4a5568}.popup-info p{margin:.5rem 0;line-height:1.5}.popup-info strong{color:#2d3748;font-weight:600}.popup-coordinates{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e9ecef;font-size:.8rem;color:#718096;font-family:monospace}.popup-link{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .2s}.popup-link:hover{transform:translateY(-1px);box-shadow:0 4px 8px #1e40af4d}.route-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.stat-box{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center;border:1px solid #e9ecef}.stat-label{display:block;font-size:.85rem;color:#718096;margin-bottom:.5rem;font-weight:500}.stat-value{display:block;font-size:1.1rem;color:#2d3748;font-weight:600}.all-routes-popup{min-width:280px}.popup-route-badge{display:inline-block;color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;margin-bottom:.75rem}.numbered-marker-small{border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 6px #0000004d}.numbered-marker-small span{transform:rotate(45deg);font-weight:700;color:#fff}.route-label-marker{color:#fff;padding:.35rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;box-shadow:0 2px 6px #0000004d;white-space:nowrap;text-align:center}.routes-legend{margin-top:1.5rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #00000014}.routes-legend h4{margin:0 0 1rem;font-size:1rem;color:#2d3748;font-weight:600}.legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.legend-route-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .2s;border:1px solid #e9ecef}.legend-route-item:hover{background:#e9ecef;transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.legend-route-color{width:30px;height:30px;border-radius:50%;flex-shrink:0;border:2px solid white;box-shadow:0 2px 4px #0003}.legend-route-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.legend-route-info strong{font-size:.9rem;color:#2d3748;font-weight:600}.legend-route-info span{font-size:.8rem;color:#718096}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}.leaflet-popup-content{margin:1rem}.leaflet-popup-tip{display:none}@media (max-width: 768px){.routes-grid,.summary-stats{grid-template-columns:1fr}.route-stats{grid-template-columns:1fr;gap:.75rem}.legend-grid{grid-template-columns:1fr}.map-header{flex-direction:column;align-items:flex-start;gap:.75rem}.header-actions{flex-direction:column;width:100%;align-items:stretch}.view-toggle{width:100%;justify-content:center}.view-toggle button{padding:.5rem 1rem;font-size:.85rem;flex:1}.page-header{flex-direction:column;align-items:stretch}}.rt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.rt-card{--rt-color: #1e40af;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem 1rem 1.25rem;position:relative;overflow:hidden}.rt-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--rt-color)}.rt-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.rt-card-title{margin:0;font-size:1rem;font-weight:700;overflow-wrap:anywhere}.rt-card-title a{color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm)}.rt-card-title a:hover{color:var(--color-primary);text-decoration:underline}.rt-card-title a:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rt-zone{display:inline-flex;align-items:center;gap:.35rem;margin:.15rem 0 0;font-size:.84rem;color:var(--color-text-muted)}.rt-desc{margin:0;font-size:.85rem;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rt-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.rt-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;border:1px solid rgba(15,23,42,.15)}.rt-skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.rt-title-swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(15,23,42,.15);flex:none}.rt-order{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;background:var(--rt-color, var(--color-primary));color:#fff;font-family:var(--font-mono);font-size:.8rem;font-weight:600}.rt-inline-icon{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.rt-map-shell{padding:.75rem}.rt-mapbox{padding:1rem}.rt-mapbox .ui-stats{margin:1rem 0 0}.rt-mapbox-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem}.rt-mapbox-head h3{margin:0;font-size:1rem}.rt-legend-line{display:inline-block;width:28px;height:0;border-top:4px dashed var(--c, #1e40af)}.rt-legend{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.rt-legend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-top:1rem}.rt-legend-item{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.4rem .75rem;font:inherit;text-align:left;color:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.rt-legend-item:hover{background:#f8fafc}.rt-legend-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rt-legend-item strong{display:block;font-size:.86rem;overflow-wrap:anywhere}.rt-legend-item span.rt-legend-count{font-size:.78rem;color:var(--color-text-muted)}.rt-legend-title{margin:1rem 0 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}@media (max-width: 560px){.rt-modal .ui-stats,.rt-grid,.rt-skel-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.rt-card,.rt-legend-item{transition:none}}.rt-selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;padding:.6rem 1rem;background:var(--color-primary-soft);border-bottom:1px solid var(--color-border);font-size:.9rem}.rt-check{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.rt-row-selected td{background:var(--color-primary-soft)}.rt-notice-warning{display:block;margin-top:.25rem;font-size:.85rem;font-weight:500;color:var(--color-warning)}.ui-banner--success .rt-notice-warning{color:#92400e}.rp{display:flex;flex-direction:column;gap:.6rem;min-width:0}.rp-filters{display:flex;flex-wrap:wrap;gap:.5rem}.rp-search{flex:1 1 200px;min-width:0}.rp-input{width:100%;min-height:40px;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm)}.rp-search .rp-input{padding-left:2.25rem}.rp-select{width:auto;min-width:150px;cursor:pointer}.rp-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.rp-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;font-size:.85rem}.rp-list{max-height:420px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.rp-row{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .15s}.rp-row:last-child{border-bottom:none}.rp-row:hover{background:#f8fafc}.rp-row.is-selected{background:var(--color-primary-soft)}.rp-row input{flex:none;width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.rp-row input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rp-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.rp-row-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-row-sub{font-size:.78rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-row-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;max-width:45%}.rp-empty{margin:0;padding:1.5rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}@media (max-width: 560px){.rp-row-tags{display:none}}.rf-error{font-size:.8rem;font-weight:500;color:var(--color-danger)}.rf-retry{padding:0;background:none;border:none;font:inherit}.rf-swatches{display:flex;flex-wrap:wrap;gap:.5rem}.rf-swatch{position:relative;width:32px;height:32px;padding:0;background:var(--rf-color);border:1px solid rgba(15,23,42,.2);border-radius:50%;cursor:pointer}.rf-swatch:hover:not(:disabled){box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px #94a3b8}.rf-swatch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rf-swatch.is-selected{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text)}.rf-swatch.is-selected:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg);filter:drop-shadow(0 0 1px rgba(15,23,42,.6))}.rf-panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem;align-items:start}.rf-pane{min-width:0;display:flex;flex-direction:column;gap:.6rem}.rf-pane-title{margin:0;font-size:.9rem;font-weight:700}.rf-placeholder{margin:0;padding:1.5rem 1rem;text-align:center;color:var(--color-text-muted);border:1px dashed #cbd5e1;border-radius:var(--radius-sm);font-size:.9rem}.rf-selected{list-style:none;margin:0;padding:0;max-height:470px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.rf-selected-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-bottom:1px solid #f1f5f9}.rf-selected-item:last-child{border-bottom:none}.rf-order{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:#fff;background:var(--color-primary)}.rf-selected-main{flex:1;min-width:0;display:flex;flex-direction:column}.rf-selected-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-moved{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-warning)}.rf-conflicts{margin:.5rem 0 0;padding-left:1.1rem;font-size:.88rem;display:grid;gap:.2rem}.rf [aria-invalid=true]{border-color:var(--color-danger)}@media (max-width: 900px){.rf-panes{grid-template-columns:1fr}}.schedules-page,.schedule-form-page{padding:2rem;max-width:1400px;margin:0 auto}.schedule-form-page{max-width:1000px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.page-header h1{margin:0;font-size:1.75rem;color:#2d3748;font-weight:600;display:flex;align-items:center;gap:.75rem}.page-description{margin:.5rem 0 0;color:#718096;font-size:.95rem}.schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.schedule-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s;border:1px solid #e9ecef}.schedule-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.schedule-card.inactive{opacity:.6}.schedule-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid #e9ecef}.schedule-info{display:flex;align-items:flex-start;gap:1rem;flex:1}.route-color-indicator{width:4px;height:48px;border-radius:2px;flex-shrink:0}.schedule-card h3{margin:0;font-size:1.1rem;color:#2d3748;font-weight:600}.schedule-zone{margin:.25rem 0 0;font-size:.9rem;color:#718096}.schedule-actions{display:flex;gap:.5rem}.schedule-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.schedule-detail{display:flex;align-items:flex-start;gap:.75rem}.schedule-detail .icon{font-size:1.25rem;color:var(--color-primary);flex-shrink:0;margin-top:.125rem}.detail-label{font-size:.8rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-weight:500}.detail-value{font-size:.95rem;color:#2d3748;font-weight:500}.schedule-pattern{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid var(--color-primary);margin-top:.5rem}.pattern-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.pattern-label{font-size:.8rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.pattern-count{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.pattern-text{font-size:.9rem;color:#4a5568;line-height:1.6;font-family:Courier New,monospace}.inactive-badge{background:#ffc107;color:#856404;padding:.5rem;border-radius:6px;text-align:center;font-weight:600;font-size:.85rem}.schedule-form{display:flex;flex-direction:column;gap:2rem}.form-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:2rem}.form-section h2{margin:0 0 1rem;font-size:1.25rem;color:#2d3748;font-weight:600}.section-description{margin:0 0 1.5rem;color:#718096;font-size:.95rem;line-height:1.6}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem;font-weight:500;color:#2d3748;font-size:.95rem}.form-group .required{color:#ef4444;margin-left:.25rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e40af1a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;cursor:not-allowed}.help-text{margin:.5rem 0 0;font-size:.85rem;color:#718096}.selection-summary{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e9ecef}.selection-summary h3{margin:0 0 1rem;font-size:1rem;color:#2d3748;font-weight:600}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.summary-card{background:#f8f9fa;padding:1.25rem;border-radius:8px;border-left:4px solid var(--color-primary)}.summary-label{font-size:.75rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:600}.summary-value{font-size:1.1rem;color:#2d3748;font-weight:600;margin-bottom:.5rem}.summary-meta{font-size:.85rem;color:#4a5568}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:.95rem;line-height:1.5}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.25rem;color:#2d3748;font-weight:600}.modal-close{background:none;border:none;font-size:2rem;color:#718096;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f1f3f5;color:#2d3748}.modal-body{padding:1.5rem}.modal-body p{margin:0 0 1rem;color:#4a5568;line-height:1.6}.modal-body p:last-child{margin-bottom:0}.warning-text{color:#856404;background:#fff3cd;padding:.75rem;border-radius:6px;font-size:.9rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e9ecef}@media (max-width: 768px){.schedules-page,.schedule-form-page{padding:1rem}.schedules-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.form-row,.summary-cards{grid-template-columns:1fr}.form-actions{flex-direction:column}}.sc-color{display:inline-block;width:10px;height:34px;border-radius:4px;flex:none;background:var(--c, #94a3b8)}.sc-route{display:flex;align-items:center;gap:.7rem;min-width:0}.sc-route .ui-cell-title{color:var(--color-text)}.sc-days{display:flex;flex-wrap:wrap;gap:.3rem;max-width:380px}.sc-day{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .5rem;font-size:.78rem;background:#f1f5f9;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.sc-day b{font-weight:700;color:var(--color-primary)}.sc-day span{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.74rem}.sc-row-off td{opacity:.7}.sc-skel{height:52px;margin:.6rem 1rem}.sc-skel-stat{height:84px}.sc-banner-actions{display:flex;align-items:center;gap:.5rem}.sc-modal-warn{margin:.5rem 0 0;padding:.6rem .8rem;font-size:.86rem;color:#92400e;background:var(--color-warning-soft);border-radius:var(--radius-sm)}.sc-modal p{margin:0}.sc-period{white-space:nowrap;font-size:.85rem}.sc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;margin-top:1rem}.sc-summary-item{padding:.75rem .9rem;background:#f8fafc;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm)}.sc-summary-item .k{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.sc-summary-item .v{font-weight:600;margin-top:.1rem}.sc-summary-item .m{font-size:.82rem;color:var(--color-text-muted)}.sc-step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:.5rem;font-size:.8rem;font-weight:700;color:#fff;background:var(--color-primary);border-radius:50%}.sc-form-skel{height:180px;margin-bottom:1rem}.ui-field .sc-hint-warn{font-size:.78rem;color:var(--color-warning)}@media (max-width: 720px){.sc-days{max-width:none}}.schedule-grid-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.schedule-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e9ecef}.schedule-grid-header h3{margin:0;font-size:1.25rem;color:#2d3748;font-weight:600}.schedule-info{display:flex;align-items:center;gap:1rem}.selected-count{background:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;box-shadow:0 2px 4px #1e40af4d}.schedule-grid{overflow-x:auto;margin-bottom:1.5rem}.schedule-grid table{width:100%;border-collapse:collapse;background:#fff}.schedule-grid thead{background:#f8f9fa}.schedule-grid th{padding:1rem;text-align:center;font-weight:600;color:#2d3748;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;border:1px solid #e9ecef}.schedule-grid th.day-column{text-align:left;width:150px}.schedule-grid th.week-column{width:100px;background:var(--color-primary);color:#fff;font-size:1rem}.schedule-grid tbody tr{border:1px solid #e9ecef;transition:background-color .2s}.schedule-grid tbody tr:hover{background-color:#f8f9fa}.schedule-grid td{padding:1rem;border:1px solid #e9ecef}.schedule-grid td.day-label{font-weight:500;color:#2d3748;font-size:.95rem}.schedule-grid td.schedule-cell{text-align:center;vertical-align:middle}.checkbox-container{display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;width:32px;height:32px}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:32px;width:32px;background-color:#f1f3f5;border:2px solid #dee2e6;border-radius:6px;transition:all .2s}.checkbox-container:hover input~.checkmark{background-color:#e9ecef;border-color:var(--color-primary)}.checkbox-container input:checked~.checkmark{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 4px #1e40af4d}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:10px;top:6px;width:8px;height:14px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg)}.checkbox-container input:disabled~.checkmark{background-color:#f8f9fa;border-color:#e9ecef;cursor:not-allowed;opacity:.6}.schedule-legend{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid var(--color-primary)}.schedule-legend .legend-title{margin:0 0 .75rem;font-weight:600;color:#2d3748;font-size:.95rem}.schedule-legend ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.5rem}.schedule-legend li{font-size:.9rem;color:#4a5568;line-height:1.6}.schedule-legend li strong{color:var(--color-primary);font-weight:600}.schedule-warning{margin-top:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;font-size:.9rem;font-weight:500;text-align:center}@media (max-width: 768px){.schedule-grid-header{flex-direction:column;align-items:flex-start;gap:1rem}.schedule-grid th.day-column{width:auto;min-width:100px}.schedule-grid th.week-column{width:60px}.checkmark{height:28px;width:28px}.checkbox-container{width:28px;height:28px}.checkbox-container .checkmark:after{left:9px;top:5px;width:6px;height:12px}.schedule-legend ul{grid-template-columns:1fr}}.sch{display:block}.sch-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.sch-title{margin:0;font-size:.95rem;font-weight:700}.sch-count{font-family:var(--font-mono);font-size:.82rem}.sch-scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.sch-table{width:100%;border-collapse:collapse;min-width:340px}.sch-table th{padding:.55rem .5rem;font-size:.78rem;font-weight:700;text-align:center;color:var(--color-text-muted);background:#f8fafc;border-bottom:1px solid var(--color-border)}.sch-table th.sch-dayh{text-align:left;padding-left:.9rem}.sch-table td{padding:.3rem;text-align:center;border-bottom:1px solid #f1f5f9}.sch-table tbody tr:last-child td,.sch-table tbody tr:last-child th{border-bottom:none}.sch-table tbody th{text-align:left;padding:.3rem .9rem;font-size:.88rem;font-weight:600;color:var(--color-text);background:transparent;white-space:nowrap;border-bottom:1px solid #f1f5f9}.sch-table tr.is-weekend th{color:var(--color-text-muted)}.sch-table tr.is-weekend{background:#fafbfd}.sch-cell{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:44px;height:40px;padding:0;color:transparent;background:var(--color-surface);border:1.5px solid #cbd5e1;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.sch-cell:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.sch-cell[aria-pressed=true]{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.sch-cell[aria-pressed=true]:hover:not(:disabled){background:var(--color-primary-hover)}.sch-cell:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sch-cell:disabled{cursor:not-allowed;opacity:.6}.sch-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-top:.75rem;font-size:.82rem;color:var(--color-text-muted)}.sch-legend>span{display:inline-flex;align-items:center;gap:.4rem}.sch-swatch{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid #cbd5e1;border-radius:4px;background:var(--color-surface);color:#fff}.sch-swatch.on{background:var(--color-primary);border-color:var(--color-primary)}.sch-note{margin:.5rem 0 0;font-size:.82rem;color:var(--color-text-muted)}.sch-warn{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem .85rem;font-size:.86rem;font-weight:500;color:#92400e;background:var(--color-warning-soft);border:1px solid #fde68a;border-radius:var(--radius-sm)}.tours-page{padding:2rem;max-width:1600px;margin:0 auto}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:1rem;transition:all .3s}.stat-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:var(--color-primary);color:#fff;flex-shrink:0}.stat-icon.completed{background:linear-gradient(135deg,#10b981,#059669)}.stat-icon.in-progress{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-icon.warning{background:linear-gradient(135deg,#ef4444,#dc2626)}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#2d3748;line-height:1;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:#718096;font-weight:500}.filters-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;margin-bottom:2rem}.filters-section h3{margin:0 0 1rem;font-size:1.1rem;color:#2d3748;font-weight:600}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{margin-bottom:.5rem;font-weight:500;color:#2d3748;font-size:.9rem}.filter-group select,.filter-group input{padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.95rem;transition:all .2s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e40af1a}.filter-actions{display:flex;align-items:flex-end}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.table-container thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.table-container th{padding:1rem;text-align:left;font-weight:600;color:#2d3748;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.table-container tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.table-container tbody tr:hover{background-color:#f8f9fa}.table-container td{padding:1rem;color:#4a5568;font-size:.95rem;vertical-align:middle}.table-container table{width:100%;border-collapse:collapse}.table-container th{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem;background:#f9fafb}.tour-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#2d3748}.tour-detail-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.tour-detail-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 4px #0000000f;border:1px solid #e5e7eb}.tour-detail-card h2{margin:0 0 1rem}.detail-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.detail-row .icon{color:#4b5563}.detail-label{font-size:.9rem;color:#6b7280}.detail-value{font-size:1rem;color:#111827}.stats-inline{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.stat-chip{display:inline-flex;align-items:center;gap:.4rem;background:#f3f4f6;border-radius:8px;padding:.5rem .75rem;font-size:.9rem;color:#111827}.icon-small{font-size:1rem;color:var(--color-primary);flex-shrink:0}.icon-tiny{font-size:.85rem;color:#718096;flex-shrink:0}.route-info{display:flex;align-items:center;gap:.5rem}.route-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid white;box-shadow:0 1px 3px #0003}.monitor-info{display:flex;align-items:center;gap:.5rem}.visits-count{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-badge{display:inline-block;padding:.35rem .85rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-planned{background:#e3f2fd;color:#1976d2}.status-badge.status-in-progress{background:#fff3e0;color:#f57c00}.status-badge.status-completed{background:#e8f5e9;color:#2e7d32}.status-badge.status-cancelled{background:#ffebee;color:#c62828}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;border:none;cursor:pointer;transition:all .2s;font-size:1rem;text-decoration:none}.btn-icon.btn-info{background:#e3f2fd;color:#1976d2}.btn-icon.btn-info:hover{background:#bbdefb;color:#0d47a1}.empty-state{background:#fff;border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:0 2px 8px #00000014}.empty-state svg{color:#cbd5e0;margin-bottom:1.5rem}.empty-state h2{margin:0 0 .5rem;font-size:1.5rem;color:#2d3748;font-weight:600}.empty-state p{margin:0 0 2rem;color:#718096;font-size:.95rem}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.loading{text-align:center;padding:3rem;color:#718096;font-size:1.1rem}@media (max-width: 768px){.tours-page{padding:1rem}.stats-cards,.filters-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.stat-value{font-size:1.5rem}}.tr-toolbar{align-items:flex-end}.tr-toolbar .ui-field{flex:0 1 170px;min-width:140px}.tr-toolbar .ui-field select,.tr-toolbar .ui-field input{width:100%;min-width:0}.tr-date{text-transform:capitalize;white-space:nowrap}.tr-route{display:inline-flex;align-items:center;gap:.45rem}.tr-swatch{width:10px;height:10px;border-radius:50%;flex:none;border:1px solid rgba(15,23,42,.15)}.tr-inline{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.tr-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.tr-side-dl{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.tr-notes{max-width:320px;overflow-wrap:anywhere}.tr-loading-rows{padding:1rem;display:flex;flex-direction:column;gap:.5rem}@media (max-width: 720px){.tr-toolbar .ui-field{flex:1 1 140px}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width: 767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-addons-dnd .rbc-addons-dnd-row-body{position:relative}.rbc-addons-dnd .rbc-addons-dnd-drag-row{position:absolute;top:0;left:0;right:0}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:#0000004d}.rbc-addons-dnd .rbc-event{transition:opacity .15s}.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ns-icon,.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ew-icon{display:block}.rbc-addons-dnd .rbc-addons-dnd-dragged-event{opacity:0}.rbc-addons-dnd.rbc-addons-dnd-is-dragging .rbc-event:not(.rbc-addons-dnd-dragged-event):not(.rbc-addons-dnd-drag-preview){opacity:.5}.rbc-addons-dnd .rbc-addons-dnd-resizable{position:relative;width:100%;height:100%}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor{width:100%;text-align:center;position:absolute}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor .rbc-addons-dnd-resize-ns-icon{display:none;border-top:3px double;margin:0 auto;width:10px;cursor:ns-resize}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor{position:absolute;top:4px;bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:first-child{left:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:last-child{right:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor .rbc-addons-dnd-resize-ew-icon{display:none;border-left:3px double;margin-top:auto;margin-bottom:auto;height:10px;cursor:ew-resize}.visit-date-cell{display:flex;align-items:center;gap:.5rem}.view-toggle{display:flex;justify-content:flex-end;gap:.75rem;margin-bottom:1.5rem}.btn.btn-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;transition:all .2s ease}.btn.btn-toggle:hover{background:#e2e6ea}.btn.btn-toggle.active{background:var(--color-primary);color:#fff;border-color:transparent;box-shadow:0 5px 15px #1e40af33}.filters-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;background:#fff;border-radius:10px;padding:1rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000000d;align-items:end}.filter-field{display:flex;flex-direction:column;gap:.5rem}.filter-field label{font-weight:600;color:#333}.filter-field select,.filter-field input{padding:.65rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.filter-field select:focus,.filter-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1e40af33}.filter-actions{display:flex;justify-content:flex-end}.filter-actions .btn{width:100%;justify-content:center}.filter-actions .btn[disabled]{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:10px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;color:#333}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions .btn{flex:1}.calendar-container{background:#fff;border-radius:10px;padding:1rem;box-shadow:0 2px 10px #0000000d}.calendar-event{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;line-height:1.2;color:inherit;position:relative}.calendar-event-title{font-weight:600}.calendar-event-meta{display:flex;flex-wrap:wrap;gap:.35rem;font-size:.78rem;color:#4b5563}.recurrence-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;background:#3b82f626;color:#1d4ed8}.calendar-event-tooltip{position:absolute;top:100%;left:0;transform:translateY(12px);background:#0f172aeb;color:#fff;padding:.5rem .75rem;border-radius:8px;box-shadow:0 12px 25px #0f172a4d;min-width:220px;max-width:260px;z-index:10;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;font-size:.8rem}.calendar-event:hover .calendar-event-tooltip{opacity:1;pointer-events:auto;transform:translateY(8px)}.calendar-status-planned .calendar-event-title{color:#1d4ed8}.calendar-status-in_progress .calendar-event-title{color:#c2410c}.calendar-status-completed .calendar-event-title{color:#15803d}.calendar-status-cancelled .calendar-event-title{color:#b91c1c}.rbc-toolbar{flex-wrap:wrap;gap:.5rem}.rbc-toolbar button{border-radius:6px;border:1px solid #dee2e6;background:#f8f9fa;color:#495057;padding:.35rem .75rem}.rbc-toolbar button.rbc-active{background:var(--color-primary);border-color:transparent;color:#fff}.rbc-event{padding:0!important;border-radius:10px!important;border-width:1px!important;border-style:solid!important}.rbc-today{background-color:#1e40af1a}.visits-planning .rbc-month-view,.visits-planning .rbc-time-view{min-height:500px}.calendar-sunday{background:#9ca3af33!important}.calendar-sunday .rbc-day-slot{background:#9ca3af26!important}.visit-header-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:2rem}.visit-title-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.visit-title-section h2{margin:0;color:#333;font-size:1.75rem}.badges-group{display:flex;gap:.5rem;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.detail-card.full-width{grid-column:1 / -1}.detail-card h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.detail-card h3 svg{color:var(--color-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item label{font-size:.875rem;color:#6c757d;font-weight:600}.info-item p{margin:0;color:#333;font-size:1rem;display:flex;align-items:center;gap:.5rem}.info-item strong{color:var(--color-primary);font-size:1.25rem}.icon-success{color:#34c759}.icon-muted{color:#6c757d}.text-muted{color:#6c757d;font-size:.875rem}.link-primary{color:var(--color-primary);text-decoration:none;transition:color .2s}.link-primary:hover{color:var(--color-primary-hover);text-decoration:underline}.gps-section{display:flex;flex-direction:column;gap:1.5rem}.gps-block{padding:1rem;background:#f8f9fa;border-radius:8px;border-left:3px solid var(--color-primary)}.geo-chip-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.geo-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem 1rem;display:inline-flex;flex-direction:column;min-width:120px}.geo-chip span{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.geo-chip strong{font-size:.95rem;color:#0f172a}.geo-chip--warn{border-color:#fcd34d;background:#fffbeb}.geo-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-bottom:1.5rem}.geo-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:12px;border:1px solid #eaeaea;background:#fff;box-shadow:0 6px 12px #0000000a}.geo-card--ok{border-color:#c7eed8;background:#f8fffa}.geo-card--alert{border-color:#ffe8b3;background:#fff9f1}.geo-card__icon{width:48px;height:48px;border-radius:50%;background:#1e40af1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.geo-card__content{flex:1}.geo-card__header{display:flex;justify-content:space-between;font-weight:600;color:#343a40;margin-bottom:.25rem}.geo-card__header small{color:#6c757d;font-weight:400}.geo-card__metrics{display:flex;flex-direction:column;gap:.35rem;color:#495057;font-size:.95rem}.geo-card__coords{font-family:Courier New,monospace;font-size:.85rem;color:#6c757d}.geo-card__alert{margin-top:.35rem;color:#c56a00;font-size:.85rem}.geo-card--empty{justify-content:center;text-align:center;color:#6c757d}.gps-block h4{margin:0 0 .75rem;font-size:.95rem;color:#333}.gps-coords{display:flex;gap:1.5rem;font-family:Courier New,monospace;font-size:.875rem;color:#495057}.gps-coords span{background:#fff;padding:.5rem 1rem;border-radius:5px;border:1px solid #dee2e6}.distance-badge{display:inline-block;margin-top:.75rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.distance-success{background:#d4edda;color:#155724}.distance-warning{background:#fff3cd;color:#856404}.alert{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;margin-top:1rem}.alert svg{flex-shrink:0;font-size:1.25rem}.alert-warning{background:#fff3cd;border:1px solid #ffc107;color:#856404}.alert strong{display:block;margin-bottom:.25rem}.alert p{margin:0;font-size:.875rem}.form-info{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem}.form-info strong{color:#333;font-size:1rem}.answers-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.answer-card{padding:1rem;background:#f8f9fa;border-radius:8px;border-left:3px solid var(--color-primary);display:flex;flex-direction:column;gap:.75rem}.answer-card__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.answer-card__title{display:flex;flex-direction:column;gap:.35rem}.answer-card__title label{font-weight:600;color:#333;font-size:1rem;flex:1}.answer-pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.field-type-badge{background:#eef2ff;color:#4a5fd5;padding:.25rem .85rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.required-pill{background:#ffe0e0;color:#c43232;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600}.question-order{font-size:.8rem;color:#6c757d;font-weight:600}.answer-value{margin:0 0 .5rem;color:#495057;font-size:1rem;line-height:1.5;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #e9ecef;white-space:pre-wrap}.answer-value--boolean{font-size:1.1rem;font-weight:600;text-align:center;color:#1f7a1f}.answer-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#6c757d}.answer-flag{display:inline-flex;align-items:center;gap:.25rem;font-weight:600}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.photo-item{border-radius:8px;overflow:hidden;background:#f8f9fa;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.photo-item:hover{transform:translateY(-5px);box-shadow:0 4px 12px #00000026}.photo-item img,.photo-item .photo-image{width:100%;height:200px;object-fit:cover;display:block}.photo-caption{padding:.75rem;margin:0;font-size:.875rem;color:#333;font-weight:500}.photo-item small{display:block;padding:0 .75rem .75rem}.notes-content{padding:1rem;background:#f8f9fa;border-radius:8px;border-left:3px solid var(--color-primary);margin:0;line-height:1.6;color:#495057}@media (max-width: 768px){.detail-grid,.info-grid{grid-template-columns:1fr}.gps-coords{flex-direction:column;gap:.5rem}.photos-grid{grid-template-columns:repeat(2,1fr)}.visit-title-section{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.photos-grid{grid-template-columns:1fr}}.calendar-sunday,.calendar-sunday .rbc-day-slot{background:#9ca3af26!important}.helper-text{font-size:.85rem;color:#6b7280;margin-top:.35rem}.visits-list .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.visits-list .page-header p{margin:.5rem 0 0;color:#6c757d;font-size:.95rem}.filters-section{background:#fff;border-radius:10px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000000d}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.filters-header h3{margin:0;display:flex;align-items:center;gap:.5rem;color:#333;font-size:1.1rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.visits-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.visits-table thead{background:var(--color-primary);color:#fff}.visits-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.visits-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.visits-table tbody tr:hover{background-color:#f8f9fa}.visits-table tbody tr.row-suspicious{background-color:#fff9f0}.visits-table tbody tr.row-suspicious:hover{background-color:#fff3e0}.visits-table td{padding:1rem;color:#495057;font-size:.95rem}.visit-id{font-weight:600;color:var(--color-primary);font-family:Courier New,monospace}.icon-warning{color:#f59e0b;margin-left:.5rem;vertical-align:middle}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d}.pagination-info{color:#6c757d;font-size:.95rem}@media (max-width: 1024px){.filters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}.visits-table{font-size:.85rem}.visits-table th,.visits-table td{padding:.75rem .5rem}.visits-list .page-header{flex-direction:column}.visits-list .action-buttons{width:100%;display:flex;flex-direction:column;gap:.5rem}.visits-list .action-buttons .btn{width:100%}}@media (max-width: 640px){.visits-table thead{display:none}.visits-table tbody tr{display:block;margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.visits-table td{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.visits-table td:last-child{border-bottom:none}.visits-table td:before{content:attr(data-label);font-weight:600;color:var(--color-primary);margin-right:1rem}}.visit-map-container{position:relative;margin-top:1.5rem}.visit-map-legend{background:#fff;padding:1rem;border-radius:8px;margin-top:1rem;border:1px solid #e9ecef}.visit-map-legend h4{margin:0 0 .75rem;font-size:.9rem;color:#333;font-weight:600}.visit-map-legend .legend-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.875rem;color:#495057}.visit-map-legend .legend-item:last-child{margin-bottom:0}.visit-map-legend .legend-marker{width:20px;height:20px;border-radius:50%;flex-shrink:0}.map-placeholder{height:400px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:8px;color:#6c757d;font-size:1rem;margin-top:1.5rem}@media (max-width: 768px){.visit-map-container .leaflet-container{height:300px!important}.map-placeholder{height:300px}}.vp .ui-toolbar .ui-field{min-width:200px;flex:1 1 200px;max-width:320px}.vp .ui-toolbar .ui-field select{width:100%}.vp-nowrap{white-space:nowrap}.vp-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.vp-modal-head h2{margin:0}.vp-form{display:flex;flex-direction:column;gap:.9rem}.vp .calendar-container{padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow-x:auto}@media (max-width: 720px){.vp .ui-toolbar .ui-field{max-width:none}}.visits-planning .rbc-time-slot,.visits-planning .rbc-day-bg{cursor:pointer}.visits-planning .rbc-slot-selection{background:var(--color-primary-soft);border:1px solid var(--color-primary);color:var(--color-primary)}.visits-planning .calendar-locked{cursor:pointer}.visits-planning .rbc-addons-dnd .rbc-addons-dnd-resizable{cursor:default}.visits-planning .rbc-event{padding:4px 8px!important;border-left-width:5px!important;border-radius:6px!important;box-shadow:0 1px 2px #0f172a1f;overflow:hidden}.visits-planning .rbc-event:hover{box-shadow:0 3px 8px #0f172a38;z-index:5}.visits-planning .rbc-event .rbc-event-content{overflow:hidden}.visits-planning .calendar-event{gap:2px;font-size:.85rem;line-height:1.25}.visits-planning .calendar-event-title{font-weight:700;font-size:.88rem;color:#0f172a!important;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.visits-planning .calendar-event-meta{color:#334155;font-size:.75rem;gap:.25rem}.visits-planning .calendar-event-monitor{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visits-planning .rbc-time-slot{min-height:30px}.visits-planning .rbc-timeslot-group{min-height:80px}.visits-planning .rbc-time-gutter .rbc-label{font-size:.78rem;color:#64748b}.vp-datetime{display:grid;grid-template-columns:1fr 120px;gap:8px}.vp-datetime input,.vp-datetime select{width:100%}.cb{position:relative}.cb-input{width:100%;min-height:40px;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);text-overflow:ellipsis;transition:border-color .2s,box-shadow .2s}.cb-input:hover:not(:disabled){border-color:#94a3b8}.cb-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.cb-input:disabled{background:#f1f5f9;color:var(--color-text-muted);cursor:not-allowed}.cb-actions{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:center;gap:.15rem;padding-right:.6rem;pointer-events:none}.cb-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;color:var(--color-text-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer}.cb-btn:hover{background:#f1f5f9;color:var(--color-text)}.cb-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.cb-chevron{color:#64748b}.cb-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:260px;margin:0;padding:.25rem;list-style:none;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0f172a26}.cb-option{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;font-size:.9rem;border-radius:var(--radius-sm);cursor:pointer}.cb-option.is-active{background:#f1f5f9}.cb-option.is-selected{font-weight:600;color:var(--color-primary)}.cb-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-option-hint{flex:none;font-size:.78rem;font-weight:400;color:var(--color-text-muted)}.cb-empty{padding:.75rem;text-align:center;font-size:.86rem;color:var(--color-text-muted)}.cb .cb-input{padding-right:3.4rem!important}.vs .ui-toolbar .ui-field{min-width:170px;flex:1 1 170px}.vs .ui-toolbar .ui-field select,.vs .ui-toolbar .ui-field input{width:100%;min-width:0}.vs .ui-toolbar-end{flex:0 0 auto}.vs-nowrap{white-space:nowrap}.vs-warn-icon{margin-left:.4rem;vertical-align:-2px;color:var(--color-danger)}.vs .ui-table tbody tr.vs-suspicious{background:#fef2f2;box-shadow:inset 3px 0 0 var(--color-danger)}.vs .ui-table tbody tr.vs-suspicious:hover{background:#fee2e2}.vh{align-items:center;margin-bottom:.9rem}.vh-title{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;min-width:0}.vh-title h1,.vh-count{margin:0}.vh-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.vh-page-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.vd-h2{display:flex;align-items:center;gap:.5rem}.vd-h2 svg{color:var(--color-primary);flex-shrink:0}.vd-dt-icon{vertical-align:-2px;margin-right:.2rem}.vd .vd-grid{margin-bottom:1rem}.vd .vd-grid>.ui-section{margin-bottom:0;height:100%;box-sizing:border-box}.vd-dl-1{grid-template-columns:1fr}.vd-time{display:flex;align-items:center;gap:.4rem}.vd-ok{color:var(--color-success)}.vd-geo-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.vd-geo{display:flex;gap:.75rem;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);border-left-width:4px;background:#f8fafc}.vd-geo.is-ok{border-left-color:var(--color-success)}.vd-geo.is-warn{border-left-color:var(--color-danger);background:var(--color-danger-soft)}.vd-geo-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-surface);color:var(--color-primary);flex-shrink:0}.vd-geo-time{margin-left:.4rem;font-size:.8rem;color:var(--color-text-muted)}.vd-geo-dist{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0;font-size:.88rem}.vd-geo-coords{font-size:.78rem;color:var(--color-text-muted)}.vd-map-wrap{display:flex;flex-direction:column;gap:.75rem}.vd-map{z-index:0;border:1px solid var(--color-border)}.vd-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:160px;padding:1rem;text-align:center;color:var(--color-text-muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:var(--radius-md)}.vd-map-empty svg{font-size:1.5rem}.vd-map-empty p{margin:0}.vd-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:.65rem .9rem;font-size:.84rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md)}.vd-legend h4{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.vd-legend-item{display:inline-flex;align-items:center;gap:.45rem}.vd-legend-marker{display:inline-block;width:14px;height:14px;border-radius:50%;flex-shrink:0;box-sizing:border-box}.vd-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.vd-photo{margin:0;overflow:hidden;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-md)}.vd-photo img{display:block;width:100%;height:130px;object-fit:cover}.vd-photo figcaption{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem}.vd-photo-caption{font-size:.86rem;font-weight:500}.vd-photo small{color:var(--color-text-muted)}.vd-notes{margin:0;white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}@media (max-width: 560px){.vd-geo-list{grid-template-columns:1fr}}.vd-duration{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.9rem}.vd-duration-value{font-family:var(--font-mono);font-size:2.2rem;font-weight:600;line-height:1;color:var(--color-primary)}.vd-duration-unit{font-size:.95rem;font-weight:600;color:var(--color-text-muted)}.vd-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.vd-section-head .vd-h2{margin:0}.vd-geo-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.vd-geo-layout .vd-geo-list{grid-template-columns:1fr;margin-bottom:.5rem}.vd-geo-none{margin:0 0 .5rem}.vd-qa{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md)}.vd-qa-item{display:flex;gap:.85rem;padding:.7rem 1rem;border-bottom:1px solid #f1f5f9}.vd-qa-item:last-child{border-bottom:none}.vd-qa-num{flex:none;width:1.6rem;padding-top:.1rem;font-size:.8rem;color:var(--color-text-muted);text-align:right}.vd-qa-body{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.25rem 1rem;align-items:start}.vd-qa-body h3{margin:0;font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.vd-qa-value{margin:0;font-size:.93rem;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.vd-photo-btn{display:block;width:100%;padding:0;background:none;border:none;cursor:zoom-in}.vd-photo-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #3b82f699}.vd-photo-large{display:block;max-width:100%;max-height:70vh;margin:0 auto;border-radius:var(--radius-sm)}@media (max-width: 900px){.vd-geo-layout{grid-template-columns:1fr}}@media (max-width: 560px){.vd-qa-body{grid-template-columns:1fr}}.vd-qa-action{margin:.5rem 0 0;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}textarea{resize:vertical;min-height:100px}.btn-sm{padding:.5rem 1rem;font-size:.9rem}textarea.error{border-color:#dc3545}.field-error{color:#dc3545;font-size:.875rem;margin-top:.25rem}.field-hint{display:block;color:#6c757d;font-size:.875rem;margin-top:.5rem}.info-card{background:#f8f9fa;padding:1.5rem;border-radius:10px;margin-top:2rem;border:1px solid #dee2e6}.questions-header{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1rem}.question-card{border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;background:#fff;box-shadow:0 4px 12px #0f172a0d}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.question-header h4{margin:0;color:#1f2937}.checkbox-group{display:flex;align-items:center;margin-top:1.75rem}.checkbox-group label{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:#374151;cursor:pointer}.checkbox-group input{width:18px;height:18px}.input-error{border-color:#dc3545!important}.question-card textarea{min-height:80px}.info-card h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.info-card pre{background:#fff;padding:1rem;border-radius:5px;overflow-x:auto;font-size:.85rem;margin:0;border:1px solid #dee2e6}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.question-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.question-item .question-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.question-number{background:#007bff;color:#fff;padding:.25rem .75rem;border-radius:20px;font-weight:600;font-size:.875rem}.question-item h4{flex:1;margin:0;color:#1f2937;font-size:1.1rem;font-weight:600}.question-details{padding-left:3.5rem;color:#6b7280}.question-details p{margin:.5rem 0}.question-details strong{color:#374151;margin-right:.5rem}.options-list{list-style:none;padding-left:1.5rem;margin:.75rem 0 0}.options-list li{padding:.5rem 0;color:#4b5563;position:relative}.options-list li:before{content:"•";position:absolute;left:-1rem;color:#9ca3af;font-weight:700}.fm-skel-stack{display:grid;gap:.6rem;padding:1rem}.fm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.8rem 1rem;margin-bottom:1rem}.fm-toolbar .ui-search{flex:1 1 260px}.fm-toolbar .ui-search input{width:100%;min-height:40px;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm)}.fm-toolbar .ui-search input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.fm-count{font-size:.85rem;color:var(--color-text-muted)}.fm-name{display:flex;align-items:center;gap:.7rem;min-width:0}.fm-name-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary)}.fm-desc{max-width:420px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-table .ui-cell-title{max-width:360px}.fm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.fm-questions{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.fm-q{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.fm-q-num{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 .5rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-mono);font-size:.8rem;font-weight:600}.fm-q-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem}.fm-q-label{margin:0;font-size:.95rem;font-weight:600;flex:1 1 200px;overflow-wrap:anywhere}.fm-options{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none}.fm-options li{padding:.15rem .65rem;font-size:.82rem;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc}.fm-json summary{cursor:pointer;font-weight:600;font-size:.9rem;border-radius:var(--radius-sm)}.fm-json summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fm-json pre{margin:.9rem 0 0;padding:.9rem;max-height:360px;overflow:auto;font-family:var(--font-mono);font-size:.8rem;background:#0f172a;color:#e2e8f0;border-radius:var(--radius-sm)}.fm-editor-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.fm-editor-q{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:.9rem 1rem 1rem;background:var(--color-surface)}.fm-editor-q-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.fm-editor-q-head h3{margin:0;display:flex;align-items:center;gap:.6rem;font-size:.95rem}.fm-editor-q-tools{display:inline-flex;gap:.15rem}.fm-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:.9rem 1.1rem}.fm-editor-grid .fm-full{grid-column:1 / -1}.fm-field-error{font-size:.8rem;font-weight:500;color:var(--color-danger)}.fm-invalid{border-color:var(--color-danger)!important}.fm-editor-list-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.fm-editor-list-head h2{margin:0;font-size:1rem;font-weight:700}.fm-add-bottom{display:flex;justify-content:center;margin-top:.9rem}@media (max-width: 720px){.fm-editor-grid{grid-template-columns:1fr}.fm-desc{max-width:220px}}.filters-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d;margin-bottom:2rem}.filters-card h3{margin:0 0 1rem;color:#333}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stats-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;gap:.5rem}.stats-title{font-size:.95rem;color:#6c757d}.stats-value{font-size:1.75rem;font-weight:700;color:#333}.raw-data-card{background:#fff;margin-top:2rem;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.raw-data-card pre{margin:0;background:#f8f9fa;padding:1rem;border-radius:5px;overflow-x:auto;font-size:.85rem;border:1px solid #dee2e6}.no-data{padding:1rem;background:#fff3cd;border:1px solid #ffeeba;border-radius:5px;color:#856404;text-align:center}.sa-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:1rem 1.1rem;margin-bottom:1rem}.sa-filters .ui-field{flex:0 1 200px}.sa-filters-actions{display:flex;gap:.5rem;margin-left:auto}.sa-filters-title{flex-basis:100%;margin:0;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.sa-skel{height:96px}.sa-raw summary{cursor:pointer;font-weight:600;font-size:.9rem;padding:.25rem 0;border-radius:var(--radius-sm)}.sa-raw summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sa-raw pre{margin:.75rem 0 0;padding:.9rem;max-height:320px;overflow:auto;font-family:var(--font-mono);font-size:.8rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm)}@media (max-width: 560px){.sa-filters .ui-field{flex:1 1 100%}.sa-filters-actions{width:100%;margin-left:0}.sa-filters-actions .ui-btn{flex:1}}.bv-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;padding:1rem 1.1rem;margin-bottom:1rem}.bv-filters .ui-field{flex:1 1 130px;min-width:130px}.bv-filters .ui-field:last-child{flex:2 1 220px}.bv-filters .ui-field select,.bv-filters .ui-field input{width:100%;min-width:0}.bv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-bottom:1.25rem}.bv-kpi{padding:.9rem 1rem}.bv-kpi strong{display:block;font-size:1.6rem;line-height:1.2}.bv-kpi span{font-size:.8rem;color:var(--color-text-muted, #6b7280)}.bv-section-title{margin:1.25rem 0 .5rem;font-size:.85rem;font-weight:600}.bv-section-title.watch{color:#b91c1c}.bv-section-title.ok{color:#166534}.bv-section-title.other{color:#6b7280}.bv-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .5rem;border:0;border-bottom:1px solid #eee;background:transparent;text-align:left;cursor:pointer;font:inherit}.bv-row:hover,.bv-row[aria-expanded=true]{background:#f9fafb}.bv-row:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(37, 99, 235, .35))}.bv-q{flex:0 0 38%}.bv-bar{flex:1;height:10px;border-radius:5px;background:#e5e7eb;overflow:hidden}.bv-bar i{display:block;height:100%}.bv-bar .good{background:#16a34a}.bv-bar .mid{background:#f59e0b}.bv-bar .bad{background:#dc2626}.bv-pct{flex:0 0 48px;text-align:right;font-weight:700}.bv-count{flex:0 0 170px;font-size:.8rem;color:#6b7280}.bv-chevron{flex:0 0 14px;color:#9ca3af}.bv-chips{flex:1;display:flex;flex-wrap:wrap;gap:.35rem}.bv-chip{background:#f3f4f6;border-radius:10px;padding:.05rem .55rem;font-size:.75rem}.bv-detail{border:1px solid #e5e7eb;border-top:0;border-radius:0 0 8px 8px;margin-bottom:.5rem;overflow-x:auto}.bv-detail table{width:100%;border-collapse:collapse;font-size:.85rem}.bv-detail th{text-align:left;font-weight:500;color:#6b7280;padding:.45rem .7rem;border-bottom:1px solid #eee}.bv-detail td{padding:.45rem .7rem;border-bottom:1px solid #f3f4f6}.bv-yes{color:#166534;font-weight:600}.bv-no{color:#b91c1c;font-weight:600}.bv-empty{padding:2rem 1rem;text-align:center;color:#6b7280}.bv-toggle{background:none;border:0;color:#2563eb;text-decoration:underline;cursor:pointer;font:inherit;font-size:.8rem;margin-left:.5rem}@media (max-width: 720px){.bv-row{flex-wrap:wrap}.bv-q{flex:1 0 100%}.bv-count{flex:1 0 auto}}.bv-action{white-space:pre-wrap;overflow-wrap:anywhere;max-width:28rem}.bv-archived{color:#6b7280;font-weight:400;font-size:.85em}.bv-tabs{display:flex;gap:.25rem;margin:0 0 1rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.bv-tab{padding:.6rem 1rem;border:0;border-bottom:3px solid transparent;background:transparent;font:inherit;font-weight:600;color:var(--color-text-muted, #6b7280);cursor:pointer}.bv-tab:hover{color:var(--color-primary, #1d4ed8)}.bv-tab.is-active{color:var(--color-primary, #1d4ed8);border-bottom-color:var(--color-primary, #1d4ed8)}.bv-tab:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(37, 99, 235, .35))}.bv-kpi-btn{font:inherit;text-align:left;color:inherit;cursor:pointer;border:1px solid transparent}.bv-kpi-btn:hover{background:#f9fafb}.bv-kpi-btn.is-active{border-color:var(--color-primary, #1d4ed8);background:var(--color-primary-soft, #eff6ff)}.bv-kpi-btn:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(37, 99, 235, .35))}.bv-kpi-alert strong{color:#b91c1c}.bv-table-title{margin:0;padding:1rem 1.1rem .75rem;font-size:1.05rem}.bv-view-switch{display:inline-flex;margin:.5rem 0 .25rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;overflow:hidden}.bv-view-switch button{padding:.35rem .9rem;border:0;background:transparent;font:inherit;font-size:.85rem;font-weight:600;color:var(--color-text-muted, #6b7280);cursor:pointer}.bv-view-switch button+button{border-left:1px solid var(--color-border, #e5e7eb)}.bv-view-switch button.is-active{background:var(--color-primary-soft, #eff6ff);color:var(--color-primary, #1d4ed8)}.bv-view-switch button:focus-visible{outline:none;box-shadow:inset var(--focus-ring, 0 0 0 3px rgba(37, 99, 235, .35))}.bv-table small{color:var(--color-text-muted, #6b7280)}.bv-cell-ok{color:#166534;font-weight:600}.bv-cell-ko{color:#b91c1c;font-weight:600}.bv-outlets-cell{min-width:240px;max-width:460px}.bv-outlets{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.bv-outlet-chip{padding:.1rem .5rem;border-radius:999px;background:#fef2f2;color:#991b1b;font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap}.bv-outlet-chip:hover{text-decoration:underline}.bv-outlet-more{padding:.1rem .4rem;border:0;background:transparent;color:var(--color-primary, #1d4ed8);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.bv-muted{color:var(--color-text-muted, #6b7280);font-size:.8rem}.bv-detail-row>td{padding:0!important;background:#f9fafb}.bv-detail-row .bv-detail{margin:0}.page-container{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0;color:#333}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:5px;font-size:1rem;cursor:pointer;text-decoration:none;transition:all .2s}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #1e40af4d}.btn-secondary{background:#6c757d;color:#fff}.btn-warning{background:#ffc107;color:#333}.btn-icon{padding:.5rem;border:none;background:none;cursor:pointer;font-size:1.2rem;transition:transform .2s}.btn-icon:hover{transform:scale(1.1)}.btn-info{color:#17a2b8}.btn-danger{color:#dc3545}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.search-bar{flex:1}.search-bar input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem}.filter-role{min-width:220px}.filter-role label{display:block;margin-bottom:.4rem;font-weight:500;color:#333}.filter-role select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;background-color:#fff}.table-container{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000000d}table{width:100%;border-collapse:collapse}thead{background:#f8f9fa}th{padding:1rem;text-align:left;font-weight:600;color:#495057}td{padding:1rem;border-top:1px solid #dee2e6}tbody tr:hover{background-color:#f8f9fa}.text-center{text-align:center}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.badge-success{background-color:#d4edda;color:#155724}.badge-danger{background-color:#f8d7da;color:#721c24}.badge-info{background-color:#d1ecf1;color:#0c5460}.badge-secondary{background-color:#e2e3e5;color:#41464b}.zone-chip{display:inline-flex;align-items:center;gap:.35rem;background-color:#f5f7ff;color:#3f51b5;padding:.2rem .75rem;border-radius:999px;font-size:.85rem;font-weight:500;border:1px solid rgba(63,81,181,.25)}.zone-chip .zone-dot{width:10px;height:10px;border-radius:50%;background-color:currentColor;border:2px solid rgba(255,255,255,.9)}.action-buttons{display:flex;gap:.5rem}.form-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.required{color:#dc3545}.form-actions{display:flex;gap:1rem;margin-top:2rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.detail-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000000d}.detail-card h2{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.detail-item{display:flex;gap:1rem;margin-bottom:1.5rem}.detail-item .icon{font-size:1.5rem;color:var(--color-primary);flex-shrink:0}.detail-item label{display:block;font-size:.875rem;color:#6c757d;margin-bottom:.25rem}.detail-item p{margin:0;font-weight:500;color:#333}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.stat-item{text-align:center}.stat-item label{display:block;font-size:.875rem;color:#6c757d;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin:0}.text-danger{color:#dc3545!important}.recent-visits-list{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.75rem}.recent-visits-list li{display:flex;gap:1rem;align-items:center;padding:.75rem 1rem;background:#f8f9fb;border-radius:8px;font-size:.95rem}.recent-visits-list li span:first-child{min-width:160px;font-weight:600;color:#333}.recent-visits-list li .badge{margin-left:auto}.loading,.error-message{padding:1rem;text-align:center;border-radius:5px}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;margin-bottom:1rem}@media (max-width: 768px){.form-row,.detail-grid,.stats-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;align-items:flex-end}.filter-role{display:flex;flex-direction:column;gap:.5rem}.filter-role select{padding:.65rem .75rem;border:1px solid #ddd;border-radius:5px;min-width:180px}.user-name{display:flex;align-items:center;gap:.5rem}.badge-admin{background-color:#e3f2fd;color:#0d47a1}.badge-manager{background-color:#fff3cd;color:#856404}.us-page .ui-table th,.us-page .ui-table td{border-top:none}.us-page .ui-table td{padding:.7rem 1rem}.us-page .ui-table th{padding:.65rem 1rem}.us-person{display:flex;align-items:center;gap:.7rem;min-width:0}.us-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:.8rem;font-weight:700;background:var(--color-primary-soft);color:var(--color-primary)}.us-avatar--off{background:#e2e8f0;color:#64748b}.us-person-text{min-width:0}.us-filter{display:flex;flex-direction:column;gap:.3rem}.us-filter label{font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.us-skel-line{height:14px;border-radius:6px}.us-skel-row td{padding-top:.9rem;padding-bottom:.9rem}.us-note{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0 0;padding:.7rem .9rem;font-size:.86rem;color:#1e40af;background:var(--color-info-soft);border:1px solid #bfdbfe;border-radius:var(--radius-sm)}.us-note svg{flex:none;margin-top:.15rem}.us-toggle{display:flex;align-items:center;min-height:40px}.tc-page .ui-table th,.tc-page .ui-table td{border-top:none}.tc-page .ui-table td{padding:.7rem 1rem}.tc-page .ui-table th{padding:.65rem 1rem}.tc-person{display:flex;align-items:center;gap:.7rem;min-width:0}.tc-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:.8rem;font-weight:700;background:var(--color-primary-soft);color:var(--color-primary)}.tc-avatar--off{background:#e2e8f0;color:#64748b}.tc-person-text{min-width:0}.tc-filter{display:flex;flex-direction:column;gap:.3rem}.tc-filter label{font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.tc-skel-line{height:14px;border-radius:6px}.tc-skel-row td{padding-top:.9rem;padding-bottom:.9rem}.tc-note{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0 0;padding:.7rem .9rem;font-size:.86rem;color:#1e40af;background:var(--color-info-soft);border:1px solid #bfdbfe;border-radius:var(--radius-sm)}.tc-note svg{flex:none;margin-top:.15rem}.tc-toggle{display:flex;align-items:center;min-height:40px}.password-form .form-group{display:flex;flex-direction:column;margin-bottom:1.25rem}.password-form label{font-weight:600;margin-bottom:.35rem;color:#374151}.input-icon{display:flex;align-items:center;border:1px solid #d1d5db;border-radius:8px;padding:.35rem .75rem;background:#fff}.input-icon svg{color:#9ca3af;margin-right:.5rem}.input-icon input{border:none;flex:1;font-size:1rem;padding:.4rem 0}.input-icon input:focus{outline:none}.password-form .form-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.success-message{background:#ecfdf5;border:1px solid #34d399;color:#047857;padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem}.ac-wrap{max-width:520px;margin:0 auto}.ac-form{display:flex;flex-direction:column;gap:1rem}.ac-pass{position:relative}.ac-pass input{padding-right:2.9rem!important}.ac-eye{position:absolute;right:2px;top:2px;width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer}.ac-eye:hover{color:var(--color-primary)}.ac-eye:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ac-reqs{margin:0;padding:.75rem .9rem;list-style:none;display:flex;flex-direction:column;gap:.35rem;font-size:.84rem;background:#f8fafc;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ac-reqs-title{margin:0 0 .35rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.ac-req{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.ac-req svg{flex:none}.ac-req.is-ok{color:var(--color-success);font-weight:500}.ac-submit{align-self:flex-end}@media (max-width: 560px){.ac-submit{align-self:stretch}}.settings-page .page-header{margin-bottom:1.5rem}.settings-page .page-subtitle{color:#6b7280;margin-top:.25rem}.settings-card{background:#fff;padding:1.75rem;border-radius:12px;box-shadow:0 10px 30px #0f172a14;border-left:4px solid #6366f1;max-width:520px}.settings-card--disabled{opacity:.6;border-left-color:#d1d5db}.settings-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.settings-field label{font-weight:600;color:#111827}.settings-input{width:180px;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.95rem}.settings-field small{color:#6b7280;font-size:.85rem}.settings-meta{margin-top:.75rem;color:#4b5563;font-size:.85rem}.settings-message{margin-top:.75rem;color:#065f46;font-weight:500}.settings-error{margin-top:.75rem;color:#b91c1c;font-weight:500}@media (max-width: 768px){.settings-card{max-width:100%}}.se-toggle{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.se-toggle input{position:absolute;opacity:0;width:1px;height:1px}.se-switch{position:relative;flex:none;width:44px;height:24px;margin-top:2px;background:#cbd5e1;border-radius:999px;transition:background-color .2s}.se-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0f172a4d;transition:left .2s}.se-toggle input:checked+.se-switch{background:var(--color-primary)}.se-toggle input:checked+.se-switch:after{left:23px}.se-toggle input:focus-visible+.se-switch{box-shadow:var(--focus-ring)}.se-toggle-text strong{display:block;font-size:.93rem}.se-toggle-text span{display:block;margin-top:.2rem;font-size:.84rem;color:var(--color-text-muted)}.se-num{max-width:280px}.se-hint{margin:.1rem 0 0;font-size:.82rem;color:var(--color-text-muted);line-height:1.5}.se-range{font-size:.78rem;color:var(--color-text-muted);font-family:var(--font-mono)}.se-skel{height:170px;margin-bottom:1rem}.se-narrow{max-width:760px}.se-meta{font-size:.84rem;color:var(--color-text-muted)}.se-restricted{display:flex;align-items:center;gap:.75rem}.se-restricted svg{flex:none;color:var(--color-text-muted)}.visit-types-header{align-items:flex-start;gap:16px}.visit-types-header .page-subtitle{color:#6b7280;font-size:14px;margin-top:4px}.header-actions{display:flex;gap:12px}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.filters-bar input{flex:1;border:1px solid #d1d5db;border-radius:8px;padding:10px 14px;font-size:14px}.filters-helper{display:flex;align-items:center;gap:6px;color:#4b5563;font-size:14px}.visit-types-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0f172a0d}.visit-types-table th,.visit-types-table td{padding:16px;border-bottom:1px solid #f1f5f9;text-align:left;vertical-align:top}.visit-types-table th{background:#f8fafc;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.visit-types-table select{width:100%;padding:10px 12px;border:1px solid #cbd5f5;border-radius:8px;font-size:14px;background:#fff}.type-info{display:flex;align-items:flex-start;gap:12px}.color-badge{width:18px;height:18px;border-radius:4px;border:1px solid rgba(0,0,0,.08);margin-top:4px}.type-name{font-weight:600;color:#111827}.type-code{font-size:12px;color:#6b7280;margin-top:2px}.helper-text{font-size:12px;color:#6b7280;margin-top:6px}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.saving{background:#e0e7ff;color:#3730a3}@media (max-width: 900px){.filters-bar{flex-direction:column;align-items:flex-start}.filters-helper{font-size:13px}}.vt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.8rem 1rem;margin-bottom:1rem}.vt-toolbar .ui-search{flex:1 1 260px;min-width:0}.vt-toolbar .ui-search input{width:100%;min-height:40px;padding:.4rem .75rem .4rem 2.25rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm)}.vt-toolbar .ui-search input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.vt-helper{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted)}.vt-helper svg{color:var(--color-success)}.vt-type{display:flex;align-items:center;gap:.65rem}.vt-color{flex:none;width:12px;height:32px;border-radius:4px;background:var(--vt-color, #cbd5e1);border:1px solid rgba(15,23,42,.15)}.vt-type-name{font-weight:600}.vt-type-code{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted)}.vt-desc{max-width:300px;color:var(--color-text-muted)}.vt-select{min-width:220px}.vt-select-cell select{width:100%;min-height:40px;padding:.4rem .75rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm);cursor:pointer}.vt-select-cell select:hover:not(:disabled){border-color:#94a3b8}.vt-select-cell select:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.vt-select-cell select:disabled{background:#f1f5f9;cursor:not-allowed}.vt-select-cell{min-width:240px}.vt-skel{display:grid;gap:.6rem;padding:1rem}.vt-helper{margin-left:auto}.vt-select-wrap{display:flex;align-items:center;gap:.35rem}.vt-select-wrap select{flex:1;min-width:0}.vt-sort{display:inline-flex;align-items:center;gap:.25rem;padding:0;font:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm)}.vt-sort:hover{color:var(--color-text)}.vt-sort:focus-visible{outline:none;box-shadow:var(--focus-ring)}.vt-sort-icon{display:inline-flex;width:14px}@media (max-width: 720px){.vt-helper{margin-left:0;width:100%}}.segments-header{align-items:flex-start}.segments-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px}@media (max-width: 1100px){.segments-layout{grid-template-columns:1fr}}.segments-table-card,.segments-form-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0f172a0d}.segments-table-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.segments-table-header input{flex:1;border-radius:10px;border:1px solid #e5e7eb;padding:10px 14px}.segments-count{font-size:.9rem;color:#6b7280}.segments-table{width:100%;border-collapse:collapse}.segments-table th,.segments-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;text-align:left}.segments-table th{font-size:.85rem;color:#6b7280;letter-spacing:.04em}.segment-name{display:flex;align-items:center;gap:10px}.text-muted{color:#9ca3af;font-style:italic}.segments-form-card form{display:flex;flex-direction:column;gap:16px}.segments-form-card .form-row{display:flex;gap:16px}.segments-form-card .form-group{flex:1;display:flex;flex-direction:column;gap:6px}.segments-form-card input,.segments-form-card textarea,.segments-form-card select{border:1px solid #e5e7eb;border-radius:10px;padding:12px;font-size:1rem}.color-input{display:flex;gap:10px;align-items:center}.color-input input[type=color]{width:48px;height:48px;border:none;padding:0;border-radius:12px;background:transparent;cursor:pointer}.color-input input[type=text]{flex:1}.checkbox-group{display:flex}.checkbox-group label{display:inline-flex;align-items:center;gap:10px;font-weight:500;color:#1f2937}.btn-icon.btn-small{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer}.btn-icon.btn-small:hover{border-color:#2563eb;color:#2563eb}.form-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.segments-form-card .full-width{width:100%;justify-content:center}.form-hint{margin-top:12px;font-size:.9rem;color:#6b7280;display:flex;align-items:center;gap:6px}.sg-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 1rem;border-bottom:1px solid var(--color-border)}.sg-toolbar .ui-search{flex:1 1 240px;min-width:0}.sg-toolbar .ui-search input{width:100%;min-height:40px;padding:.4rem .75rem .4rem 2.25rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm)}.sg-toolbar .ui-search input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.sg-count{font-size:.85rem;color:var(--color-text-muted);margin-left:auto}.sg-skel{display:grid;gap:.6rem;padding:1rem}.sg-desc{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.sg-sort{display:inline-flex;align-items:center;gap:.25rem;padding:0;font:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm)}.sg-sort:hover{color:var(--color-text)}.sg-sort:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sg-sort-icon{display:inline-flex;width:14px}.ui-table th.num .sg-sort{justify-content:flex-end}.sg-switch{display:inline-flex;align-items:center;gap:.55rem;min-height:36px;padding:0;font:inherit;font-size:.82rem;font-weight:600;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-radius:999px}.sg-switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sg-switch-track{position:relative;width:36px;height:20px;border-radius:999px;background:#cbd5e1;transition:background-color .2s;flex-shrink:0}.sg-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a4d;transition:transform .2s}.sg-switch.is-on{color:#166534}.sg-switch.is-on .sg-switch-track{background:var(--color-success)}.sg-switch.is-on .sg-switch-thumb{transform:translate(16px)}.sg-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.sg-modal-head h2{margin:0;font-size:1.1rem;font-weight:700}.sg-form{display:grid;gap:1rem}.sg-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.sg-error{font-size:.8rem;font-weight:500;color:var(--color-danger)}.sg-counter{text-align:right;font-family:var(--font-mono)}.sg-form [aria-invalid=true]{border-color:var(--color-danger)}.sg-active{align-items:flex-start}.sg-active input{margin-top:.15rem}.sg-active-hint{display:block;font-weight:400;margin-top:.1rem}@media (max-width: 720px){.sg-count{margin-left:0;width:100%}}@media (max-width: 420px){.sg-two{grid-template-columns:1fr}}.outlet-types-page .page-subtitle{color:#6b7280;margin-top:.35rem}.outlet-types-header{align-items:flex-start}.outlet-types-page .header-actions{display:flex;gap:.75rem;align-items:center}.outlet-types-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px}@media (max-width: 1100px){.outlet-types-layout{grid-template-columns:1fr}}.outlet-types-table-card,.outlet-types-form-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #0f172a0d}.outlet-types-table-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.outlet-types-table-header input{flex:1;border-radius:10px;border:1px solid #e5e7eb;padding:10px 14px}.outlet-types-count{font-size:.9rem;color:#6b7280}.outlet-types-table-card table{width:100%;border-collapse:collapse}.outlet-types-table-card th,.outlet-types-table-card td{padding:12px 14px;border-bottom:1px solid #f1f5f9;text-align:left}.outlet-types-table-card th{font-size:.85rem;color:#6b7280;letter-spacing:.04em}.outlet-types-table-card code{background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;color:#4c1d95}.outlet-types-table-card tr.type-inactive{opacity:.6}.outlet-types-form-card form{display:flex;flex-direction:column;gap:16px}.outlet-types-form-card .form-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.outlet-types-form-card .form-group{display:flex;flex-direction:column;gap:6px}.outlet-types-form-card input{border:1px solid #e5e7eb;border-radius:10px;padding:12px;font-size:1rem}.outlet-types-form-card .checkbox-group{display:flex;align-items:center;gap:.75rem}.outlet-types-form-card .checkbox-group input{width:auto;margin:0}.outlet-types-form-card small{color:#6b7280}.outlet-types-form-card .form-actions{display:flex;justify-content:flex-end}.badge{padding:.25rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600}.badge-success{background-color:#d1fae5;color:#0f766e}.badge-secondary{background-color:#e5e7eb;color:#6b7280}.alert{padding:.9rem 1.2rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.alert-success{background:#ecfdf5;color:#047857}.alert-error{background:#fef2f2;color:#b91c1c}.outlet-types-page .btn-link{background:none;border:none;color:#6366f1;cursor:pointer;padding:0}.outlet-types-page .btn-link:hover{text-decoration:underline}.ot-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 1rem;border-bottom:1px solid var(--color-border)}.ot-toolbar .ui-search{flex:1 1 240px;min-width:0}.ot-toolbar .ui-search input{width:100%;min-height:40px;padding:.4rem .75rem .4rem 2.25rem;font:inherit;font-size:.9rem;color:var(--color-text);background:var(--color-surface);border:1px solid #cbd5e1;border-radius:var(--radius-sm)}.ot-toolbar .ui-search input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.ot-count{font-size:.85rem;color:var(--color-text-muted);margin-left:auto}.ot-skel{display:grid;gap:.6rem;padding:1rem}.ot-code{display:inline-block;padding:.1rem .5rem;font-family:var(--font-mono);font-size:.8rem;background:#f1f5f9;border-radius:var(--radius-sm)}.ot-name strong{font-weight:600}.ot-row--inactive .ot-name,.ot-row--inactive .ot-code,.ot-row--inactive td.num{opacity:.6}.ot-sort{display:inline-flex;align-items:center;gap:.25rem;padding:0;font:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm)}.ot-sort:hover{color:var(--color-text)}.ot-sort:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ot-sort-icon{display:inline-flex;width:14px}.ui-table th.num .ot-sort{justify-content:flex-end}.ot-switch{display:inline-flex;align-items:center;gap:.55rem;min-height:36px;padding:0;font:inherit;font-size:.82rem;font-weight:600;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-radius:999px}.ot-switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ot-switch-track{position:relative;width:36px;height:20px;border-radius:999px;background:#cbd5e1;transition:background-color .2s;flex-shrink:0}.ot-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a4d;transition:transform .2s}.ot-switch.is-on{color:#166534}.ot-switch.is-on .ot-switch-track{background:var(--color-success)}.ot-switch.is-on .ot-switch-thumb{transform:translate(16px)}.ot-switch:hover .ot-switch-track{filter:brightness(.95)}.ui-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ui-icon-btn:disabled:hover{background:transparent;color:var(--color-text-muted)}.ot-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.ot-modal-head h2{margin:0;font-size:1.1rem;font-weight:700}.ot-modal-note{margin-bottom:.75rem;font-weight:500;font-size:.86rem}.ot-form{display:grid;gap:1rem}.ot-upper{text-transform:uppercase;font-family:var(--font-mono)}.ot-error{font-size:.8rem;font-weight:500;color:var(--color-danger)}.ot-form input[aria-invalid=true]{border-color:var(--color-danger)}.ot-active{align-items:flex-start}.ot-active input{margin-top:.15rem}.ot-active-hint{display:block;font-weight:400;margin-top:.1rem}@media (max-width: 720px){.ot-count{margin-left:0;width:100%}}.cat-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.cat-tab{padding:.5rem 1rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-weight:600}.cat-tab[aria-selected=true]{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.cat-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;align-items:flex-end}.cat-filters .ui-field{margin:0;min-width:160px}.cat-seg-badges{display:flex;flex-wrap:wrap;gap:.25rem}.cat-muted{color:#6b7280}.cat-inactive td{opacity:.55}.cat-pager{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;padding:.75rem 1rem}.cat-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.cat-assort-list{max-height:55vh;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem}.cat-assort-cat{font-weight:700;margin:.75rem 0 .25rem}.cat-assort-item{display:flex;gap:.5rem;align-items:center;padding:.2rem 0}.cat-preview dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.cat-preview dt{color:#6b7280}.cat-issues{max-height:160px;overflow:auto;font-size:.85rem}.sv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem}.sv-kpi{background:#fff;border-radius:12px;padding:.9rem 1rem;border:1px solid #e5e7eb}.sv-kpi strong{display:block;font-size:1.6rem}.sv-kpi span{color:#6b7280;font-size:.85rem}.sv-bar{height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden;margin:0 0 1rem}.sv-bar>i{display:block;height:100%;background:#16a34a}.sv-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.sv-filters .ui-field{margin:0;min-width:150px}.sv-map{height:360px;border-radius:12px;overflow:hidden;margin-bottom:1rem}.sv-thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f3f4f6}.sv-legend{display:flex;gap:1rem;font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.sv-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}.sv-history li{margin-bottom:.9rem;list-style:none;border-bottom:1px solid #e5e7eb;padding-bottom:.7rem}.sv-history img{max-width:100%;max-height:220px;border-radius:8px;display:block;margin-top:.4rem}.sv-muted{color:#6b7280}#root{min-height:100vh}.btn-compact{padding:.55rem 1.1rem!important;font-size:.95rem!important;border-radius:6px}
