@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.lowercase{text-transform:lowercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--bg2:#171b24;--bg3:#1e2333;--border:#2a3048;--border-bright:#3d4a6b;--text:#e8ecf4;--text-muted:#b4bdcc;--text-dim:#96a0b5;--text-secondary:var(--text-muted);--accent:#4f8ef7;--accent-dim:#1e3460;--accent-glow:#4f8ef726;--on-accent:#fff;--danger:#e05c5c;--danger-bg:#e05c5c24;--danger-border:#e05c5c70;--danger-text:#ffd6d6;--success:#4caf7d;--success-bg:#4caf7d24;--success-border:#4caf7d6b;--success-text:#c9f3dc;--warn:#e0a84f;--warn-bg:#e0a84f24;--warn-border:#e0a84f6b;--warn-text:#ffe0a3;--status-available-text:#8bd6ae;--status-assigned-text:#f0c276;--status-expired-text:#ffb4b4;--status-completed-text:#8bb8ff;--input-bg:var(--bg3);--hover-bg:var(--bg);--shadow:0 18px 40px #00000059;--radius:6px;--font-mono:"IBM Plex Mono", monospace;--font-sans:"IBM Plex Sans", sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7fb;--bg2:#fff;--bg3:#edf2f8;--border:#c8d2e0;--border-bright:#8796ad;--text:#172033;--text-muted:#4f5d73;--text-dim:#65728a;--text-secondary:var(--text-muted);--accent:#1d5fbf;--accent-dim:#a9c8ff;--accent-glow:#1d5fbf21;--on-accent:#fff;--danger:#b4232a;--danger-bg:#b4232a17;--danger-border:#b4232a57;--danger-text:#8f1d24;--success:#1f7a4d;--success-bg:#1f7a4d17;--success-border:#1f7a4d52;--success-text:#17633e;--warn:#8a5a00;--warn-bg:#8a5a001a;--warn-border:#8a5a0057;--warn-text:#684400;--status-available-text:#1f6b45;--status-assigned-text:#765100;--status-expired-text:#8f1d24;--status-completed-text:#1d5fbf;--input-bg:var(--bg3);--hover-bg:#e5ebf4;--shadow:0 18px 40px #0f172a24}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-width:0;max-width:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);min-height:100vh;font-size:14px;line-height:1.6;overflow-x:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--bg2);border-bottom:1px solid var(--border);z-index:1200;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;padding:0 24px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-icon{color:var(--accent);font-size:20px}.logo-text{font-family:var(--font-mono);letter-spacing:.05em;color:var(--text);font-size:16px;font-weight:600}.nav{gap:4px;display:flex}.nav-btn{color:var(--text-muted);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-btn:hover{color:var(--text);background:var(--bg3)}.nav-btn.active{color:var(--accent);background:var(--accent-glow);border-color:var(--accent-dim)}.nav-badge{background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.app-main{flex:1;width:100%;max-width:1580px;margin:0 auto;padding:32px 24px}.people-layout{grid-template-columns:minmax(270px,340px) minmax(460px,1fr) minmax(320px,390px);align-items:start;gap:32px;display:grid}.people-sidebar{flex-direction:column;gap:32px;display:flex}.panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.panel-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:4px;font-size:13px;font-weight:600}.panel-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:13px}.input-row,.panel-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.text-input{background:var(--bg3);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);font-family:var(--font-sans);border-radius:var(--radius);outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}.input-row .text-input{flex:220px}.text-input:focus{border-color:var(--accent)}.text-input::placeholder{color:var(--text-dim)}.select-input{background:var(--bg3);border:1px solid var(--border);color:var(--text);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;outline:none;padding:8px 12px;font-size:14px}.select-input:focus{border-color:var(--accent)}.btn-primary{background:var(--accent);color:var(--on-accent);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary{min-width:110px}.checkbox-label input[type=radio]{accent-color:var(--accent)}.btn-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:13px;line-height:1;transition:all .15s}.btn-remove:hover{color:var(--danger);background:var(--danger-bg)}.btn-generate{background:var(--accent);color:var(--on-accent);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;letter-spacing:.03em;box-shadow:0 0 0 0 var(--accent-glow);border:none;padding:10px 20px;font-size:13px;font-weight:600;transition:opacity .15s,box-shadow .15s}.btn-generate:hover{opacity:.9;box-shadow:0 0 16px var(--accent-glow)}.btn-export{background:var(--bg3);border:1px solid var(--border-bright);color:var(--text);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;letter-spacing:.03em;padding:10px 20px;font-size:13px;font-weight:500;transition:all .15s}.btn-export:hover{border-color:var(--accent);color:var(--accent)}.btn-remove-schedule{background:var(--bg3);border:1px solid var(--border-bright);color:var(--text);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;letter-spacing:.03em;padding:10px 20px;font-size:13px;font-weight:500;transition:all .15s}.btn-remove-schedule:hover{border-color:var(--danger);color:var(--danger)}.btn-secondary{border:1px solid var(--border);color:var(--text);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;background:0 0;padding:8px 12px;font-size:12px;transition:all .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.6;cursor:not-allowed}.item-list{flex-direction:column;gap:10px;list-style:none;display:flex}.role-sections{flex-direction:column;gap:18px;display:flex}.role-section{flex-direction:column;gap:10px;display:flex}.role-section-title,.capability-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:12px;font-weight:700}.empty-state{color:var(--text-dim);padding:8px 0;font-size:13px;font-style:italic}.item-row{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.role-item{flex-direction:column;align-items:stretch;min-width:0}.role-row-top{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.role-heading{margin-bottom:10px}.role-flag-row{flex-wrap:wrap;gap:10px;width:100%;display:flex}.role-meta .item-name{color:var(--text);flex:none;font-size:14px;font-weight:600}.role-flag{background:var(--accent-glow);color:var(--text-muted);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.role-flag input{accent-color:var(--accent)}.item-name{color:var(--text);flex:1;font-size:14px}.absence-form{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.absence-field{flex-direction:column;gap:6px;display:flex}.absence-field-full{width:100%}.absence-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:relative}.absence-date-shell{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);appearance:none;text-align:left;align-items:center;width:100%;min-height:42px;padding:0 38px 0 12px;display:flex;position:relative;overflow:hidden}.absence-date-shell:focus-within,.absence-date-shell:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.absence-date-shell:disabled{opacity:.55;cursor:not-allowed}.absence-date-value{color:var(--text);font-family:var(--font-mono);pointer-events:none;font-size:13px}.absence-date-value.is-placeholder{color:var(--text-dim)}.absence-date-icon{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;right:12px}.absence-submit{width:100%}.absence-calendar-popup{z-index:20;background:var(--bg2);border:1px solid var(--border-bright);width:min(100%,320px);box-shadow:var(--shadow);border-radius:10px;padding:14px;position:absolute;top:calc(100% + 10px);left:0}.absence-calendar-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.absence-calendar-title{font-family:var(--font-mono);color:var(--text);text-transform:capitalize;font-size:12px;font-weight:600}.absence-calendar-nav{min-width:34px;padding:6px 10px}.absence-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.absence-calendar-weekdays{margin-bottom:8px}.absence-calendar-weekday{text-align:center;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:10px}.absence-calendar-day{border:1px solid var(--border);background:var(--bg3);min-height:34px;color:var(--text);font-family:var(--font-mono);cursor:pointer;border-radius:8px;font-size:12px;transition:border-color .15s,background .15s,color .15s;position:relative}.absence-calendar-day:hover:not(:disabled){border-color:var(--accent);background:var(--accent-glow)}.absence-calendar-day.is-selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.absence-calendar-day.is-outside-month{opacity:.45}.absence-calendar-day.is-disabled{color:var(--text-dim);background:var(--bg2);border-color:var(--border);cursor:not-allowed;text-decoration:line-through}.absence-list{flex-direction:column;gap:10px;display:flex}.absence-item{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffff05}.absence-item-main{flex-direction:column;gap:3px;min-width:0;display:flex}.absence-person{color:var(--text);font-weight:600}.absence-range{color:var(--text-muted);font-family:var(--font-mono);font-size:12px}.absence-remove{border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.absence-remove:hover{border-color:var(--danger-border)}.person-item{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.person-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 12px;transition:background .1s;display:flex}.person-header:hover{background:var(--bg)}.person-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.capability-count{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:2px 7px;font-size:11px}.expand-icon{color:var(--text-dim);margin-left:auto;font-size:10px}.capabilities-grid{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;gap:12px;padding:28px 14px 14px;display:flex;position:relative}.capability-section{flex-direction:column;gap:8px;display:flex}.capability-section-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.person-role-list{flex-direction:column;gap:10px;display:flex}.person-role-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.person-role-name{color:var(--text);font-size:13px;font-weight:600}.person-role-flags{flex-wrap:wrap;gap:8px;display:flex}.person-edit-row{align-items:flex-end;gap:12px;display:flex}.name-display-row{background:var(--input-bg);border:1px solid var(--border);border-radius:4px;align-items:center;gap:8px;min-height:36px;padding:8px 12px;display:flex}.person-name-text{color:var(--text);flex:1;font-size:14px}.btn-edit-name{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:3px;padding:4px;font-size:14px;transition:background-color .2s}.btn-edit-name:hover{background:var(--hover-bg);color:var(--text)}.capabilities-header{height:0;position:relative}.btn-edit-name-top{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:6px;font-size:16px;transition:background-color .2s;position:absolute;top:0;right:8px}.btn-edit-name-top:hover{background:var(--hover-bg);color:var(--text)}.category-radio-row{flex-wrap:wrap;gap:10px;display:flex}.compact-checkbox{padding:8px 10px}.capability-actions{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.admin-temp-password-input{width:min(100%,220px)}.capability-label{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;transition:color .15s;display:flex}.capability-label:hover{color:var(--accent)}.capability-checkbox{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.settings-group{margin-bottom:24px}.settings-group-title{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text);margin-bottom:12px;font-size:12px;font-weight:600}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-label{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:12px 14px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.checkbox-label:hover{border-color:var(--accent);background:var(--accent-glow)}.checkbox-label input{accent-color:var(--accent)}.schedule-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.month-picker,.schedule-actions{gap:8px;display:flex}.legend{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.schedule-review-banner{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius);color:var(--danger-text);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;display:flex}.schedule-review-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--danger-text);font-size:11px;font-weight:700}.legend-item{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.empty-schedule{text-align:center;color:var(--text-muted);padding:80px 20px}.empty-schedule-icon{margin-bottom:16px;font-size:48px}.empty-hint{color:var(--text-dim);margin-top:8px;font-size:12px}.table-wrapper{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;font-size:13px}.schedule-table thead{background:var(--bg3);border-bottom:2px solid var(--border-bright)}.th-date,.th-role{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:left;white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.th-date{color:var(--accent)}.schedule-row{border-bottom:1px solid var(--border);transition:background .1s}.schedule-row:last-child{border-bottom:none}.schedule-row:nth-child(2n){background:var(--bg2)}.schedule-row:hover{background:var(--bg3)}.td-date{white-space:nowrap;padding:10px 16px}.day-label{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.td-cell{min-width:130px;padding:6px 10px}.td-cell.conflict,.td-cell.absence-conflict{background:var(--danger-bg)}.cell-chip{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:7px;min-height:30px;padding:5px 10px;transition:background .1s;display:flex}.cell-chip:hover{background:var(--bg3);border-color:var(--border-bright)}.cell-chip-review{border-color:var(--danger-border);background:var(--danger-bg)}.cell-chip-review:hover{border-color:var(--danger);background:var(--danger-bg)}.chip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.review-text{color:var(--danger-text)}.review-indicator{border:1px solid var(--danger-border);background:var(--danger-bg);width:18px;height:18px;color:var(--danger-text);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;font-size:11px;font-weight:700;display:inline-flex}.unassigned{color:var(--text-dim);font-family:var(--font-mono);font-size:14px}.cell-select{background:var(--bg);border:1px solid var(--accent);color:var(--text);font-family:var(--font-sans);border-radius:4px;outline:none;width:100%;padding:4px 8px;font-size:13px}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:88px 24px 24px;display:flex;position:relative}.auth-topbar{align-items:center;gap:8px;max-width:calc(100% - 32px);display:flex;position:absolute;top:16px;right:16px}.topbar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,360px);max-width:360px;padding:28px}.auth-card .text-input{width:100%;max-width:100%;min-height:42px}.auth-fields{flex-direction:column;gap:16px;width:100%;display:flex}.auth-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.auth-title{font-family:var(--font-mono);color:var(--text);margin-bottom:6px;font-size:20px;font-weight:600}.auth-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:13px}.auth-fields{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-weight:600}.field-hint{color:var(--text-dim);font-size:12px}.territory-coordinate-type{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.territory-coordinate-input-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);gap:8px;margin:10px 0;padding:12px;display:grid}.territory-radio-label{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.territory-radio-label input[type=radio]{accent-color:var(--accent)}.auth-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--radius);margin-bottom:16px;padding:10px 12px;font-size:13px}.auth-message{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text);border-radius:var(--radius);margin-bottom:16px;padding:10px 12px;font-size:13px}.btn-auth{background:var(--accent);width:100%;color:var(--on-accent);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;letter-spacing:.03em;border:none;margin-bottom:20px;padding:12px;font-size:14px;font-weight:600;transition:opacity .15s}.btn-auth:hover:not(:disabled){opacity:.85}.btn-auth:disabled{opacity:.5;cursor:not-allowed}.auth-secondary-button{justify-content:center;width:100%;margin-top:12px}.auth-switch{text-align:center;color:var(--text-muted);font-size:13px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.header-right{align-items:center;gap:12px;display:flex}.user-email{font-family:var(--font-mono);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;overflow:hidden}.btn-signout{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;background:0 0;padding:5px 10px;font-size:12px;transition:all .15s}.btn-signout:hover{border-color:var(--danger);color:var(--danger)}.language-switcher{align-items:center;gap:4px;display:flex}.lang-btn{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);border-radius:var(--radius);cursor:pointer;background:0 0;min-width:32px;padding:5px 8px;font-size:11px;font-weight:600;transition:all .15s}.lang-btn:hover{border-color:var(--accent);color:var(--accent)}.lang-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);min-height:32px;color:var(--text);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:7px;padding:4px 7px;font-size:11px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.theme-toggle-track{border:1px solid var(--border-bright);background:var(--bg);border-radius:999px;flex:0 0 32px;width:32px;height:18px;position:relative}.theme-toggle-thumb{background:var(--accent);border-radius:999px;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.theme-toggle[aria-pressed=true] .theme-toggle-thumb{transform:translate(14px)}.theme-toggle-icon{flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.theme-toggle-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.splash{background:var(--bg);min-height:100vh;color:var(--accent);justify-content:center;align-items:center;display:flex}.splash-inline{text-align:center;color:var(--text-muted);font-family:var(--font-mono);padding:60px;font-size:13px}.admin-header{align-items:center;gap:16px;margin-bottom:18px;display:flex}.admin-page-title{margin:0}.admin-page-subtitle{margin:4px 0 0}.admin-message-row{gap:10px;margin-bottom:18px;display:grid}.admin-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"user user""territories congregations";gap:16px;margin-bottom:16px;display:grid}.admin-work-panel{min-width:0}.admin-territory-panel{grid-area:territories}.admin-congregation-panel{grid-area:congregations}.admin-create-user-panel{grid-area:user}.admin-territory-panel .admin-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-panel-heading .panel-title,.admin-panel-heading .panel-subtitle{margin-bottom:0}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.admin-form-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-create-user-grid{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(120px,.75fr) minmax(160px,1fr) auto;align-items:end}.admin-create-user-submit{align-items:end;display:flex}.admin-create-user-submit .btn-primary{white-space:nowrap;min-height:40px}.admin-form-action-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-list-block{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.admin-list-trigger{border-bottom:1px solid var(--border);padding:6px 0 10px}.admin-list-content{margin-top:12px}.admin-territory-group-actions{min-width:min(100%,430px)}.admin-territory-group-actions .admin-delete-small{white-space:nowrap}.admin-chip-row{flex-wrap:wrap;gap:6px;max-height:94px;margin-top:14px;padding-right:4px;display:flex;overflow:auto}.admin-chip-item{align-items:center;gap:6px;display:inline-flex}.admin-row-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:min(100%,280px);display:flex}.admin-delete-small{flex-shrink:0;min-height:34px;padding-inline:10px}.admin-backup-actions{border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:14px;display:grid}.admin-backup-actions>div{flex-wrap:wrap;gap:8px;display:flex}.admin-assignment-list{gap:8px;max-height:190px;margin-top:14px;padding-right:4px;display:grid;overflow:auto}.admin-users-panel,.admin-collapsible-panel{margin-top:16px}.btn-back{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;background:0 0;padding:6px 12px;font-size:13px;transition:all .15s}.btn-back:hover{border-color:var(--accent);color:var(--accent)}.create-user-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.admin-checkbox-group{padding-bottom:10px}.admin-collapsible-panel{padding:0}.admin-collapsible-trigger{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.admin-collapsible-trigger:hover .admin-collapsible-title{color:var(--accent)}.admin-collapsible-title,.admin-collapsible-subtitle{display:block}.admin-collapsible-subtitle{margin-top:6px}.admin-collapsible-content{padding:0 24px 24px}.admin-subsection-trigger{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.admin-subsection-trigger:hover .capability-section-title{color:var(--accent)}.admin-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.admin-table thead{border-bottom:2px solid var(--border-bright)}.admin-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:left;padding:10px 12px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);padding:10px 12px}.admin-table tr:last-child td{border-bottom:none}.admin-username{font-family:var(--font-mono);color:var(--text);font-size:13px}.admin-date{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.badge{font-family:var(--font-mono);cursor:pointer;border:none;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:600;transition:opacity .15s}.badge:hover{opacity:.75}.badge-admin{background:var(--accent-glow);color:var(--accent);border:1px solid var(--accent-dim)}.badge-user{background:var(--bg3);color:var(--text-muted);border:1px solid var(--border)}.textarea-input{resize:vertical;background:var(--bg3);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);font-family:var(--font-sans);border-radius:var(--radius);outline:none;padding:9px 12px;font-size:14px;line-height:1.5;transition:border-color .15s}.textarea-input:focus{border-color:var(--accent)}.textarea-input::placeholder{color:var(--text-dim)}.territory-layout{grid-template-columns:minmax(290px,360px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.territory-list-panel{max-height:calc(100vh - 112px);position:sticky;top:82px;overflow:auto}.territory-layout-manage{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);grid-template-columns:minmax(300px,380px) minmax(320px,430px) minmax(480px,1fr);gap:0;min-height:calc(100vh - 120px);overflow:hidden}.territory-layout-manage .territory-list-panel,.territory-layout-manage .territory-map-panel,.territory-layout-manage .territory-detail-panel,.territory-layout-manage .territory-form-panel{border:0;border-radius:0}.territory-layout-manage .territory-list-panel{border-right:1px solid var(--border);max-height:calc(100vh - 120px);padding:14px;position:relative;top:auto}.territory-layout-manage .territory-workspace{display:contents}.territory-layout-manage .territory-map-panel{background:var(--bg);grid-area:1/3;min-height:calc(100vh - 120px);padding:0}.territory-layout-manage .territory-selected-header{border-bottom:1px solid var(--border);background:var(--bg2);padding:14px 16px}.territory-layout-manage .territory-map-shell{border:0;border-radius:0;height:calc(100% - 74px)}.territory-layout-manage .territory-map-canvas,.territory-layout-manage .territory-map-shell .leaflet-container{height:100%}.territory-layout-manage .territory-leaflet-map{height:100%;min-height:560px}.territory-layout-manage .territory-detail-grid{display:contents}.territory-layout-manage .territory-detail-panel{border-right:1px solid var(--border);grid-area:1/2;min-width:0;max-height:calc(100vh - 120px);padding:18px;overflow:auto}.territory-layout-manage .territory-form-panel{background:var(--bg);grid-area:1/3;min-width:0;max-height:calc(100vh - 120px);padding:18px;overflow:auto}.territory-layout-manage.territory-layout-form-open .territory-map-panel{display:none}.territory-layout-manage .territory-panel-header{margin-bottom:12px}.territory-layout-manage .territory-panel-header .panel-subtitle,.territory-layout-manage .territory-stats{display:none}.territory-layout-manage .territory-filter-row{margin-bottom:10px}.territory-layout-manage .territory-filter-btn{flex:auto}.territory-layout-manage .territory-list{padding-bottom:74px}.territory-layout-manage .territory-card{background:0 0;border-width:0 0 1px;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px;display:grid;position:relative}.territory-layout-manage .territory-card:hover,.territory-layout-manage .territory-card.active{background:var(--bg3)}.territory-layout-manage .territory-card .territory-status{grid-column:1;justify-self:start}.territory-layout-manage .territory-card-name{grid-area:1/1;font-size:17px}.territory-layout-manage .territory-card-code{color:var(--text);text-align:right;grid-area:1/2;font-size:20px;font-weight:800;line-height:1}.territory-layout-manage .territory-card-label{min-width:0}.territory-layout-manage .territory-card-labels{grid-column:1;justify-self:start}.territory-layout-manage .territory-card-date{color:var(--text-muted);text-align:right;grid-area:2/2/span 2;align-self:end;font-size:13px}.territory-create-fab{z-index:10;background:var(--accent);width:48px;height:48px;color:var(--on-accent);font-family:var(--font-mono);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:999px;justify-content:center;align-items:center;font-size:30px;line-height:1;display:flex;position:sticky;bottom:14px;left:calc(100% - 62px)}.territory-create-fab:hover{opacity:.9}.territory-layout-assigned{grid-template-columns:1fr;gap:20px;max-width:1180px;margin:0 auto}.territory-layout-assigned .territory-list-panel{max-height:none;position:static}.territory-layout-assigned .territory-panel-header{margin-bottom:14px}.territory-layout-assigned .territory-stats{display:none}.territory-layout-assigned .territory-filter-row{margin-bottom:10px}.territory-layout-assigned .territory-list{flex-direction:column;gap:10px;display:flex}.territory-layout-assigned .territory-workspace{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:24px;display:grid}.territory-layout-assigned .territory-detail-grid{display:block}.territory-layout-assigned .territory-detail-panel{height:fit-content}.territory-layout-assigned .territory-assignment-summary{grid-template-columns:1fr}.territory-panel-header,.territory-selected-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.territory-total{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);min-width:36px;height:28px;color:var(--accent);font-family:var(--font-mono);justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.territory-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.territory-stats div{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);min-width:0;padding:10px}.territory-stats span{color:var(--text);font-family:var(--font-mono);font-size:18px;font-weight:700;line-height:1.1;display:block}.territory-stats small{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.territory-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.territory-filter-btn{border:1px solid var(--border);border-radius:var(--radius);min-height:32px;color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;padding:6px 10px;font-size:12px}.territory-filter-btn:hover,.territory-filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.territory-search{margin-bottom:14px}.territory-sort-row{grid-template-columns:1fr;align-items:stretch;gap:6px;margin-bottom:14px;display:grid}.territory-sort-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.territory-sort-direction-btn{justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:18px;line-height:1}.territory-report-panel{border:1px solid var(--border);background:var(--bg3);border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.territory-report-date-row,.territory-report-scope-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.territory-report-scope-row .territory-congregation-pill{align-items:center;min-height:40px}.territory-report-date-row .field-group{gap:5px}.territory-report-mode-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.territory-report-mode-row>.field-label{width:100%}.territory-report-button{justify-content:center}.territory-map-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.territory-list{flex-direction:column;gap:10px;display:flex}.territory-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);width:100%;color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;transition:border-color .15s,background .15s;display:flex}.territory-card:hover,.territory-card.active{border-color:var(--accent);background:var(--accent-glow)}.territory-card-name{width:100%;color:var(--text);overflow-wrap:anywhere;font-weight:700}.territory-card-meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.territory-card-code,.territory-card-date{color:var(--text-muted)}.territory-card-label{background:var(--bg2);border:1px solid var(--border);max-width:100%;min-height:24px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.territory-card-labels{white-space:nowrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex;overflow:hidden}.territory-status{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.territory-status-available{border-color:var(--success-border);color:var(--status-available-text);background:var(--success-bg)}.territory-status-assigned{border-color:var(--warn-border);color:var(--status-assigned-text);background:var(--warn-bg)}.territory-status-expired{border-color:var(--danger-border);color:var(--status-expired-text);background:var(--danger-bg)}.territory-status-completed{border-color:var(--accent-dim);color:var(--status-completed-text);background:var(--accent-glow)}.territory-workspace{flex-direction:column;gap:28px;min-width:0;display:flex}.territory-map-panel{min-width:0;scroll-margin-top:84px}.territory-map-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.territory-map-shell-compact{min-height:100%}.territory-map-canvas{position:relative;overflow:hidden}.territory-leaflet-map{background:var(--bg3);width:100%;height:clamp(340px,42vw,560px)}.territory-map-shell-editable .territory-leaflet-map{height:clamp(320px,34vw,480px)}.territory-map-shell-editable .leaflet-container{cursor:crosshair}.territory-map-shell-drawing .leaflet-container,.territory-map-drawing-active{cursor:crosshair;touch-action:none}.territory-map-mode-point .leaflet-container{cursor:pointer}.territory-map-delete-boundary-btn{z-index:500;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);width:38px;height:38px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px;box-shadow:0 10px 24px #00000040}.territory-trash-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.territory-map-delete-boundary-btn:hover,.territory-map-delete-boundary-btn.active{border-color:var(--danger);color:var(--danger-text);background:var(--danger-bg)}.territory-map-shell-compact .territory-leaflet-map{height:clamp(340px,48vw,640px)}.territory-leaflet-map .leaflet-control-attribution,.territory-leaflet-map .leaflet-control-zoom a{color:#1f2937}.territory-boundary-point-icon{background:#fff;border:2px solid #2b83ff;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;display:flex;box-shadow:0 1px 5px #1e40af52}.territory-boundary-point-icon span{background:#2b83ff;border-radius:999px;width:6px;height:6px}.territory-pin-icon{width:34px;height:42px;position:relative}.territory-pin-icon span{background:#2376c9;border:2px solid #fff;border-radius:50% 50% 50% 0;width:22px;height:22px;position:absolute;top:2px;left:6px;transform:rotate(-45deg);box-shadow:0 4px 10px #0f172a59}.territory-pin-icon span:after{content:"";background:#fff;border-radius:999px;width:8px;height:8px;position:absolute;top:5px;left:5px}.territory-user-location-icon{width:24px;height:24px;position:relative}.territory-user-location-icon span{background:#16a3b8;border:3px solid #fff;border-radius:999px;position:absolute;inset:4px;box-shadow:0 0 0 5px #16a3b83d,0 4px 12px #0f172a5c}.territory-map-drawing-controls{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.territory-map-color-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);align-items:center;gap:5px;padding:3px;display:inline-flex}.territory-map-color-btn{width:28px;min-width:28px;height:28px;box-shadow:0 0 0 1px var(--border);cursor:pointer;border:2px solid #ffffffd1;border-radius:999px;padding:0}.territory-map-color-btn:hover,.territory-map-color-btn.active{outline:2px solid var(--accent);outline-offset:2px}.territory-map-drawing-popup{color:#1f2937;gap:8px;min-width:160px;display:grid}.territory-map-drawing-popup-heading{font-weight:800}.territory-map-drawing-popup-visibility{color:#64748b;font-size:12px}.territory-map-drawing-popup-actions{flex-wrap:wrap;gap:6px;display:flex}.territory-map-topbar{border-bottom:1px solid var(--border);background:var(--bg2);justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.territory-map-footer{border-top:1px solid var(--border);background:var(--bg2);justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.territory-map-footer-drawing-only{justify-content:flex-start}.territory-map-footer-drawing-only .territory-map-actions,.territory-map-footer-drawing-only .territory-map-drawing-controls{width:100%}.territory-layout-manage .territory-map-footer{display:none}.territory-map-meta{min-width:0;color:var(--text-muted);font-family:var(--font-mono);flex-direction:column;gap:2px;font-size:11px;display:flex}.territory-map-meta span{overflow-wrap:anywhere}.territory-map-actions,.territory-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.territory-map-top-actions{justify-content:flex-end}.territory-link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.territory-link-button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.territory-map-empty{border:1px dashed var(--border-bright);border-radius:var(--radius);background:var(--bg2);min-height:390px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.territory-map-empty-title{color:var(--text);font-family:var(--font-mono);font-weight:700}.territory-map-empty-text{max-width:320px;font-size:13px}.territory-detail-grid{grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);align-items:start;gap:28px;display:grid}.territory-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.territory-detail-header>div{min-width:0}.territory-detail-header .panel-subtitle{margin-bottom:0}.territory-assignment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.territory-layout-manage .territory-assignment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-assignment-summary div,.public-territory-summary div{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);min-width:0;padding:12px}.territory-assignment-summary strong,.public-territory-summary strong{color:var(--text);overflow-wrap:anywhere;margin-top:4px;display:block}.territory-detail-label{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.territory-assign-controls{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:16px;display:grid}.territory-assignment-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);gap:12px;margin:16px 0;padding:12px;display:grid}.territory-calendar-field{width:100%;position:relative}.territory-date-shell{min-height:40px;padding:0}.territory-date-shell.is-disabled{opacity:.55;cursor:not-allowed}.territory-date-input{width:100%;min-width:0;min-height:38px;color:var(--text);pointer-events:auto;background:0 0;border:0;outline:none;padding:0 10px 0 12px}.territory-date-input::placeholder{color:var(--text-dim)}.territory-date-input:disabled{cursor:not-allowed}.territory-date-icon-button{border:0;border-left:1px solid var(--border);width:40px;min-width:40px;min-height:38px;color:var(--text-muted);cursor:pointer;pointer-events:auto;background:0 0;align-self:stretch;place-items:center;padding:0;display:grid;position:static;right:auto}.territory-date-icon-button:hover,.territory-date-icon-button:focus-visible{color:var(--accent);background:var(--bg2)}.territory-date-icon-button:disabled{cursor:not-allowed}.territory-calendar-popup{z-index:6000;overscroll-behavior:contain;width:320px;max-width:min(320px,100vw - 32px);max-height:calc(100dvh - 24px);position:fixed;overflow-y:auto}.territory-calendar-popup .absence-calendar-grid{grid-template-columns:repeat(7,34px);justify-content:space-between}.territory-calendar-popup .absence-calendar-day{width:34px;min-width:34px}.territory-calendar-header{gap:8px}.territory-calendar-selectors{flex:auto;grid-template-columns:minmax(0,1fr) minmax(76px,auto);gap:8px;min-width:0;display:grid}.territory-calendar-select{min-height:34px;padding:6px 28px 6px 10px;font-size:12px}.territory-calendar-month-select{text-transform:capitalize}.territory-calendar-year-select{min-width:82px}.territory-mobile-modal{display:none}.territory-mobile-assignment-form{border-top:1px solid var(--border);gap:12px;padding-top:14px;display:grid}.territory-mobile-assignment-form .territory-assign-controls{margin-bottom:0}.territory-mobile-assignment-form .btn-primary{width:100%}.territory-action-row{margin-top:16px}.territory-action-row-muted{border-top:1px solid var(--border);padding-top:14px}.territory-danger-btn:hover{border-color:var(--danger);color:var(--danger)}.territory-form-error{border-radius:var(--radius);margin-top:12px;padding:10px 12px;font-size:13px}.territory-boundary-summary{border:1px solid var(--accent-dim);border-radius:var(--radius);background:var(--accent-glow);color:var(--text-muted);flex-direction:column;gap:3px;margin-top:16px;padding:12px;display:flex}.territory-boundary-summary strong{color:var(--text)}.territory-history{flex-direction:column;gap:10px;margin-top:16px;display:flex}.territory-history-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.territory-icon-button{justify-content:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:18px;line-height:1}.territory-history-table{table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:var(--bg3);width:100%;color:var(--text);border-radius:8px;font-size:13px;overflow:hidden}.territory-history-table th{border-bottom:1px solid var(--border);background:var(--bg2);color:var(--text);letter-spacing:.04em;text-align:center;text-transform:uppercase;padding:8px 10px;font-weight:800}.territory-history-table td{border:0;border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:top;padding:8px 10px}.territory-history-table tbody tr:last-child td{border-bottom:0}.territory-history-table tbody tr:hover td{background:var(--accent-glow)}.territory-history-table th:first-child,.territory-history-table td:first-child{width:34%;color:var(--text);overflow-wrap:normal;word-break:normal;font-weight:700}.territory-history-table td:not(:first-child){text-align:center;white-space:nowrap}.territory-history-table th:first-child,.territory-history-table td:first-child{text-align:left}.territory-history-table th:nth-child(2),.territory-history-table td:nth-child(2){width:16%}.territory-history-table th:nth-child(3),.territory-history-table td:nth-child(3),.territory-history-table th:nth-child(4),.territory-history-table td:nth-child(4){width:25%}.territory-history-editor{border:1px solid var(--border);background:var(--bg3);border-radius:8px;gap:12px;margin-top:16px;padding:12px;display:grid}.territory-history-editor-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.territory-history-editor-list{gap:10px;display:grid}.territory-history-editor-row{border:1px solid var(--border);background:var(--bg2);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.territory-history-editor-row button{justify-self:start}.territory-form-error{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.territory-street-panel{margin-top:18px}.territory-street-list{flex-direction:column;gap:8px;margin-top:10px;list-style:none;display:flex}.territory-street-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);grid-template-columns:minmax(120px,.6fr) minmax(0,1fr);gap:12px;padding:10px 12px;display:grid}.territory-street-list strong,.territory-street-list span{overflow-wrap:anywhere;min-width:0}.territory-street-list strong{color:var(--text)}.territory-street-list span{color:var(--text-muted)}.territory-note-block,.public-territory-note{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text-muted);margin-top:16px;padding:12px}.territory-note-block p+p{margin-top:10px}.territory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.territory-field-wide{grid-column:1/-1}.territory-street-input{font-family:var(--font-mono);font-size:13px}.territory-boundary-input{font-family:var(--font-mono);font-size:12px}.territory-form-map-editor{gap:10px}.territory-label-field{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;display:grid;position:relative}.territory-label-suggestions{z-index:40;border:1px solid var(--border-bright);border-radius:var(--radius);background:var(--bg);max-height:180px;box-shadow:var(--shadow);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.territory-label-suggestion{min-height:32px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 9px;font-size:13px}.territory-label-suggestion:hover,.territory-label-suggestion:focus-visible{background:var(--accent-glow);color:var(--accent)}.territory-label-chip-row{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.territory-label-chip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);min-height:28px;color:var(--text-muted);cursor:pointer;padding:5px 9px;font-size:12px}.territory-label-chip:hover,.territory-label-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.territory-label-chip:disabled{cursor:not-allowed;opacity:.45}.territory-congregation-filter{margin-top:14px}.territory-congregation-pill{border:1px solid var(--border);border-radius:var(--radius);width:fit-content;max-width:100%;color:var(--text);background:var(--bg3);padding:9px 12px;font-weight:700;display:inline-flex}.territory-mode-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);width:fit-content;max-width:100%;padding:3px;display:inline-flex}.territory-form-mode-row{width:100%;overflow-x:auto}.territory-mode-btn{border-radius:calc(var(--radius) - 2px);min-height:34px;color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:13px}.territory-mode-btn:hover,.territory-mode-btn.active{background:var(--accent-glow);color:var(--accent)}.public-territory-page{background:var(--bg);min-height:100vh;padding:28px}.public-territory-topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;min-height:36px;margin:0 auto 20px;display:flex}.public-territory-header{justify-content:space-between;align-items:flex-start;gap:18px;max-width:1180px;margin:0 auto 20px;display:flex}.public-territory-kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.public-territory-header h1{color:var(--text);font-family:var(--font-mono);letter-spacing:0;font-size:clamp(24px,4vw,42px);line-height:1.12}.public-territory-header p{max-width:720px;color:var(--text-muted);margin-top:8px;font-size:15px}.public-territory-main{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:24px;max-width:1180px;margin:0 auto;display:grid}.public-territory-details{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:22px}.public-territory-summary{grid-template-columns:1fr;gap:10px;margin-bottom:18px;display:grid}.public-territory-details h2{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.public-street-list li{grid-template-columns:minmax(110px,.55fr) minmax(0,1fr)}.public-territory-error{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);text-align:center;width:min(100%,440px);margin:12vh auto 0;padding:28px}.public-territory-error h1{color:var(--text);font-family:var(--font-mono);margin-top:12px;font-size:22px}.public-territory-error p{color:var(--text-muted);margin:10px 0 18px}@media print{body{color:#000;background:#fff}.app-header,.schedule-controls,.legend,.btn-generate,.btn-export{display:none!important}.app-main{padding:0}.table-wrapper{border:1px solid #ccc;border-radius:0}.schedule-table{font-size:11px}.th-date,.th-role{color:#333;background:#f5f5f5}.schedule-row{background:#fff!important}.schedule-row:nth-child(2n){background:#fafafa!important}.day-label{color:#555}.cell-chip{border:none}.chip-dot{-webkit-print-color-adjust:exact;print-color-adjust:exact}.unassigned{color:#bbb}}@media (width<=900px){.header-inner{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;height:auto;min-height:56px;padding:10px 14px}.logo{flex:auto;min-width:0}.logo-text{overflow-wrap:anywhere}.header-right{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:8px;min-width:0}.header-right .btn-signout{margin-left:auto}.user-email{max-width:min(42vw,180px)}.nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;order:3;width:100%;max-width:100%;padding-bottom:2px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav-btn{white-space:nowrap;flex:none;padding:6px 10px}.app-main{max-width:100%;padding:18px 14px;overflow-x:hidden}.panel{min-width:0;padding:18px}.people-layout{grid-template-columns:1fr;gap:18px}.people-sidebar{gap:18px}.person-header,.person-role-row,.person-edit-row,.schedule-controls,.schedule-actions,.month-picker,.admin-header,.capability-actions{flex-wrap:wrap}.admin-dashboard-grid{grid-template-columns:1fr;grid-template-areas:"user""territories""congregations"}.admin-form-grid,.admin-form-grid-wide,.admin-territory-panel .admin-form-grid,.admin-create-user-grid{grid-template-columns:1fr}.admin-create-user-submit .btn-primary{width:100%}.admin-panel-heading{flex-wrap:wrap}.admin-row-actions{flex-wrap:wrap;justify-content:stretch;width:100%}.admin-row-actions .select-input{flex:180px}.person-header{align-items:flex-start}.person-role-row,.person-edit-row{align-items:stretch}.person-role-name,.item-name{overflow-wrap:anywhere;min-width:0}.capability-count{overflow-wrap:anywhere;max-width:100%}.month-picker,.schedule-actions,.schedule-actions>*,.btn-generate,.btn-export,.btn-remove-schedule{width:100%}.month-picker .select-input,.schedule-actions button{min-width:0}.schedule-review-banner{flex-wrap:wrap;align-items:flex-start}.table-wrapper{max-width:100%}.create-user-form{grid-template-columns:1fr}.admin-collapsible-trigger{padding:18px}.admin-collapsible-content{padding:0 18px 18px}.admin-feature-select,.admin-role-select{width:100%;min-width:0}.absence-date-row,.territory-layout,.territory-detail-grid,.public-territory-main{grid-template-columns:1fr}.territory-list-panel{max-height:none;position:static}.territory-layout-manage{background:0 0;border:0;grid-template-columns:1fr;gap:18px;min-height:0;display:grid;overflow:visible}.territory-layout-manage .territory-list-panel,.territory-layout-manage .territory-map-panel,.territory-layout-manage .territory-detail-panel,.territory-layout-manage .territory-form-panel{border:1px solid var(--border);border-radius:var(--radius)}.territory-layout-manage .territory-list-panel{max-height:none;padding:18px}.territory-layout-manage .territory-workspace{display:flex}.territory-layout-manage .territory-map-panel{grid-area:auto;min-height:0;padding:18px}.territory-layout-manage .territory-selected-header{background:0 0;border-bottom:0;padding:0}.territory-layout-manage .territory-map-shell{border:1px solid var(--border);border-radius:var(--radius);height:auto}.territory-layout-manage .territory-map-canvas,.territory-layout-manage .territory-map-shell .leaflet-container{height:auto}.territory-layout-manage .territory-leaflet-map{height:clamp(340px,42vw,560px);min-height:0}.territory-layout-manage .territory-map-footer{display:flex}.territory-layout-manage .territory-detail-grid{background:0 0;border-right:0;grid-area:auto;grid-template-columns:1fr;gap:18px;max-height:none;display:grid;overflow:visible}.territory-layout-manage .territory-detail-panel,.territory-layout-manage .territory-form-panel{grid-area:auto;max-height:none;padding:18px;overflow:visible}.territory-layout-manage .territory-form-panel{border-top:1px solid var(--border)}.territory-layout-manage .territory-panel-header .panel-subtitle,.territory-layout-manage .territory-stats{display:grid}.territory-layout-manage .territory-list{padding-bottom:74px}.territory-layout-manage .territory-card{border-radius:var(--radius);background:var(--bg3);border-width:1px;padding:12px}.territory-layout-manage .territory-card .territory-status{order:0;margin-top:0}.territory-layout-manage .territory-assignment-summary{grid-template-columns:1fr}.territory-layout-assigned{gap:16px}.territory-layout-assigned .territory-list-panel{padding:18px}.territory-layout-assigned .territory-panel-header{flex-direction:row;align-items:flex-start}.territory-layout-assigned .territory-list{scroll-snap-type:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex;overflow:visible}.territory-layout-assigned .territory-card{scroll-snap-align:none;flex:none}.territory-layout-assigned .territory-workspace{grid-template-columns:1fr;gap:16px}.territory-layout-assigned .territory-map-panel,.territory-layout-assigned .territory-detail-panel{padding:18px}.territory-assignment-summary,.territory-assign-controls,.territory-label-field,.territory-form-grid,.territory-street-list li,.territory-history-editor-row,.public-street-list li{grid-template-columns:1fr}.territory-map-footer,.territory-map-topbar,.public-territory-topbar,.public-territory-header,.territory-map-header-actions{flex-direction:column;align-items:stretch}.territory-map-actions{width:100%}.territory-link-button{flex:auto}.territory-layout-manage:not(.territory-layout-form-open) .territory-workspace,.territory-layout-assigned .territory-workspace{display:none}.territory-layout-manage.territory-layout-form-open .territory-workspace,.territory-layout-manage.territory-layout-form-open .territory-detail-grid{display:block}.territory-layout-manage.territory-layout-form-open .territory-map-panel,.territory-layout-manage.territory-layout-form-open .territory-detail-panel{display:none}.territory-mobile-modal{z-index:5000;padding:calc(72px + env(safe-area-inset-top)) 16px calc(44px + env(safe-area-inset-bottom));background:#0408109e;align-items:flex-start;display:flex;position:fixed;inset:0}.territory-mobile-sheet{width:min(100%,680px);min-width:0;max-height:calc(100dvh - 116px - env(safe-area-inset-bottom));padding:16px 16px calc(70px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom));border:1px solid var(--border-bright);background:var(--bg2);box-shadow:var(--shadow);border-radius:12px;gap:14px;margin:0 auto;display:grid;overflow:hidden auto}.territory-mobile-sheet>*{min-width:0}.territory-mobile-header{z-index:2;background:var(--bg2);justify-content:space-between;align-items:flex-start;gap:12px;padding:2px 46px 10px 0;display:flex;position:sticky;top:-16px}.territory-mobile-close-button{top:calc(82px + env(safe-area-inset-top));z-index:5001;background:var(--bg3);box-shadow:var(--shadow);border-radius:999px;position:fixed;right:24px}.territory-mobile-header>div{min-width:0}.territory-mobile-header .panel-subtitle{margin-bottom:0}.territory-mobile-sheet .territory-map-shell{border:1px solid var(--border);border-radius:var(--radius)}.territory-mobile-sheet .territory-map-footer{display:flex}.territory-mobile-sheet .territory-leaflet-map,.territory-mobile-sheet .territory-map-shell-compact .territory-leaflet-map{height:clamp(260px,45vh,430px)}.territory-mobile-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.territory-mobile-actions{margin-top:0}.territory-mobile-history{border-top:1px solid var(--border);min-width:0;margin-top:0;padding-top:14px;overflow:hidden}.territory-mobile-history .territory-history-table{table-layout:fixed;min-width:0}.territory-mobile-history .territory-history-table th,.territory-mobile-history .territory-history-table td{overflow-wrap:anywhere;white-space:normal;padding:7px 6px}.territory-mobile-history .territory-history-table td:first-child{width:auto}.territory-mobile-history .territory-history-table td:not(:first-child){text-align:left;white-space:normal}.public-territory-page{padding:18px}}@media (width<=560px){.header-inner{flex-direction:column;align-items:stretch}.header-right{justify-content:flex-end}.user-email{white-space:normal;overflow-wrap:anywhere;max-width:100%}.language-switcher{flex-wrap:wrap}.territory-stats{grid-template-columns:1fr}.territory-sort-controls{grid-template-columns:minmax(0,1fr) auto}.territory-report-date-row,.territory-report-scope-row{grid-template-columns:1fr}.territory-filter-btn,.territory-mode-btn,.territory-link-button,.territory-action-row button{flex:auto}.territory-leaflet-map,.territory-map-shell-compact .territory-leaflet-map{height:clamp(300px,76vh,520px)}.territory-mobile-modal{padding:calc(64px + env(safe-area-inset-top)) 10px calc(42px + env(safe-area-inset-bottom))}.territory-mobile-sheet{max-height:calc(100dvh - 106px - env(safe-area-inset-bottom));padding:14px 14px calc(68px + env(safe-area-inset-bottom));border-radius:12px 12px 8px 8px}.territory-mobile-header{top:-14px}.territory-mobile-close-button{top:calc(74px + env(safe-area-inset-top));right:16px}.territory-mobile-summary{grid-template-columns:1fr}.territory-mobile-sheet .territory-leaflet-map,.territory-mobile-sheet .territory-map-shell-compact .territory-leaflet-map{height:clamp(240px,42vh,360px)}.public-territory-page{padding:14px}}@media (width>=901px) and (width<=1500px){.people-layout{grid-template-columns:minmax(270px,330px) minmax(420px,1fr)}.people-sidebar{grid-column:1/-1;grid-template-columns:repeat(2,minmax(280px,1fr));gap:24px;display:grid}.territory-detail-grid{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
