@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Sora:wght@400;500;600;700&display=swap");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.top-0{top:0}.top-1\.5{top:.375rem}.top-full{top:100%}.z-50{z-index:50}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[38px\]{height:38px}.h-\[62px\]{height:62px}.h-screen{height:100vh}.min-h-11{min-height:2.75rem}.w-1{width:.25rem}.w-10{width:2.5rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[120px\]{width:120px}.w-\[13px\]{width:13px}.w-\[272px\]{width:272px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[160px\]{min-width:160px}.min-w-\[190px\]{min-width:190px}.max-w-\[260px\]{max-width:260px}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-y-0\.5{row-gap:.125rem}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.bg-\[\#256f7d\]{--tw-bg-opacity:1;background-color:rgb(37 111 125/var(--tw-bg-opacity,1))}.bg-\[\#d95675\]{--tw-bg-opacity:1;background-color:rgb(217 86 117/var(--tw-bg-opacity,1))}.bg-\[\#e6f3f5\]{--tw-bg-opacity:1;background-color:rgb(230 243 245/var(--tw-bg-opacity,1))}.bg-\[\#e6fbf8\]{--tw-bg-opacity:1;background-color:rgb(230 251 248/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pr-2\.5{padding-right:.625rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-\[0\.67rem\]{font-size:.67rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.88rem\]{font-size:.88rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.text-\[\#123f48\]{--tw-text-opacity:1;color:rgb(18 63 72/var(--tw-text-opacity,1))}.text-\[\#256f7d\]{--tw-text-opacity:1;color:rgb(37 111 125/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.shadow-\[inset_0_0_0_1px_rgba\(37\2c 111\2c 125\2c 0\.18\)\]{--tw-shadow:inset 0 0 0 1px rgba(37,111,125,.18);--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)}.shadow-\[inset_0_0_0_1px_rgba\(37\2c 111\2c 125\2c 0\.18\)\],.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-\[\#256f7d\]{--tw-ring-opacity:1;--tw-ring-color:rgb(37 111 125/var(--tw-ring-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}:root{--ink:#0f172a;--muted:#475569;--accent:#d95675;--accent-strong:#c84f70;--accent-2:#256f7d;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--border-strong:#cbd5e1;--shadow:0 18px 45px rgba(15,23,42,.08);--shadow-soft:0 10px 24px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif;color:var(--ink);line-height:1.5;background:radial-gradient(1200px 500px at 90% -10%,rgba(255,107,74,.22),transparent 60%),radial-gradient(900px 520px at -10% 20%,rgba(15,118,110,.18),transparent 60%),linear-gradient(180deg,#f8fafc,#eef2f7)}body.page-login{background:radial-gradient(900px 500px at 80% -20%,rgba(15,118,110,.22),transparent 60%),radial-gradient(700px 350px at 0 20%,rgba(255,107,74,.2),transparent 60%),linear-gradient(180deg,#f6f7fb,#edf2f7)}body.page-admin{background:radial-gradient(700px 420px at 90% 0,rgba(255,107,74,.18),transparent 60%),radial-gradient(900px 480px at -10% 30%,rgba(15,118,110,.16),transparent 60%),linear-gradient(180deg,#f7fafc,#eef2f7)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-family:Sora,sans-serif;letter-spacing:0}p{margin:0}button,input,select{font-family:inherit}input,select{width:100%;padding:.7rem .85rem;border-radius:6px;border:1px solid var(--border-strong);background:#fff;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus{border-color:var(--accent-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.2rem;border-radius:6px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#1b140f;box-shadow:0 10px 18px rgba(255,107,74,.28)}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:var(--ink);color:#fff}.btn-ghost{background:var(--surface-2);color:var(--ink);border-color:var(--border)}.btn-ghost:hover{background:#fff}.btn-outline{background:transparent;border-color:var(--border-strong);color:var(--ink)}.btn-outline:hover{background:var(--surface-2)}.btn.is-active,.btn[aria-pressed=true]{background:#e6fbf8;border-color:#a7ebe0;color:#0b4d46}.btn-danger{background:#ffe7e5;color:#9a2210;border-color:#f5c1b8}.chip{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:6px;background:#e6fbf8;color:var(--accent-2);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.muted{color:var(--muted);font-size:.95rem}.page-app{height:100vh;height:100dvh;overflow:hidden;background:#f2f3f6}.app{height:100%;min-height:0;display:grid;grid-template-columns:var(--app-sidebar-width,256px) minmax(0,1fr);margin:0;padding:0;animation:fadeIn .4s ease both}.workspace{min-width:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;margin:0;background:#fff;border-bottom:1px solid #dde2ea}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.topbar-left{margin-left:-12px}.topbar-link{border:0;background:transparent;color:#747d8b;padding:7px 14px;cursor:pointer;font-size:.9rem}.topbar-link+.topbar-link{border-left:1px solid #dde2ea}.topbar-link:hover{color:#c84f70}.action-with-help{display:inline-flex;align-items:center;gap:6px;min-width:0}.action-with-help .settings-info-tooltip{flex:0 0 auto}.topbar-import-progress-shell{position:relative}.topbar-import-progress{width:174px;padding:6px 9px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#174e7a;cursor:default;display:block;font-family:inherit;font-size:.72rem;font-weight:800;text-align:left}.topbar-import-progress-row{display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.1}.topbar-import-progress-track{height:4px;margin-top:5px;overflow:hidden;border-radius:999px;background:#dbeafe}.topbar-import-progress-track span{display:block;height:100%;border-radius:inherit;background:#256f7d;transition:width .18s ease}.topbar-import-progress.is-complete{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.topbar-import-progress.is-error{border-color:#fecaca;background:#fef2f2;color:#b91c1c;cursor:pointer}.topbar-import-progress.is-error:hover{border-color:#f87171;background:#fee2e2}.topbar-import-progress.is-error:focus-visible{outline:2px solid rgba(185,28,28,.28);outline-offset:2px}.topbar-import-error-popover{position:absolute;left:0;top:calc(100% + 8px);z-index:80;width:min(380px,calc(100vw - 48px));padding:12px;border:1px solid #fecaca;border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);color:#334155;font-size:.82rem}.topbar-import-error-title{margin-bottom:6px;color:#991b1b;font-weight:800}.topbar-import-error-message{max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.45}.topbar-import-error-close{margin-top:10px;padding:5px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;cursor:pointer;font-size:.78rem;font-weight:700}.topbar-import-error-close:hover{border-color:#94a3b8;color:#0f172a}.user-chip{color:#747d8b;font-size:.9rem}.icon-btn{width:38px;height:36px;border-radius:6px;border:1px solid #b7c0cc;background:#fff;color:#6d7785;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;line-height:1}.icon-btn:hover{background:#f7f8fb;color:#c84f70}.content{padding:18px 24px 32px;flex:1;min-height:0;overflow:auto}.content-dashboard{padding-bottom:0;overflow:hidden;display:flex;flex-direction:column}.auto-routes-view,.clients-view,.dashboard-view,.google-calendar-view,.placeholder-view,.practitioners-view,.scheduler-view,.settings-view{display:none}.auto-routes-view.is-active,.clients-view.is-active,.dashboard-view.is-active,.google-calendar-view.is-active,.placeholder-view.is-active,.practitioners-view.is-active,.scheduler-view.is-active,.settings-view.is-active{display:block}.dashboard-view.is-active{flex:1;min-height:0;display:flex;flex-direction:column}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title-row h1{font-size:1.45rem;color:#242b36}.appointment-toolbar{margin-bottom:18px;padding:10px 16px}.toolbar-row{gap:12px;flex-wrap:wrap}.toolbar-group,.toolbar-row{display:flex;align-items:center}.toolbar-group{gap:8px;min-width:0}.toolbar-group-date{flex:1 1 auto;gap:10px}.toolbar-group-practitioner{flex:0 1 260px}.toolbar-group-sync{flex:0 0 auto;gap:10px;margin-left:auto}.toolbar-divider{width:1px;height:32px;background:var(--border);flex-shrink:0}.date-nav-group{display:flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:7px;overflow:hidden;background:#fff}.date-nav-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-right:1px solid var(--border);color:var(--ink);cursor:pointer;padding:0 11px;height:36px;font-size:.82rem;font-weight:700;font-family:inherit;transition:background .15s ease,color .15s ease;white-space:nowrap}.date-nav-btn:last-child{border-right:none}.date-nav-btn:hover{background:var(--surface-2);color:var(--accent-strong)}.date-nav-btn:active{background:#f1f5f9}.toolbar-date-field{width:160px;height:36px;padding:0 .7rem;font-size:.85rem;font-weight:600;color:var(--ink);border:1px solid var(--border-strong);border-radius:7px;background:#fff;transition:border-color .2s,box-shadow .2s;cursor:pointer}.toolbar-date-field:hover{border-color:#a0aec0}.toolbar-date-field:focus{outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 3px rgba(200,79,112,.12)}.toolbar-date-field::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer;filter:invert(40%) sepia(10%) saturate(400%) hue-rotate(180deg)}.toolbar-date-field::-webkit-calendar-picker-indicator:hover{opacity:.75}.toolbar-input-group{display:inline-flex;align-items:center;height:38px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;transition:border-color .2s,box-shadow .2s}.toolbar-input-group:hover{border-color:#a0aec0}.toolbar-input-group:focus-within{border-color:var(--accent-strong);box-shadow:0 0 0 3px rgba(200,79,112,.12)}.toolbar-input-icon{display:flex;align-items:center;padding:0 6px 0 10px;color:#94a3b8;flex-shrink:0;pointer-events:none}.toolbar-input-field{border:none;border-radius:0;background:transparent;padding:0 .65rem 0 4px;font-size:.85rem;font-weight:600;color:var(--ink);height:100%;min-width:0}.toolbar-input-field,.toolbar-input-field:focus{box-shadow:none;outline:none}.toolbar-input-group--select{min-width:190px;max-width:260px;width:100%}.toolbar-select-field{flex:1;padding-right:.5rem;cursor:pointer;line-height:normal}.sync-appointments-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:7px;border:none;background:var(--accent);color:#fff;font-size:.83rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:.01em;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;box-shadow:0 2px 8px rgba(217,86,117,.28);white-space:nowrap}.sync-appointments-btn:hover{background:var(--accent-strong);box-shadow:0 4px 12px rgba(217,86,117,.35)}.sync-appointments-btn:active{transform:translateY(1px);box-shadow:none}.appointment-status-row{display:flex;justify-content:flex-end;height:0;margin:-10px 0 0;pointer-events:none;position:relative;z-index:2}.appointment-status-row .toolbar-status-chip{pointer-events:auto;padding:.65rem .45rem;border-radius:6px;font-size:.76rem}.toolbar-status-chip{display:inline-flex;align-items:center;gap:5px;padding:.3rem .7rem;border-radius:6px;background:#e6fbf8;color:var(--accent-2);font-size:.76rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;border:1px solid #c3f0e8;transition:background .2s,color .2s,border-color .2s}.toolbar-status-chip.is-error{background:#fff0ee;color:#9a2210;border-color:#f5c1b8}.toolbar-status-chip.is-loading{background:#f8fafc;color:#64748b;border-color:var(--border)}.toolbar-settings--single{grid-template-columns:minmax(180px,230px)}.toolbar-settings{display:grid;grid-template-columns:minmax(150px,190px) minmax(190px,240px) minmax(180px,230px);gap:14px;margin-bottom:12px}.route-options-label{font-size:.76rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:980px}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:var(--shadow-soft)}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.settings-section-header h2{font-size:1rem;color:#242b36}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;cursor:default}.settings-toggle-row strong{display:block;color:#242b36;font-size:.95rem}.settings-toggle-row span{display:block;color:var(--muted);font-size:.84rem;margin-top:3px}.action-export-toggle input,.export-modal-toggle input,.settings-toggle-row input{width:42px;height:22px;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:1px solid #b7c0cc;border-radius:999px;background:#e8edf3;box-shadow:none;cursor:pointer;position:relative;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.action-export-toggle input:before,.export-modal-toggle input:before,.settings-toggle-row input:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .16s ease}.action-export-toggle input:checked,.export-modal-toggle input:checked,.settings-toggle-row input:checked{border-color:var(--accent-2);background:var(--accent-2)}.action-export-toggle input:checked:before,.export-modal-toggle input:checked:before,.settings-toggle-row input:checked:before{transform:translateX(20px)}.action-export-toggle input:focus,.export-modal-toggle input:focus,.settings-toggle-row input:focus{border-color:var(--accent-2);box-shadow:none}.action-export-toggle input:focus-visible,.export-modal-toggle input:focus-visible,.settings-toggle-row input:focus-visible{box-shadow:0 0 0 3px rgba(37,111,125,.18)}.action-export-toggle,.export-modal-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px}.action-export-switch{margin-left:auto;display:inline-flex;align-items:center;flex:0 0 auto}.action-export-toggle input,.export-modal-toggle input{margin-left:0}.action-export-toggle-label{color:var(--ink);font-size:.82rem;font-weight:650;line-height:1.25}.settings-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.settings-fields-grid .settings-field,.settings-fields-grid label{display:grid;gap:6px}.settings-fields-grid .settings-label-with-help>label,.settings-fields-grid span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-fields-grid .settings-label-with-help{display:inline-flex;align-items:center;gap:6px}.settings-fields-grid .settings-label-with-help .settings-info-tooltip{flex-shrink:0}.settings-fields-grid .settings-label-with-help .settings-info-tooltip span{letter-spacing:0;text-transform:none}.route-planning-fields-grid{align-items:stretch;grid-template-columns:minmax(190px,.7fr) repeat(2,minmax(0,1fr))}.route-planning-fields-grid .route-preference-limit-field{grid-column:1;grid-row:1}.route-planning-fields-grid .route-break-default-field{grid-column:1;grid-row:2}.route-planning-fields-grid .settings-time-window-field{grid-column:2/-1;grid-row:1/span 2}.route-planning-location-grid,.settings-compact-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-compact-toggle-grid{display:grid;gap:12px;margin-top:16px}.settings-compact-toggle-grid .settings-toggle-row{border:1px solid var(--border);border-radius:8px;padding:12px}.settings-feature-group{display:grid;gap:14px;margin-top:18px;border:1px solid var(--border);border-radius:8px;background:#f8fafc;padding:14px}.settings-feature-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-feature-group-header strong{display:block;color:#242b36;font-size:.95rem}.settings-feature-group-header span{display:block;margin-top:3px;color:var(--muted);font-size:.84rem}.settings-feature-group .settings-toggle-row{padding-top:0}.settings-feature-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.scheduling-interval-grid{grid-template-columns:minmax(180px,240px)}.schedule-accordion{display:grid;gap:10px;margin-top:16px}.schedule-accordion-item{position:relative;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:visible}.schedule-accordion-item:focus-within,.schedule-accordion-item:hover{z-index:3}.schedule-accordion-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:58px;border:0;background:#fff;padding:12px 14px;text-align:left;cursor:pointer}.schedule-accordion-trigger:hover{background:#f8fafc}.schedule-accordion-item.is-open .schedule-accordion-trigger{background:rgba(37,111,125,.08)}.schedule-step-title{display:grid;gap:2px;min-width:0}.schedule-step-title strong{color:#242b36;font-size:.95rem}.schedule-step-title span{color:var(--muted);font-size:.82rem}.schedule-step-status{min-width:42px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#64748b;padding:3px 8px;font-size:.7rem;font-weight:800;text-align:center;text-transform:uppercase}.schedule-step-status.is-on{border-color:rgba(37,111,125,.3);background:rgba(37,111,125,.1);color:#0b4d46}.schedule-step-caret{color:var(--muted);font-size:.8rem;font-weight:900;transition:transform .14s ease}.schedule-accordion-item.is-open .schedule-step-caret{transform:rotate(180deg)}.schedule-accordion-body{display:grid;gap:14px;border-top:1px solid var(--border);padding:14px}.schedule-accordion-body .settings-toggle-row{padding-top:0}.relative-range-builder{display:grid;gap:10px;margin-top:12px}.relative-range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.relative-range-endpoint{display:grid;gap:6px}.relative-range-endpoint>span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.relative-range-controls{display:grid;grid-template-columns:minmax(68px,.5fr) minmax(170px,1fr) auto minmax(116px,.65fr);align-items:center;gap:8px}.relative-range-controls input,.relative-range-controls select{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--ink);font-size:.9rem;font-weight:700;padding:.55rem .65rem}.relative-range-controls input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.relative-range-controls>span{color:var(--muted);font-size:.82rem;font-weight:800}.relative-range-preview{display:grid;gap:3px;border:1px solid #dbe5ef;border-radius:8px;background:#f8fafc;color:#334155;padding:10px 12px}.relative-range-preview strong{color:#242b36;font-size:.84rem}.relative-range-preview em,.relative-range-preview span{color:var(--muted);font-size:.82rem;line-height:1.35}.relative-range-preview em{font-style:normal}.relative-range-preview b{color:#172033;font-weight:850}.settings-fields-grid input,.settings-fields-grid select{width:100%;border:1px solid var(--border);border-radius:7px;background:#fff;padding:.55rem .65rem;color:var(--ink);font-size:.9rem;font-weight:700}.settings-input-with-unit{position:relative}.settings-input-with-unit input{padding-right:5.75rem}.settings-input-with-unit span{position:absolute;right:2.35rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.9rem;font-weight:700;letter-spacing:0;pointer-events:none;text-transform:none}.settings-duration-input{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-duration-input label{position:relative;display:block}.settings-duration-input input{padding-right:6.35rem}.settings-duration-input span{position:absolute;right:2.15rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:0;pointer-events:none;text-transform:none}.settings-fields-grid input:disabled,.settings-fields-grid select:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.settings-general-fields-grid{margin-top:16px;max-width:520px}.timezone-settings-control{max-width:760px;margin-top:16px}.settings-general-timezone{margin-top:0}.settings-general-toggle{padding-top:0}.timezone-filter-grid{grid-template-columns:minmax(180px,220px) minmax(260px,1fr);margin-top:0}.timezone-combobox{position:relative;z-index:8}.timezone-option-offset{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:.72rem;font-style:normal;font-weight:800;line-height:1.1;padding:3px 7px;white-space:nowrap}.timezone-dropdown{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:80;display:grid;max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 18px 36px rgba(15,23,42,.16)}.timezone-option{display:grid;grid-template-areas:"main offset" "id offset";grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;text-align:left;cursor:pointer}.timezone-option:last-child{border-bottom:0}.timezone-option:focus-visible,.timezone-option:hover{background:#f8fafc}.timezone-option.is-selected{background:#e6f3f5;box-shadow:inset 3px 0 0 var(--accent-2)}.timezone-option-main{grid-area:main;min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:.9rem;font-weight:800}.timezone-option-id{grid-area:id;min-width:0;overflow-wrap:anywhere;color:#64748b;font-size:.78rem;font-weight:700}.timezone-option-offset{grid-area:offset;justify-self:end}.timezone-empty{padding:12px;color:var(--muted);font-size:.86rem;font-weight:700}.timezone-dropdown-more{padding:9px 12px;border-top:1px solid #e2e8f0;background:#f8fafc;color:var(--muted);font-size:.78rem;font-weight:700}.settings-inline-note{margin-top:8px}.settings-actions-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.settings-actions-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px}.settings-scale-row{display:grid;grid-template-columns:minmax(130px,max-content) minmax(220px,1fr) auto;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.settings-scale-row--first{margin-top:0;padding-top:0;border-top:0}.settings-general-divider{height:1px;margin:16px 0;background:var(--border)}.settings-scale-heading{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#242b36;font-size:.9rem;font-weight:800}.settings-info-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:#fff;color:#64748b;font-size:.68rem;font-weight:900;line-height:1;cursor:help}.settings-info-tooltip span{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:2000;width:-moz-max-content;width:max-content;max-width:240px;transform:translateX(-50%) translateY(4px);padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft);font-size:.76rem;font-weight:700;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.settings-info-tooltip:focus-visible span,.settings-info-tooltip:hover span{opacity:1;transform:translateX(-50%) translateY(0)}.action-modal,.action-modal-actions,.auto-route-confirm-actions,.auto-route-confirm-modal,.export-modal,.export-modal-actions{overflow:visible}.action-modal-actions .settings-info-tooltip span,.auto-route-confirm-actions .settings-info-tooltip span,.export-modal-actions .settings-info-tooltip span{left:auto;right:0;max-width:min(280px,calc(100vw - 40px));transform:translateY(4px)}.action-modal-actions .settings-info-tooltip:focus-visible span,.action-modal-actions .settings-info-tooltip:hover span,.auto-route-confirm-actions .settings-info-tooltip:focus-visible span,.auto-route-confirm-actions .settings-info-tooltip:hover span,.export-modal-actions .settings-info-tooltip:focus-visible span,.export-modal-actions .settings-info-tooltip:hover span{transform:translateY(0)}.settings-scale-control{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:10px;min-width:0}.content .settings-scale-slider,.settings-scale-slider{width:100%;min-width:0;height:24px;padding:0;border:0;border-radius:0;background:transparent;accent-color:var(--accent-2);font-size:inherit;cursor:pointer}.content .settings-scale-slider:focus,.settings-scale-slider:focus{border-color:transparent;box-shadow:none}.content .settings-scale-slider:focus-visible,.settings-scale-slider:focus-visible{outline:3px solid rgba(37,111,125,.18);outline-offset:2px}.settings-scale-default,.settings-scale-value{display:inline-flex;align-items:center;justify-content:center;min-height:28px;white-space:nowrap;border-radius:999px;font-size:.78rem;font-weight:800}.settings-scale-value{min-width:54px;padding:0 10px;border:1px solid var(--border);background:#fff;color:var(--ink)}.settings-scale-default{padding:0 9px;border:1px solid #dbe4ec;background:#f8fafc;color:#64748b}.settings-scale-actions{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.settings-scale-status{grid-column:2/-1;margin-top:-4px}.settings-status{color:var(--muted);font-size:.84rem}.settings-status.is-success{color:#047857}.settings-reference-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.settings-reference-row strong{display:block;color:#242b36;font-size:.95rem}.settings-reference-row span{display:block;color:var(--muted);font-size:.84rem;margin-top:3px}.settings-modal-backdrop{position:fixed;inset:0;z-index:1002;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.36)}.settings-modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px;animation:modal-in .15s ease}.settings-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.settings-modal-header h2{color:var(--ink);font-size:1rem}.settings-modal-header p{margin-top:4px;color:var(--muted);font-size:.86rem}.settings-modal-close{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1}.settings-modal-close:hover{color:var(--ink);border-color:var(--border-strong)}.settings-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.settings-modal-actions>div{display:flex;align-items:center;justify-content:flex-end;gap:10px}.delete-imported-action-modal{width:min(720px,calc(100vw - 24px))}.delete-imported-warning-panel{border-color:#fecaca;background:#fff7f7}.delete-imported-panel-note{margin:0;color:#9f1239;font-size:.8rem;font-weight:600;line-height:1.4}.delete-imported-date-head{align-items:flex-start}.delete-imported-mode{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}.delete-imported-onward{display:inline-flex;align-items:center;margin-left:10px;color:var(--muted);font-size:.8rem;font-weight:650}.delete-imported-confirm{display:grid;gap:6px}.delete-imported-confirm span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.delete-imported-confirm input{width:100%;border:1px solid var(--border);border-radius:7px;background:#fff;padding:.55rem .65rem;color:var(--ink);font-size:.9rem;font-weight:700}.delete-imported-confirm input:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.export-rule-modal{width:min(760px,calc(100vw - 36px))}.export-rule-modal-body{display:grid;gap:14px;padding-top:14px}.export-rule-modal-fields{margin-top:0}.export-rule-modal-active,.export-rule-modal-services{border:1px solid var(--border);border-radius:8px;padding:12px}.export-rule-modal-services{display:grid;gap:10px;background:#fff}.export-rule-modal-services-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.export-rule-modal-services-head span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.export-rule-modal-services-head strong{display:block;margin-top:3px;color:var(--ink);font-size:.92rem}.export-rule-modal-service-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.export-rule-modal-search{max-width:none}.export-rule-modal-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding-right:2px}.export-rule-modal-service-list label{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);padding:8px}.export-rule-modal-service-list input{width:16px;height:16px;flex:0 0 auto}.export-rule-modal-service-list span{min-width:0;overflow:hidden;color:var(--ink);font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.action-modal-backdrop{position:fixed;inset:0;z-index:1004;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,23,42,.38)}.action-modal{width:min(720px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:0;animation:modal-in .15s ease}.action-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 18px 12px;border-bottom:1px solid var(--border)}.action-modal-eyebrow{display:block;margin-bottom:3px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.action-modal-header h2{color:var(--ink);font-size:1rem;font-weight:700;line-height:1.2}.action-modal-header p{margin-top:4px;color:var(--muted);font-size:.78rem;line-height:1.4}.action-modal-close{width:32px;height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer;font-size:.9rem;font-weight:700;line-height:1}.action-modal-close:hover{color:var(--ink);border-color:var(--border-strong)}.action-modal-close:disabled{cursor:not-allowed;opacity:.55}.action-modal-body{display:grid;gap:8px;overflow:auto;padding:10px 18px}.action-modal-panel{display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}.schedule-run-modal{width:min(680px,calc(100vw - 24px))}.schedule-run-panel{gap:10px}.schedule-run-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-run-panel-head strong{color:var(--ink);font-size:.84rem;font-weight:750}.schedule-run-panel-head span{color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.schedule-run-status-list,.schedule-run-toggle-list{display:grid;gap:8px}.schedule-run-current{display:grid;gap:4px;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;padding:10px 12px}.schedule-run-current span{color:#2563eb;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.schedule-run-current strong{color:#1e3a8a;font-size:.86rem;font-weight:750;line-height:1.35}.schedule-run-current:not(.is-active){border-color:var(--border);background:var(--surface-2)}.schedule-run-current:not(.is-active) span,.schedule-run-current:not(.is-active) strong{color:var(--muted)}.schedule-run-status-row,.schedule-run-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:10px 12px}.schedule-run-status-row>div,.schedule-run-toggle>span{min-width:0;display:grid;gap:3px}.schedule-run-status-row strong,.schedule-run-toggle strong{color:var(--ink);font-size:.84rem;font-weight:750;line-height:1.2}.schedule-run-status-row span,.schedule-run-toggle em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:600;line-height:1.35}.schedule-run-toggle input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.schedule-run-badge{min-width:76px;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);padding:5px 9px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase}.schedule-run-badge.is-ready,.schedule-run-badge.is-running,.schedule-run-badge.is-waiting{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.schedule-run-badge.is-done{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.schedule-run-badge.is-failed{border-color:#fecaca;background:#fff1f2;color:#be123c}.schedule-run-badge.is-off,.schedule-run-badge.is-skipped{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.action-date-head,.action-scope-group-header,.action-scope-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.action-date-head>div>span,.action-scope-group-header span,.action-scope-toolbar span{color:var(--muted);font-size:.68rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.action-date-head strong,.action-scope-group-header strong,.action-scope-toolbar strong{display:block;margin-top:3px;color:var(--ink);font-size:.8rem;font-weight:650;line-height:1.3}.action-date-head .action-date-range{display:flex;align-items:center;flex-wrap:wrap;-moz-column-gap:0;column-gap:0}.action-date-range-arrow,.action-date-range-part{display:inline-flex;align-items:center}.action-date-range-arrow{margin:0 16px;color:var(--muted);font-size:.98rem;font-weight:700;line-height:1;transform:translateY(-.5px)}.action-modal .btn-small{min-height:30px;padding:.34rem .65rem;font-size:.78rem;font-weight:650}.action-range-calendar{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);overflow:hidden}.action-calendar-head{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);background:#fff}.action-calendar-nav{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:650;line-height:1}.action-calendar-nav:hover{border-color:var(--border-strong);color:var(--ink)}.action-calendar-title{color:var(--ink);font-size:.9rem;font-weight:650;text-align:center}.action-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.action-calendar-weekdays{padding:5px 8px 3px}.action-calendar-weekdays span{color:var(--muted);font-size:.66rem;font-weight:650;text-align:center}.action-calendar-day{position:relative;height:27px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:.76rem;font-weight:600;line-height:1}.action-calendar-day:hover{background:#eaf2ff}.action-calendar-day.is-muted{color:#a7b1bf}.action-calendar-day.is-in-range{background:#e8f1ff;color:var(--ink)}.action-calendar-day.is-end,.action-calendar-day.is-start{background:#2f80ed;color:#fff;font-weight:650}.action-calendar-day.is-start{border-radius:999px 0 0 999px}.action-calendar-day.is-end{border-radius:0 999px 999px 0}.action-calendar-day.is-pending,.action-calendar-day.is-start.is-end{border-radius:999px}.action-calendar-day.is-today:not(.is-start):not(.is-end){box-shadow:inset 0 0 0 1px #94a3b8;border-radius:999px}.action-scope-toolbar{padding:0}.action-scope-list{display:grid;gap:6px}.action-scope-list.is-locked{grid-template-columns:repeat(3,minmax(0,1fr))}.action-scope-list.is-locked .action-scope-group-header{align-items:flex-start}.action-scope-list.is-locked .action-scope-group-header strong{display:-webkit-box;min-height:2.6em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.action-scope-group{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:8px}.action-scope-title{min-width:0}.action-scope-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.action-scope-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;max-height:132px;overflow:auto;padding-right:2px}.action-scope-option{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;border:1px solid var(--border);border-radius:7px;background:#fff;padding:6px 8px;color:var(--ink);font-size:.76rem;font-weight:600;line-height:1.25}.action-scope-option input{width:15px;height:15px;flex:0 0 15px;margin:0}.action-scope-option span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-scope-empty{grid-column:1/-1;color:var(--muted);font-size:.76rem;font-weight:600}.action-modal-status{min-height:18px;margin:0;color:var(--ink);font-size:.78rem;font-weight:600}.action-modal-status.is-error{color:#b91c1c}.action-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:10px 18px 14px;border-top:1px solid var(--border)}@media (max-width:640px){.action-modal-backdrop{align-items:stretch;padding:10px}.action-modal{width:100%;max-height:calc(100vh - 20px)}.action-modal-actions,.action-modal-body,.action-modal-header{padding-left:12px;padding-right:12px}.action-date-head,.action-scope-group-header,.action-scope-toolbar{align-items:flex-start;flex-direction:column}.action-scope-list.is-locked,.action-scope-options{grid-template-columns:1fr}.action-modal-actions{flex-direction:column-reverse}.action-modal-actions .btn{width:100%}}.settings-alias-list{display:grid;gap:10px;margin-top:16px}.settings-alias-row{display:grid;grid-template-columns:minmax(160px,.72fr) minmax(0,1.28fr);gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:12px}.settings-alias-row strong{color:var(--ink);font-size:.9rem}.settings-alias-row div{display:flex;flex-wrap:wrap;gap:6px}.settings-alias-row span{border:1px solid #d6e2ea;border-radius:999px;background:#fff;color:#475569;font-size:.8rem;font-weight:700;padding:4px 9px}@media (max-width:640px){.settings-reference-row{align-items:stretch;flex-direction:column}.settings-alias-row{grid-template-columns:1fr}}.export-settings-group{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.export-settings-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.export-settings-group-header strong{color:#242b36;font-size:.95rem}.export-settings-group-header span{color:var(--muted);font-size:.8rem;font-weight:700}.export-rule-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:12px}.export-rules-list{display:grid;gap:10px}.export-rules-empty{border:1px dashed var(--border);border-radius:7px;color:var(--muted);font-size:.85rem;font-weight:700;padding:12px}.export-rule-summary-list{display:grid;gap:10px}.export-rule-summary-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:54px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}.export-rule-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border:1px solid #b7c0cc;border-radius:999px;color:#64748b;font-size:.72rem;font-weight:850;line-height:1;padding:5px 9px}.export-rule-status-pill.is-active{border-color:#9edbd2;background:#e6fbf8;color:#0b4d46}.export-rule-status-pill.is-inactive{background:#f8fafc}.export-rule-summary-main{display:flex;align-items:baseline;gap:8px;min-width:0}.export-rule-summary-main strong{flex:0 1 max-content;min-width:0;overflow:hidden;color:var(--ink);font-size:.9rem;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.export-rule-summary-separator{flex:0 0 auto;color:#94a3b8;font-size:.78rem;font-weight:800;line-height:1.25}.export-rule-summary-meta{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.export-rule-minutes{border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:.78rem;font-weight:850;padding:5px 9px;white-space:nowrap}.export-rule-grid-live{align-items:end;grid-template-columns:minmax(82px,.45fr) minmax(240px,1.5fr) minmax(120px,.75fr) auto}.export-rule-grid-live-max{grid-template-columns:minmax(82px,.45fr) minmax(240px,1.35fr) minmax(120px,.65fr) minmax(170px,.85fr) auto}.export-rule-field,.export-rule-grid label{display:grid;gap:6px}.export-rule-grid span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.export-rule-service-picker{display:grid;gap:8px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:.55rem .65rem}.export-rule-service-picker strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.86rem;font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.export-rule-service-options{display:grid;gap:6px;max-height:132px;overflow:auto;padding-right:2px}.export-rule-service-options label{display:flex;align-items:center;gap:8px}.export-rule-grid-live .export-rule-service-options input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;padding:0;border-radius:4px}.export-rule-service-options span{min-width:0;overflow:hidden;color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:0;line-height:1.25;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.google-calendar-settings{display:grid;gap:22px}.google-calendar-title-row{margin-bottom:0}.calendar-sync-interval{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:5px}.settings-toggle-row .calendar-sync-interval span{margin-top:0}.calendar-privacy-warning{border-color:#f0c36a;background:#fff8e1}.calendar-instance-warning{margin-top:14px}.calendar-instance-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px;align-items:start;border-top:1px solid #e2e8f0;padding-top:20px}.calendar-instance-list{display:grid;align-content:start;gap:10px;border-right:1px solid #e2e8f0;padding-right:18px}.calendar-instance-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#64748b;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.calendar-instance-list-heading strong{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#eef8fa;color:#256f7d}.calendar-instance-editor-empty,.calendar-instance-empty{display:grid;gap:6px;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;padding:16px}.calendar-instance-editor-empty strong,.calendar-instance-empty strong{color:#334155;font-size:.92rem}.calendar-instance-list-item{display:grid;gap:8px;width:100%;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;padding:12px;text-align:left;cursor:pointer}.calendar-instance-list-item.is-active,.calendar-instance-list-item:hover{border-color:#85b7c1;background:#eef8fa;color:#123f48}.calendar-instance-list-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.calendar-instance-list-title strong{min-width:0;color:#123f48;font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-instance-list-meta,.calendar-instance-list-sync{color:#64748b;font-size:.78rem;line-height:1.35}.calendar-instance-list-sync{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-instance-editor{display:grid;gap:16px;min-width:0}.calendar-instance-card,.calendar-instance-editor-header{display:grid;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:16px}.calendar-instance-editor-header{grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.calendar-instance-card-header h3,.calendar-instance-editor-header h3{margin:6px 0 0;color:#1f2937;font-size:1rem;font-weight:800}.calendar-instance-card-header p,.calendar-instance-editor-header p,.calendar-instance-hint{margin:4px 0 0;color:#64748b;font-size:.84rem;line-height:1.45}.calendar-active-switch{display:inline-flex;align-items:center;gap:10px;color:#334155;font-size:.84rem;font-weight:800}.calendar-active-switch input{width:42px;height:22px;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:1px solid #b7c0cc;border-radius:999px;background:#e8edf3;box-shadow:none;cursor:pointer;position:relative;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.calendar-active-switch input:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .16s ease}.calendar-active-switch input:checked{border-color:var(--accent-2);background:var(--accent-2)}.calendar-active-switch input:checked:before{transform:translateX(20px)}.calendar-instance-card-grid{display:grid;gap:14px}.calendar-instance-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-instance-card-header h3{margin-top:0}.calendar-instance-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-profile-step{gap:14px}.calendar-profile-step .settings-section-header{padding-bottom:12px}.calendar-profile-step .calendar-instance-card{height:100%;align-content:start;padding:14px}.calendar-profile-step .calendar-patient-card,.calendar-profile-step .calendar-profile-card{min-height:0}.calendar-profile-step .calendar-instance-card-header{align-items:center;margin-bottom:12px}.calendar-profile-step .calendar-instance-card-header h3{font-size:.98rem}.calendar-profile-step .calendar-instance-card-header p{font-size:.82rem}.calendar-profile-form{display:grid;grid-template-columns:minmax(220px,360px);gap:10px;margin-top:8px}.calendar-profile-form>label:first-child{display:grid;gap:6px}.calendar-patient-fields span,.calendar-profile-form>label:first-child>span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.calendar-profile-form input:not([type=checkbox]){width:100%;min-height:42px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:.55rem .65rem;color:var(--ink);font-size:.9rem;font-weight:700}.calendar-patient-fields{grid-template-columns:minmax(180px,240px) minmax(220px,1fr);gap:10px;margin-top:8px}.calendar-profile-step .calendar-privacy-warning{align-items:center;margin-top:12px;padding:10px 12px}.calendar-profile-step .calendar-privacy-warning strong{font-size:.9rem}.calendar-profile-step .calendar-privacy-warning span{font-size:.8rem}.calendar-count-badge,.calendar-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:800;line-height:1;white-space:nowrap}.calendar-status-badge.is-connected{background:#e6f7ee;color:#167249}.calendar-status-badge.is-disconnected{background:#f8fafc;color:#64748b;border:1px solid #cbd5e1}.calendar-count-badge{background:#eef8fa;color:#256f7d}.calendar-practitioner-picker{gap:0}.calendar-practitioner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,280px));gap:8px;justify-content:start;max-height:260px;overflow:auto}.calendar-practitioner-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-width:0;border:1px solid #e2e8f0;border-radius:7px;background:#fff;padding:10px 12px;color:#334155;font-size:.86rem;font-weight:700}.calendar-practitioner-option.is-selected{border-color:#85b7c1;background:#eef8fa;color:#123f48}.calendar-practitioner-option input{width:18px;height:18px}.calendar-practitioner-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-selected-practitioners{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.calendar-selected-practitioners span{border-radius:999px;background:#eef8fa;color:#256f7d;font-size:.76rem;font-weight:700;padding:4px 8px}.calendar-selected-practitioners em{color:#94a3b8;font-size:.82rem;font-style:normal}.calendar-google-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.calendar-google-summary div{display:grid;gap:4px;min-width:0;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:10px 12px}.calendar-google-summary span{color:#64748b;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.calendar-google-summary strong{min-width:0;color:#1f2937;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-google-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.calendar-google-select{display:grid;gap:6px}.calendar-google-select span{color:#475569;font-size:.8rem;font-weight:700}.calendar-google-select select{border:1px solid #cbd5e1;border-radius:8px;min-height:40px;padding:0 10px}.calendar-instance-action-row{display:flex;flex-wrap:wrap;gap:8px}.calendar-instance-status{display:grid;gap:4px;margin-top:14px;border-radius:8px;padding:10px 12px;font-size:.84rem}.calendar-instance-status.is-ok{background:#f0fdf4;color:#166534}.calendar-instance-status.is-error{background:#fef2f2;color:#991b1b}.calendar-instance-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,360px));gap:14px 16px;justify-content:start;align-items:stretch;margin-top:14px}.calendar-instance-tile{display:grid;grid-template-rows:auto auto 1fr;gap:10px;min-height:156px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;padding:14px;text-align:left;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.calendar-instance-tile.is-active,.calendar-instance-tile:hover{border-color:#85b7c1;box-shadow:0 12px 26px rgba(15,23,42,.08)}.calendar-instance-tile.is-active{background:#eef8fa}.calendar-instance-tile.is-inactive{opacity:.76}.calendar-instance-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calendar-instance-tile-title{display:grid;gap:6px;min-width:0}.calendar-instance-tile-title h3{margin:0;min-width:0;color:#1f2937;font-size:1rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-instance-tile-title span{color:#64748b;font-size:.82rem;line-height:1.4}.calendar-instance-tile-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.calendar-card-switch{position:relative;display:inline-flex;width:44px;height:24px;flex:0 0 auto}.calendar-card-switch input{position:absolute;inset:0;opacity:0}.calendar-card-switch span{width:100%;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:background .16s ease}.calendar-card-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.2);transition:transform .16s ease}.calendar-card-switch input:checked+span{background:#256f7d}.calendar-card-switch input:checked+span:after{transform:translateX(20px)}.calendar-card-switch input:disabled+span{cursor:not-allowed;opacity:.58}.calendar-instance-tile-meta{display:flex;flex-wrap:wrap;gap:6px}.calendar-instance-tile-meta span{border-radius:999px;background:#f8fafc;color:#475569;font-size:.72rem;font-weight:800;padding:4px 8px}.calendar-instance-tile-footer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:end;align-self:end;border-top:1px solid #e2e8f0;padding-top:10px}.calendar-instance-tile-footer strong{color:#334155;font-size:.88rem;font-weight:900;white-space:nowrap}.calendar-instance-tile-footer span{min-width:0;color:#64748b;font-size:.82rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-workflow{display:grid;gap:16px;margin-top:18px;border-top:1px solid #e2e8f0;padding-top:18px}.calendar-workflow-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:16px}.calendar-workflow-header h3{margin:6px 0 0;color:#1f2937;font-size:1.05rem;font-weight:800}.calendar-workflow-header p{margin:4px 0 0;color:#64748b;font-size:.84rem}.calendar-workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.calendar-workflow-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#475569;padding:12px;text-align:left}.calendar-workflow-step.is-active,.calendar-workflow-step:hover{border-color:#85b7c1;background:#eef8fa;color:#123f48}.calendar-workflow-step-index{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:.82rem;font-weight:900}.calendar-workflow-step.is-active .calendar-workflow-step-index{background:#256f7d;color:#fff}.calendar-workflow-step-text{display:grid;gap:3px;min-width:0}.calendar-workflow-step-text strong{color:inherit;font-size:.88rem}.calendar-workflow-step-text span{color:#64748b;font-size:.76rem}.calendar-step-grid,.calendar-workflow-body{display:grid;gap:14px}.calendar-step-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.calendar-workflow-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.calendar-workflow-footer .calendar-instance-status{margin-top:0}.calendar-workflow-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.calendar-settings-accordion{display:grid;gap:10px;margin-top:16px}.calendar-collapse{border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.calendar-collapse>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:14px 16px}.calendar-collapse>summary::-webkit-details-marker{display:none}.calendar-collapse>summary:after{content:"+";color:#64748b;font-size:1.1rem;font-weight:800}.calendar-collapse[open]>summary{border-bottom:1px solid #e2e8f0}.calendar-collapse[open]>summary:after{content:"-"}.calendar-collapse>summary span{display:grid;gap:3px}.calendar-collapse>summary strong{color:#1f2937;font-size:.95rem}.calendar-collapse>summary small{color:#64748b;font-size:.78rem}.calendar-collapse>:not(summary){margin:14px 16px 16px}.calendar-add-divider,.calendar-add-message{justify-self:start}.calendar-settings-mode{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:3px}.calendar-settings-mode button{border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;font-size:.84rem;font-weight:800;padding:8px 12px}.calendar-settings-mode button.is-active{background:#fff;color:#123f48;box-shadow:0 1px 3px rgba(15,23,42,.12)}.calendar-global-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendar-global-summary-grid div{display:grid;gap:5px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:12px}.calendar-global-summary-grid strong{color:#1f2937;font-size:.9rem}.calendar-global-summary-grid span{color:#64748b;font-size:.8rem;line-height:1.4}.calendar-layout-grid{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(420px,1.2fr);gap:28px;align-items:start}.calendar-field-list{display:grid;gap:10px}.calendar-field-list.is-dragging{cursor:grabbing}.calendar-field-drag-slot{display:grid;gap:6px}.calendar-field-drop-indicator{height:4px;border-radius:999px;background:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.14)}.calendar-field-row{display:grid;grid-template-columns:24px 24px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:10px 12px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.calendar-field-row.is-divider{background:#f8fafc}.calendar-field-row.is-drop-target{border-color:#93c5fd;background:#f8fbff;box-shadow:inset 0 0 0 1px rgba(59,130,246,.16)}.calendar-field-row.is-dragging{border-style:dashed;opacity:.45}.calendar-field-row input[type=checkbox]{width:18px;height:18px}.calendar-field-row:active{cursor:grabbing}.calendar-field-handle{color:#94a3b8;font-weight:800;letter-spacing:0;cursor:grab}.calendar-field-label{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:visible;color:#334155;font-size:.92rem;font-weight:700}.calendar-field-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-field-label .settings-info-tooltip{flex:0 0 auto}.calendar-preview-card{display:grid;gap:18px;border:1px solid #d9e2ec;border-radius:8px;background:#f5f8fc;padding:28px;color:#202124;box-shadow:0 12px 26px rgba(15,23,42,.08)}.calendar-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d9e2ec;padding-bottom:12px}.calendar-preview-toolbar>div:first-child{display:grid;gap:3px;min-width:0}.calendar-preview-toolbar strong{color:#1f2937;font-size:.88rem;font-weight:900}.calendar-preview-toolbar span{color:#64748b;font-size:.78rem;font-weight:700}.calendar-preview-nav{display:inline-flex;gap:6px}.calendar-preview-nav button{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#256f7d;cursor:pointer;font-size:.9rem;font-weight:900}.calendar-preview-nav button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.62}.calendar-preview-error{margin:0}.calendar-preview-top{display:grid;grid-template-columns:20px 1fr;gap:14px;align-items:start}.calendar-preview-top>span{width:18px;height:18px;border-radius:5px;margin-top:8px}.calendar-preview-top h3{margin:0;color:#202124;font-size:1.35rem;font-weight:500;line-height:1.25}.calendar-preview-top p{margin:4px 0 0;color:#202124;font-size:.95rem}.calendar-preview-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start}.calendar-preview-icon{position:relative;width:20px;min-height:24px;color:#4f5457}.calendar-preview-icon.is-location:before{content:"";position:absolute;top:1px;left:3px;width:14px;height:14px;border:3px solid;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.calendar-preview-icon.is-location:after{content:"";position:absolute;top:6px;left:8px;width:4px;height:4px;border-radius:999px;background:currentColor}.calendar-preview-icon.is-details:after,.calendar-preview-icon.is-details:before{content:"";position:absolute;left:2px;height:3px;border-radius:999px;background:currentColor}.calendar-preview-icon.is-details:before{top:5px;width:17px;box-shadow:0 7px 0 currentColor}.calendar-preview-icon.is-details:after{top:19px;width:11px}.calendar-preview-description,.calendar-preview-location{font-size:.9rem;line-height:1.55}.calendar-preview-description a{display:block;color:#0b57d0;text-decoration:underline}.calendar-preview-description .is-spacer{min-height:10px}.calendar-preview-divider{width:min(100%,420px);border-top:1px solid #202124;margin:12px 0}.calendar-preview-empty{color:#64748b;font-style:italic}@media (max-width:1100px){.calendar-global-summary-grid,.calendar-instance-layout,.calendar-layout-grid,.calendar-step-grid{grid-template-columns:1fr}.calendar-instance-list{border-right:0;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:14px}.calendar-google-summary,.calendar-instance-fields,.calendar-patient-fields,.calendar-profile-form{grid-template-columns:1fr}}@media (max-width:640px){.calendar-instance-tile-grid{grid-template-columns:1fr}.calendar-instance-card-header,.calendar-instance-editor-header,.calendar-workflow-footer,.calendar-workflow-header{display:grid}.calendar-message-summary,.calendar-workflow-steps{grid-template-columns:1fr}.calendar-field-row{grid-template-columns:24px 24px minmax(0,1fr)}.calendar-field-row .btn{grid-column:3;justify-self:start}.calendar-preview-card{padding:20px}}.calendar-preview-links{display:grid;gap:8px;margin-top:8px}.calendar-preview-links a{color:#0b57d0;text-decoration:underline}.calendar-placeholder-panel{display:grid;gap:10px;border:1px solid #d9e2ec;border-radius:8px;background:#f8fafc;padding:12px;margin-bottom:14px}.calendar-placeholder-panel strong{display:block;color:#334155;font-size:.9rem}.calendar-placeholder-panel span{color:#64748b;font-size:.8rem}.calendar-placeholder-list{display:flex;flex-wrap:wrap;gap:8px}.calendar-placeholder-list span{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#256f7d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;font-weight:700;padding:5px 8px}.calendar-message-list{display:grid;gap:10px}.calendar-message-row{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.calendar-message-row.is-expanded{border-color:#85b7c1;box-shadow:0 10px 22px rgba(15,23,42,.06)}.calendar-message-summary{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px}.calendar-message-enabled{display:grid;align-items:center;grid-template-columns:auto 1fr;gap:8px;color:#475569;font-size:.8rem;font-weight:800}.calendar-message-title{display:grid;gap:4px;min-width:0}.calendar-message-title strong{color:#1f2937;font-size:.9rem}.calendar-message-title span{color:#64748b;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-message-editor{display:grid;gap:12px;border-top:1px solid #e2e8f0;background:#f8fafc;padding:12px}.calendar-message-editor label{display:grid;gap:6px}.calendar-message-editor label>span{color:#475569;font-size:.76rem;font-weight:700}.calendar-message-editor input,.calendar-message-editor textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;color:#0f172a;font-size:.82rem}.calendar-message-editor textarea{min-height:70px;resize:vertical}.calendar-message-editor-actions{display:flex;justify-content:flex-end}.calendar-colour-list{display:grid;gap:4px;max-height:360px;overflow:auto;padding-right:4px}.calendar-colour-default-grid{display:grid;max-width:260px;margin:8px 0 10px}.calendar-colour-default-field{display:grid;gap:5px}.calendar-colour-default-field>span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.calendar-colour-row{display:grid;grid-template-columns:16px minmax(0,1fr) minmax(128px,150px);gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:7px;padding:4px 8px}.calendar-colour-service-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:.8rem;font-weight:700}.calendar-colour-swatch{width:12px;height:12px;border-radius:4px}.calendar-colour-menu{position:relative;min-width:0}.calendar-colour-menu-trigger,.calendar-colour-menu>summary{display:grid;grid-template-columns:12px minmax(0,1fr) 10px;align-items:center;gap:7px;width:100%;min-height:30px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;cursor:pointer;list-style:none;padding:4px 8px;text-align:left}.calendar-colour-menu>summary::-webkit-details-marker{display:none}.calendar-colour-menu-trigger:after,.calendar-colour-menu>summary:after{content:"";width:6px;height:6px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;transform:rotate(45deg);margin-top:-3px}.calendar-colour-menu-trigger span:last-child,.calendar-colour-menu>summary span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800}.calendar-colour-menu-trigger:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}.calendar-colour-menu-list{position:absolute;z-index:40;right:0;top:calc(100% + 4px);display:grid;gap:2px;width:164px;max-height:238px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.14);padding:4px}.calendar-colour-menu-list button{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;border:0;border-radius:6px;background:transparent;color:#334155;cursor:pointer;padding:4px 6px;text-align:left}.calendar-colour-menu-list button.is-selected,.calendar-colour-menu-list button:hover{background:#eef8fa;color:#123f48}.calendar-colour-menu-list button span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800}.calendar-colour-menu-swatch{width:12px;height:12px;border:1px solid rgba(15,23,42,.16);border-radius:4px}.export-rule-grid input,.export-rule-grid select{width:100%;border:1px solid var(--border);border-radius:7px;background:#f8fafc;padding:.55rem .65rem;color:#64748b;font-size:.9rem;font-weight:700;cursor:not-allowed}.export-rule-grid-live input,.export-rule-grid-live select{background:#fff;color:#1f2937;cursor:auto}.export-rule-grid-live input[type=checkbox]{width:18px;height:18px;cursor:pointer}.export-rule-grid-live .export-rule-toggle input[type=checkbox]{width:42px;height:22px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:1px solid #b7c0cc;border-radius:999px;background:#e8edf3;cursor:pointer;position:relative;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.export-rule-grid-live .export-rule-toggle input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .16s ease}.export-rule-grid-live .export-rule-toggle input[type=checkbox]:checked{border-color:var(--accent-2);background:var(--accent-2)}.export-rule-grid-live .export-rule-toggle input[type=checkbox]:checked:before{transform:translateX(20px)}.export-rule-grid-live .export-rule-toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px rgba(37,111,125,.18)}.export-time-scope{display:flex;flex-wrap:wrap;gap:10px 18px}.export-time-scope label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.86rem;font-weight:700}.export-time-scope input{width:16px;height:16px}.settings-section--placeholder{box-shadow:none;background:var(--surface-2)}.practitioners-panel{max-width:1100px}.practitioner-profile-shell{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:16px;align-items:start}.practitioner-list{display:grid;gap:6px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.practitioner-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px 7px;color:#475569;font-size:.78rem}.practitioner-list-head strong{color:#242b36}.practitioner-list-head span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.practitioner-list-item{width:100%;min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;color:#475569;cursor:pointer;font:inherit;font-size:.86rem;font-weight:750;padding:7px 9px;text-align:left}.practitioner-list-item:hover{background:#fff;border-color:var(--border)}.practitioner-list-item.is-active{background:#e8f4f6;border-color:#a6d5dd;color:#174f5a}.practitioner-profile{display:grid;gap:14px;min-width:0}.practitioner-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.practitioner-profile-head h2{color:#242b36;font-family:Sora,sans-serif;font-size:1.05rem;margin:0 0 3px}.practitioner-location-editor{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.practitioner-location-editor label{display:grid;gap:5px;min-width:0}.practitioner-location-editor label>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.practitioner-location-editor input:not([type]),.practitioner-location-editor input[type=text]{width:100%;min-height:36px}.practitioner-location-active{align-items:center;display:flex!important;gap:8px!important}.practitioner-location-active input{width:16px;height:16px}.practitioner-location-editor-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px}.practitioner-location-list{display:grid;gap:8px}.practitioner-location-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.practitioner-location-card.is-inactive{opacity:.68}.practitioner-location-card div:first-child{display:grid;gap:2px;min-width:0}.practitioner-location-card strong{color:#242b36;font-size:.92rem}.practitioner-location-card span{overflow-wrap:anywhere;color:#64748b;font-size:.82rem}.practitioner-location-card em{color:#9a3412;font-size:.72rem;font-style:normal;font-weight:800;text-transform:uppercase}.practitioner-location-actions{display:flex;flex-shrink:0;gap:8px}@media (max-width:760px){.practitioner-location-editor,.practitioner-profile-shell{grid-template-columns:1fr}.practitioner-location-card,.practitioner-profile-head{align-items:stretch;flex-direction:column}.practitioner-location-actions,.practitioner-location-editor-actions{justify-content:flex-start}}.settings-hub{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:16px;align-items:start;max-width:1100px}.settings-hub-nav{position:sticky;top:16px;display:grid;gap:4px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-soft)}.settings-hub-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 11px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;transition:background .14s ease,border-color .14s ease}.settings-hub-link:hover{background:var(--surface-2)}.settings-hub-link.is-active{background:rgba(37,111,125,.1);border-color:rgba(37,111,125,.25)}.settings-hub-link-text{display:grid;gap:1px;min-width:0}.settings-hub-link-text strong{color:#242b36;font-size:.9rem}.settings-hub-link.is-active .settings-hub-link-text strong{color:#0b4d46}.settings-hub-link-text span{font-size:.72rem;color:#94a3b8}.settings-hub-content{display:grid;gap:16px;min-width:0}.settings-owner-chip{flex-shrink:0;border-radius:999px;border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;padding:1px 8px;font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-status.is-error{color:#b91c1c}.filter-count{margin-left:6px;font-weight:700;color:#94a3b8;text-transform:none;letter-spacing:0}@media (max-width:760px){.settings-hub{grid-template-columns:1fr}.settings-hub-nav{position:static;grid-auto-flow:column;grid-auto-columns:minmax(140px,max-content);overflow-x:auto}.settings-scale-row{grid-template-columns:1fr;align-items:stretch}.settings-scale-control{grid-template-columns:minmax(140px,1fr) auto}.settings-scale-default{grid-column:1/-1;justify-self:start}.settings-scale-actions{justify-content:flex-start}.settings-scale-status{grid-column:auto;margin-top:0}.export-rule-grid,.export-rule-summary-row{grid-template-columns:1fr}.export-rule-summary-row{align-items:stretch}.export-rule-summary-row .btn{width:100%}.export-rule-modal-service-list{grid-template-columns:1fr}.export-rule-modal-services-head,.settings-modal-actions{align-items:stretch;flex-direction:column}.settings-modal-actions>div{justify-content:stretch}.settings-modal-actions .btn{width:100%}}.clients-panel{padding:28px 32px;max-width:900px}.clients-search-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.clients-search{flex:1;max-width:420px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9rem;background:var(--surface);color:var(--ink);outline:none;transition:border-color .15s}.clients-search:focus{border-color:#256f7d;box-shadow:0 0 0 3px rgba(37,111,125,.12)}.clients-count{font-size:.83rem;color:var(--muted);white-space:nowrap}.clients-status{padding:16px 0;color:var(--muted);font-size:.9rem}.clients-status.is-error{color:#b91c1c}.clients-list{display:flex;flex-direction:column;gap:8px}.client-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex;align-items:center;justify-content:space-between;gap:12px}.client-card-body{flex:1;min-width:0}.client-card:hover{border-color:#256f7d;box-shadow:0 1px 4px rgba(37,111,125,.1)}.client-card-name{font-weight:600;font-size:.95rem;color:var(--ink);margin-bottom:6px}.client-card-details{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.83rem;color:var(--muted)}.client-card[role=button]{cursor:pointer}.client-card[role=button]:focus-visible{outline:2px solid #256f7d;outline-offset:2px}.client-lock-pill{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:2px 8px;background:rgba(37,111,125,.12);color:#1a6b78;border:1px solid rgba(37,111,125,.3);border-radius:999px;font-size:.7rem;font-weight:500;line-height:1.6;letter-spacing:.01em;white-space:nowrap}.client-lock-icon{width:13px;height:13px;color:currentColor;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.client-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.client-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.18);display:flex;flex-direction:column;max-height:calc(100vh - 48px);overflow:hidden;width:100%;max-width:760px;animation:modal-in .15s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.client-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.client-modal-header h2{font-size:1.05rem;font-weight:700;color:var(--ink);margin:0}.client-modal-close{background:none;border:none;font-size:1.3rem;line-height:1;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .1s,color .1s}.client-modal-close:hover{background:var(--surface-2);color:var(--ink)}.client-modal-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.client-modal-row{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:baseline}.client-modal-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.client-modal-value{font-size:.9rem;color:var(--ink)}.client-modal-link{color:#256f7d;text-decoration:none}.client-modal-link:hover{text-decoration:underline}.client-modal-empty{font-size:.88rem;color:var(--muted);margin:0}.client-route-locks{border-top:1px solid var(--border);display:grid;gap:12px;margin-top:6px;padding-top:16px}.client-route-locks-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.client-route-locks-header h3{color:var(--ink);font-size:.95rem;margin:0 0 2px}.client-route-lock-actions span,.client-route-locks-header p{color:var(--muted);font-size:.78rem;margin:0}.client-route-lock-list{display:grid;gap:8px}.client-route-lock-rule{border:1px solid var(--border);border-radius:8px;display:grid;gap:0;overflow:hidden}.client-route-lock-summary{align-items:center;display:grid;gap:10px;grid-template-columns:auto auto minmax(120px,1fr) auto;padding:8px 10px}.client-route-lock-summary-main{display:grid;min-width:0}.client-route-lock-summary-main strong{color:var(--ink);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-route-lock-summary-actions{align-items:center;display:flex;gap:6px}.client-route-lock-editor{border-top:1px solid var(--border);display:grid;gap:10px;padding:10px}.client-route-lock-toggle{align-items:center;display:inline-flex;cursor:pointer;height:24px;position:relative;width:44px}.client-route-lock-toggle input{height:1px;opacity:0;position:absolute;width:1px}.client-route-lock-toggle-ui{background:#cbd5e1;border:1px solid #b6c3d3;border-radius:999px;display:block;height:24px;position:relative;transition:background .15s,border-color .15s;width:44px}.client-route-lock-toggle-ui:after{background:#fff;border-radius:999px;box-shadow:0 1px 3px rgba(15,23,42,.22);content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .15s;width:18px}.client-route-lock-toggle input:checked+.client-route-lock-toggle-ui{background:#256f7d;border-color:#256f7d}.client-route-lock-toggle input:checked+.client-route-lock-toggle-ui:after{transform:translateX(20px)}.client-route-lock-toggle input:focus-visible+.client-route-lock-toggle-ui{outline:2px solid rgba(37,111,125,.34);outline-offset:2px}.client-route-lock-days{display:flex;flex-wrap:wrap;gap:4px}.client-route-lock-days button{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:.74rem;font-weight:700;min-width:34px;padding:4px 6px}.client-route-lock-days button.is-active{background:#e8f4f6;border-color:#256f7d;color:#174f5a}.client-route-lock-fields{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(0,1fr))}.client-route-lock-fields label{display:grid;gap:4px}.client-route-lock-fields span{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.client-route-lock-fields input{border:1px solid var(--border);border-radius:6px;font-size:.84rem;padding:7px 8px}.client-profile-constraint-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px 14px}.client-profile-strength{display:inline-flex;overflow:hidden;border:1px solid #d5dbe3;border-radius:7px}.client-profile-strength button{min-height:30px;padding:5px 10px;border:0;border-right:1px solid #d5dbe3;background:#fff;color:#64748b;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer}.client-profile-strength button:last-child{border-right:0}.client-profile-strength button.is-active.required{background:#fff3e0;color:#9a3412}.client-profile-strength button.is-active.preferred{background:#f5f3ff;color:#6d28d9}.client-profile-constraint-actions{display:flex;flex-wrap:wrap;gap:8px}.client-profile-constraint-editor{overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;background:#f8fafc}.client-profile-constraint-editor .constraint-editor-rows{gap:12px}.client-profile-constraint-editor .time-draft-row+.time-draft-row{margin-top:14px}.client-profile-constraint-editor .profile-time-window-selector{min-width:0}.client-profile-constraint-editor-body{padding:12px}.client-profile-stop-input{display:grid;gap:5px;max-width:210px}.client-profile-preference-options span,.client-profile-stop-input span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.client-profile-preference-options input,.client-profile-stop-input input{min-height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;font:inherit;font-size:.82rem;padding:6px 8px}.profile-time-window-selector{display:grid;gap:0}.profile-time-window-selector .time-range-slider,.profile-time-window-selector .time-slider-edge-labels,.profile-time-window-selector .time-slider-labels{grid-column:auto}.client-profile-preference-options{display:flex;flex-wrap:wrap;gap:10px;padding-top:2px}.client-profile-preference-options label{display:grid;gap:4px;width:min(180px,100%)}.client-route-lock-actions{align-items:center;display:flex;gap:10px}.client-route-lock-day-dots{display:flex;gap:3px}.client-route-lock-day-dots span{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.62rem;font-weight:800;height:22px;justify-content:center;width:22px}.client-route-lock-day-dots span.is-active{background:#e8f4f6;border-color:#256f7d;color:#174f5a}.profile-lock-pill{background:#e8f4f6;border-color:#9ccbd3;color:#174f5a}.route-stop-profile-locks{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.route-profile-lock-ignore{align-items:center;color:var(--muted);display:inline-flex;font-size:.78rem;font-weight:700;gap:6px}.route-profile-lock-ignore input{height:1px;opacity:0;position:absolute;width:1px}.route-profile-lock-toggle-ui{background:#cbd5e1;border:1px solid #b6c3d3;border-radius:999px;display:inline-block;height:18px;position:relative;width:34px}.route-profile-lock-toggle-ui:after{background:#fff;border-radius:999px;box-shadow:0 1px 2px rgba(15,23,42,.2);content:"";height:14px;left:1px;position:absolute;top:1px;transition:transform .15s;width:14px}.route-profile-lock-ignore input:checked+.route-profile-lock-toggle-ui{background:#94a3b8;border-color:#94a3b8}.route-profile-lock-ignore input:checked+.route-profile-lock-toggle-ui:after{transform:translateX(16px)}@media (max-width:760px){.client-modal-backdrop{padding:12px}.client-modal{max-height:calc(100vh - 24px)}.client-route-lock-summary{grid-template-columns:auto 1fr}.client-route-lock-day-dots,.client-route-lock-summary-actions,.client-route-lock-summary-main{grid-column:1/-1;justify-content:flex-start}.client-route-lock-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.filter-group{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.filter-group:first-of-type{margin-top:4px;padding-top:0;border-top:none}.filter-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.filter-group-header strong{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.filter-group-actions{display:flex;gap:6px}.filter-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px}.filter-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.88rem;color:var(--ink);padding:3px 0}.filter-option input[type=checkbox]{width:15px;height:15px;min-width:15px;padding:0;border-radius:3px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;accent-color:var(--accent-2);-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}.filter-empty{font-style:italic}.settings-filters-section{display:grid;gap:14px}.settings-filters-section .filter-group-list{display:grid;gap:8px}.settings-filters-section .filter-group{margin:0;padding:0;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.settings-filters-section .filter-group:first-of-type{margin:0;padding:0;border:1px solid var(--border)}.settings-filters-section .filter-group.is-open{border-color:#b9d9df;box-shadow:0 1px 2px rgba(15,23,42,.05)}.settings-filters-section .filter-group-head{display:grid;grid-template-columns:minmax(135px,.42fr) minmax(0,1fr) 24px;align-items:center;gap:12px;width:100%;min-height:50px;padding:8px 12px 8px 14px;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left}.settings-filters-section .filter-group-head:hover{background:#f8fafc}.settings-filters-section .filter-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#94a3b8}.settings-filters-section .filter-group-chevron:before{content:"";width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg) translate(-1px,-1px);transition:transform .14s ease}.settings-filters-section .filter-group.is-open .filter-group-chevron:before{transform:rotate(-135deg) translate(-1px,-1px)}.settings-filters-section .filter-group-title{min-width:0;color:#242b36;font-family:Sora,sans-serif;font-size:.96rem;font-weight:700;line-height:1.2}.settings-filters-section .filter-group-selection{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;min-width:0;min-height:32px;gap:6px}.settings-filters-section .filter-group-chip,.settings-filters-section .filter-group-summary{display:inline-flex;align-items:center;min-height:28px;max-width:100%;padding:0 10px;border-radius:999px;line-height:1}.settings-filters-section .filter-group-summary{font-size:.76rem;font-weight:850;letter-spacing:.02em}.settings-filters-section .filter-group-chip{border:1px solid #cbd5e1;background:#eef2f7;color:#334155;font-size:.82rem;font-weight:750;max-width:min(220px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-filters-section .filter-group-summary.is-all{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.settings-filters-section .filter-group-summary.is-custom{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412}.settings-filters-section .filter-group-summary.is-none{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.settings-filters-section .filter-group-body{display:grid;gap:12px;padding:12px 14px 16px;border-top:1px solid var(--border)}.filter-custom{display:grid;gap:10px}.filter-custom-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.filter-search{display:flex;align-items:center;gap:8px;flex:1;min-width:180px}.filter-search input{flex:1;min-width:0}.filter-search button{flex-shrink:0;min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#64748b;cursor:pointer;font:inherit;font-size:.76rem;font-weight:800}.filter-bulk{display:flex;align-items:center;gap:8px;flex-shrink:0}.filter-bulk button{border:0;background:transparent;color:#0f5273;cursor:pointer;font:inherit;font-size:.8rem;font-weight:800;padding:0}.filter-bulk button:disabled{color:#b0bccb;cursor:default}.filter-bulk span{color:#cbd5e1}.settings-filters-section .filter-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 10px;max-height:260px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:9px;background:#f8fafc}.settings-filters-section .filter-option{display:flex;align-items:center;min-width:0;gap:9px;min-height:36px;padding:0 10px;border:1px solid #eef2f6;border-radius:7px;background:#fff;color:var(--ink);cursor:pointer;font-size:.86rem;font-weight:700;line-height:1.2}.settings-filters-section .filter-option:hover{border-color:#cddde3}.settings-filters-section .filter-option input{flex-shrink:0;width:15px;height:15px;margin:0}.settings-filters-section .filter-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-empty{margin:0;padding:12px;color:var(--muted);font-size:.84rem;font-weight:600}.filter-warning{margin:0;color:#b91c1c;font-size:.8rem;font-weight:700}.filter-save-bar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:hsla(0,0%,100%,.96);box-shadow:0 -8px 18px rgba(15,23,42,.07)}.filter-save-bar.has-changes{border-color:#fed7aa;background:rgba(255,247,237,.97)}.filter-save-bar>span{color:#475569;font-size:.86rem;font-weight:850}.filter-save-bar.has-changes>span{color:#9a3412}.filter-save-bar>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width:760px){.settings-filters-section .filter-group-head{grid-template-columns:minmax(0,1fr) 24px}.settings-filters-section .filter-group-selection{grid-column:1/-1;grid-row:2}.settings-filters-section .filter-group-chevron{grid-column:2;grid-row:1}.settings-filters-section .filter-checklist{grid-template-columns:1fr}.filter-custom-tools,.filter-save-bar{align-items:stretch;flex-direction:column}.filter-save-bar>div{justify-content:flex-start}}.scheduler-grid{display:grid;grid-template-columns:minmax(480px,1fr) minmax(400px,.72fr);gap:24px;align-items:start}.left-panel,.map-side{min-width:0}.map-side{position:sticky;top:-45px;padding-top:45px}.panel-tabs{display:flex;gap:0;margin-bottom:-1px;padding-left:0;border-bottom:0}.panel-tab{padding:.72rem 1.35rem;border-radius:8px 8px 0 0;border:1px solid var(--border);background:#f8fafc;color:var(--muted);font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;margin-right:6px;position:relative}.panel-tab.is-active,.panel-tab:hover{background:#fff;color:var(--ink)}.panel-tab.is-active{border-color:var(--border);z-index:2}.panel-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#fff;pointer-events:none}.tab-panel{min-width:0}.tab-panel.card{border-top-left-radius:0}.appt-list{display:flex;flex-direction:column;gap:8px}.appt-list-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.appt-list-item+.appt-list-item{margin-top:4px}.appt-time{min-width:68px;font-size:.85rem;font-weight:700;color:#0f5273;padding-top:1px;flex-shrink:0}.appt-main{flex:1;min-width:0}.appt-main strong{display:block;font-size:.92rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-name-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:4px;color:#256f7d;cursor:pointer;display:inline;font:inherit;font-weight:700;margin:0;padding:0;text-align:left;text-decoration:underline;text-underline-offset:2px}.patient-name-link:hover{color:#174f5a}.patient-name-link:focus-visible{outline:2px solid rgba(37,111,125,.34);outline-offset:2px}.appt-main .patient-name-link{display:block;font-size:.92rem;max-width:100%}.appt-address,.appt-main .patient-name-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appt-address{font-size:.82rem;color:var(--muted)}.appt-notes{font-size:.82rem;font-weight:700;margin-top:2px}.appt-notes,.stop-note-inline{color:#c2410c;overflow-wrap:anywhere;white-space:pre-wrap}.stop-note-inline{font-weight:600}.appt-duration{font-size:.8rem;color:var(--muted);white-space:nowrap;padding-top:2px;flex-shrink:0}.appt-meta{gap:5px;flex-shrink:0;max-width:min(320px,55%);text-align:right}.appt-constraints,.appt-meta{display:flex;flex-direction:column;align-items:flex-end}.appt-constraints{gap:4px}.appt-constraints .appt-constraint-pill{max-width:160px;justify-content:center;font-size:.74rem;padding:2px 8px;text-align:center;white-space:nowrap}.appt-constraints .appt-constraint-pill.is-ignored{gap:2px;max-width:min(320px,100%);white-space:nowrap}.timezone-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.68rem;font-weight:800;line-height:1.15;padding:2px 7px;white-space:nowrap}.appt-timezone-badge,.route-stop-timezone-badge,.route-timezone-badge{flex-shrink:0}.settings-fields-grid .timezone-badge{justify-self:start;color:#1d4ed8;font-size:.68rem;letter-spacing:0;text-transform:none}.appt-route-group{border-radius:10px;border:1px solid color-mix(in srgb,var(--route-color,#5b5bd6) 25%,transparent);border-left:4px solid var(--route-color,#5b5bd6);background:color-mix(in srgb,var(--route-color,#5b5bd6) 4%,var(--surface));padding:10px;display:flex;flex-direction:column;gap:3px}.appt-route-group-header{display:flex;align-items:center;gap:7px;padding-bottom:4px;font-size:.8rem;font-weight:700;color:var(--route-color,#5b5bd6);letter-spacing:.01em}.appt-route-stats{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8rem;color:var(--muted);padding-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--route-color,#5b5bd6) 20%,transparent);margin-bottom:2px}.appt-route-stats strong{color:var(--ink)}.appt-total-card{border-radius:10px;border:1px solid var(--border);background:var(--surface-2);padding:10px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.appt-total-card .appt-route-stats{border-bottom:none;padding-bottom:0;margin-bottom:0;flex:1}.appt-total-label{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.appt-break-pill{align-self:center;font-size:.78rem;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px 12px;text-align:center}.appt-route-break-card{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid #aab3bf;border-radius:8px;background:#dfe4ea;color:#30343a}.appt-route-break-label{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:22px;padding:0 9px;border-radius:999px;background:#d7dadd;color:#303234;font-size:.68rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.appt-route-break-body{display:grid;gap:2px;min-width:0}.appt-route-break-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:#29313a;font-size:.78rem;line-height:1.2}.appt-route-break-title strong{color:#24282d;font-size:.82rem}.appt-route-break-title span{color:#47515d;font-weight:800}.appt-route-break-location,.appt-route-break-warning{color:#5b6674;font-size:.76rem;font-weight:650;line-height:1.25}.appt-route-break-warning{color:#8a3a17}.appt-route-context-card{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid #b7c3d0;border-radius:8px;background:#eef3f7;color:#30343a}.appt-route-context-label{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:22px;padding:0 9px;border-radius:999px;background:#dce5ed;color:#303234;font-size:.68rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.appt-route-context-body{display:grid;gap:2px;min-width:0}.appt-route-context-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:#29313a;font-size:.78rem;line-height:1.2}.appt-route-context-title strong{color:#24282d;font-size:.82rem}.appt-route-context-location,.appt-route-context-title span{color:#5b6674;font-size:.76rem;font-weight:650;line-height:1.25}.export-action-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-top:8px}.export-action-btn:disabled{opacity:.62;cursor:not-allowed}.export-modal-backdrop{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.36)}.export-modal{width:min(520px,100%);border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);padding:20px;animation:modal-in .15s ease}.export-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.export-modal-header h2{font-size:1.05rem;color:var(--ink);margin:0}.export-modal-header p{margin:5px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.export-modal-close{width:32px;height:32px;min-width:32px;flex:0 0 32px;aspect-ratio:1/1;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1}.export-modal-close:hover{color:var(--ink);border-color:var(--border-strong)}.export-modal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.export-modal-stats div{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:9px 10px}.export-modal-stats span{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.export-modal-stats strong{display:block;margin-top:4px;color:var(--ink);font-size:.92rem;line-height:1.25}.export-modal-warning{margin:12px 0 0;color:#475569;font-size:.82rem;font-weight:750}.export-modal-toggle{margin-top:12px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px;width:100%}.export-modal-status{min-height:20px;margin-top:12px;color:var(--muted);font-size:.86rem}.export-modal-status.is-error{color:#b91c1c;font-weight:700}.export-modal-status.has-result,.export-modal-status.has-result.is-error{color:var(--ink);font-weight:500}.export-result-list{display:grid;gap:8px}.export-result-summary{display:grid;gap:12px;border:1px solid #a7f3d0;border-radius:10px;background:#f0fdf4;padding:12px}.export-result-summary-head{display:grid;gap:2px}.export-result-summary-head strong{color:#047857;font-size:.95rem;font-weight:850}.export-result-summary-head span{color:#475569;font-size:.8rem;font-weight:700}.export-result-metrics{display:grid;gap:6px}.export-result-metrics div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;border-top:1px solid rgba(16,185,129,.2);padding-top:6px}.export-result-metrics span{min-width:0;color:#334155;font-size:.78rem;font-weight:750}.export-result-metrics strong{color:#0f172a;font-size:.82rem;font-weight:850;text-align:right}.export-result-metrics .is-muted span,.export-result-metrics .is-muted strong{color:#64748b}.export-result-detail,.export-result-line{border-radius:8px;border:1px solid transparent;padding:8px 10px}.export-result-line{font-weight:800}.export-result-line.is-success{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.export-result-detail.is-error,.export-result-line.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.export-result-detail{line-height:1.45}.export-result-detail strong{font-weight:800}.export-result-note{color:var(--muted);font-size:.82rem;font-weight:700;padding:2px 2px 0}.export-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.auto-route-confirm-backdrop{position:fixed;inset:0;z-index:1002;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.4)}.auto-route-confirm-modal{width:min(440px,100%);border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);padding:18px;animation:modal-in .15s ease}.auto-route-confirm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.auto-route-confirm-header h2{color:var(--ink);font-size:1rem}.auto-route-confirm-header p{margin-top:6px;color:var(--muted);font-size:.88rem;line-height:1.45}.auto-route-confirm-close{width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1}.auto-route-confirm-close:hover{color:var(--ink);border-color:var(--border-strong)}.auto-route-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.appt-travel-divider{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;height:0;position:relative;z-index:3;pointer-events:none}.appt-travel-divider .drive-time,.appt-travel-divider .wait-time{font-size:.74rem;padding:2px 8px;box-shadow:0 1px 4px rgba(15,23,42,.12);transform:translateY(-50%)}.routes-tab-header{display:block;margin-bottom:14px}.route-settings-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;border-top-left-radius:0;background:#fff}.route-settings-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.route-btn-group{display:flex;flex-direction:column;gap:6px;margin-left:auto}.route-btn-group .btn{width:100%;white-space:nowrap;box-shadow:none}.route-btn-group .action-with-help{width:100%}.route-btn-group .action-with-help .btn{flex:1 1 auto}.route-cards{--route-card-gap:14px;display:flex;flex-direction:column;gap:0;margin-bottom:14px}.route-card{background:var(--surface);border-radius:10px;padding:14px;border:1px solid var(--border);border-left:4px solid var(--route-color,#5b5bd6)}.route-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.route-card-title{display:flex;align-items:center;gap:8px}.route-card-title strong{font-size:1rem}.route-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.route-stop-count{font-size:.8rem;color:var(--muted)}.route-card-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-start-label{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:6px}.route-start-time{width:auto;padding:.35rem .6rem;font-size:.85rem}.route-context-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.route-context-panel label{display:grid;gap:5px;min-width:0}.route-context-panel span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.route-context-panel input,.route-context-panel select{width:100%;min-width:0;border:1px solid var(--border);border-radius:7px;background:#fff;padding:.45rem .55rem;color:var(--ink);font-size:.84rem;font-weight:700}.route-context-panel .route-add-break-btn{align-self:end;white-space:nowrap}.route-result-summary{color:#0b4d46;background:#e8fff2;border:1px solid #b7f0cf;border-radius:8px}.route-result-error,.route-result-summary{font-size:.86rem;padding:6px 12px;margin-bottom:10px}.route-result-error{color:#7a1b0c;background:#ffe7e5;border:1px solid #f5c1b8;border-radius:8px}.route-constraints-dirty{margin:0 0 10px;padding:6px 9px;border:1px solid #fed7aa;border-radius:7px;background:#fff7ed;color:#9a3412;font-size:.76rem;font-weight:700}.route-preference-impact-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:10px 0 16px;padding:11px 12px;border:1px solid #c4b5fd;border-radius:8px;background:#f5f3ff;color:#4c1d95}.route-constraint-impact-banner{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 10px;padding:6px 10px;border:1px solid #fdba74;border-radius:7px;background:#fff7ed;color:#9a3412;font-size:.82rem;font-weight:750;text-align:center}.route-constraint-impact-banner strong{color:#7c2d12;font-size:.84rem}.route-constraint-impact-value{flex-shrink:0;border:1px solid #fed7aa;border-radius:999px;background:#fff;color:#9a3412;padding:3px 11px;font-size:.8rem;font-weight:850}.route-preference-impact-heading{display:flex;align-items:center;justify-content:center;gap:14px;max-width:100%;text-align:center}.route-preference-impact-heading strong{color:#3b0764;font-size:.92rem}.route-preference-impact-detail{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;gap:0 7px;color:#6b21a8;font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.route-preference-impact-status{font-weight:900}.route-preference-impact-value{flex-shrink:0;border:1px solid #ddd6fe;border-radius:999px;background:#fff;color:#4c1d95;font-size:.88rem;font-weight:800;padding:6px 10px}@media (max-width:620px){.auto-route-confirm-actions{flex-direction:column-reverse}.auto-route-confirm-actions .btn{width:100%}.route-preference-impact-banner{align-items:center}.route-preference-impact-heading{flex-wrap:wrap;gap:8px}.route-constraint-impact-banner{flex-wrap:wrap;gap:7px}}.route-empty-stops{color:var(--muted);font-size:.88rem;padding:8px 0}.route-stops-container{min-height:42px;border:1px dashed transparent;border-radius:8px;transition:background .15s ease,border-color .15s ease,padding .15s ease}.route-stops-container.is-drop-target{padding:6px;border-color:#cbd5e1;background:#f8fafc}.route-stops-container.is-drop-target .route-empty-stops{padding:12px;border:1px dashed #cbd5e1;border-radius:8px;background:#fff;text-align:center}.route-item+.route-item{margin-top:4px}.route-stops{display:flex;flex-direction:column;gap:6px}.route-stop-num{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:.75rem;font-weight:800;flex-shrink:0;margin-top:1px}.route-stop-main{flex:1;min-width:0}.route-stop-name{font-size:.88rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;overflow:hidden}.route-stop-time{font-weight:500}.route-stop-address,.route-stop-time{font-size:.8rem;color:var(--muted);white-space:nowrap}.route-stop-address{overflow:hidden;text-overflow:ellipsis}.remove-stop-btn{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.remove-stop-btn:hover{background:#ffe7e5;color:#9a2210;border-color:#f5c1b8}.unrouted-section{margin-top:14px}.unrouted-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.82rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.unrouted-list{display:flex;flex-direction:column;gap:6px}.unrouted-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border)}.add-to-route-wrap{position:relative;flex-shrink:0}.add-to-route-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:#fff;color:var(--accent-2);font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.add-to-route-btn:hover{background:#e6fbf8;border-color:#a7ebe0}.add-to-route-btn:disabled{color:var(--muted);cursor:not-allowed;opacity:.5}.route-picker-menu{position:absolute;right:0;bottom:calc(100% + 6px);background:#fff;border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 8px 20px rgba(15,23,42,.14);z-index:50;overflow:hidden;min-width:140px}.route-picker-option{display:flex;align-items:center;gap:8px;width:100%;padding:.6rem 1rem;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--ink);cursor:pointer;font-size:.88rem;text-align:left}.route-picker-option:last-child{border-bottom:0}.route-picker-option:hover,.route-stop-item{background:var(--surface-2)}.route-stop-item{border-radius:8px;border:1px solid var(--border);padding:10px 12px;display:flex;flex-direction:column;gap:0}.route-stop-item.sortable-ghost{opacity:.35;border-style:dashed}.route-stop-item.is-being-dragged,.route-stop-item.sortable-drag{box-shadow:0 14px 30px rgba(15,23,42,.18);cursor:grabbing}.route-stop-item.is-locked{border-color:#fdba74;background:#fffaf3}.route-stop-item.is-preferred-locked{border-color:#c4b5fd;background:#faf8ff}.is-preferred-control,.route-constraint-mode.is-preferred-control{border-color:#8b5cf6!important;background:#f5f3ff!important;color:#6d28d9}.profile-lock-pill:not(.is-ignored){border-style:solid}.route-stop-profile-locks .profile-lock-pill{white-space:normal}.route-stop-item.has-active-constraint{box-shadow:none}.route-stop-item:has(.constraint-inline-editor){box-shadow:0 4px 20px rgba(15,23,42,.12);border:2px solid #94a3b8;background:#fff;padding-bottom:0;position:relative;z-index:1}.route-stop-item:has(.constraint-inline-editor) .constraint-inline-editor{margin-bottom:0;background:#f0f4f8}.route-stop-header{display:flex;align-items:flex-start;gap:10px}.route-stop-drag-handle{cursor:grab;color:#b0b8c4;font-size:1.2rem;font-weight:800;flex-shrink:0;padding:0 3px;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:.9;margin-top:1px}.route-stop-drag-handle:active{cursor:grabbing}.route-stop-controls{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap;padding-left:54px}.constraint-action-btn{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#475569;font:inherit;font-size:.78rem;font-weight:650;cursor:pointer;white-space:nowrap}.constraint-action-btn:hover{border-color:#aeb8c5;background:#f8fafc}.constraint-action-btn.is-open,.constraint-action-btn.is-open:hover{border-color:#256f7d;background:#256f7d;color:#fff}.constraint-action-btn.is-required,.constraint-pill.is-required{border-color:#fdba74;background:#fff3e0;color:#9a3412}.constraint-action-btn.is-preferred,.constraint-pill.is-preferred{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9}.constraint-action-btn.is-required.is-preferred{border-color:#fdba74;background:linear-gradient(90deg,#fff3e0 0 72%,#f5f3ff 72% 100%);color:#7c2d12}.constraint-pill.is-ignored{border-color:#fda4af!important;border-style:dashed;background:#fff1f2!important;color:#be123c!important;opacity:1}.auto-note-lock-pill.is-ignored{border-color:#cbd5e1!important;border-style:dashed;background:#f8fafc!important;color:#64748b!important}.auto-note-lock-pill.is-mismatch{border-color:#f97316!important;border-style:dashed;background:#fff7ed!important;color:#c2410c!important}.auto-note-lock-pill.is-flagged{border-color:#facc15!important;background:#fefce8!important;color:#854d0e!important}.position-lock-control{position:relative;display:inline-flex;align-items:stretch}.position-lock-control .lock-stop-btn{border-radius:7px 0 0 7px}.position-lock-menu-toggle{width:25px;padding:0;border:1px solid #d5dbe3;border-left:0;border-radius:0 7px 7px 0;background:#fff;color:#64748b;cursor:pointer}.position-lock-menu{position:absolute;left:0;top:calc(100% + 5px);z-index:40;min-width:130px;overflow:hidden;border:1px solid var(--border-strong);border-radius:7px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.16)}.position-lock-menu button{width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--border);background:#fff;color:#334155;font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.position-lock-menu button:last-child{border-bottom:0}.position-lock-menu button:first-child:hover{background:#fff3e0;color:#9a3412}.position-lock-menu button:last-child:hover{background:#f5f3ff;color:#6d28d9}.constraint-inline-editor{margin:10px -12px -10px;border-top:1px solid var(--border-strong);border-radius:0 0 8px 8px;background:#f8fafc}.constraint-editor-footer,.constraint-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px}.constraint-editor-heading{border-bottom:1px solid #e8edf3}.constraint-editor-heading strong{font-size:.82rem}.constraint-editor-heading span{color:var(--muted);font-size:.72rem}.constraint-editor-rows{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.constraint-draft-row{display:flex;align-items:center;gap:9px;min-width:0}.constraint-position-value{width:min(190px,100%);min-height:30px;padding:4px 8px!important}.constraint-draft-row.is-empty{min-height:34px;padding:4px 0}.constraint-mode-label{min-width:70px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.constraint-mode-label.required{color:#c2410c}.constraint-mode-label.preferred{color:#7c3aed}.constraint-add-row,.constraint-clear-all,.constraint-clear-row{border:0;background:transparent;color:#256f7d;font:inherit;font-size:.74rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.constraint-clear-all,.constraint-clear-row{color:#c2410c}.constraint-editor-footer{border-top:1px solid #e8edf3}.time-draft-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;row-gap:0}.constraint-inline-editor[data-kind=time] .constraint-draft-row+.constraint-draft-row{margin-top:14px}.constraint-row-heading{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-top:4px}.time-slider-labels{grid-column:2;display:flex;justify-content:space-between;gap:12px}.time-slider-labels label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.7rem}.time-slider-labels input{width:104px;min-height:28px;padding:3px 6px!important}.time-range-slider{position:relative;grid-column:2;height:26px;margin:-6px 8px 0}.time-range-track{position:absolute;left:0;right:0;top:11px;height:4px;overflow:hidden;border-radius:999px;background:#dbe2ea}.time-range-track span{position:absolute;top:0;height:100%;border-radius:inherit;background:#f59e0b}.time-range-slider.preferred .time-range-track span{background:#8b5cf6}.time-range-slider input[type=range]{position:absolute;inset:0;width:100%;height:26px;padding:0!important;margin:0;border:0;background:transparent;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.time-range-slider input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}.time-range-slider input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px;border:2px solid #fff;border-radius:50%;background:#f59e0b;box-shadow:0 1px 5px rgba(15,23,42,.3);cursor:grab;pointer-events:auto;-webkit-appearance:none;appearance:none}.time-range-slider.preferred input[type=range]::-webkit-slider-thumb{background:#8b5cf6}.time-slider-edge-labels{grid-column:2;display:flex;justify-content:space-between;padding:0 8px;color:#94a3b8;font-size:.64rem}.required-time-window-selector{display:grid;gap:7px;min-width:0}.required-time-window-selector .time-range-slider,.required-time-window-selector .time-slider-edge-labels,.required-time-window-selector .time-slider-labels{grid-column:auto}.required-time-window-selector .time-slider-labels{gap:10px}.required-time-window-selector .time-slider-labels label{display:grid;flex:1 1 0;gap:6px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.required-time-window-selector .time-slider-labels input{width:100%;min-height:34px;padding:.45rem .6rem!important}.required-time-window-selector .time-range-slider{height:30px;margin:0 8px}.required-time-window-selector .time-range-track{cursor:pointer}.required-time-window-selector .time-range-handle,.required-time-window-selector .time-range-slider input[type=range]::-webkit-slider-thumb,.required-time-window-selector .time-range-track span{background:var(--accent-2)}.required-time-window-selector .time-range-handle{position:absolute;top:50%;z-index:2;width:20px;height:20px;padding:0;margin:0;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px rgba(15,23,42,.3);cursor:grab;transform:translate(-50%,-50%)}.required-time-window-selector .time-range-handle.is-end{z-index:3}.required-time-window-selector .time-range-handle:active{cursor:grabbing}.required-time-window-selector .time-range-handle:focus-visible{outline:3px solid rgba(37,111,125,.24);outline-offset:3px}.required-time-window-selector .time-range-slider input[type=range]:disabled::-webkit-slider-thumb{cursor:not-allowed;opacity:.55}.required-time-window-selector .time-range-handle:disabled,.required-time-window-selector .time-range-slider.is-disabled .time-range-track{cursor:not-allowed}.required-time-window-selector .time-range-handle:disabled{opacity:.55}.required-time-window-selector .time-slider-edge-labels{color:#94a3b8;font-size:.68rem;font-weight:700}.settings-fields-grid .required-time-window-selector span{letter-spacing:0;text-transform:none}.settings-fields-grid .required-time-window-selector .time-slider-labels label>span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.settings-time-window-field{grid-column:span 2}.settings-time-window-selector{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.settings-time-window-selector .time-range-slider{margin-top:2px}.profile-lock-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;font:inherit;font-size:.72rem;cursor:pointer}.constraint-origin-badge{padding:1px 5px;border-radius:999px;background:hsla(0,0%,100%,.72);color:inherit;font-weight:800}.constraint-separator,.route-preference-impact-separator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:.72em;color:currentColor;font-size:1.45em;font-weight:900;line-height:1;opacity:.95;transform:translateY(-.01em)}.constraint-label-part{display:inline-flex;align-items:center}.constraint-status-word,.constraint-strength-word{font-weight:800}.profile-pill-switch{width:22px;height:12px;position:relative;margin-left:3px;border-radius:999px;background:currentColor;opacity:.52}.profile-pill-switch span{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#fff}.profile-lock-pill.is-ignored{border-color:#fda4af;border-style:dashed;background:#fff1f2;color:#be123c;opacity:1}.profile-lock-pill.is-ignored .profile-pill-switch span{right:12px}.route-tw-label{gap:5px;font-size:.78rem;color:var(--muted);white-space:nowrap}.route-position-label,.route-tw-label{display:flex;align-items:center}.route-position-label select{width:120px;padding:.3rem .5rem;font-size:.82rem}.route-tw-label input{width:110px;padding:.3rem .5rem;font-size:.82rem}.route-stop-dur{font-size:.78rem;font-weight:500;color:var(--muted);white-space:nowrap}.route-stop-notes{font-size:.8rem;color:#c2410c;font-weight:700;margin-top:3px;overflow-wrap:anywhere;white-space:pre-wrap}.route-drive-divider{display:flex;align-items:center;justify-content:center;gap:8px;min-height:30px;padding:4px 8px;color:var(--muted);font-size:.8rem;transition:opacity .18s ease,transform .18s ease}.route-drive-divider.is-updating{opacity:.74}.route-drive-divider.is-pending{pointer-events:none}.route-drive-pending-pill{display:inline-flex;align-items:center;justify-content:center;min-width:104px;color:#64748b;background:#eef2f7;border-color:#cbd5e1}.route-boundary-break{display:flex;align-items:center;justify-content:center;position:relative;min-height:38px;margin:0}.route-boundary-break.has-travel{flex-direction:column;align-items:stretch;gap:0;margin:0}.route-boundary-break.has-travel .route-drive-divider{position:relative;z-index:1;align-self:center;width:auto;margin:0;padding:4px 8px;min-height:30px}.route-boundary-break.has-travel .route-boundary-card+.route-drive-divider{margin-bottom:-7px}.route-boundary-break.has-travel .route-boundary-line+.route-drive-divider{margin-top:-7px}.route-boundary-break.has-travel .route-boundary-line{display:none}.route-cards>*+*{margin-top:var(--route-card-gap)}.route-cards>.route-boundary-break.has-travel,.route-cards>.route-boundary-break.has-travel+.route-card{margin-top:0}.route-boundary-line{position:absolute;inset:0 auto;width:1px;background:#d5dbe3}.route-boundary-add{position:relative;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;cursor:pointer;font-size:.76rem;font-weight:900;min-height:28px;padding:0 12px;box-shadow:0 1px 2px rgba(15,23,42,.08)}.route-boundary-add:hover{background:#f8fafc;border-color:#94a3b8;color:#334155}.route-boundary-card{position:relative;display:flex;align-items:flex-start;gap:8px;width:min(1180px,100%);max-width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:9px 10px;color:#334155;box-shadow:0 1px 2px rgba(15,23,42,.06)}.route-boundary-main{display:grid;gap:7px;min-width:0;flex:1}.route-boundary-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-boundary-title span{display:inline-flex;align-items:center;min-height:20px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:.68rem;font-weight:900;padding:0 8px;text-transform:uppercase}.route-boundary-note,.route-boundary-title em{color:#64748b;font-size:.74rem;font-style:normal;font-weight:800}.route-boundary-actions{display:flex;flex-wrap:wrap;gap:6px}.route-boundary-chip{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#475569;cursor:pointer;font-size:.68rem;font-weight:900;min-height:30px;padding:0 9px}.route-boundary-chip:hover{background:#f1f5f9;color:#334155}.route-boundary-controls{flex-wrap:wrap;gap:8px 10px}.route-boundary-control-slot,.route-boundary-controls{display:flex;align-items:flex-end;max-width:100%;min-width:0}.route-boundary-control-slot.has-chip{flex:0 0 auto}.route-boundary-control-slot.has-field,.route-boundary-field{min-width:0;width:100%}.route-boundary-duration-slot.has-field,.route-boundary-minimum-slot.has-field{flex:0 1 190px;max-width:225px;min-width:min(156px,100%)}.route-boundary-location-slot.has-field{flex:1 1 380px;min-width:min(260px,100%)}.route-boundary-field{display:grid;gap:3px;min-width:0}.route-boundary-field-label{color:#47515d;font-size:.62rem;font-weight:800;letter-spacing:.04em;line-height:1.2;min-width:0;text-transform:uppercase}.route-boundary-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0;width:100%}.route-boundary-clear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:30px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#64748b;cursor:pointer;font-size:.9rem;line-height:1}.route-boundary-clear:hover{background:#f8fafc;color:#334155}.route-boundary-controls label{display:grid;gap:3px;color:#47515d;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.route-boundary-controls input{width:100%;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font-size:.74rem;font-weight:700;line-height:1.2;min-height:30px;padding:.22rem .42rem}.route-boundary-field .route-break-duration-wrap{width:100%}.route-break-item{padding:10px 12px}.route-break-item,.route-context-item{border:1px solid #aab3bf;border-radius:8px;background:#dfe4ea;color:#30343a}.route-context-item{padding:8px 10px}.route-context-item+.route-context-item,.route-context-item+.route-item,.route-item+.route-context-item{margin-top:4px}.route-break-header,.route-context-item-header{display:flex;align-items:flex-start;gap:8px}.route-break-icon,.route-context-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:20px;padding:0 8px;border-radius:999px;background:#d7dadd;color:#303234;font-size:.64rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.route-break-main,.route-context-main{display:grid;gap:6px;min-width:0;flex:1}.route-break-title,.route-context-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:22px}.route-context-title strong{color:#24282d;font-size:.78rem}.route-break-title span,.route-context-title span{color:#47515d;font-size:.74rem;font-weight:800}.route-break-included-drive{color:#24282d!important;font-weight:800}.route-break-controls,.route-context-controls{display:grid;grid-template-columns:minmax(76px,104px) minmax(0,1fr);gap:7px}.route-context-controls{grid-template-columns:minmax(0,1fr)}.route-context-controls.has-mode{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr)}.route-break-controls label,.route-context-controls label{display:grid;gap:3px;color:#47515d;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.route-break-controls input,.route-context-controls input,.route-context-controls select{width:100%;border:1px solid var(--border);border-radius:6px;background:#fff;padding:.22rem .42rem;color:var(--ink);font-size:.74rem;font-weight:700;line-height:1.2;min-height:30px}.route-break-duration-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.route-break-duration-wrap input{min-width:0;padding-right:.42rem}.route-break-duration-wrap span{color:#5f6874;font-size:.68rem;font-weight:800;letter-spacing:0;pointer-events:none;text-transform:none}.remove-break-btn,.remove-context-btn{width:22px;height:22px;border:1px solid var(--border);border-radius:50%;background:#fff;color:#64748b;font-size:.86rem;line-height:1;cursor:pointer;box-shadow:none}.remove-break-btn:hover,.remove-context-btn:hover{border-color:#cbd5e1;background:#f8fafc;color:#334155}.route-break-warning{color:#8a3a17;font-size:.78rem;font-weight:800}.route-stops-container.is-reordering .route-drive-divider{opacity:0}.route-order-summary{border:1px solid var(--border);border-radius:8px;background:#fff;padding:14px 16px;margin-bottom:0;max-height:min(52vh,620px);overflow:auto}.route-order-summary h4{margin:0 0 10px;font-size:.95rem;font-weight:600;color:#475569}.route-order-list{display:flex;flex-direction:column;gap:10px}.route-order-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start}.route-order-num{width:24px;height:24px;border-radius:50%;background:#eef2f7;border:1px solid #d9e1ec;color:#1f2937;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800}.route-order-body{min-width:0}.route-order-title{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;color:#526075;font-size:.88rem;line-height:1.35}.route-order-title strong{color:#334155;font-weight:800}.route-order-note{margin-top:2px;color:#c2410c;font-size:.84rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere;white-space:pre-wrap}.route-order-address{color:#64748b;font-size:.82rem;line-height:1.35;margin-top:2px}.route-order-drive-pill{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;margin-top:7px;padding:4px 11px;border-radius:999px;border:1px solid #b7d8fb;background:#dff0ff;color:#174e7a;font-size:.8rem;font-weight:600}.constraint-pill,.drive-time,.wait-time{padding:3px 10px}.drive-leg-control{position:relative;display:inline-flex;align-items:center}.drive-time.drive-leg-pill{cursor:pointer;font-family:inherit;line-height:1.2;-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap}.appt-travel-divider .drive-leg-pill{pointer-events:auto}.drive-time.drive-leg-pill:hover{background:#cce8ff;border-color:#7bc2f4}.drive-time.drive-leg-pill.is-selected{color:#fff;background:#075985;border-color:#00d5ff;box-shadow:0 0 0 2px rgba(0,213,255,.28),0 2px 8px rgba(7,89,133,.24)}.drive-leg-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:200;display:flex;flex-direction:column;align-items:center;gap:6px;width:240px;padding:6px 8px;border-radius:6px;background:#111827;color:#fff;font-size:.72rem;font-weight:600;line-height:1.3;text-align:center;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease .5s,transform .12s ease .5s,visibility 0s linear .62s}.drive-leg-tooltip-dismiss{border:0;border-radius:5px;background:#fff;color:#0f172a;padding:3px 8px;cursor:pointer;font-size:.72rem;font-weight:700}.drive-leg-tooltip-dismiss:hover{background:#dcefff}.drive-leg-control:hover .drive-leg-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%);transition-delay:2s,2s,0s}.drive-leg-control.is-tooltip-disabled .drive-leg-tooltip{display:none}.route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}.route-metrics .metric{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:86px;text-align:center}.route-metrics .metric span{margin-bottom:6px}.route-add-context-card{position:relative;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:12px;border-color:#aab3bf;background:#dfe4ea}.route-add-context-card span{margin-bottom:0;color:#47515d;font-weight:800}.route-add-context-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border:1px solid #aab3bf;border-radius:50%;background:#fff;color:#30343a;font-family:inherit;font-size:1.15rem;font-weight:800;line-height:1;cursor:pointer}.route-add-context-toggle:hover{border-color:#8f9aa7;background:#f8fafc}.route-add-context-menu{position:absolute;top:calc(100% + 6px);right:8px;z-index:30;display:grid;gap:4px;min-width:150px;padding:6px;border:1px solid #aab3bf;border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.18)}.route-add-context-menu button{width:100%;border:0;border-radius:6px;background:transparent;padding:7px 8px;color:#30343a;font:inherit;font-size:.8rem;font-weight:800;text-align:left;cursor:pointer}.route-add-context-menu button:hover{background:#eef2f6}.route-add-context-menu button:disabled{color:#94a3b8;cursor:not-allowed}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.3em;font-weight:700}.eyebrow,.subhead{color:var(--muted)}.subhead{margin-top:10px;max-width:520px;line-height:1.5}.app-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:24px;align-items:start}.panel{display:flex;flex-direction:column;gap:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:18px;box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.card-header h2{font-size:1.2rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:8px;font-size:.86rem;color:var(--muted)}.field>span{font-weight:600;color:var(--ink)}.inline{display:flex;gap:10px;align-items:center}.toggle-row{display:flex;flex-wrap:wrap;gap:12px}.toggle{display:inline-flex;align-items:center;gap:7px;padding:4px 6px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:.82rem;color:#475569}.toggle input{display:none}.toggle-ui{width:30px;height:16px;background:#dbe3ec;border-radius:999px;position:relative;transition:background .2s ease}.toggle-ui:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;top:2px;left:2px;background:#fff;box-shadow:0 2px 4px rgba(15,23,42,.2);transition:transform .2s ease}.toggle input:checked+.toggle-ui{background:var(--accent-2)}.toggle input:checked+.toggle-ui:after{transform:translateX(14px)}.addresses-list{gap:14px}.address-card,.addresses-list{display:flex;flex-direction:column}.address-card{background:var(--surface-2);border-radius:16px;padding:14px;border:1px solid var(--border);gap:12px}.address-card:focus-within{border-color:#7dd3c7;box-shadow:0 0 0 2px rgba(15,118,110,.18)}.address-card.is-locked{border-color:#7dd3a7;background:#effdf5}.address-card.has-diagnostic{border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.18)}.has-diagnostic-control{border-color:#f97316!important;background:#fff7ed!important}.mini-field.has-active-constraint,.mini-field.has-diagnostic-control{border:1px solid #f97316;border-radius:10px;padding:8px}.mini-field.has-active-constraint{background:#fff7ed}.mini-field.has-active-constraint input,.mini-field.has-active-constraint select{border-color:#fb923c;background:#fffaf5}.address-head{display:grid;grid-template-columns:26px 42px minmax(0,1fr) auto;gap:12px;align-items:center}.appointment-main{min-width:0}.appointment-title-row{display:flex;align-items:baseline;gap:10px;min-width:0}.appointment-title-row strong{color:#c84f70;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-time{min-width:74px;color:#242b36;font-weight:600}.appointment-address{color:#334155;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drag-handle{display:inline-block;width:24px;height:24px;border-radius:8px;border:1px solid var(--border-strong);background:repeating-linear-gradient(90deg,#a8b3c2,#a8b3c2 2px,transparent 0,transparent 5px);cursor:grab}.stop-index{font-weight:700;color:var(--muted)}.address-input{background:#fff}.address-input-wrap,.places-input-wrap{position:relative;min-width:0}.place-suggestions{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;display:none;max-height:240px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:12px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.16)}.place-suggestions.is-open{display:block}.place-suggestion{width:100%;padding:.72rem .85rem;border:0;border-bottom:1px solid var(--border);background:#fff;color:var(--ink);cursor:pointer;font-size:.9rem;line-height:1.35;text-align:left}.place-suggestion:last-child{border-bottom:0}.place-suggestion.is-active,.place-suggestion:hover{background:#f8fafc;color:#0f766e}.saved-location-suggestion-heading{padding:.48rem .85rem .32rem;background:#f8fafc;border-bottom:1px solid var(--border);color:#64748b;font-size:.66rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.saved-location-suggestion{display:grid;gap:2px}.saved-location-suggestion span{color:#242b36;font-weight:800}.saved-location-suggestion small{color:#64748b;font-size:.78rem;font-weight:650;line-height:1.3}.mini-btn{border-radius:10px;padding:.45rem .8rem;border:1px solid var(--border);background:#fff;font-size:.82rem;font-weight:600;cursor:pointer}.mini-btn.active{background:#e6fbf8;border-color:#a7ebe0;color:#0b4d46}.route-stop-controls .is-active-constraint-control{border-color:#f59e0b;background:#fff7ed;color:#9a3412;box-shadow:0 0 0 2px rgba(245,158,11,.12)}.route-stop-controls .is-active-constraint-control:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.clear-constraints-btn{color:#64748b}.clear-constraints-btn.has-active-constraints{color:#9a3412;border-color:#fdba74;background:#fffbeb}.clear-constraints-btn.has-active-constraints:hover{background:#ffedd5}.clear-constraints-btn:disabled{cursor:not-allowed;opacity:.45}.mini-btn.danger{background:#ffe7e5;border-color:#f5c1b8;color:#9a2210}.address-body{display:flex;flex-wrap:wrap;gap:12px}.mini-field{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted);min-width:150px;flex:1 1 180px}.mini-field span{font-weight:600;color:var(--ink)}.readonly-field{flex:0 1 170px}.notes-field{flex:2 1 280px}.readonly-value{min-height:38px;display:flex;align-items:center;padding:.56rem .7rem;border:1px solid #d9dee8;border-radius:6px;background:#f8fafc;color:#475569;font-size:.88rem;line-height:1.35}.notes-field .readonly-value{color:#c2410c;font-weight:700}.time-window .inline input{min-width:110px}.action-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.summary-card{display:block}.summary-actions{display:inline-flex;align-items:center;gap:10px}.btn-small{padding:.45rem .9rem;font-size:.85rem}.is-hidden{display:none}.loading-overlay{position:fixed;inset:0;background:rgba(15,23,42,.28);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:999}.loading-overlay.is-active{opacity:1;pointer-events:auto}.loading-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px 26px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:220px}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--border-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}.loading-text{font-weight:600;letter-spacing:.02em}.summary-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.summary-notice{margin-bottom:12px;font-size:.9rem}.summary-notice.is-error{color:#9a2210}.diagnostic-panel{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px;color:#7c2d12;margin-bottom:14px}.diagnostic-title{font-weight:800;color:#9a3412;margin-bottom:6px}.diagnostic-panel p{font-size:.9rem}.diagnostic-related{display:inline-flex;margin-top:10px;padding:4px 10px;border-radius:999px;background:#ffedd5;border:1px solid #fed7aa;font-size:.78rem;font-weight:700}.diagnostic-suggestions{margin-top:12px}.diagnostic-suggestions span{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px;text-transform:uppercase}.diagnostic-suggestions ul{margin:0 0 0 18px;padding:0;font-size:.88rem}.summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric{background:var(--surface-2);border-radius:14px;padding:12px;border:1px solid var(--border)}.metric span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:6px}.metric strong{font-size:1.1rem}.summary-list ol{margin:8px 0 0;padding:0;color:var(--muted);line-height:1.5;list-style:none}.summary-list li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:10px}.summary-stop-number{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#eef2f7;border:1px solid var(--border);color:var(--ink);font-size:.78rem;font-weight:800;line-height:1}.summary-stop-content{min-width:0}.stop-line{color:var(--muted);font-size:.9rem}.stop-line,.summary-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-address{margin-top:2px;color:#64748b;font-size:.82rem}.stop-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.constraint-pill,.drive-time,.wait-time{font-size:.78rem;font-weight:600;border-radius:999px;padding:4px 10px;display:inline-flex;align-items:center;justify-content:center}.drive-time{color:#0b4a6f;background:#dcefff;border:1px solid #b9dcfb}.wait-time{color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd}.constraint-pill{color:#9a3412;background:#ffedd5;border:1px solid #fdba74}.map-card{padding:0;overflow:hidden;margin-bottom:12px}.map-frame{height:520px;position:relative;background:#e8eef5}.map-canvas{width:100%;height:520px;display:block}.map-canvas .gm-bundled-control.gm-bundled-control-on-bottom,.map-canvas .gmnoprint.gm-bundled-control{margin-bottom:45px!important}.map-stop-label{transform:translate(-50%,calc(-100% - 38px));border:1px solid rgba(15,23,42,.12);border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.16);color:#334155;font-size:.86rem;font-weight:700;line-height:1;padding:10px 14px;pointer-events:none;white-space:nowrap}.map-stop-label,.map-stop-label:after{position:absolute;background:hsla(0,0%,100%,.96)}.map-stop-label:after{content:"";left:50%;bottom:-7px;width:12px;height:12px;border-right:1px solid rgba(15,23,42,.12);border-bottom:1px solid rgba(15,23,42,.12);transform:translateX(-50%) rotate(45deg)}.map-reset-control{margin:0 0 15px;padding:7px 13px;border:0;border-radius:2px;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.28);color:#b24555;cursor:pointer;font:500 .86rem Arial,sans-serif;text-decoration:underline;white-space:nowrap}.map-reset-control:hover{background:#f8fafc;color:#8c2e3d}.map-reset-control:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.empty-state{padding:16px;border-radius:14px;border:1px dashed var(--border-strong);background:#fff;color:var(--muted);font-size:.95rem}.app-footer{display:flex;justify-content:flex-end;margin-top:18px}.alert{padding:.75rem 1rem;border-radius:12px;font-size:.9rem;margin-bottom:12px;border:1px solid transparent}.alert-error{background:#ffe7e5;border-color:#f5c1b8;color:#7a1b0c}.alert-success{background:#e8fff2;border-color:#b7f0cf;color:#1f5a39}.auth-shell{width:min(1040px,92vw);margin:0 auto;padding:64px 0;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;animation:fadeIn .8s ease both}.auth-intro{display:flex;flex-direction:column;gap:16px}.auth-intro h1{font-size:clamp(2.2rem,4vw,3.2rem)}.auth-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.highlight{padding:12px;border-radius:14px;background:hsla(0,0%,100%,.7);border:1px solid hsla(0,0%,100%,.9);font-size:.9rem}.auth-card{background:var(--surface);border-radius:20px;padding:28px;box-shadow:var(--shadow);border:1px solid var(--border)}.auth-card h2{margin-bottom:12px}.auth-card form{display:flex;flex-direction:column;gap:12px}.hint{font-size:.85rem;color:var(--muted);margin-top:10px}.admin-shell{width:min(1040px,90vw);margin:0 auto;padding:64px 0;display:flex;flex-direction:column;gap:20px;animation:fadeIn .8s ease both}.admin-card{padding:24px}.admin-card form{display:flex;flex-direction:column;gap:12px}.admin-card h2{margin-bottom:12px;font-size:1rem}.admin-card .admin-user-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) minmax(150px,1fr) 120px auto;gap:10px;align-items:center}.admin-users-list{display:grid;gap:10px;margin-top:18px}.admin-user-row{display:grid;grid-template-columns:minmax(180px,1fr) 120px 90px minmax(150px,.8fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.admin-user-row em,.admin-user-row span,.admin-user-row strong{display:block}.admin-user-row span{color:var(--muted);font-size:.82rem}.admin-user-row em{margin-top:3px;color:#9a3412;font-size:.76rem;font-style:normal;font-weight:800}.admin-checkbox{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem;font-weight:800}.admin-checkbox input{width:16px;height:16px;padding:0}@media (max-width:900px){.relative-range-grid,.route-context-panel,.route-planning-fields-grid,.route-planning-location-grid,.settings-compact-toggle-grid,.settings-fields-grid{grid-template-columns:1fr}.relative-range-controls{grid-template-columns:minmax(70px,.45fr) minmax(160px,1fr) auto minmax(112px,.65fr)}.settings-time-window-field{grid-column:auto}.route-planning-fields-grid .route-break-default-field,.route-planning-fields-grid .route-preference-limit-field,.route-planning-fields-grid .settings-time-window-field{grid-column:auto;grid-row:auto}.route-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.route-boundary-controls,.route-break-controls,.route-context-controls.has-mode{grid-template-columns:1fr}.route-boundary-controls.has-duration.has-location,.route-boundary-controls.has-duration.has-minimum.has-location,.route-boundary-controls.has-duration:not(.has-location),.route-boundary-controls.has-location:not(.has-duration),.route-boundary-controls:not(.has-duration):not(.has-location){grid-template-columns:1fr;justify-content:stretch}}@media (max-width:560px){.relative-range-controls{grid-template-columns:minmax(68px,.45fr) minmax(0,1fr)}.relative-range-controls>span{display:none}.relative-range-controls input[type=time]{grid-column:1/-1}}@media (max-width:900px){.admin-card .admin-user-form,.admin-user-row{grid-template-columns:1fr}}.admin-actions{display:flex;justify-content:flex-start;gap:12px;margin-top:12px}.reveal{opacity:0;animation:riseIn .45s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.route-overview-panel{display:flex;flex-direction:column;gap:8px;margin-bottom:0}.route-overview-panel:empty{display:none}.route-overview-card{background:var(--surface);border-radius:6px;padding:10px 14px;display:block;border:1px solid var(--border);border-left:4px solid var(--route-color,#5b5bd6)}.route-overview-card.is-active{border-color:#b7d8fb;border-left-color:var(--route-color,#5b5bd6);background:#fbfdff}.route-overview-header{display:flex;align-items:center;gap:12px;margin-bottom:0}.route-overview-body{margin-top:10px}.route-overview-toggle{margin-left:auto;flex-shrink:0;background:none;border:none;padding:4px;cursor:pointer;color:var(--muted);display:flex;align-items:center;border-radius:4px;transition:color .15s}.route-overview-toggle:hover{color:var(--text)}.chevron-icon{width:16px;height:16px;transition:transform .2s ease}.route-overview-toggle[aria-expanded=true] .chevron-icon{transform:rotate(180deg)}.map-filter-bar:empty{display:none}.map-filter-bar{padding:10px 18px;border-bottom:1px solid var(--border);background:#fff}.route-map-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.route-map-filter-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:#fff;color:#475569;font-size:.82rem;font-weight:700;padding:6px 10px;cursor:pointer}.route-map-filter-btn:hover{border-color:#b7d8fb;color:#174e7a}.route-map-filter-btn.is-active{border-color:var(--route-color,#5b5bd6);background:#eef6ff;color:#102a43}.route-overview-name{font-weight:600;font-size:.9rem;min-width:64px}.route-overview-stats{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);flex:1}.route-overview-stats span strong{color:var(--text);font-weight:600}.dashboard-calendar-view{display:flex;flex-direction:column;gap:12px;flex:1;height:100%;min-height:0}.calendar-toolbar{flex:0 0 auto;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.05)}.calendar-actions,.calendar-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-nav h1{min-width:180px;margin-left:8px;font-size:1.05rem;font-weight:700;color:#0f172a}.calendar-status{color:#64748b;font-size:.82rem}.calendar-status.is-error{flex:0 0 auto;padding:8px 10px;border:1px solid #fecaca;border-radius:6px;background:#fef2f2;color:#991b1b;font-weight:700}.calendar-filter{position:relative}.calendar-filter summary{list-style:none;min-width:146px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:#475569;font-weight:700;cursor:pointer}.calendar-filter summary::-webkit-details-marker{display:none}.calendar-filter[open] summary{border-color:#7dd3a7;color:#0b4d46}.calendar-filter-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(320px,86vw);max-height:380px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.14)}.calendar-filter-menu button,.calendar-filter-menu label{width:100%;min-height:36px;display:flex;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:6px;background:transparent;color:#334155;font-size:.9rem;text-align:left;cursor:pointer}.calendar-filter-menu button.is-selected,.calendar-filter-menu button:hover,.calendar-filter-menu label:hover{background:#ecfdf5;color:#0f5132}.calendar-filter-menu input{width:16px;height:16px;padding:0}.calendar-timeline-shell{flex:1;height:100%;min-height:0;display:grid;grid-template-columns:74px minmax(0,1fr);border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 6px 16px rgba(15,23,42,.05)}.calendar-time-axis{position:relative;z-index:8;border-right:1px solid var(--border);background:#fff;overflow:hidden}.calendar-time-axis-body{position:relative}.calendar-time-axis span{position:absolute;right:10px;color:#64748b;font-size:.72rem;font-weight:700;white-space:nowrap}.calendar-days-grid{min-width:760px;display:grid;grid-template-rows:42px 46px auto;overflow:auto}.calendar-date-group-header,.calendar-lane-body,.calendar-lane-header{border-right:1px solid var(--border)}.calendar-date-group-header{position:sticky;top:0;z-index:8;min-width:0;height:42px;display:flex;border-bottom:1px solid var(--border);background:#fff;color:#64748b}.calendar-date-group-header,.calendar-date-jump{flex-direction:column;align-items:center;justify-content:center;gap:1px}.calendar-date-jump{min-width:58px;min-height:36px;display:inline-flex;padding:3px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:inherit;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.calendar-date-jump:focus-visible,.calendar-date-jump:hover{border-color:#d8e3ee;background:#f8fafc;box-shadow:0 6px 14px rgba(15,23,42,.1);color:#0f172a;outline:none}.calendar-date-group-header strong{color:#0f172a;font-size:1.15rem;line-height:1}.calendar-lane-header{position:sticky;top:42px;z-index:7;min-width:0;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px 6px;border-bottom:1px solid var(--border);background:#fbfcfe}.calendar-lane-body:last-child,.calendar-lane-header:last-of-type{border-right:0}.calendar-lane-header em,.calendar-lane-header small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.76rem;font-style:normal;line-height:1.05}.calendar-lane-header small{color:#475569}.calendar-lane-timezone-badge{max-width:100%;overflow:hidden;padding:1px 5px;font-size:.56rem;text-overflow:ellipsis}.calendar-day-header{position:sticky;top:0;z-index:6;height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-bottom:1px solid var(--border);background:#fff;color:#64748b}.calendar-day-header strong{color:#0f172a;font-size:1.25rem;line-height:1}.calendar-day-header em,.calendar-day-header small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.78rem;font-style:normal;line-height:1.1}.calendar-day-header small{color:#475569}.calendar-day-body{position:relative;min-width:0;background:linear-gradient(90deg,rgba(226,232,240,.55) 0 1px,transparent 1px),#fbfcfe}.calendar-slot-line{position:absolute;left:0;right:0;height:1px;background:#e2e8f0}.calendar-slot-line:nth-child(4n+1){background:#cbd5e1}.calendar-event{position:absolute;z-index:2;min-height:26px;overflow:visible;padding:4px 6px 5px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#0f172a;box-shadow:0 8px 16px rgba(15,23,42,.08);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,min-height .16s ease,transform .16s ease}.calendar-event:hover{z-index:8;min-height:-moz-min-content;min-height:min-content;border-color:#94a3b8}.calendar-event.has-hidden-pills:focus-within,.calendar-event.has-hidden-pills:hover{z-index:30;min-height:-moz-min-content;min-height:min-content}.calendar-event:focus-visible{outline:2px solid rgba(37,111,125,.32);outline-offset:2px}.calendar-event.is-routed{background:linear-gradient(180deg,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 12%,#fff) 0,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 7%,#fff) 100%)}.calendar-event.is-in-route-group{border-color:color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 36%,#dbe3ef);border-radius:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 13%,#fff) 0,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 8%,#fff) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 15%,transparent)}.calendar-event.is-unrouted{border-color:#facc15;background:#fde047}.calendar-event.has-constraint{box-shadow:0 8px 16px rgba(15,23,42,.08)}.calendar-event.is-expanded{z-index:80!important;height:auto!important;min-height:172px;padding:7px 8px 8px;border-color:#256f7d;background:#fff;box-shadow:0 18px 38px rgba(15,23,42,.22);transform:translateY(-1px)}.calendar-event.is-routed.is-expanded{background:linear-gradient(180deg,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 7%,#fff) 0,color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 4%,#fff) 100%)}.calendar-event.is-expanded.is-unrouted{background:#fffde8}.calendar-event-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:.68rem;color:#0f3d66;line-height:1.15}.calendar-event-topline-meta{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:3px;min-width:0}.calendar-timezone-badge{max-width:98px;overflow:hidden;padding:1px 5px;font-size:.58rem;text-overflow:ellipsis}.calendar-event-name{margin-top:1px;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;font-weight:800;line-height:1.16}.calendar-event-name span{font-weight:700;color:#475569}.calendar-patient-name-link{max-width:100%;vertical-align:bottom}.calendar-event-notes,.calendar-patient-name-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-notes{margin-top:2px;color:#9a3412;font-size:.66rem;font-weight:700;line-height:1.15}.calendar-event.is-expanded .calendar-event-notes{overflow:visible;text-overflow:clip;white-space:pre-wrap;overflow-wrap:anywhere}.calendar-event-pills{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:3px;max-width:100%}.calendar-event-pills>span{display:inline-flex;max-width:100%;min-width:0;overflow:hidden;padding:1px 5px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.62rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.calendar-event.has-hidden-pills:not(:hover):not(:focus-within) .calendar-event-pills{flex-wrap:nowrap;overflow:hidden}.calendar-event.has-hidden-pills:not(:hover):not(:focus-within) .calendar-event-pills>span:nth-child(n+2):not(.calendar-event-more-indicator){display:none}.calendar-event.is-measuring-pills .calendar-event-pills{flex-wrap:wrap!important;overflow:visible!important}.calendar-event.is-measuring-pills .calendar-event-pills>span:not(.calendar-event-more-indicator){display:inline-flex!important}.calendar-event.is-measuring-pills .calendar-event-more-indicator{display:none!important}.calendar-event.has-hidden-pills:focus-within .calendar-event-pills,.calendar-event.has-hidden-pills:hover .calendar-event-pills{flex-wrap:wrap;overflow:visible}.calendar-event.has-hidden-pills:focus-within .calendar-event-pills>span,.calendar-event.has-hidden-pills:hover .calendar-event-pills>span{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.calendar-event-pills .calendar-event-more-indicator{position:relative;align-items:center;justify-content:center;flex:0 0 auto;width:17px;height:17px;padding:0;border-color:#cbd5e1;background:#fff;color:#475569}.calendar-event-pills .calendar-event-more-indicator:before{position:absolute;top:46%;left:50%;width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;content:"";transform:translate(-50%,-50%) rotate(45deg)}.calendar-event.has-hidden-pills:focus-within .calendar-event-more-indicator,.calendar-event.has-hidden-pills:hover .calendar-event-more-indicator{display:none}.calendar-event-expanded{display:grid;gap:7px;margin-top:8px;padding-top:7px;border-top:1px solid #e2e8f0}.calendar-event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.calendar-event-detail-block,.calendar-event-detail-grid span{min-width:0;padding:6px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.calendar-event-detail-block em,.calendar-event-detail-grid em{display:block;margin-bottom:2px;color:#64748b;font-size:.58rem;font-style:normal;font-weight:800;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}.calendar-event-detail-block strong,.calendar-event-detail-grid strong{display:block;color:#0f172a;font-size:.68rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.calendar-event-expanded-notes{color:#9a3412!important;white-space:pre-wrap}.calendar-event-expanded-pills{display:flex;flex-wrap:wrap;gap:4px}.calendar-event-expanded-pills>span{display:inline-flex;padding:2px 6px;border:1px solid #fed7aa;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.62rem;font-weight:800}.calendar-drive-pill{bottom:-14px;z-index:12}.calendar-drive-pill,.calendar-route-drive-pill{position:absolute;left:50%;transform:translateX(-50%);padding:2px 7px;border:1px solid #bfdbfe;border-radius:999px;background:#dbeafe;color:#174e7a;font-size:.62rem;font-weight:800;white-space:nowrap;box-shadow:0 2px 6px rgba(15,23,42,.14)}.calendar-route-drive-pill{z-index:6}.calendar-route-break-block{position:absolute;left:0;right:0;z-index:3;overflow:hidden;padding:3px 6px;border:1px solid #aab3bf;border-radius:6px;background:#dfe4ea;color:#30343a;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.55)}.calendar-route-break-topline{display:flex;align-items:baseline;gap:5px;min-width:0;color:#47515d;font-size:.62rem;font-weight:800;line-height:1.15;white-space:nowrap}.calendar-route-break-topline span{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:999px;background:#d7dadd;color:#303234;font-size:.58rem;letter-spacing:.02em;text-transform:uppercase}.calendar-route-break-topline strong{min-width:0;overflow:hidden;color:#24282d;text-overflow:ellipsis}.calendar-route-break-topline em{color:#5b6674;font-style:normal}.calendar-route-break-location,.calendar-route-break-note,.calendar-route-break-warning{margin-top:2px;overflow:hidden;color:#5b6674;font-size:.6rem;font-weight:750;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.calendar-route-break-warning{color:#8a3a17}.calendar-route-group{position:absolute;overflow:visible;border-left:5px solid var(--calendar-route-color,#5b5bd6);border-radius:8px;background:rgba(248,250,252,.72);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 36%,#fff)}.calendar-route-group:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border:1px solid color-mix(in srgb,var(--calendar-route-color,#5b5bd6) 36%,#fff);border-left:0;border-radius:0 8px 8px 0}.calendar-route-group .calendar-event{z-index:4}.calendar-route-group .calendar-event:hover{z-index:8}.calendar-route-group .calendar-event.is-expanded{z-index:80}.calendar-route-group .calendar-drive-pill{z-index:6}.calendar-route-group.has-expanded-event .calendar-drive-pill,.calendar-route-group.has-expanded-event .calendar-route-drive-pill{z-index:5}.calendar-month-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:1px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--border)}.calendar-month-header-cell{padding:7px 10px;background:#f8fafc;font-size:.69rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em;text-align:center}.calendar-month-day{min-height:165px;display:flex;flex-direction:column;gap:3px;padding:8px;background:#fff;color:#0f172a;text-align:left}.calendar-month-day:hover{background:#f8fafc}.calendar-month-day.is-muted{color:#94a3b8;background:#f8fafc}.calendar-month-day.is-today:hover{background:#e6f7f7}.calendar-month-day.is-today{background:#ecf9f9}.calendar-day-num{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex-shrink:0;border-radius:50%;font-size:.82rem;font-weight:800;color:inherit;margin-bottom:3px}.calendar-day-num.is-today{box-shadow:0 0 0 2px #256f7d}.calendar-month-day.is-muted .calendar-day-num{color:#94a3b8}.calendar-month-day em{display:flex;align-items:center;height:21px;overflow:hidden;padding:0 6px;border-radius:5px;background:#f1f5f9;color:#334155;font-size:.71rem;font-style:normal;font-weight:700}.calendar-month-day em>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-month-day em.is-unrouted{background:#fde047;color:#713f12}.calendar-month-day em.is-routed{border-left:3px solid #5b5bd6}.calendar-more-btn{align-self:flex-start;padding:2px 5px;border:none;border-radius:4px;background:transparent;color:#64748b;font-size:.71rem;font-weight:700;font-family:inherit;cursor:pointer;margin-top:1px;transition:background .15s,color .15s}.calendar-more-btn:hover{background:#f1f5f9;color:#0f172a}.calendar-more-backdrop{position:fixed;inset:0;z-index:59}.calendar-more-popup{position:fixed;z-index:60;width:268px;display:flex;flex-direction:column;background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:0 12px 32px rgba(15,23,42,.15);overflow:hidden}.calendar-more-popup-header{display:flex;align-items:center;gap:8px;padding:11px 14px 9px;border-bottom:1px solid var(--border)}.calendar-more-popup-day-name{flex:1;font-size:.75rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.calendar-more-popup-day-num{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f9;font-size:.95rem;font-weight:800;color:#0f172a}.calendar-more-popup-day-num.is-today{box-shadow:0 0 0 2px #256f7d;color:#256f7d;background:#e6fbf8}.calendar-more-popup-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:#94a3b8;font-size:1.1rem;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.calendar-more-popup-close:hover{background:#f1f5f9;color:#334155}.calendar-more-popup-events{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px;flex:1 1 auto;min-height:0;overflow-y:auto}.calendar-more-popup-events em{display:flex;align-items:center;height:23px;overflow:hidden;padding:0 7px;border-radius:5px;background:#f1f5f9;color:#334155;font-size:.78rem;font-style:normal;font-weight:700}.calendar-more-popup-events em>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-more-popup-events em.is-unrouted{background:#fde047;color:#713f12}.calendar-more-popup-events em.is-routed{border-left:3px solid #5b5bd6}.calendar-modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.46)}.calendar-settings-modal{width:min(430px,100%);max-height:92vh;overflow:visible;padding:22px 24px;border-radius:8px;background:#fff;box-shadow:0 28px 70px rgba(15,23,42,.28)}.calendar-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.calendar-modal-header h2{font-size:1rem}.calendar-modal-close{width:34px;height:34px;border:0;border-radius:6px;background:transparent;color:#475569;font-size:1.35rem;cursor:pointer}.calendar-excluded-days,.calendar-settings-modal>label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;color:#475569;font-size:.78rem;font-weight:700}.calendar-settings-modal input[type=number],.calendar-settings-modal input[type=time]{min-height:38px;padding:.45rem .7rem;font-size:.82rem}.calendar-settings-toggle{flex-direction:row!important;align-items:center;justify-content:space-between;min-height:38px}.calendar-settings-toggle input[type=checkbox]{width:16px;height:16px;padding:0;margin:0;border:0;background:transparent;box-shadow:none}.calendar-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.excluded-days-select{position:relative}.excluded-days-input{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;border:1px solid var(--border-strong);border-radius:7px;background:#fff;color:#334155;font-size:.82rem;cursor:pointer}.excluded-days-select.is-open .excluded-days-input{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.18)}.excluded-days-chips{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.excluded-day-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:6px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:700}.excluded-day-chip span{color:#64748b;cursor:pointer}.excluded-days-placeholder{color:#94a3b8;font-size:.8rem;font-weight:600}.excluded-days-search{color:#cbd5e1;font-size:.95rem}.excluded-days-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:90;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.14)}.excluded-days-menu button{width:100%;min-height:34px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border:0;background:#fff;color:#475569;font-size:.78rem;font-weight:700;text-align:left;cursor:pointer}.excluded-days-menu button.is-selected,.excluded-days-menu button:hover{background:#ede9fe;color:#5b21b6}.excluded-days-menu strong{color:#7c3aed}.content{--content-scale:0.85;font-size:calc(1rem * var(--content-scale))}.content .page-title-row{gap:calc(16px * var(--content-scale));margin-bottom:calc(18px * var(--content-scale))}.content .page-title-row h1{font-size:calc(1.45rem * var(--content-scale))}.content .card,.content .settings-section{border-radius:calc(6px * var(--content-scale));padding:calc(18px * var(--content-scale))}.content .tab-panel.card{border-top-left-radius:0}.content .map-card{padding:0}.content .card-header{gap:calc(16px * var(--content-scale));margin-bottom:calc(16px * var(--content-scale))}.content .card-header h2{font-size:calc(1.2rem * var(--content-scale))}.content input,.content select{padding:calc(.7rem * var(--content-scale)) calc(.85rem * var(--content-scale))}.content .btn,.content input,.content select{border-radius:calc(6px * var(--content-scale));font-size:calc(.95rem * var(--content-scale))}.content .btn{gap:calc(.5rem * var(--content-scale));padding:calc(.7rem * var(--content-scale)) calc(1.2rem * var(--content-scale))}.content .btn-small{padding:calc(.45rem * var(--content-scale)) calc(.9rem * var(--content-scale));font-size:calc(.85rem * var(--content-scale))}.content .icon-btn{width:calc(38px * var(--content-scale));height:calc(36px * var(--content-scale));border-radius:calc(6px * var(--content-scale));font-size:calc(1.25rem * var(--content-scale))}.content .appointment-toolbar{margin-bottom:calc(18px * var(--content-scale));padding:calc(14px * var(--content-scale)) calc(16px * var(--content-scale))}.content .toolbar-row{gap:calc(18px * var(--content-scale))}.content .toolbar-group{gap:calc(10px * var(--content-scale))}.content .toolbar-label{font-size:calc(.75rem * var(--content-scale))}.content .date-controls{gap:calc(8px * var(--content-scale))}.content .date-controls input{width:calc(230px * var(--content-scale))}.content .practitioner-select{min-width:calc(180px * var(--content-scale));max-width:calc(260px * var(--content-scale));padding:calc(.55rem * var(--content-scale)) calc(.8rem * var(--content-scale));font-size:calc(.88rem * var(--content-scale))}.content .toolbar-status{min-width:calc(140px * var(--content-scale));font-size:calc(.78rem * var(--content-scale))}.content .scheduler-grid{grid-template-columns:minmax(calc(480px * var(--content-scale)),1fr) minmax(calc(400px * var(--content-scale)),.72fr);gap:calc(24px * var(--content-scale))}.content .map-side{top:calc(-60px * var(--content-scale));padding-top:calc(46px * var(--content-scale))}.content .panel-tab{padding:calc(.72rem * var(--content-scale)) calc(1.35rem * var(--content-scale));border-radius:calc(8px * var(--content-scale)) calc(8px * var(--content-scale)) 0 0;font-size:calc(.9rem * var(--content-scale));margin-right:calc(6px * var(--content-scale))}.content .appt-list,.content .route-cards,.content .route-overview-panel,.content .unrouted-list{gap:calc(8px * var(--content-scale))}.content .appt-list-item{gap:calc(12px * var(--content-scale));padding:calc(10px * var(--content-scale)) calc(12px * var(--content-scale));border-radius:calc(10px * var(--content-scale))}.content .appt-list-item+.appt-list-item{margin-top:calc(4px * var(--content-scale))}.content .appt-time{min-width:calc(68px * var(--content-scale));font-size:calc(.85rem * var(--content-scale))}.content .appt-main .patient-name-link,.content .appt-main strong{font-size:calc(.92rem * var(--content-scale))}.content .appt-address,.content .appt-duration,.content .appt-notes,.content .appt-route-stats,.content .appt-total-label,.content .route-stop-address,.content .route-stop-count,.content .route-stop-time,.content .timezone-badge{font-size:calc(.82rem * var(--content-scale))}.content .appt-route-group{border-radius:calc(10px * var(--content-scale));padding:calc(10px * var(--content-scale));gap:calc(3px * var(--content-scale))}.content .appt-route-group-header{gap:calc(7px * var(--content-scale));padding-bottom:calc(4px * var(--content-scale));font-size:calc(.8rem * var(--content-scale))}.content .appt-route-break-card,.content .appt-route-context-card{border-radius:calc(8px * var(--content-scale));gap:calc(10px * var(--content-scale));padding:calc(7px * var(--content-scale)) calc(10px * var(--content-scale))}.content .appt-route-break-title strong,.content .appt-route-context-title strong{font-size:calc(.82rem * var(--content-scale))}.content .appt-route-break-location,.content .appt-route-break-title,.content .appt-route-break-warning,.content .appt-route-context-location,.content .appt-route-context-title{font-size:calc(.76rem * var(--content-scale))}.content .appt-total-card,.content .route-card,.content .route-stop-item,.content .unrouted-item{border-radius:calc(10px * var(--content-scale));padding:calc(10px * var(--content-scale)) calc(12px * var(--content-scale))}.content .route-break-item,.content .route-context-item{border-radius:calc(8px * var(--content-scale));padding:calc(7px * var(--content-scale)) calc(9px * var(--content-scale))}.content .route-item+.route-item{margin-top:calc(4px * var(--content-scale))}.content .route-card{padding:calc(14px * var(--content-scale))}.content .route-card-header{gap:calc(12px * var(--content-scale));margin-bottom:calc(10px * var(--content-scale))}.content .route-card-title strong{font-size:calc(1rem * var(--content-scale))}.content .route-metrics{gap:calc(8px * var(--content-scale));margin-bottom:calc(12px * var(--content-scale))}.content .metric{border-radius:calc(14px * var(--content-scale));padding:calc(12px * var(--content-scale))}.content .metric span{font-size:calc(.78rem * var(--content-scale));margin-bottom:calc(6px * var(--content-scale))}.content .metric strong{font-size:calc(1.1rem * var(--content-scale))}.content .route-add-context-toggle{width:calc(30px * var(--content-scale));height:calc(30px * var(--content-scale));font-size:calc(1.15rem * var(--content-scale))}.content .mini-btn,.content .route-position-label select,.content .route-start-time,.content .route-tw-label input{padding:calc(.45rem * var(--content-scale)) calc(.8rem * var(--content-scale));border-radius:calc(10px * var(--content-scale));font-size:calc(.82rem * var(--content-scale))}.content .route-start-time{padding:calc(.35rem * var(--content-scale)) calc(.6rem * var(--content-scale));font-size:calc(.85rem * var(--content-scale))}.content .route-position-label select{width:calc(120px * var(--content-scale))}.content .route-tw-label input{width:calc(110px * var(--content-scale))}.content .route-position-label,.content .route-stop-dur,.content .route-tw-label{font-size:calc(.78rem * var(--content-scale))}.content .route-stop-controls,.content .route-stop-header{gap:calc(10px * var(--content-scale))}.content .route-stop-controls{margin-top:calc(8px * var(--content-scale));padding-left:calc(54px * var(--content-scale))}.content .constraint-inline-editor{margin-top:calc(10px * var(--content-scale));margin-right:calc(-12px * var(--content-scale));margin-bottom:0;margin-left:calc(-12px * var(--content-scale))}.content .route-stop-item.has-open-editor{padding-bottom:0}.content .route-stop-name{gap:calc(8px * var(--content-scale));font-size:calc(.88rem * var(--content-scale))}.content .route-stop-num{width:calc(22px * var(--content-scale));height:calc(22px * var(--content-scale));font-size:calc(.75rem * var(--content-scale))}.content .route-stop-notes{font-size:calc(.8rem * var(--content-scale));margin-top:calc(3px * var(--content-scale))}.content .route-stop-drag-handle{font-size:calc(1.2rem * var(--content-scale));padding:0 calc(3px * var(--content-scale))}.content .remove-stop-btn{width:calc(22px * var(--content-scale));height:calc(22px * var(--content-scale));font-size:calc(.9rem * var(--content-scale))}.content .route-drive-divider{gap:calc(8px * var(--content-scale));padding:calc(4px * var(--content-scale)) calc(8px * var(--content-scale));font-size:calc(.8rem * var(--content-scale))}.content .route-order-summary{border-radius:calc(8px * var(--content-scale));padding:calc(14px * var(--content-scale)) calc(16px * var(--content-scale))}.content .route-order-summary h4{margin-bottom:calc(10px * var(--content-scale));font-size:calc(.95rem * var(--content-scale))}.content .route-order-list{gap:calc(10px * var(--content-scale))}.content .route-order-row{grid-template-columns:calc(28px * var(--content-scale)) minmax(0,1fr);gap:calc(8px * var(--content-scale))}.content .route-order-num{width:calc(24px * var(--content-scale));height:calc(24px * var(--content-scale));font-size:calc(.78rem * var(--content-scale))}.content .route-order-title{gap:calc(4px * var(--content-scale));font-size:calc(.88rem * var(--content-scale))}.content .route-order-address{font-size:calc(.82rem * var(--content-scale));margin-top:calc(2px * var(--content-scale))}.content .constraint-pill,.content .drive-time,.content .wait-time{font-size:calc(.78rem * var(--content-scale));padding:calc(4px * var(--content-scale)) calc(10px * var(--content-scale))}.content .stop-badges{gap:calc(6px * var(--content-scale));margin-top:calc(6px * var(--content-scale))}.content .map-canvas,.content .map-frame{height:calc(520px * var(--content-scale))}.content .map-canvas .gm-bundled-control.gm-bundled-control-on-bottom,.content .map-canvas .gmnoprint.gm-bundled-control{margin-bottom:calc(45px * var(--content-scale))!important}.content .map-stop-label{border-radius:calc(8px * var(--content-scale));font-size:calc(.86rem * var(--content-scale))}.content .map-stop-label,.content .route-overview-card{padding:calc(10px * var(--content-scale)) calc(14px * var(--content-scale))}.content .route-overview-card{border-radius:calc(6px * var(--content-scale))}.content .route-overview-header{gap:calc(12px * var(--content-scale))}.content .route-overview-body{margin-top:calc(10px * var(--content-scale))}.content .route-overview-toggle{padding:calc(4px * var(--content-scale));border-radius:calc(4px * var(--content-scale))}.content .chevron-icon{width:calc(18px * var(--content-scale));height:calc(18px * var(--content-scale))}.content .route-map-filter-btn{font-size:calc(.82rem * var(--content-scale))}.content .route-overview-name{font-size:calc(1.08rem * var(--content-scale))}.content .route-overview-stats{font-size:calc(1.02rem * var(--content-scale));gap:calc(16px * var(--content-scale))}.content .route-overview-name{min-width:calc(64px * var(--content-scale))}.content .route-map-filter-btn{gap:calc(6px * var(--content-scale));padding:calc(6px * var(--content-scale)) calc(10px * var(--content-scale))}.content .map-filter-bar{padding:calc(10px * var(--content-scale)) calc(18px * var(--content-scale))}@media (max-width:980px){.page-app{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.toolbar-group-date,.toolbar-group-practitioner,.toolbar-group-sync{flex:1 1 100%;justify-content:flex-start}.toolbar-group-sync{justify-content:space-between}.app{height:auto;min-height:100vh;min-height:100dvh;grid-template-columns:1fr}.sidebar{display:none}.scheduler-grid{grid-template-columns:1fr}.map-side{position:static;padding-top:0}.toolbar-settings{grid-template-columns:1fr}.route-settings-card{align-items:flex-start;flex-direction:column}.route-btn-group{margin-left:0;align-self:flex-end}.app-shell{grid-template-columns:1fr}}@media (max-width:720px){.route-stop-controls{padding-left:0}.constraint-action-btn{flex:1 1 calc(50% - 6px)}.time-draft-row{grid-template-columns:1fr}.constraint-row-heading,.time-range-slider,.time-slider-edge-labels,.time-slider-labels{grid-column:1}.constraint-row-heading{flex-direction:row;justify-content:space-between}.time-slider-labels{flex-wrap:wrap}.topbar{flex-direction:column}.grid-2{grid-template-columns:1fr}.address-head{grid-template-columns:26px 42px minmax(0,1fr);grid-auto-rows:auto}.address-head .lock-btn,.address-head .mini-btn{grid-column:3;justify-self:start}.auth-shell,.summary-metrics{grid-template-columns:1fr}.auth-shell{padding:48px 0}.auth-highlights{grid-template-columns:1fr}}@media (max-width:540px){.action-bar{flex-direction:column;align-items:stretch}.map-canvas,.map-frame{height:320px}.map-reset-control,.map-stop-label{font-size:.78rem;padding:8px 10px}.map-reset-control{margin:0 0 8px}}@media (prefers-reduced-motion:reduce){.admin-shell,.app,.auth-shell,.reveal{animation:none}}.auto-routes-panel{display:flex;flex-direction:column;gap:16px;max-width:1180px}.auto-routes-panel input:not([type=checkbox]),.auto-routes-panel select,.auto-routes-panel textarea{width:100%;border:1px solid var(--border-strong);border-radius:7px;background:#fff;padding:.5rem .6rem;color:var(--ink);font-size:.9rem;font-weight:600}.auto-routes-panel textarea{min-height:92px;resize:vertical;line-height:1.45}.auto-routes-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.ar-field{display:grid;gap:6px;min-width:0}.ar-field>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ar-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:18px}.ar-empty{display:grid;gap:8px;justify-items:start;padding:28px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-2)}.ar-empty strong{font-size:1rem;color:#242b36}.ar-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.ar-card{display:grid;gap:12px;align-content:start;text-align:left;padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ar-card:hover{border-color:var(--accent-2);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.ar-card.is-inactive{opacity:.7;background:var(--surface-2)}.ar-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ar-card-title-button{border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;flex:1 1 auto;min-width:0;padding:0}.ar-card-main{display:grid;gap:12px;width:100%}.ar-card-title-button:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(37,111,125,.2)}.ar-card-status-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.ar-card-edit{min-height:30px}.ar-card-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#242b36;font-size:.98rem}.ar-status{flex-shrink:0;border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.ar-status.is-on{border:1px solid #a7ebe0;background:#e6fbf8;color:#0b4d46}.ar-status.is-off{border:1px solid var(--border);background:var(--surface-2);color:#64748b}.ar-card-meta{display:grid;gap:2px}.ar-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#64748b}.ar-timeline{display:grid;gap:5px}.ar-timeline-track{position:relative;height:26px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}.ar-timeline-block{position:absolute;top:3px;bottom:3px;align-items:center;padding:0 6px;border-radius:4px;background:rgba(37,111,125,.16);border:1px solid rgba(37,111,125,.4);color:#0b4d46;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ar-timeline-block,.ar-timeline-scale{display:flex;font-size:.68rem;font-weight:700}.ar-timeline-scale{justify-content:space-between;color:#94a3b8}.ar-timeline-empty{padding:6px 0;font-size:.78rem;color:#94a3b8}.ar-card-foot{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;border-top:1px solid var(--border);padding-top:10px}.ar-card-foot span{font-size:.74rem;font-weight:700;color:#475569}.ar-card-tags{display:flex;flex-wrap:wrap;gap:6px}.ar-card-tag{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:800;letter-spacing:.02em;border:1px solid var(--border);background:var(--surface-2);color:#64748b;white-space:nowrap}.ar-card-tag.is-on{border-color:#a7ebe0;background:#e6fbf8;color:#0b4d46}.ar-card-tag.is-off{border-color:#f5c1b8;background:#fff0ee;color:#9a2210}.ar-editor{display:grid;gap:14px;min-width:0}.ar-scope .settings-fields-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ar-scope-header{align-items:center}.ar-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ar-step{display:flex;align-items:center;gap:10px;padding:12px 14px;text-align:left;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.ar-step:hover{border-color:var(--border-strong)}.ar-step.is-active{border-color:var(--accent-2);box-shadow:0 0 0 2px rgba(37,111,125,.12)}.ar-step-index{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:#64748b;font-weight:800;font-size:.82rem}.ar-step.is-active .ar-step-index{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.ar-step-text{display:grid;gap:1px;min-width:0}.ar-step-text strong{color:#242b36;font-size:.88rem}.ar-step-text span{font-size:.74rem;color:#94a3b8}.ar-step-body{margin:0}.ar-step-controls{margin-top:16px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px}.ar-min-gap{flex:1 1 280px;min-width:240px;max-width:360px}.ar-route-option-field{flex:1 1 180px;min-width:160px;display:grid;gap:6px;align-content:start}.ar-route-option-field>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ar-route-option-field select{width:100%}.ar-route-options-help{margin-top:10px}.ar-subhead{margin-top:18px}.ar-route-list{display:grid;gap:12px;margin-top:16px}.ar-route{border:1px solid var(--border);border-radius:9px;background:#fff;overflow:hidden}.ar-route.is-inactive{opacity:.7}.ar-route-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:#fbfdfe}.ar-route-title{display:grid;gap:2px;min-width:0}.ar-route-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#242b36;font-size:.94rem}.ar-route-title span{font-size:.8rem;color:#64748b}.ar-route-actions{display:flex;align-items:center;gap:8px}.ar-route-body{display:grid;gap:16px;padding:14px 12px;border-top:1px solid var(--border)}.ar-switch{width:44px;height:24px;flex:0 0 auto;-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;padding:0;border:1px solid #b6c3d3;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:background .16s ease,border-color .16s ease}.ar-switch:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.24);transition:transform .16s ease}.ar-switch:checked{border-color:#256f7d;background:#256f7d}.ar-switch:checked:before{transform:translateX(20px)}.ar-switch:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(37,111,125,.34)}.ar-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;cursor:pointer}.ar-switch-text strong{display:block;color:#242b36;font-size:.9rem}.ar-switch-text span{display:block;margin-top:2px;color:var(--muted);font-size:.8rem}.ar-day-field{display:flex;flex-direction:column;gap:6px}.ar-day-field>span{color:var(--muted);font-size:.78rem;font-weight:700}.auto-route-day-picker{align-items:center}.auto-route-day-picker button{border-radius:999px;height:34px;min-width:34px;padding:0}.auto-route-day-dots{align-items:center}.auto-route-day-dots.is-compact span{height:20px;width:20px}.ar-card-meta-days{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ar-break-active{display:flex;align-items:center;min-height:38px}.auto-route-duration-field{display:grid;gap:6px;min-width:0}.auto-route-duration-field>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auto-route-duration-field small{color:var(--muted);font-size:.76rem;line-height:1.35}.auto-route-field-label{display:inline-flex;align-items:center;gap:6px;min-width:0}.auto-route-field-label .settings-info-tooltip,.route-boundary-field-label .settings-info-tooltip{width:16px;height:16px;font-size:.62rem;letter-spacing:0;text-transform:none}.auto-route-duration-inputs{display:grid;grid-template-columns:minmax(52px,1fr) auto minmax(52px,1fr) auto;gap:6px;align-items:center}.auto-route-duration-inputs input{min-width:0;text-align:right}.auto-route-duration-inputs em{color:#64748b;font-size:.78rem;font-style:normal;font-weight:800}.auto-route-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.auto-route-subsection-header h3{color:#242b36;font-family:Sora,sans-serif;font-size:.95rem}.auto-route-breaks{display:grid;gap:10px}.ar-route-boundary-group{display:grid;gap:8px}.ar-boundary-break{display:flex;align-items:center;justify-content:center;min-height:36px;position:relative}.ar-boundary-card{position:relative;display:flex;align-items:flex-start;gap:8px;width:min(640px,100%);border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;padding:9px 10px;box-shadow:0 1px 2px rgba(15,23,42,.06)}.ar-boundary-main{display:grid;gap:7px;min-width:0;flex:1}.ar-boundary-main label{display:grid;gap:3px}.ar-boundary-main label>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ar-boundary-main input{width:100%}.ar-boundary-controls{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:end;max-width:100%;min-width:0}.ar-boundary-controls .auto-route-duration-field{flex:0 1 210px;max-width:240px;min-width:min(174px,100%)}.auto-route-boundary-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0;width:100%}.ar-boundary-location-field{display:grid;gap:3px;flex:1 1 320px;min-width:0}.auto-route-break-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(150px,1fr) auto auto;gap:10px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.auto-route-break-row>label{min-width:0}.auto-route-break-row>label>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auto-route-template-actions{display:flex;justify-content:flex-end}.ar-grab-list{display:grid;gap:10px;margin-top:16px}.ar-grab-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(360px,1.35fr) auto;gap:14px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:9px;background:#fff}.ar-grab-row.is-inactive{opacity:.7}.ar-grab-route{display:grid;gap:2px;min-width:0;align-self:center}.ar-grab-route strong{color:#242b36;font-size:.9rem}.ar-grab-route span{font-size:.78rem;color:#64748b}.ar-time-window-selector{min-width:0}.ar-time-window-selector .time-slider-labels{align-items:end}.ar-time-window-selector .time-slider-labels input{min-width:0}.ar-grab-summary{align-self:center;font-size:.78rem;font-weight:700;color:var(--accent-2);white-space:nowrap}.auto-route-note-preview{display:grid;gap:10px;margin-top:16px}.auto-route-note-preview label>span{color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.auto-route-note-results{display:flex;flex-wrap:wrap;gap:6px}.ar-modal-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.4)}.ar-modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;display:grid;gap:16px;padding:20px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.ar-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ar-modal-head h2{font-size:1.05rem;color:#242b36}.ar-modal-foot{display:flex;justify-content:flex-end}.auto-route-bulk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auto-route-bulk-grid>div{border:1px solid var(--border);border-radius:8px;padding:10px;display:grid;align-content:start;gap:6px;max-height:280px;overflow:auto;background:#fff}.auto-route-bulk-heading{position:sticky;top:-10px;z-index:1;margin:-10px -10px 2px;padding:10px;border-bottom:1px solid var(--border);background:#fff}.auto-route-bulk-heading strong{font-size:.82rem;color:#23343a}.ar-step-buttons{gap:10px}.ar-editor-footer,.ar-step-buttons{display:flex;justify-content:space-between}.ar-editor-footer{position:sticky;bottom:0;z-index:5;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:hsla(0,0%,100%,.96);backdrop-filter:blur(6px);box-shadow:var(--shadow-soft)}.ar-save-state{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #a7ebe0;background:#e6fbf8;color:#0b4d46;padding:3px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase}.ar-save-state.is-dirty{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.ar-footer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}@media (max-width:1100px){.ar-scope .settings-fields-grid,.ar-toolbar,.auto-route-break-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.ar-grab-row,.ar-steps{grid-template-columns:1fr}.ar-grab-row{align-items:stretch}.ar-boundary-controls{display:grid;grid-template-columns:1fr}.ar-grab-summary{text-align:right}}@media (max-width:640px){.timezone-filter-grid,.timezone-option{grid-template-columns:1fr}.timezone-option{grid-template-areas:"main" "id" "offset"}.timezone-option-offset{justify-self:start}.ar-boundary-card,.ar-scope .settings-fields-grid,.ar-toolbar,.auto-route-break-row,.auto-route-bulk-grid{grid-template-columns:1fr}.ar-boundary-card,.route-boundary-card{width:100%}.ar-route-head{grid-template-columns:auto minmax(0,1fr)}.ar-route-actions{grid-column:1/-1;justify-content:flex-end}.ar-editor-footer{flex-direction:column;align-items:stretch}.ar-footer-actions .btn{flex:1}}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity,1))}.hover\:bg-\[\#c84f70\]:hover{--tw-bg-opacity:1;background-color:rgb(200 79 112/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.hover\:text-slate-950:hover{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#256f7d\]\/25:focus{--tw-ring-color:rgba(37,111,125,.25)}.group:hover .group-hover\:text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}