@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Space Grotesk Variable,Space Grotesk,SF Pro Display,Segoe UI,sans-serif;color:var(--text);background-color:var(--bg);--primary: #2563eb;--primary-raw: #2563eb;--primary-soft: #e5ecfd;--on-primary: #ffffff;--text: #0f172a;--ink: #0f172a;--text-muted: #475569;--text-subtle: #64748b;--border: #e2e8f0;--border-strong: #cbd5e1;--surface: #ffffff;--surface-muted: #f8fafc;--bg: #eef2f7;--success: #15803d;--success-soft: #dcfce7;--warning: #b45309;--warning-soft: #fef3c7;--danger: #b91c1c;--danger-soft: #fee2e2;--info: #1d4ed8;--info-soft: #dbeafe;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(15, 23, 42, .05), 0 6px 16px rgba(15, 23, 42, .06);--shadow-card: 0 12px 30px rgba(15, 23, 42, .08);--shadow-2: 0 20px 40px rgba(15, 23, 42, .18);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--primary) 35%, transparent)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,white);outline-offset:2px}.tabular-nums,td{font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.terrain-shell{background:#f1f5f9}.terrain-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.5rem .5rem}.terrain-header h1{margin:0;font-size:1.4rem}.terrain-main{padding-bottom:6rem}.container.terrain-main{padding:16px;padding-bottom:6rem}.terrain-reading{scroll-margin-top:124px}.terrain-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;justify-content:space-between;min-height:64px;padding:.5rem 1.5rem;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);box-shadow:0 4px 16px #0f172a0f}.app-header--compact{min-height:0;padding:.55rem 1.15rem;gap:.8rem}.app-header--compact .app-header__logo{width:1.4rem;height:1.4rem}.app-header--compact .app-header__appname{font-size:.93rem}.app-header--compact .app-header__subtitle{font-size:.8rem}.app-header--compact .app-header__meta{font-size:.72rem}.app-header__title{display:flex;align-items:center;gap:.65rem;flex:0 1 auto;min-width:0;max-width:clamp(180px,20vw,280px);color:inherit;border-radius:var(--radius-sm)}.app-header__text{display:flex;flex-direction:column;gap:.05rem;min-width:0}.app-header__logo{width:1.75rem;height:1.75rem;display:block;flex:none}.app-header__appname,.app-header__subtitle,.app-header__meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.app-header__appname{font-weight:700;font-size:1rem}.app-header__subtitle{font-size:.82rem;color:var(--text-subtle)}.app-header__meta{font-size:.75rem;color:var(--text-subtle)}.app-nav{display:flex;align-items:center;justify-content:center;gap:.2rem;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.4rem .8rem;border-radius:var(--radius-pill);color:var(--text);font-weight:600;font-size:.92rem;white-space:nowrap;background:transparent;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.nav-link:hover{background:#f1f5f9}.nav-link.active,.nav-link.active:hover{background:var(--primary);color:var(--on-primary)}.nav-link--terrain{margin-left:.35rem;background:var(--surface);border-color:var(--primary);color:var(--primary)}.nav-link--terrain:hover{background:var(--primary-soft)}.nav-link--logout,.nav-link--support{display:none}.nav-link--logout{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.nav-link--logout:hover{background:#fecaca}.nav-link--logout{flex-direction:column;gap:0;max-width:100%}.nav-link__sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:500}.nav-link--support,.nav-link--support:hover{background:var(--danger);color:#fff}.app-header__actions{display:flex;align-items:center;gap:.5rem;flex:0 1 auto;min-width:0}.logout-button{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;max-width:260px;padding:.35rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-muted);color:var(--text);font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap}.logout-button:hover:not(:disabled){background:#f1f5f9;border-color:var(--border-strong)}.logout-button--support,.logout-button--support:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.logout-user{font-weight:500;color:var(--text-subtle);min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis}.menu-toggle{display:none;align-items:center;gap:.45rem;flex:none;min-height:44px;padding:.45rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer}.menu-toggle[aria-expanded=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.menu-toggle__icon{font-size:1rem;line-height:1}@media(max-width:1360px){.logout-user{display:none}}.app-header--collapsed .app-header__title{flex:1 1 auto;max-width:none}.app-header--collapsed .menu-toggle{display:inline-flex}.app-header--collapsed .app-header__actions{display:none}.app-header--collapsed .app-nav{display:none;position:absolute;top:calc(100% + .5rem);right:1rem;width:min(320px,calc(100vw - 2rem));max-height:calc(100dvh - 6rem);overflow-y:auto;flex-direction:column;align-items:stretch;gap:.25rem;padding:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.app-header--collapsed .app-nav.is-open{display:flex}.app-header--collapsed .nav-link{justify-content:flex-start;min-height:44px;padding:.6rem .9rem;font-size:1rem}.app-header--collapsed .nav-link--terrain,.app-header--collapsed .nav-link--logout,.app-header--collapsed .nav-link--support{display:inline-flex;justify-content:center;margin:.35rem 0 0}@media(max-width:640px){.app-header{min-height:56px;padding:.45rem 1rem;gap:.75rem}.app-header__logo{width:1.5rem;height:1.5rem}.app-header--collapsed .app-nav{left:.75rem;right:.75rem;width:auto}}.container{width:min(1200px,100%);margin:0 auto;padding:1.5rem}.card{background:#fff;border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-card)}.card--flat{box-shadow:none;border:1px solid #e2e8f0}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header--compact{margin-bottom:.75rem}.card-header>*{min-width:0}.card-header__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}@media(max-width:720px){.card-header{flex-wrap:wrap;align-items:flex-start}.card-header>div:first-child{flex:1 1 14rem}.card-header__actions{width:100%;justify-content:stretch}.card-header__actions>*{flex:1 1 auto}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.meters-directory-card{background:#fff;border:1px solid #dbe5f1;border-radius:var(--radius-md);box-shadow:0 16px 34px #0f172a12;animation:riseIn .45s ease both}.tenant-unavailable-banner{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:60;max-width:min(92vw,560px);padding:.7rem 1rem;border-radius:var(--radius-md);background:var(--warning-soft);color:var(--warning);border:1px solid rgba(180,83,9,.35);box-shadow:0 12px 28px #0f172a24;font-size:.92rem;font-weight:600;text-align:center;animation:riseIn .3s ease both}.demo-warning-banner{background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff;border-radius:var(--radius-md);padding:.85rem 1rem;font-weight:700;letter-spacing:.01em;box-shadow:0 14px 30px #b91c1c40;border:1px solid rgba(255,255,255,.25);margin-bottom:1rem}.meters-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.meters-map-toolbar__title{display:inline-flex;align-items:center;gap:.55rem}.meters-map-toolbar h2{margin:0;font-size:1.65rem;line-height:1.05;color:#0f172a}.meters-top-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.5rem;align-items:center;margin:0}.meters-top-actions .secondary-button,.meters-top-actions .ghost-button{min-height:42px;border-radius:var(--radius-pill);padding:.52rem .95rem}.meters-top-actions .secondary-button{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.meters-top-actions .ghost-button{background:#f8fafc;border:1px solid #dbe5f1}.meters-inline-map{margin:0 0 .6rem;border-radius:var(--radius-md);border:1px solid #d4e2f1;box-shadow:0 12px 28px #0f172a14;overflow:hidden}.meters-filters-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,.7fr) minmax(112px,.65fr) auto;align-items:center;gap:.45rem;margin-bottom:.55rem}.meters-filters-row .input{min-height:44px;border-radius:var(--radius-md);border-color:#cedbeb;background:#fff}.meters-filters-row input.input,.meters-filters-row select.input{min-width:0}.meters-filter-village{max-width:160px}.meters-filter-status{max-width:135px}.meters-filters-row .filter-chip{min-height:44px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;border-color:#cedbeb;background:#fff;color:#1e293b}.meters-map-limit{color:#475569;background:#f8fafc;white-space:nowrap;min-height:44px}.meters-map-limit:disabled{opacity:1;cursor:default}.meters-map-limit.is-active{color:#fff;border-color:#b91c1c;background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 8px 18px #b91c1c47;font-weight:700}.meters-filters-row .filter-chip--alert{border-color:#f59e0b;background:#fff7ed;color:#9a3412}.meters-filters-row .filter-chip--alert.is-active{border-color:#ea580c;background:#ea580c;color:#fff7ed}.owners-filters-row,.readings-filters-row{display:grid;align-items:center;gap:.45rem;margin-bottom:.55rem}.owners-filters-row{grid-template-columns:minmax(0,1fr)}.readings-filters-row{grid-template-columns:minmax(0,1fr) minmax(120px,.7fr) minmax(150px,.55fr) minmax(150px,.55fr)}.owners-filters-row .input,.readings-filters-row .input{min-height:44px;border-radius:var(--radius-md);border-color:#cedbeb;background:#fff;min-width:0}.owners-meter-links{display:flex;flex-wrap:wrap;gap:.35rem}.owners-meter-link{display:inline-flex;align-items:center;min-height:30px;padding:.15rem .6rem;border-radius:var(--radius-pill);border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:.8rem}.owners-meter-link:hover{background:#dbeafe;border-color:#93c5fd}.owners-meter-more{display:inline-flex;align-items:center;min-height:30px;padding:.15rem .55rem;border-radius:var(--radius-pill);background:#f1f5f9;color:#64748b;font-size:.8rem;font-weight:700}.card-subsection{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed #e2e8f0}.toolbar{display:flex;gap:.6rem;flex:1;justify-content:flex-end}.table-filters{flex-wrap:wrap;align-items:center;justify-content:flex-start}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;padding:.6rem;border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#f8fafc;align-items:center}.filter-bar .input{background:#fff}.primary-button,.secondary-button,.ghost-button,.danger-button,.danger-ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;max-width:100%;border-radius:var(--radius-pill);font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.primary-button{background:var(--primary);color:var(--on-primary);border:1px solid transparent;padding:.75rem 1.4rem}.primary-button:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 86%,black)}.secondary-button{background:#e2e8f0;color:var(--text);border:1px solid transparent;padding:.65rem 1.2rem}.secondary-button:hover:not(:disabled){background:var(--border-strong)}.ghost-button{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);padding:.45rem .95rem}.ghost-button:hover:not(:disabled){background:var(--surface-muted);border-color:#94a3b8}.danger-ghost-button{background:var(--surface);color:var(--danger);border:1px solid #fecaca;padding:.45rem .95rem}.danger-ghost-button:hover:not(:disabled){background:var(--danger-soft)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.danger-button:disabled,.danger-ghost-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button.is-active{background:#0f172a;border-color:#0f172a;color:#fff}.owner-picker__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.owner-mode-toggle{display:inline-flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.filter-chip{border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;border-radius:var(--radius-pill);padding:.45rem .9rem;font-weight:600;cursor:pointer;white-space:nowrap}.filter-chip.is-active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.filter-chip--alert{border-color:#f59e0b;background:#fff7ed;color:#92400e}.filter-chip--alert.is-active{border-color:#ea580c;color:#fff7ed;background:#ea580c}.input{width:100%;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid #cbd5f5;background:#f8fafc;font-size:16px}.input[type=date]{min-width:0;min-height:46px;line-height:1.2;font-variant-numeric:tabular-nums;padding-right:.85rem;color-scheme:light}.input[type=date]::-webkit-date-and-time-value{text-align:left}.input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72}.label{font-weight:600;font-size:.9rem;margin-bottom:.4rem;display:block;min-width:0}.grid{display:grid;gap:1rem;min-width:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:600}.badge--active{background:#dcfce7;color:#15803d}.badge--archived{background:#fef3c7;color:#b45309}.badge--deleted{background:#fee2e2;color:#b91c1c}.badge--warning{background:#fff7ed;color:#9a3412}.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:var(--radius-pill);font-weight:600;font-size:.85rem;margin-top:.8rem}.status-info{background:#e0f2fe;color:var(--primary)}.status-success{background:#dcfce7;color:#15803d}.status-error{background:#fee2e2;color:#b91c1c}.status-warning{background:#fff7ed;color:#9a3412}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.7rem;border-bottom:1px solid #e2e8f0;font-size:.9rem}.table tr.is-archived:not(.is-selected) td{background:#fffbeb}.table tr.is-deleted:not(.is-selected) td{background:#fff1f2;color:#94a3b8}.drawer-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.table-actions{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.table-actions__group,.admin-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.table-scroll{position:relative;overflow:auto;border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#fff}.error-list{list-style:none;padding:.5rem .75rem;margin:.5rem 0 0;background:#fff7ed;border-radius:var(--radius-md);border:1px solid #fed7aa;color:#9a3412;font-size:.85rem}.table-scroll .table{min-width:900px}.table--striped tbody tr:nth-child(odd){background:#f8fafc}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-selected{background:#e0f2fe}.table-sort{background:transparent;border:none;font-weight:700;color:inherit;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;padding:0}.sort-indicator{font-size:.85rem;color:var(--primary)}.terrain-hero{background:linear-gradient(135deg,var(--primary),#22c55e);color:#fff;padding:1.5rem;border-radius:var(--radius-md)}.dashboard-shell{background:radial-gradient(circle at 10% 10%,rgba(56,189,248,.25),transparent 45%),radial-gradient(circle at 90% 0%,rgba(245,158,11,.2),transparent 50%),#eef2f7}.dashboard-hero{display:grid;gap:1.5rem;padding:2rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#0f172a,#0f766e 55%,#14b8a6);color:#f8fafc;position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 20%,rgba(255,255,255,.2),transparent 40%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.15),transparent 45%);opacity:.6;pointer-events:none}.dashboard-hero__copy,.dashboard-hero__filters,.dashboard-hero__top{position:relative;z-index:1}.dashboard-hero__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:flex-start}.dashboard-hero__filters{min-width:240px}.dashboard-hero h2{margin:.4rem 0 .6rem;font-size:2rem}.dashboard-hero .muted{color:#f8fafcd6}.dashboard-actions{display:grid;grid-auto-flow:column;gap:.5rem;justify-content:flex-end;align-items:center;background:#ffffffe6;padding:.45rem;border-radius:var(--radius-pill);border:1px solid #e2e8f0;box-shadow:0 10px 20px #0f172a14}.dashboard-hero__filters{background:#ffffff1f;border-radius:var(--radius-md);padding:1.25rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dashboard-hero__filters .input{background:#ffffffd9}.dashboard-filter{min-width:220px;margin:0}.dashboard-filter .input{background:#ffffffeb;border:1px solid rgba(15,23,42,.12)}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease-in-out infinite}.skeleton--value{display:inline-block;width:4.5ch;height:1.5rem;vertical-align:middle}.skeleton--title{width:55%;height:.95rem}.skeleton--line{width:85%;height:.8rem;margin-top:.5rem}.skeleton--chart{height:220px;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.is-refreshing{opacity:.6;transition:opacity .2s ease}.dashboard-page>*+*{margin-top:1.5rem}.dashboard-page .card-header h3{margin:0}.dashboard-hero__error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#fef2f2;color:#991b1b;font-weight:600}.dashboard-panel{background:var(--surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-card)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.5rem}.dashboard-grid>*{min-width:0}.activity-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;width:100%}.activity-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#f8fafc;width:100%;box-sizing:border-box}.activity-item>div{min-width:0;flex:1}.activity-item .ghost-button{padding:.32rem .7rem;font-size:.82rem;border-radius:var(--radius-pill);white-space:nowrap}@keyframes riseIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dashboard-hero,.dashboard-panel{animation:riseIn .5s ease both}.terrain-capture{display:grid;gap:1rem}.terrain-capture__header h3{margin:0}.input-row{display:flex;gap:.6rem;align-items:center}.input-row .input{flex:1}.input-highlight{font-size:1.2rem;font-weight:700;max-width:100%;min-width:0}.terrain-reading .grid,.terrain-reading .label,.terrain-reading .input{min-width:0}.terrain-reading .input{width:100%;max-width:100%}.scan-panel{margin-top:1rem;background:#0f172a;color:#fff;padding:1rem;border-radius:var(--radius-md);display:grid;gap:.6rem}.scan-video{width:100%;border-radius:var(--radius-md);background:#0f172a}.details-summary{cursor:pointer;font-weight:700;color:#0f172a}.meter-summary{background:#f8fafc;border-radius:var(--radius-md);padding:.9rem;border:1px solid #e2e8f0}.meter-summary--compact{padding:.6rem .75rem;font-size:.95rem}.meter-summary--compact p{margin:.2rem 0}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(236px,1fr))}.metric-grid--compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{background:#f8fafc;border-radius:var(--radius-md);padding:.9rem 1rem;border:1px solid #e2e8f0;display:grid;gap:.35rem}.metric-card--mini .metric-value{font-size:1.05rem}.input--date{width:100%;max-width:100%;min-width:0;min-height:46px}.metric-label{font-size:.85rem;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.metric-value{font-size:1.2rem;font-weight:700}.metric-sub{font-size:.85rem;color:#64748b}.reading-summary{display:grid;gap:.75rem}.reading-summary__badges{display:flex;flex-wrap:wrap;gap:.5rem}.reading-summary__review{border:1px solid #dbe5f1;border-radius:var(--radius-md);background:#f8fafc;padding:.65rem .8rem}.reading-summary__review-title{font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#64748b}.reading-summary__review-meta{margin:.35rem 0 0;color:#334155;font-weight:600}.reading-summary__review-note{margin:.45rem 0 0;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm);padding:.5rem .6rem;font-weight:600}.owner-edit summary{margin-top:.6rem}.trend-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.75rem;padding:.75rem;border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0}.trend-bar{display:grid;align-items:end;gap:.4rem;height:140px}.trend-bar__fill{width:100%;border-radius:var(--radius-pill);background:#93c5fd;align-self:end}.trend-bar.is-down .trend-bar__fill{background:#fca5a5}.trend-bar__value{font-weight:700;text-align:center;font-size:.85rem}.trend-bar__label{text-align:center;font-size:.75rem;color:#64748b}.meter-info-card{border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#fff;padding:1rem;display:grid;gap:.5rem}.drawer-top-card{background:#f8fafc;border-radius:var(--radius-md);padding:1rem;box-shadow:inset 0 0 0 1px #e2e8f0;display:grid;gap:1rem;grid-template-columns:minmax(240px,1.1fr) minmax(240px,1fr);align-items:stretch}.drawer-top-card__col{display:grid}.drawer-mid-grid{display:grid;gap:1rem;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);align-items:stretch}.drawer-map-wrapper{min-height:240px;height:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:inset 0 0 0 1px #e2e8f0;background:#f8fafc}.drawer-section--tight{height:100%}.owner-current-card{border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#fff;padding:1rem;display:grid;gap:.6rem}.meter-info-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.meter-info-card__title{font-weight:700;font-size:1rem;color:#0f172a}.meter-info-card__actions{margin-top:.5rem}.form-separator{display:flex;align-items:center;gap:.75rem;margin:1rem 0;text-transform:uppercase;font-size:.72rem;color:#64748b;letter-spacing:.06em}.form-separator:before,.form-separator:after{content:"";height:1px;flex:1;background:#e2e8f0}.owner-selected{display:grid;gap:.4rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#ecfeff;border:1px solid #a5f3fc;margin-top:.75rem}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;gap:.5rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -8px 20px #0f172a14;z-index:30}.bottom-link{background:transparent;border:none;font-weight:700;color:#475569;padding:.4rem .6rem;border-radius:var(--radius-pill);cursor:pointer}.bottom-link.active{color:var(--primary);background:#e0f2fe}.confirm-overlay{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:1rem;z-index:11000;overflow-y:auto;overscroll-behavior:contain}.confirm-card{background:var(--surface);border-radius:var(--radius-md);padding:1.5rem;width:min(420px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--shadow-2)}.confirm-card .confirm-actions{position:sticky;bottom:-1.5rem;margin-bottom:-1.5rem;padding:.75rem 0 1.5rem;background:var(--surface);flex-wrap:wrap}@media(max-width:480px){.confirm-card .confirm-actions>*{flex:1 1 auto}}.confirm-card--review{width:min(640px,100%)}.review-popup-grid{gap:.75rem}.review-popup-chip{padding:.72rem .9rem;border-radius:var(--radius-md);border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-weight:650;line-height:1.32}.review-popup-card{margin-top:.1rem;border:1px solid #dbe5f1;background:#f8fafc;border-radius:var(--radius-md);padding:.75rem .85rem}.review-popup-card__title{font-weight:750;color:#0f172a;margin-bottom:.35rem}.review-popup-table{width:100%;border-collapse:collapse;font-size:.9rem;color:#1e293b}.review-popup-table th{text-align:left;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;color:#64748b;border-bottom:1px solid #dbe5f1;padding:.25rem 0}.review-popup-table td{padding:.38rem 0;border-bottom:1px dashed #e2e8f0}.review-popup-table tbody tr:last-child td{border-bottom:none}.review-popup-table th:nth-child(2),.review-popup-table th:nth-child(3),.review-popup-table td:nth-child(2),.review-popup-table td:nth-child(3){text-align:right;font-variant-numeric:tabular-nums}.confirm-highlight{display:grid;gap:.75rem;margin:1rem 0;padding:.9rem;border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0}.confirm-label{display:block;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.confirm-value{display:block;font-size:1.4rem;font-weight:800;color:#0f172a}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.suggestions{margin-top:1rem;display:grid;gap:.6rem}.suggestion-item{background:#f1f5f9;border:none;border-radius:var(--radius-md);padding:.7rem 1rem;text-align:left;cursor:pointer}.suggestion-item:hover{background:#e2e8f0}.compact-list{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.4rem;font-size:.9rem;color:#334155}.timeline{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:1rem}.timeline li{background:#f8fafc;border-radius:var(--radius-md);padding:.9rem 1rem}.timeline-title{font-weight:700}.timeline-meta{font-size:.8rem;color:#64748b;margin-top:.2rem}.timeline-details{margin-top:.5rem;font-size:.9rem}.split-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem;margin-top:1.25rem}.meter-list{display:grid;gap:.75rem}.meter-list__item{border:1px solid transparent;border-radius:var(--radius-md);padding:.9rem 1rem;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.meter-list__item:hover{border-color:#bfdbfe;box-shadow:0 10px 20px #2563eb14;transform:translateY(-1px)}.meter-list__item.is-active{border-color:var(--primary);background:#eff6ff}.meter-list__title{font-weight:700;font-size:1rem}.meter-list__meta{font-size:.85rem;color:#475569}.meter-list__badge{background:#e0f2fe;color:var(--primary);padding:.35rem .7rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700}.meter-panel{position:sticky;top:110px;align-self:start}.empty-state{background:#f8fafc;border-radius:var(--radius-md);padding:2rem;text-align:center;color:#64748b}.drawer-overlay{position:fixed;inset:0;background:#0f172a47;display:flex;justify-content:flex-end;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer{width:min(1200px,100%);height:100%;background:#fff;box-shadow:-20px 0 40px #0f172a26;display:flex;flex-direction:column}.drawer-header{padding:1.5rem 2rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:2}.drawer-header__main{display:flex;flex-direction:column;gap:.35rem}.drawer-header__title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.drawer-header__title h3{margin:0}.drawer-header__meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.9rem;color:#64748b}.drawer-body{padding:1.5rem 2rem 2.5rem;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem}.drawer-section{background:#f8fafc;border-radius:var(--radius-md);padding:1.25rem;box-shadow:inset 0 0 0 1px #e2e8f0}.drawer-section h4{margin:0 0 .75rem}.leaflet-container{z-index:0}.map-view-shell .leaflet-marker-pane,.map-view-shell .leaflet-shadow-pane{z-index:650!important}.map-view-shell .leaflet-overlay-pane{z-index:600!important}.metric-value.is-positive{color:#16a34a}.metric-value.is-negative{color:#dc2626}.drawer-danger{background:#fff1f2;box-shadow:inset 0 0 0 1px #fecdd3}.owner-summary{display:flex;justify-content:flex-start;gap:1rem;align-items:center;flex-wrap:wrap}.owner-summary p{margin:.2rem 0}.owner-edit-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem .65rem}.owner-field{margin:0;font-size:.78rem;color:#475569}.owner-input-compact{margin-top:.2rem;min-height:36px;padding:.48rem .7rem;font-size:.9rem}.meter-hero-card{background:linear-gradient(140deg,#0e749014,#22c55e14);border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 36px #0f172a14,inset 0 0 0 1px #ffffff73;display:grid;gap:1.1rem}.meter-hero-card .badge{width:fit-content}.meter-hero-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.meter-hero-card__identity h4{margin:.35rem 0 .5rem;font-size:2rem;line-height:1.05;color:#0f172a}.meter-hero-card__address{margin:.1rem 0;color:#334155;font-size:1.05rem;font-weight:600}.meter-hero-card__meta{margin:.25rem 0 0;color:#64748b;font-size:1rem;font-weight:600}.meter-hero-card__actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}.meter-hero-card__actions .ghost-button{border-color:#94a3b873;background:#ffffffd9;box-shadow:0 10px 20px #0f172a14}.meter-hero-card__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.meter-hero-tile{border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.28);background:#ffffffc7;padding:.95rem 1rem;display:grid;gap:.2rem}.meter-hero-tile__label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#64748b}.meter-hero-tile__value{color:#0f172a;font-size:1.25rem;line-height:1.2}.meter-hero-tile__sub{color:#64748b;font-size:.95rem}.danger-button{background:var(--danger);color:#fff;border:1px solid transparent;padding:.75rem 1.4rem;font-weight:700}.danger-button:hover:not(:disabled){background:#991b1b}.muted{color:#475569;margin:.35rem 0 0}.hint{display:block;font-size:.8rem;color:var(--text-subtle);margin-top:.35rem}.terrain-actions{display:flex;flex-direction:column;gap:.8rem}@media(min-width:768px){.terrain-actions{flex-direction:row}}@media(max-width:640px){.releveur-shell .app-header{padding:.5rem .75rem;gap:.55rem}.releveur-shell .app-header__logo{width:1.2rem;height:1.2rem}.releveur-shell .app-header__appname{font-size:.84rem}.releveur-shell .app-header__subtitle{font-size:.74rem}.releveur-shell .app-header__meta{font-size:.68rem}.releveur-shell .container{padding-left:.72rem;padding-right:.72rem}.releveur-shell main.container{padding-bottom:6.25rem}.releveur-shell .card{padding:1rem .85rem}.releveur-shell .status-pill{margin-top:.55rem}.terrain-reading{scroll-margin-top:138px}.input-row{flex-direction:column;align-items:stretch}.container{padding:1rem}.dashboard-hero{padding:1.25rem;border-radius:var(--radius-md)}.dashboard-hero h2{font-size:1.4rem}.dashboard-filter{min-width:0;width:100%}.dashboard-panel{padding:1rem;border-radius:var(--radius-md)}.dashboard-page>*+*{margin-top:1rem}.dashboard-grid{gap:1rem}.activity-item{padding:.55rem .65rem;gap:.6rem}}@media(max-width:900px){.split-layout{grid-template-columns:1fr}.meter-panel{position:static}.dashboard-actions{grid-auto-flow:row;border-radius:var(--radius-md);justify-content:stretch}.drawer{width:100%}.table-filters{display:grid;grid-template-columns:1fr;justify-content:stretch}.table-filters .input,.table-filters .filter-chip,.filter-bar{width:100%}.meters-top-actions .secondary-button,.meters-top-actions .ghost-button{flex:1}.meters-map-toolbar{align-items:stretch;flex-direction:column}.meters-map-toolbar__title{width:100%;justify-content:space-between}.meters-map-toolbar h2{font-size:1.45rem;width:100%}.meters-top-actions{width:100%;flex-wrap:wrap}.meters-filters-row,.owners-filters-row,.readings-filters-row{grid-template-columns:1fr}.meters-filter-village,.meters-filter-status{max-width:none}.drawer-top-card,.drawer-mid-grid{grid-template-columns:1fr}.meter-hero-card__identity h4{font-size:1.6rem}.meter-hero-card__actions{width:100%;justify-content:stretch}.meter-hero-card__actions .ghost-button{flex:1;justify-content:center}}.map-popup{font-family:Space Grotesk,SF Pro Display,Segoe UI,sans-serif;min-width:180px}.map-popup__title{font-weight:700;margin-bottom:.5rem;color:#0f172a}.map-popup__list{display:grid;gap:.4rem}.map-popup__link{border:1px solid #e2e8f0;background:#f8fafc;border-radius:var(--radius-sm);padding:.45rem .6rem;text-align:left;cursor:pointer;font-weight:600;color:#0f172a;display:grid;gap:.12rem}.map-popup__link-title{font-size:.84rem;line-height:1.2}.map-popup__link-meta{font-size:.74rem;color:#475569;line-height:1.25}.map-popup__link:hover{border-color:var(--primary);color:var(--primary);background:#e0f2fe}.map-popup__link.is-alert{border-color:#fdba74;background:#fff7ed;color:#9a3412}.map-popup__link.is-alert:hover{border-color:#ea580c;background:#ffedd5;color:#9a3412}.leaflet-div-icon.map-meter-pin{width:24px;height:24px;background:transparent;border:none;color:var(--primary, #2563eb);filter:drop-shadow(0 1px 2px rgba(15,23,42,.4))}.leaflet-div-icon.map-meter-pin svg{display:block;width:100%;height:100%}.leaflet-div-icon.map-meter-pin--alert{color:#ea580c}.leaflet-marker-icon.map-cluster{background:var(--primary);color:#fff;border-radius:var(--radius-pill);width:38px;height:38px;display:grid;place-items:center;font-weight:700;border:2px solid #fff;box-shadow:0 6px 14px #0f172a33}.map-cluster span{font-size:.8rem}.leaflet-marker-icon.map-cluster--alert{background:#ea580c}.app-footer{margin-top:auto;border-top:1px solid var(--border);background:var(--surface-muted);color:var(--text-subtle);font-size:.8rem}.app-shell>main{flex:1 0 auto}.app-shell>.app-footer{margin-top:2.5rem}.app-footer__content{display:flex;flex-direction:column;gap:.5rem 1.5rem;padding:1.25rem 16px calc(1.5rem + env(safe-area-inset-bottom))}@media(min-width:720px){.app-footer__content{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}}.app-shell:has(.bottom-nav) .app-footer__content{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.app-footer__links,.app-footer__meta{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;align-items:center}.app-footer a{display:inline-block;padding:.35rem 0;font-weight:600;color:var(--primary)}.app-footer a:hover{text-decoration:underline}.app-footer__meta{font-size:.78rem;color:var(--text-subtle)}.help-hero{display:grid;gap:1rem}.help-actions{display:flex;flex-wrap:wrap;gap:.75rem}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem}.help-card h3{margin-top:0}.help-card a,.changelog-page a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.changelog-intro{margin-bottom:1.25rem}.changelog-intro h2{margin:0}.changelog-entry+.changelog-entry{margin-top:1rem}.changelog-entry__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.changelog-entry__head h3{margin:0;font-size:1.1rem}.changelog-entry__head .muted{margin:0;font-size:.85rem}.changelog-entry__list{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.4rem;color:var(--text)}.accounts-page .card-header h2{margin:0}.settings-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.25rem;align-items:start}.settings-menu{position:sticky;top:1rem;display:grid;gap:.9rem;padding:.75rem;box-shadow:var(--shadow-card);border-radius:var(--radius-md);background:var(--surface)}.settings-menu__group{display:grid;gap:.15rem}.settings-menu__title{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);padding:0 .6rem .2rem}.settings-menu__item{appearance:none;border:0;background:none;font:inherit;text-align:left;cursor:pointer;padding:.45rem .6rem;border-radius:var(--radius-sm);color:var(--text);font-weight:500}.settings-menu__item:hover{background:var(--surface-muted)}.settings-menu__item.is-active{background:var(--info-soft);color:var(--primary);font-weight:700}.settings-main{min-width:0;display:grid;gap:1rem;container:settings / inline-size}.settings-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.settings-tile{display:grid;gap:.35rem;justify-items:start;text-align:left;padding:1rem;border:0;box-shadow:var(--shadow-card);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.settings-tile:hover{border-color:var(--primary)}.settings-tile strong{font-size:1.6rem;line-height:1.1}.settings-todo{list-style:none;margin:.5rem 0 0;padding:0}.settings-todo li{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--border)}.settings-todo li:first-child{border-top:0}.settings-todo li>span:first-child{flex:1}@media(max-width:860px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-menu{position:static;display:flex;gap:.3rem;overflow-x:auto;padding:.4rem;scrollbar-width:none}.settings-menu__group{display:contents}.settings-menu__title{display:none}.settings-menu__item{white-space:nowrap;flex:none}.settings-tiles{grid-template-columns:1fr 1fr}}@media(max-width:640px){.settings-todo li{flex-direction:column;align-items:flex-start;gap:.35rem}}.accounts-table td{vertical-align:middle}.accounts-table__me{margin:0;font-size:.85rem}.table-scroll .positions-table{min-width:0}@media(min-width:641px){.positions-table .accounts-table__actions{width:1%;white-space:nowrap}}.table--striped.positions-table tr.is-checking{background:var(--primary-soft)}.positions-table tr.positions-table__check>td{padding:.75rem;background:#fff}@media(max-width:640px){.positions-table tr.positions-table__check>td{display:block}.positions-table tr.positions-table__check>td:before{content:none}}.field-link.positions-table__card-link{margin-top:.5rem}.row-actions{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:640px){.table-scroll .accounts-table{min-width:0}.accounts-table thead{display:none}.accounts-table,.accounts-table tbody,.accounts-table tr,.accounts-table td{display:block;width:100%}.accounts-table tr{padding:.75rem .9rem;border-bottom:1px solid var(--border)}.accounts-table tbody tr:last-child{border-bottom:none}.accounts-table td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.2rem 0;border:none;overflow-wrap:anywhere;text-align:right}.accounts-table td:first-child{justify-content:flex-start;gap:.3rem;font-weight:700;font-size:1rem;text-align:left}.accounts-table td[data-label]:before{content:attr(data-label);flex:none;color:var(--text-subtle);font-size:.82rem;text-align:left}.accounts-table .accounts-table__actions{padding-top:.5rem}.accounts-table .row-actions{width:100%}.accounts-table .row-actions>button{flex:1 1 0}}.drawer.drawer--narrow{width:min(520px,100%)}.drawer--narrow .drawer-header h3{margin:0}@media(max-width:640px){.drawer--narrow .drawer-header,.drawer--narrow .drawer-body{padding-left:1rem;padding-right:1rem}}.settings-panel{max-width:760px}.settings-number{max-width:10rem}.sector-fieldset{display:grid;gap:.5rem;margin:0;padding:0;border:0;min-width:0}.sector-fieldset legend{padding:0;margin-bottom:.25rem}.sector-option{display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.sector-option input{margin:0;width:1rem;height:1rem;flex:none}.sector-villages{display:grid;gap:.4rem;margin:.25rem 0 0 1.5rem;padding:.6rem .75rem;border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-sm);max-height:14rem;overflow:auto}.sector-summary{display:grid;gap:.5rem;margin:.25rem 0 0 1.5rem;justify-items:start}.sector-summary__text{font-size:.92rem}.settings-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.settings-pair .label,.settings-panel>.label{margin:0}.settings-hint{margin-top:-.5rem}.settings-subtitle{margin:.75rem 0 0;font-size:1.05rem}.settings-intro{margin:0}.settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.settings-actions--start{justify-content:flex-start}.settings-figures{display:flex;flex-wrap:wrap;gap:.75rem}.settings-figures>div{display:grid;gap:.1rem;min-width:10rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border)}.settings-figures__value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.settings-figures__label{font-size:.85rem;color:var(--text-muted)}@media(max-width:640px){.settings-actions>button{flex:1 1 auto}.settings-number{max-width:none}}.color-field{display:flex;gap:.75rem;align-items:center;margin-top:.4rem}.input.color-field__swatch{width:64px;height:48px;padding:.2rem;flex:none;cursor:pointer}.color-preview{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-muted)}.color-preview__header{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:var(--surface);border-bottom:1px solid var(--border);font-weight:700}.color-preview__logo{width:1.4rem;height:1.4rem}.color-preview__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.color-preview__nav,.color-preview__button{padding:.4rem .9rem;border-radius:var(--radius-pill);background:var(--preview);color:#fff;font-weight:600;font-size:.9rem}.color-preview__body{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.9rem}.color-preview__button{padding:.6rem 1.2rem}.color-preview__chip{padding:.35rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--preview);background:var(--preview-soft);color:var(--preview);font-weight:600;font-size:.9rem}.color-preview__link{color:var(--preview);font-weight:600;text-decoration:underline}.color-preview__note{margin-top:-.5rem;color:var(--text-muted);font-size:.82rem}.audit-journal .card-header h2{margin:0}.audit-journal__filters{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,11rem) minmax(0,1fr);gap:.75rem;margin-bottom:1rem}.audit-journal__filters .label{margin:0}.table-scroll .audit-journal__table{min-width:760px}.audit-journal__date{white-space:nowrap}.audit-journal__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem}.audit-journal__foot .muted{margin:0}@media(max-width:640px){.audit-journal__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-journal__search{grid-column:1 / -1}}.terrain-capture-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.terrain-capture-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}.terrain-photo-index{display:grid;gap:.25rem;margin-top:-.4rem}.photo-reading-hint{display:grid;gap:.4rem;min-width:0}.photo-reading-hint .status-pill{display:flex;margin-top:0;border-radius:var(--radius-md);line-height:1.35}.photo-reading-hint .hint{margin-top:0;font-size:.8rem;color:#64748b}.code-learn-panel{margin-top:1rem;padding:.9rem;border-radius:var(--radius-md);border:1px solid #bfdbfe;background:#eff6ff;display:grid;gap:.75rem;min-width:0;scroll-margin-top:124px}.code-learn-panel h3{margin:0 0 .35rem}.code-learn-panel__label{display:block;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.code-learn-panel__code,.learned-codes__value{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow-wrap:anywhere}.code-learn-panel__code{display:block;margin-top:.25rem;padding:.5rem .7rem;border-radius:var(--radius-sm);background:#fff;border:1px solid #dbe5f1;font-size:1rem;font-weight:600}.code-learn-panel .muted{margin:0}.code-learn-panel .hint{margin-top:0;font-size:.8rem;color:#64748b}.code-learn-panel .meter-summary{background:#fff}.code-learn-panel__status{display:flex;margin-top:0;border-radius:var(--radius-md);line-height:1.35}.code-learn-panel__actions{display:flex;flex-wrap:wrap;gap:.6rem}.code-learn-panel__actions .primary-button{flex:1 1 200px}.scanner-overlay{position:fixed;inset:0;z-index:12000;background:#020617;color:#fff;overflow:hidden;overscroll-behavior:contain}.scanner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;top:44%;left:50%;width:min(80vw,360px);height:min(56vw,250px);transform:translate(-50%,-50%);border:3px solid #ffffff;border-radius:var(--radius-md);box-shadow:0 0 0 100vmax #02061780;pointer-events:none}.scanner-frame__line{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#38bdf8;box-shadow:0 0 10px #38bdf8cc;animation:scannerSweep 2.2s ease-in-out infinite}@keyframes scannerSweep{0%,to{transform:translateY(-90px)}50%{transform:translateY(90px)}}@media(prefers-reduced-motion:reduce){.scanner-frame__line{animation:none}}.scanner-top{position:absolute;top:0;left:0;right:0;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 1.5rem;background:linear-gradient(#020617d9,#02061700);text-align:center}.scanner-title{margin:0;font-weight:700;font-size:1.05rem}.scanner-hint{margin:.35rem 0 0;font-size:.9rem;color:#cbd5e1;min-height:1.2em}.scanner-panel{position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%);margin:0 auto;max-width:440px;padding:1.1rem;border-radius:var(--radius-md);background:#0f172a;border:1px solid #334155;display:grid;gap:.75rem;line-height:1.4}.scanner-panel p{margin:0}.scanner-panel__actions{display:grid;gap:.6rem}.scanner-panel__status{color:#fde68a;font-size:.9rem}.scanner-controls{position:absolute;left:0;right:0;bottom:0;padding:1.5rem 16px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#02061700,#020617d9);display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}.scanner-button{min-height:52px;min-width:140px;padding:.8rem 1.4rem;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.35);background:#0f172abf;color:#fff;font-weight:700;cursor:pointer}.scanner-button:disabled{opacity:.6;cursor:not-allowed}.scanner-button.is-active{background:#facc15;border-color:#facc15;color:#0f172a}.scanner-button--primary{background:var(--primary);border-color:var(--primary)}.scanner-button--cancel{background:#fff;border-color:#fff;color:#0f172a}.learned-codes{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.5rem}.learned-codes__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-md);background:#fff;border:1px solid #e2e8f0}.learned-codes__main{display:grid;gap:.2rem;min-width:0}.learned-codes__value{font-weight:600}.learned-codes__meta{font-size:.82rem;color:#64748b}.photo-ai-diagnostics .card-header{flex-wrap:wrap}.photo-ai-diagnostics .table-actions__group button{white-space:nowrap}.photo-ai-result{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.35rem 1rem;margin:.75rem 0 0;padding:.75rem .9rem;border-radius:var(--radius-md);background:#f8fafc;border:1px solid #e2e8f0;font-size:.9rem}.photo-ai-result dt{color:#64748b;font-weight:700}.photo-ai-result dd{margin:0;overflow-wrap:anywhere}.accounts-coverage{margin:0 0 .75rem;font-size:.92rem;color:var(--text-muted)}.accounts-coverage.is-warning{color:#92400e}.accounts-coverage a{color:inherit;font-weight:600;text-decoration:underline}.logo-setting__row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.35rem}.logo-setting__preview{width:84px;height:96px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:6px;box-sizing:border-box}.logo-setting__preview.is-empty{border-style:dashed;font-size:.85rem}.logo-setting__preview img{max-width:100%;max-height:100%;object-fit:contain}.logo-setting__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.logo-setting__choose{position:relative;cursor:pointer;display:inline-flex;align-items:center}.logo-setting__choose input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.logo-setting__choose.is-disabled{opacity:.6;cursor:default}.logo-setting .status-pill{margin-top:.5rem}.public-shell{background:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 55%),var(--bg)}.public-main{width:min(460px,100%);margin:0 auto;padding:2.5rem 16px 3rem;display:grid;gap:1rem;align-content:start;min-width:0}.public-brand{display:flex;align-items:center;gap:.85rem;padding:0 .25rem}.public-brand__logo{width:48px;height:48px;flex:0 0 auto;display:block}.public-brand__name{margin:0;font-size:1.45rem;font-weight:700;letter-spacing:.01em;color:var(--text);line-height:1.15}.public-brand__tagline{margin:.15rem 0 0;color:var(--text-muted);font-size:.95rem}.public-card{display:grid;gap:1rem;padding:1.5rem;min-width:0}.public-card h1,.public-card h2{margin:0;font-size:1.45rem;line-height:1.25}.public-card__intro{margin:-.4rem 0 0;color:var(--text-muted);line-height:1.5}.public-eyebrow{margin:0 0 .3rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}.public-form{display:grid;gap:1rem;min-width:0}.form-field{display:grid;gap:.4rem;min-width:0}.form-field>label,.form-field__label{font-weight:600;font-size:.92rem;color:var(--text)}.form-field .input{min-height:48px;background:var(--surface);border-color:var(--border-strong)}.form-field .input:focus{border-color:var(--primary);outline:none;box-shadow:var(--focus-ring)}.form-field .input[aria-invalid=true]{border-color:var(--danger)}.field-hint{margin:0;font-size:.85rem;color:var(--text-subtle);line-height:1.4}.password-field{position:relative}.password-field .input{padding-right:6.2rem}.password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);min-height:40px;padding:0 .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--primary);font-weight:600;font-size:.88rem;cursor:pointer}.password-toggle:hover{background:var(--primary-soft)}.form-alert{display:flex;align-items:flex-start;gap:.6rem;margin:0;padding:.75rem .9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft);color:var(--danger);font-weight:600;font-size:.92rem;line-height:1.45}.form-alert--info{border-color:color-mix(in srgb,var(--info) 25%,transparent);background:var(--info-soft);color:var(--info)}.form-alert--success{border-color:color-mix(in srgb,var(--success) 30%,transparent);background:var(--success-soft);color:var(--success)}.form-alert--warning{border-color:color-mix(in srgb,var(--warning) 30%,transparent);background:var(--warning-soft);color:var(--warning)}.form-alert__body{display:grid;gap:.35rem;min-width:0}.form-alert__body p{margin:0;font-weight:500}.public-actions{display:grid;gap:.6rem}.public-actions>.primary-button,.public-actions>.secondary-button,.public-actions>.ghost-button{width:100%}.link-button{display:inline-flex;align-items:center;min-height:44px;padding:0 .25rem;border:none;background:none;color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-underline-offset:3px;cursor:pointer;justify-self:start;text-align:left}.link-button:hover{text-decoration-color:currentColor}.link-button--center{justify-self:center;text-align:center}.public-divider{border:none;border-top:1px solid var(--border);margin:.25rem 0}.public-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .75rem;color:var(--text-muted);font-size:.92rem;text-align:center}.public-context strong{color:var(--text)}.public-legal,.owner-legal{margin:0;color:var(--text-muted);font-size:.85rem;line-height:1.5;text-align:center}.public-legal a,.owner-legal a{color:inherit;text-decoration:underline}.public-steps{margin:0;padding:0;list-style:none;display:grid;gap:.25rem;font-size:.85rem;color:var(--text-subtle)}.owner-portal{width:min(820px,100%);margin:0 auto;padding:1.5rem 16px 3rem;display:grid;gap:1rem;min-width:0}.owner-portal .card{padding:1.5rem;min-width:0}.owner-portal h1{margin:0 0 .5rem;font-size:1.5rem;line-height:1.25}.owner-portal h2{margin:0 0 .75rem;font-size:1.2rem;line-height:1.3}.owner-portal h2:focus{outline:none}.owner-lead{margin:0;color:var(--text-muted);line-height:1.55}.owner-how{margin:1rem 0 0;padding:0;list-style:none;counter-reset:owner-step;display:grid;gap:.75rem}.owner-how li{counter-increment:owner-step;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem;align-items:start;line-height:1.5}.owner-how li:before{content:counter(owner-step);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:700}.owner-tip{margin:1rem 0 0;padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);line-height:1.5;font-size:.95rem}.owner-tip strong{color:var(--text)}.owner-portal .form-alert{margin-top:1rem}.owner-form{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.owner-form__submit{width:100%;min-height:52px;font-size:1.05rem}@media(min-width:720px){.owner-form{grid-template-columns:repeat(3,minmax(0,1fr))}.owner-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.owner-form__submit{width:auto;min-width:220px}}.owner-meters-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.owner-meters-head h2{margin:0;scroll-margin-top:110px}.owner-meters-head p{margin:.3rem 0 0;color:var(--text-muted)}.owner-meter-list{display:grid;gap:1rem}.owner-meter{display:grid;gap:1rem;padding:1.1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted);min-width:0}.owner-meter--open{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:var(--surface)}.owner-meter__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}.owner-meter__number{margin:0;font-size:1.15rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.owner-meter__address{margin:.2rem 0 0;color:var(--text-muted);font-size:.95rem}.owner-meter__last{margin:0;color:var(--text-muted);line-height:1.5}.owner-meter__last strong{color:var(--text);font-variant-numeric:tabular-nums}.owner-meter__note{margin:0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.owner-entry{display:grid;gap:.75rem}.owner-entry__row{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr)}.owner-entry .input.owner-index-input{min-height:56px;font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.owner-entry__submit{width:100%;min-height:56px;font-size:1.05rem}@media(min-width:560px){.owner-entry__row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.owner-entry__submit{width:auto;min-width:160px}}.owner-entry__preview{margin:0;font-size:.92rem;color:var(--text-muted)}.owner-entry__preview strong{color:var(--text);font-variant-numeric:tabular-nums}.owner-entry__preview.is-warning{color:var(--warning);font-weight:600}.owner-success{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;align-items:start;padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.owner-success__icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--success);color:#fff;font-weight:700;font-size:1.1rem}.owner-success__title{margin:0;font-weight:700;font-size:1.02rem}.owner-success__text{margin:.25rem 0 0;color:color-mix(in srgb,var(--success) 80%,black);line-height:1.45}.owner-usage{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.owner-usage__item{display:grid;gap:.2rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.owner-usage__label{font-size:.82rem;font-weight:700;color:var(--text-subtle)}.owner-usage__value{font-size:1.15rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.owner-usage__sub{font-size:.85rem;color:var(--text-subtle)}@media(max-width:480px){.public-main{padding-top:1.75rem}.public-card,.owner-portal .card{padding:1.15rem}.owner-portal{padding-top:1rem}}.public-url{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.owner-form__full{grid-column:1 / -1}.owner-note{margin:.75rem 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.5}.owner-check{display:grid;gap:.6rem;padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);color:var(--text)}.owner-check__title{margin:0;font-weight:700;font-size:1.02rem;color:var(--warning)}.owner-check__text,.owner-check__question{margin:0;font-size:.95rem;line-height:1.45}.owner-check__text strong{font-variant-numeric:tabular-nums}.owner-check__question{font-weight:600}.owner-check__actions{display:grid;gap:.5rem}.owner-check__actions>.primary-button,.owner-check__actions>.secondary-button{width:100%;min-height:48px}@media(min-width:560px){.owner-check__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.owner-check__call{width:100%;min-height:52px;font-size:1.05rem;text-decoration:none;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;padding-top:.6rem;padding-bottom:.6rem}.owner-check .link-button.owner-check__link{min-height:36px;font-size:.92rem}.owner-phone-link{color:var(--primary);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:640px){.owner-portal{gap:.5rem;padding-left:8px;padding-right:8px}.owner-portal .card{padding:1rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.owner-tip{border:0}.owner-meter-list{gap:0}.owner-meter,.owner-meter--open{padding:1rem 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}.owner-usage{gap:0}.owner-usage__item{padding:.6rem 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent}}.terrain-shell main.container.terrain-main{width:min(720px,100%)}.terrain-main>.card+.card{margin-top:1rem}.terrain-shell .hint{font-size:.8rem;color:var(--text-subtle)}.field-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;min-width:0}.field-card__header h2{margin:0;font-size:1.15rem;line-height:1.3;color:var(--text)}.field-card__title{min-width:0}.field-card__title p{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.field-eyebrow{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.field-subtitle{margin:0 0 .5rem;font-size:.95rem;color:var(--text)}.field-link{display:inline-flex;align-items:center;min-height:44px;padding:0 .15rem;border:0;background:none;font:inherit;font-weight:600;color:color-mix(in srgb,var(--primary) 80%,black);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;cursor:pointer}.field-link:hover{text-decoration-thickness:2px}.field-icon{flex:0 0 auto;width:1.15em;height:1.15em}.field-offline{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid #fcd34d;background:var(--warning-soft);color:#78350f}.field-offline__icon{flex:0 0 auto;width:1.4rem;height:1.4rem;margin-top:.05rem;color:var(--warning)}.field-offline__text{min-width:0}.field-offline p{margin:0;line-height:1.4}.field-offline p+p{margin-top:.25rem}.field-offline__count{font-weight:700}.status-pill.field-pill{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.6rem .85rem;border-radius:var(--radius-md);line-height:1.4}.status-pill.field-pill--action{align-items:center;justify-content:space-between;flex-wrap:wrap}.field-pill--action>span{flex:1 1 12rem;min-width:0}.field-spinner{display:inline-block;flex:0 0 auto;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fieldSpin .8s linear infinite}@keyframes fieldSpin{to{transform:rotate(360deg)}}.field-loading{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-weight:600}.field-loading .field-spinner{width:1.3rem;height:1.3rem;color:var(--primary)}.field-skeleton{display:grid;gap:.5rem;padding:.9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.field-skeleton__line{display:block;height:.8rem;border-radius:6px;background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:fieldShimmer 1.4s ease-in-out infinite}.field-skeleton__line--short{width:35%;height:1rem}.field-skeleton__line--medium{width:60%}@keyframes fieldShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.field-spinner{animation-duration:2.4s}.field-skeleton__line{animation:none}}.field-empty{display:grid;gap:.4rem;justify-items:center;padding:1.5rem 1rem;border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:var(--surface-muted);text-align:center}.field-empty strong{font-size:1rem;color:var(--text)}.field-empty .muted{margin:0;max-width:32rem}.field-empty .secondary-button{margin-top:.4rem}.field-empty-card{display:grid;gap:.6rem;justify-items:start}.field-empty-card h2{font-size:1.15rem}.field-empty-card .muted{margin:0}.suggestion-item.field-suggestion{display:grid;gap:.15rem;width:100%;min-height:48px;padding:.65rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text);text-align:left;min-width:0}.suggestion-item.field-suggestion:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent);background:var(--primary-soft)}.field-suggestion__top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.field-suggestion__number{font-size:1rem;overflow-wrap:anywhere}.field-suggestion__distance{flex:0 0 auto;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.field-suggestion__line{font-size:.92rem;color:var(--text-muted);overflow-wrap:anywhere}.field-suggestion__hint{font-size:.85rem;color:var(--text-subtle);overflow-wrap:anywhere}.bottom-nav{justify-content:center;gap:.25rem;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom))}.bottom-link{flex:1 1 0;max-width:10rem;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .5rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;color:var(--text-muted);text-align:center;white-space:nowrap}.bottom-link:hover{background:var(--surface-muted);color:var(--text)}.bottom-link.active{color:color-mix(in srgb,var(--primary) 80%,black);background:var(--primary-soft)}.bottom-nav.bottom-nav--dense{gap:.15rem;padding-left:.35rem;padding-right:.35rem}.bottom-nav--dense .bottom-link{flex:1 1 auto;padding:.35rem .3rem;font-size:.8rem}@media(max-width:359px){.tournee-banner__cta-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.bottom-nav.bottom-nav--dense{gap:.1rem;padding-left:.2rem;padding-right:.2rem}.bottom-nav--dense .bottom-link{padding:.35rem .15rem;font-size:.68rem}}.tournee-main h2{margin:0}.status-pill.tournee-pill{display:flex;border-radius:var(--radius-md);line-height:1.4}.tournee-summary{display:grid;gap:.75rem}.tournee-summary__head{display:grid;gap:.2rem;min-width:0}.tournee-summary__head h2{font-size:1.35rem;overflow-wrap:anywhere}.sector-line{margin:0;font-size:.85rem;color:var(--text-muted)}.sector-line strong{font-weight:600;color:#334155}.terrain-main>.sector-line{margin:-.25rem 0 .25rem;padding:.55rem .85rem;background:var(--surface-muted, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-md);overflow-wrap:anywhere}.tournee-summary__target{font-size:.85rem;color:var(--text-muted)}.tournee-summary__line{margin:0;color:#334155}.tournee-summary .hint{margin-top:0}.tournee-progress{display:grid;gap:.45rem}.tournee-progress__figures{margin:0;color:#334155}.tournee-progress__figures strong{font-size:1.25rem;color:var(--text);font-variant-numeric:tabular-nums}.tournee-progress__bar{display:flex;height:14px;border-radius:var(--radius-pill);background:var(--border);overflow:hidden}.tournee-progress__segment{display:block;height:100%;transition:width .4s ease}.tournee-progress__segment--done{background:#22c55e}.tournee-progress__segment--issues{background:#f59e0b}.tournee-progress__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem;color:var(--text-muted)}.tournee-progress__legend li{display:inline-flex;align-items:center;gap:.35rem}.tournee-dot{width:.7rem;height:.7rem;border-radius:var(--radius-pill);flex:0 0 auto}.tournee-dot--done{background:#22c55e}.tournee-dot--issues{background:#f59e0b}.tournee-dot--todo{background:var(--border-strong)}.tournee-controls{display:grid;gap:.75rem}.tournee-controls .field-card__header{margin-bottom:0}.tournee-sort{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.tournee-sort .filter-chip,.tournee-issues-chip{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;font-size:.95rem}.tournee-sort .filter-chip.is-active{color:color-mix(in srgb,var(--primary) 80%,black);background:var(--primary-soft)}.tournee-sort .filter-chip:disabled{opacity:.75;cursor:progress}.tournee-issues-chip{justify-self:start;max-width:100%}.hint.tournee-hint{margin-top:0}.tournee-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.tournee-field{display:grid;gap:.35rem;min-width:0}.tournee-field .label{margin-bottom:0}.tournee-field .input{min-height:46px}.tournee-sync__button{flex:0 0 auto}.muted.tournee-list-status,.tournee-list-loading{margin-top:1rem}.tournee-count{margin:1rem 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.tournee-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.tournee-item{width:100%;min-height:56px;display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text);text-align:left;cursor:pointer;min-width:0}.tournee-item:hover,.tournee-item:focus-visible{border-color:var(--primary);background:var(--primary-soft)}.tournee-item:active{background:color-mix(in srgb,var(--primary-soft) 80%,var(--primary))}.tournee-item--flagged{border-color:#fcd34d;background:#fffbeb}.tournee-item__top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.tournee-item__number{font-size:1.05rem;overflow-wrap:anywhere}.tournee-item__distance{flex:0 0 auto;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.tournee-item__line{display:block;overflow-wrap:anywhere}.tournee-item__owner{color:#334155}.tournee-item__hint{color:var(--text-muted);font-size:.9rem}.tournee-item__last{display:block;font-size:.82rem;color:var(--text-subtle)}.tournee-more{width:100%;min-height:48px;margin-top:.75rem}.field-empty.tournee-done{margin-top:1rem;border-style:solid;border-color:#bbf7d0;background:var(--success-soft)}.field-empty.tournee-done strong{font-size:1.1rem;color:var(--success)}.tournee-list-card .field-empty{margin-top:1rem}.tournee-issue{display:grid;gap:.15rem;margin-top:.3rem;padding:.45rem .65rem;border-radius:var(--radius-sm);background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.85rem;min-width:0}.tournee-issue__title{font-weight:700}.tournee-issue__note{color:#7c2d12;overflow-wrap:anywhere}.tournee-issue__meta{font-size:.78rem;color:var(--warning)}.tournee-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;margin-bottom:1rem;padding:.3rem .5rem .3rem .9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);background:var(--primary-soft);color:var(--text);font-size:.92rem}.tournee-banner:hover{border-color:var(--primary)}.tournee-banner__text{display:flex;align-items:baseline;min-width:0;white-space:nowrap}.tournee-banner__name{min-width:0;overflow:hidden;text-overflow:ellipsis}.tournee-banner__left{flex:0 0 auto;margin-left:.35em;color:var(--text-muted);font-variant-numeric:tabular-nums}.tournee-banner__cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;padding:0 .35rem;color:color-mix(in srgb,var(--primary) 80%,black);font-weight:700;white-space:nowrap}.tournee-done-hint{margin:0;padding:.6rem .85rem;border-radius:var(--radius-md);background:var(--success-soft);color:var(--success);font-weight:600;font-size:.9rem}.tournee-next{display:grid;gap:.25rem;scroll-margin:140px 0 calc(6rem + env(safe-area-inset-bottom));padding:.85rem .9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);background:var(--primary-soft);min-width:0}.tournee-next--done{border-color:#bbf7d0;background:var(--success-soft);color:var(--success);gap:.6rem}.tournee-next__label{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tournee-next__number{font-size:1.15rem;overflow-wrap:anywhere}.tournee-next__line{overflow-wrap:anywhere}.tournee-next__hint{font-size:.85rem;color:var(--text-muted)}.tournee-next__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.5rem}.tournee-next__actions .primary-button{flex:1 1 200px;min-height:48px}.tournee-next__link{min-height:48px}.tournee-next--done .tournee-next__link{justify-self:start}.tournee-issue-panel{display:grid;gap:.6rem;min-width:0}.tournee-issue-panel .tournee-issue{margin-top:0}.tournee-issue-panel__actions{display:flex;flex-wrap:wrap;gap:.5rem}.field-link.tournee-issue-panel__toggle{justify-self:start;margin-top:-.5rem;color:var(--text-muted);font-weight:500}.tournee-issue-panel .status-pill.tournee-pill{margin-top:0}.tournee-issue-form{display:grid;gap:.75rem;padding:.9rem;border-radius:var(--radius-md);border:1px solid #fed7aa;background:#fff7ed;min-width:0}.tournee-issue-form h3{margin:0;font-size:1rem}.tournee-issue-form .hint{margin-top:.2rem}.tournee-issue-form__field{display:grid;gap:.35rem;min-width:0}.tournee-issue-form .label{margin-bottom:0}.tournee-issue-form .input{background:var(--surface)}.tournee-issue-form select.input{min-height:46px}.tournee-issue-form__note{resize:vertical;font:inherit;font-size:16px}.tournee-issue-form .hint.tournee-issue-form__count{margin-top:0;text-align:right}.tournee-issue-form__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}@media(max-width:480px){.tournee-list-card .field-card__header{flex-direction:column;align-items:stretch}.tournee-issue-form__actions button{flex:1 1 auto}}.reading-note{display:grid;gap:.35rem;min-width:0}.reading-note--closed{margin:0}.field-link.reading-note__toggle{min-height:36px;font-size:.92rem}.reading-note .label{margin-bottom:0}.reading-note__input{resize:vertical;font:inherit;font-size:16px;line-height:1.4;min-height:4.5rem;background:var(--surface);box-shadow:none}.reading-note .hint.reading-note__count{margin:0;text-align:right}.terrain-meter__row--note dd{color:var(--text-muted);font-style:italic;overflow-wrap:anywhere}@media(max-width:640px){.terrain-shell main.container.terrain-main{padding-left:8px;padding-right:8px}.terrain-shell .card{padding:.85rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.terrain-main>.card+.card{margin-top:.5rem}.terrain-shell .tournee-banner{margin-bottom:.5rem}.terrain-shell .suggestions,.terrain-shell .tournee-list{gap:0}.terrain-shell .suggestion-item.field-suggestion,.terrain-shell .tournee-item{padding:.7rem .15rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.terrain-shell .suggestion-item.field-suggestion:first-child,.terrain-shell .tournee-list>li:first-child .tournee-item{border-top:1px solid var(--border)}.terrain-shell .suggestion-item.field-suggestion:hover,.terrain-shell .suggestion-item.field-suggestion:active,.terrain-shell .tournee-item:hover,.terrain-shell .tournee-item:focus-visible,.terrain-shell .tournee-item:active{background:var(--primary-soft)}.terrain-shell .tournee-item--flagged{padding-left:.6rem;background:#fffbeb;box-shadow:inset 3px 0 #f59e0b}.terrain-shell .tournee-item--flagged .tournee-issue{padding:0;border:0;background:transparent}.terrain-shell .terrain-meter{padding:0 0 .7rem;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent}.terrain-shell .field-empty:not(.tournee-done){padding:.75rem .5rem;border:0;background:transparent}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.terrain-search{display:flex;align-items:stretch;gap:.5rem;min-width:0}.terrain-search__field{position:relative;flex:1 1 auto;min-width:0}.terrain-search .input.terrain-search__input{height:100%;min-height:50px;padding-left:.85rem;padding-right:2.75rem;text-overflow:ellipsis}.terrain-search__input::placeholder{font-size:.95rem}@media(max-width:359px){.terrain-search__input::placeholder{font-size:.85rem}.secondary-button.terrain-scan-button{padding:0 .7rem}}.terrain-search__input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.terrain-search__submit{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer}.terrain-search__submit:hover:not(:disabled){background:var(--border);color:var(--text)}.terrain-search__submit .field-icon{width:1.3rem;height:1.3rem}.secondary-button.terrain-scan-button{flex:0 0 auto;min-height:50px;padding:0 .85rem;gap:.4rem}.hint.terrain-offline-hint{margin:.6rem 0 0}.terrain-search~.suggestions{margin-top:.75rem}.terrain-capture-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.terrain-capture-actions .terrain-capture-button{flex:1 1 140px;white-space:normal;line-height:1.2;padding-left:.75rem;padding-right:.75rem}.terrain-main>.terrain-queue{margin:0 0 .75rem}.terrain-nearby .suggestions{margin-top:0}.terrain-nearby .muted{margin:0}.terrain-rejected{display:grid;gap:.5rem}.terrain-rejected p,.terrain-rejected ul{margin:0}.terrain-rejected ul{padding-left:1.1rem;font-weight:500}.terrain-rejected .secondary-button{justify-self:start}.terrain-reading__body,.terrain-reading__form{display:grid;gap:1rem;min-width:0}.terrain-reading__body .status-pill.field-pill{margin-top:0}.terrain-meter{display:grid;gap:.1rem;margin:0;padding:.7rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted);min-width:0}.terrain-meter dt{font-size:.8rem;font-weight:700;color:var(--text-subtle)}.terrain-meter dd{margin:0;color:var(--text);overflow-wrap:anywhere}.terrain-meter__row--number{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem}.terrain-meter__row--number dt{text-transform:uppercase;letter-spacing:.04em}.terrain-meter__row--number dd{font-size:1.2rem;font-weight:800}.terrain-meter__row--owner dd{color:#334155}.terrain-meter__row--hint{margin-top:.2rem}.terrain-meter__row--hint dt,.terrain-meter__row--hint dd{display:inline;font-size:.92rem}.terrain-meter__row--hint dt{margin-right:.3rem;color:var(--text-muted)}.terrain-field{display:grid;gap:.35rem;min-width:0}.terrain-field .label,.terrain-field .hint{margin:0}.terrain-field .input-highlight{min-height:52px;font-variant-numeric:tabular-nums}.terrain-reading__form .terrain-photo-index{display:grid;gap:.35rem;margin-top:-.35rem}.secondary-button.terrain-photo-index__button{justify-self:start;white-space:normal}.terrain-back{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin:0 0 .5rem;padding:.2rem;border:0;background:none;color:var(--primary);font:inherit;font-size:1rem;font-weight:600;cursor:pointer}.terrain-back span{font-size:1.6rem;line-height:1}.terrain-last{display:grid;gap:.15rem;padding:.7rem .85rem;border-radius:var(--radius-md);background:var(--surface-muted);min-width:0}.terrain-last__label{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.terrain-last__main{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem}.terrain-last__main strong{font-size:1.4rem;line-height:1.2;font-variant-numeric:tabular-nums}.terrain-last__main em{font-style:normal;color:var(--text)}.terrain-last small{font-size:.9rem;color:var(--text-muted)}.terrain-field.terrain-date-row{grid-template-columns:1fr auto;align-items:center;gap:.75rem}.terrain-date-row .input--date{width:auto;min-width:10.5rem;min-height:46px}.terrain-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;min-width:0}.terrain-actions>.secondary-button,.terrain-actions .tournee-issue-panel>.secondary-button{width:100%;min-height:48px;justify-content:center;padding-left:.6rem;padding-right:.6rem;white-space:normal;line-height:1.2;text-align:center}.terrain-actions .tournee-issue-panel{min-width:0}.terrain-actions .tournee-issue-panel:has(.tournee-issue-form),.terrain-actions .tournee-issue-panel:has(.tournee-issue),.terrain-actions .tournee-issue-panel:has(.status-pill){grid-column:1 / -1}.terrain-sent{display:grid;gap:.2rem;padding:.9rem 1rem;border-radius:var(--radius-md);background:#dcfce7;color:#14532d}.terrain-sent__title{font-size:1.15rem}.terrain-sent__title:before{content:"✓";margin-right:.5rem}.terrain-sent__value{font-size:1rem;font-variant-numeric:tabular-nums}.terrain-sent__sub{font-size:.9rem}.terrain-sent .field-link{justify-self:start;min-height:40px;margin-top:.35rem}.terrain-fix{display:grid;gap:.85rem;padding:.9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-muted);min-width:0}.terrain-fix h3,.terrain-fix .muted{margin:0}.terrain-fix__actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.terrain-fix__actions button{width:100%;min-height:48px}.terrain-sheet-link{margin:0;font-size:.95rem}.terrain-date__line{display:flex;flex-wrap:wrap;align-items:center;column-gap:.5rem;margin:-.35rem 0 0;font-size:.92rem;color:var(--text-muted)}.terrain-date__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:.75rem}.terrain-date__head .field-link{min-height:36px}.terrain-submit{width:100%;min-height:52px;font-size:1.05rem}.terrain-confirm h3{margin:0}.terrain-confirm .confirm-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.terrain-confirm__sub{display:block;margin-top:.15rem;font-size:.88rem;color:var(--text-muted);overflow-wrap:anywhere}.terrain-confirm__change{display:grid;gap:.5rem}.terrain-confirm__change:empty{display:none}.terrain-confirm__delta{margin:0;font-size:1.05rem;font-weight:700;color:var(--text)}.terrain-confirm__delta span{display:block;margin-top:.1rem;font-size:.88rem;font-weight:500;color:var(--text-muted)}.terrain-confirm .status-pill.field-pill{margin:0}@media(max-width:480px){.confirm-overlay.terrain-confirm-overlay{place-items:end stretch;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom))}.terrain-confirm{width:100%;max-height:calc(100dvh - 1rem);padding:1.25rem}.confirm-card.terrain-confirm .confirm-actions{display:grid;grid-template-columns:1fr 1fr;bottom:-1.25rem;margin-bottom:-1.25rem;padding-bottom:1.25rem}.terrain-confirm .confirm-actions>button{width:100%;min-height:50px}}@media(max-width:480px){.terrain-date__dot{display:none}}.code-learn-panel__field{display:grid;gap:.35rem;min-width:0}.code-learn-panel__field .label{margin-bottom:0}.suggestions.code-learn-panel__suggestions{margin-top:0}.meter-change{display:grid;gap:.85rem;padding:.9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--primary) 30%,white);background:color-mix(in srgb,var(--primary) 6%,white);min-width:0;scroll-margin-top:5rem}.meter-change h3{margin:0;font-size:1.05rem}.meter-change .hint{margin:.2rem 0 0}.meter-change__number{display:flex;gap:.5rem;min-width:0}.meter-change__number .input{flex:1 1 auto;min-width:0;min-height:48px}.meter-change__number .secondary-button{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;min-height:48px}.meter-change .terrain-date__line{margin-top:-.25rem}.meter-change__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.meter-change .status-pill.field-pill{margin-top:0}.terrain-confirm .meter-change__old-number{color:var(--text-muted);text-decoration:line-through;text-decoration-thickness:1px}@media(max-width:480px){.meter-change__actions button{flex:1 1 auto}}.terrain-around{display:grid;gap:.6rem;margin-bottom:.85rem;min-width:0}.primary-button.terrain-around__button{width:100%;min-height:52px;gap:.5rem;font-size:1.05rem}.hint.terrain-around__message,.muted.terrain-around__empty{margin:0}.suggestions.terrain-around__list{margin-top:0}.field-suggestion__done{margin-left:auto;padding:.1rem .5rem;border-radius:var(--radius-pill);background:#dcfce7;color:#15803d;font-size:.8rem;font-weight:700;white-space:nowrap}.nearby-map{position:relative;height:230px;border-radius:var(--radius-md);border:1px solid var(--border);overflow:hidden;background:#eef2f1}.nearby-map__canvas{position:absolute;inset:0}.nearby-map .leaflet-control-attribution{font-size:9px}.nearby-map__marker{background:none;border:0}.nearby-map__pin{display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;border-radius:50%;border:2px solid #fff;background:var(--primary);color:#fff;font-family:inherit;font-size:12px;font-weight:700;line-height:1;box-shadow:0 1px 4px #0f172a59}.nearby-map__pin--done{background:#94a3b8;font-size:10px}.nearby-map__pin--active{background:color-mix(in srgb,var(--primary) 80%,black);font-size:14px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 25%,transparent),0 1px 4px #0f172a59}.nearby-map__me{display:block;box-sizing:border-box;width:16px;height:16px;border-radius:50%;border:3px solid #fff;background:#2563eb;box-shadow:0 0 0 6px #2563eb2e,0 1px 3px #0f172a4d}.nearby-map__locate{position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text);box-shadow:0 1px 3px #0f172a1f;cursor:pointer}.nearby-map__locate:disabled{cursor:default;opacity:.75}.nearby-map__card{position:absolute;z-index:1;left:8px;right:8px;bottom:8px;max-height:calc(100% - 68px);overflow-y:auto;border-radius:var(--radius-md);background:#fff;box-shadow:0 2px 10px #0f172a2e}.nearby-map__card-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .45rem .45rem .75rem}.nearby-map__card-row+.nearby-map__card-row{border-top:1px solid var(--border)}.nearby-map__card-text{display:grid;gap:.1rem;min-width:0}.nearby-map__card-text>span{overflow:hidden;font-size:.85rem;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.primary-button.nearby-map__open{flex:0 0 auto;margin-left:auto;min-height:44px;padding:0 1.1rem}.field-suggestion__mark{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:.5rem;border-radius:50%;background:var(--primary);color:#fff;font-size:.75rem;font-weight:700;vertical-align:.1em}.field-suggestion__mark--done{background:#94a3b8}.terrain-shell .suggestion-item.field-suggestion.is-active{background:var(--primary-soft)}.campaign-page{min-width:0}.status-pill.campaign-notice{margin:0 0 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border-radius:var(--radius-md);width:100%}.campaign-notice__close{background:none;border:none;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer;padding:0 .15rem}.campaign-back{margin-bottom:1rem}.campaign-hero h2{overflow-wrap:anywhere}.dashboard-hero.campaign-hero--closed{background:linear-gradient(135deg,#0f172a,#334155 60%,#475569)}.campaign-hero__copy{display:grid;gap:.35rem;min-width:0}.campaign-hero__badge{justify-self:start}.campaign-hero__facts{list-style:none;margin:.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem 1.25rem}.campaign-hero__facts li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;font-weight:600;min-width:0;overflow-wrap:anywhere}.campaign-hero__facts li>span{flex-basis:100%;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#f8fafcb3}.campaign-hero__deadline{font-style:normal;font-size:.8rem;padding:.1rem .55rem;border-radius:var(--radius-pill);background:#38bdf840;color:#e0f2fe}.campaign-hero__deadline.is-warning{background:#f59e0b4d;color:#fef3c7}.campaign-hero__deadline.is-error{background:#ef444459;color:#fee2e2}.campaign-hero__note{font-size:.85rem}.campaign-hero__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.campaign-progress{display:flex;width:100%;overflow:hidden;border-radius:var(--radius-pill);background:#e2e8f0;box-shadow:inset 0 0 0 1px #0f172a0a}.campaign-progress--lg{height:22px;margin-top:.9rem}.campaign-progress--md{height:14px;margin-top:1rem}.campaign-progress--sm{height:8px}.campaign-progress__seg{display:block;height:100%;transition:width .4s ease}.campaign-progress__seg--done{background:linear-gradient(90deg,#22c55e,#16a34a)}.campaign-progress__seg--issues{background:#f97316}.campaign-legend{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.9rem;color:#334155}.campaign-legend li{display:inline-flex;align-items:center;gap:.4rem}.campaign-legend--map{margin:0 0 .75rem}.campaign-legend__dot{width:12px;height:12px;border-radius:var(--radius-pill);flex:none}.campaign-legend__dot--done{background:#22c55e}.campaign-legend__dot--issues{background:#f97316}.campaign-legend__dot--todo{background:#e2e8f0;box-shadow:inset 0 0 0 1px #cbd5e1}.campaign-legend__dot--pin{background:var(--primary);box-shadow:0 0 0 2px #fff,0 2px 6px #0f172a40}.campaign-legend__dot--pin-alert{background:#ea580c;box-shadow:0 0 0 2px #fff,0 2px 6px #0f172a40}.campaign-section,.campaign-summary{margin-top:1.5rem}.campaign-panel h3{margin:0}.campaign-summary__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.campaign-summary__label{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.campaign-summary__value{font-size:2.2rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.campaign-summary__value span{font-size:1.2rem;color:#64748b}.campaign-summary__percent{font-size:2rem;font-weight:700;color:#15803d;font-variant-numeric:tabular-nums}.campaign-summary__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:.9rem;border-top:1px dashed #e2e8f0;font-size:.85rem;color:#475569}.campaign-summary__refresh{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-left:auto}.campaign-summary__stale{color:#b91c1c;font-weight:600}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1.5rem;margin-top:1.5rem}.campaign-grid--single{grid-template-columns:minmax(0,1fr)}.campaign-grid>*{min-width:0}.campaign-table{width:100%;border-collapse:collapse;font-size:.9rem}.campaign-table th,.campaign-table td{text-align:left;padding:.6rem .45rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}.campaign-table thead th{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.campaign-table tbody th{font-weight:650;overflow-wrap:anywhere}.campaign-table tbody tr:last-child th,.campaign-table tbody tr:last-child td{border-bottom:none}.campaign-table .is-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.campaign-table td.is-alert{color:#c2410c;font-weight:700}.campaign-table__sub{color:#94a3b8}.campaign-table__progress{width:32%;min-width:96px}.campaign-table__percent{display:block;margin-top:.25rem;font-size:.78rem;color:#475569;font-variant-numeric:tabular-nums}.campaign-table__date{color:#475569}.campaign-chart{margin:.5rem 0 0}.campaign-chart__plot{position:relative;height:210px}.campaign-chart__plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.campaign-chart__grid{stroke:#0f172a1a;stroke-width:1;stroke-dasharray:6 8}.campaign-chart__pace{stroke:#94a3b8;stroke-width:2;stroke-dasharray:6 6}.campaign-chart__target{stroke:#f59e0b;stroke-width:2;stroke-dasharray:3 4}.campaign-chart__area{fill:#22c55e2e}.campaign-chart__line{fill:none;stroke:#16a34a;stroke-width:3;stroke-linejoin:round}.campaign-chart__ylabel{position:absolute;left:0;transform:translateY(3px);padding:0 .3rem;border-radius:6px;background:#ffffffd9;font-size:.72rem;font-weight:700;color:#64748b;font-variant-numeric:tabular-nums}.campaign-chart__dot{position:absolute;width:14px;height:14px;border-radius:var(--radius-pill);background:#fff;border:3px solid #16a34a;transform:translate(-50%,-50%);box-shadow:0 4px 10px #16a34a4d}.campaign-chart__axis{display:flex;justify-content:space-between;gap:1rem;margin-top:.4rem;font-size:.78rem;font-weight:600;color:#64748b;font-variant-numeric:tabular-nums}.campaign-chart__legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.75rem;font-size:.82rem;color:#475569}.campaign-chart__legend span{display:inline-flex;align-items:center;gap:.45rem}.campaign-chart__key{display:inline-block;flex:none}.campaign-chart__key--line{width:18px;border-top:3px solid #16a34a}.campaign-chart__key--pace{width:18px;border-top:2px dashed #94a3b8}.campaign-chart__key--target{height:12px;border-left:2px dashed #f59e0b}.empty-state.campaign-chart__empty{padding:1.5rem}.campaign-issues .activity-item{align-items:center}.campaign-issue__title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;font-weight:750;font-size:.95rem;color:#0f172a}.campaign-issue__meta{font-size:.85rem;color:#64748b;margin-top:.2rem;overflow-wrap:anywhere}.campaign-issue__note{margin-top:.3rem;font-size:.88rem;font-style:italic;color:#334155;overflow-wrap:anywhere}.campaign-map{min-width:0}.campaign-start__intro h2{margin:.5rem 0 .25rem}.campaign-start form{margin-top:1.25rem;max-width:760px}.campaign-form__dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;min-width:0}.campaign-form__hint{display:block;margin-top:.35rem;font-size:.78rem;font-weight:400;color:#64748b}.campaign-form__warning{color:#9a3412;font-weight:650}.campaign-villages{border:none;margin:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:.5rem}.campaign-villages legend{padding:0;margin-bottom:.5rem}.campaign-villages__list{display:flex;flex-wrap:wrap;gap:.5rem;flex-basis:100%}.campaign-village{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:1px solid #e2e8f0;border-radius:var(--radius-pill);background:#f8fafc;font-weight:600;font-size:.9rem;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.campaign-village.is-checked{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.campaign-village input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--primary)}.campaign-explain{margin:1rem 0 0;padding:.75rem .9rem;border-radius:var(--radius-md);background:#f0f9ff;border:1px solid #bae6fd;color:#075985;font-size:.9rem}.campaign-form__actions{display:flex;justify-content:flex-end;margin-top:1rem}.confirm-card.campaign-dialog{width:min(560px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto}.campaign-dialog h3{margin:0 0 .75rem;overflow-wrap:anywhere}.campaign-dialog .confirm-highlight{margin-top:.5rem}.campaign-dialog__export{margin-top:.85rem}.campaign-history{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.campaign-history__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#f8fafc}.campaign-history__item.is-selected{border-color:var(--primary);background:var(--primary-soft)}.campaign-history__main{flex:1;min-width:0;display:grid;gap:.35rem}.campaign-history__title{font-weight:700;overflow-wrap:anywhere}.campaign-history__meta{font-size:.85rem;color:#64748b}.campaign-history__actions{display:flex;flex-wrap:wrap;gap:.5rem}.campaign-dashboard-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.campaign-dashboard-card__head h3{margin:.45rem 0 0;font-size:1.3rem;overflow-wrap:anywhere}.campaign-dashboard-card__head .muted{max-width:560px}.campaign-dashboard-card__cta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}@media(max-width:640px){.container.campaign-page{padding-left:1rem;padding-right:1rem}.campaign-page .dashboard-panel,.campaign-page .card{padding:1rem}.campaign-page .dashboard-hero{padding:1.25rem}.campaign-hero__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-hero__actions>button{flex:1 1 calc(50% - .3rem)}.campaign-hero__actions>.primary-button,.campaign-form__actions>button,.campaign-dashboard-card__cta{flex:1 1 100%;width:100%}.campaign-summary__value{font-size:1.8rem}.campaign-summary__percent{font-size:1.6rem}.campaign-summary__refresh{margin-left:0}.campaign-chart__plot{height:170px}.campaign-table th,.campaign-table td{padding:.55rem .3rem;font-size:.85rem}.campaign-history__item{flex-direction:column;align-items:stretch}.campaign-history__actions>button{flex:1}.campaign-dialog .confirm-actions{flex-wrap:wrap}.campaign-dialog .confirm-actions>button{flex:1 1 auto}}.confirm-card.letters-dialog{width:min(760px,100%)}.letters-intro{margin:0 0 .75rem}.letters-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:.6rem;margin:.25rem 0 .5rem}.letters-stat{border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .8rem;display:grid;gap:.1rem}.letters-stat__value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.letters-stat__label{font-size:.8rem;color:#64748b}.letters-stat.is-ok .letters-stat__value{color:#15803d}.letters-stat.is-warning .letters-stat__value{color:#c2410c}.letters-stat.is-error .letters-stat__value{color:#b91c1c}.letters-checking{font-size:.8rem}.letters-notice{border-radius:var(--radius-md);display:block;font-weight:500;line-height:1.4}.letters-portal{margin:.6rem 0;font-size:.88rem;overflow-wrap:anywhere}.letters-notes{border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .9rem;margin-top:.6rem;min-width:0}.letters-notes--warning{border-color:#fdba74;background:#fffaf5}.letters-notes summary{cursor:pointer;font-weight:600}.letters-notes__list{list-style:none;margin:.6rem 0 0;padding:0;max-height:260px;overflow-y:auto;display:grid;gap:.55rem}.letters-notes__list li{display:grid;gap:.1rem;font-size:.88rem;overflow-wrap:anywhere}.letters-notes__head{font-weight:600}.letters-notes__reason{color:#9a3412}.letters-notes--muted .letters-notes__reason{color:#475569}.letters-notes__place{font-size:.78rem;color:#64748b}.letters-check{display:flex;gap:.6rem;align-items:flex-start;margin-top:.6rem;font-size:.9rem}.letters-check input{margin-top:.2rem}.letters-hint{margin:.6rem 0 0;font-size:.85rem}.letters-envelope-info{display:flex;gap:.9rem;align-items:center;margin-top:1rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md)}.letters-envelope-info>div{display:grid;gap:.2rem;min-width:0}.letters-window__detail{font-size:.8rem;color:#64748b}.letters-sender{margin-top:1rem}.letters-envelope{width:110px;flex:0 0 auto;max-width:35%;height:auto}.letters-envelope__paper{fill:#f8fafc;stroke:#94a3b8;stroke-width:2}.letters-envelope__window{fill:#fff;stroke:#64748b;stroke-width:2}.letters-envelope__sender{stroke:#94a3b8;stroke-width:2}.letters-envelope__lines line{stroke:#94a3b8;stroke-width:4;stroke-linecap:round}.letters-dates{margin-top:1rem}.letters-field__error{display:block;margin-top:.35rem;font-size:.8rem;font-weight:500;color:#b91c1c}.letters-texts{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.letters-texts summary{cursor:pointer;font-weight:600}.letters-texts__fields{margin-top:.75rem}.letters-line+.letters-line{margin-top:.4rem}.letters-line:first-of-type{margin-top:.4rem}.letters-message{resize:vertical;min-height:7rem;font-family:inherit;line-height:1.4}.letters-print-hint{margin:1rem 0 0;font-size:.82rem}.letters-actions{justify-content:flex-end}.recipients{border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .9rem .8rem;margin:.25rem 0 .9rem;background:var(--surface-muted);min-width:0}.recipients legend{padding:0 .3rem}.recipients-opt{display:flex;align-items:center;gap:.55rem;min-height:36px;font-size:.95rem;flex-wrap:wrap}.recipients-opt input[type=radio]{width:18px;height:18px;margin:0;flex:none}.recipients-opt__count{margin-left:auto;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.9rem}.recipients-reader{margin-left:auto;width:auto;min-width:180px;max-width:100%;min-height:36px;padding-top:.2rem;padding-bottom:.2rem}.recipients-streets{margin:.2rem 0 .5rem 1.6rem}.recipients-search{margin-bottom:.5rem}.recipients-city+.recipients-city{margin-top:.6rem}.recipients-city__all{display:flex;align-items:center;gap:.5rem;min-height:34px;font-size:.92rem}.recipients-city__all input{width:17px;height:17px;margin:0}.recipients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.25rem .9rem}.recipients-street{display:flex;align-items:center;gap:.5rem;min-height:32px;font-size:.92rem;padding:0 .35rem;border-radius:var(--radius-sm)}.recipients-street.is-checked{background:var(--primary-soft, #dbeafe)}.recipients-street input{width:17px;height:17px;margin:0;flex:none}.recipients-street__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipients-street__count{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.recipients-empty{margin:.3rem 0;font-size:.9rem}.recipients-more{margin-top:.35rem;min-height:34px;font-size:.88rem}@media(max-width:640px){.recipients-streets{margin-left:.4rem}.recipients-grid{grid-template-columns:1fr}.recipients-reader{margin-left:0;width:100%}}.campaign-citizen{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;padding:.7rem .9rem;border-radius:var(--radius-md);background:#ffffffb8;color:var(--text);font-size:.95rem}.campaign-citizen .badge{flex:none}.campaign-citizen .secondary-button{margin-left:auto}.campaign-chart__previous{fill:none;stroke:#cbd5e1;stroke-width:2.5;stroke-linejoin:round}.campaign-chart__key--previous{width:18px;border-top:3px solid #cbd5e1}.campaign-hero__manage{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.campaign-hero__manage .ghost-button{color:#f8fafc;border-color:#f8fafc73;background:transparent}.campaign-hero__manage .ghost-button:hover:not(:disabled){background:#f8fafc1f}.campaign-summary__pace .camp-pill{margin-left:.25rem}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.25rem .25rem 0}.dash-head__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .9rem}.dash-head__title h2{margin:0;font-size:1.6rem}.dash-head__title span{color:var(--text-muted)}.dash-error{margin-top:1rem}.dash-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.dash-tile{background:var(--surface);border-radius:var(--radius-md);padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-card);transition:box-shadow .15s ease;min-width:0}a.dash-tile:hover{box-shadow:var(--shadow-card),0 0 0 2px color-mix(in srgb,var(--primary) 45%,transparent)}.dash-tile__label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.dash-tile__value{font-size:2rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.dash-tile__sub{font-size:.84rem;color:var(--text-subtle)}.dash-tile__go{margin-top:auto;padding-top:.4rem;font-size:.86rem;font-weight:600;color:var(--primary)}.dash-tile--info .dash-tile__value{color:var(--primary)}.dash-tile--warning .dash-tile__value{color:var(--warning)}.dash-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem}.dash-row--single{grid-template-columns:minmax(0,1fr)}.dash-panel-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:1rem}.dash-panel-head h3{margin:0;font-size:1.1rem}.dash-panel-head .muted{font-size:.84rem}.dash-panel-head--sub{margin:1.4rem 0 .7rem}.dash-panel-head__link{font-size:.88rem;font-weight:600;color:var(--primary)}.dash-panel-head__link:hover{text-decoration:underline}.dash-years{padding-bottom:3.6rem}.dash-bars{display:flex;align-items:flex-end;gap:1.25rem;height:210px;padding:0 .5rem;border-bottom:1px solid var(--border)}.dash-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.dash-bar__fill{width:100%;max-width:92px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:linear-gradient(180deg,#38bdf8,#0ea5e9)}.dash-bar.is-current .dash-bar__fill{background:repeating-linear-gradient(135deg,#e0f2fe 0 6px,#bae6fd 6px 12px);border:1.5px dashed #38bdf8}.dash-bar__value{font-size:.86rem;font-weight:700;margin-bottom:.35rem;font-variant-numeric:tabular-nums;white-space:nowrap}.dash-bar__year,.dash-bar__note{position:absolute;left:0;right:0;text-align:center;white-space:nowrap}.dash-bar__year{bottom:-1.6rem;font-weight:700;font-size:.9rem}.dash-bar__note{bottom:-2.9rem;font-size:.8rem;color:var(--text-subtle)}.dash-split{display:flex;height:14px;border-radius:var(--radius-pill);overflow:hidden;gap:3px;margin:.4rem 0 1rem}.dash-split span{flex-basis:0;min-width:4px}.dash-legend{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.dash-legend li{display:flex;align-items:center;gap:.5rem;font-size:.92rem}.dash-legend i{width:10px;height:10px;border-radius:var(--radius-pill);flex:none}.dash-legend b{margin-left:auto;font-variant-numeric:tabular-nums}.dash-legend em{font-style:normal;color:var(--text-subtle);width:3rem;text-align:right;font-size:.85rem}.dash-split .is-field,.dash-legend .is-field{background:var(--primary)}.dash-split .is-office,.dash-legend .is-office{background:#38bdf8}.dash-split .is-portal,.dash-legend .is-portal{background:#a78bfa}.dash-split .is-import,.dash-legend .is-import{background:#cbd5e1}.dash-note{margin:1.1rem 0 0;font-size:.84rem;padding-top:.9rem;border-top:1px solid var(--border)}.dash-reasons{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.dash-reasons li{display:grid;grid-template-columns:minmax(0,1fr) 70px 1.75rem;align-items:center;gap:.6rem;font-size:.9rem}.dash-reasons__bar{height:8px;background:var(--surface-muted);border-radius:var(--radius-pill);overflow:hidden}.dash-reasons__bar span{display:block;height:100%;background:#f59e0b;border-radius:var(--radius-pill)}.dash-reasons b{text-align:right;font-variant-numeric:tabular-nums}.dash-day+.dash-day{margin-top:.9rem}.dash-day__label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-subtle);margin-bottom:.2rem}.dash-list{list-style:none;margin:0;padding:0}.dash-list>li+li{border-top:1px solid var(--border)}.dash-item{display:flex;align-items:center;gap:.9rem;padding:.6rem .4rem;border-radius:var(--radius-sm)}.dash-item--link{align-items:flex-start}.dash-item--link:hover{background:var(--surface-muted)}.dash-item__time{font-size:.82rem;color:var(--text-subtle);width:2.8rem;flex:none;padding-top:.12rem;font-variant-numeric:tabular-nums}.dash-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.dash-item__title{font-weight:600;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dash-item__meta{font-size:.84rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-item__note{font-size:.84rem;color:var(--text-muted);font-style:italic}.dash-item__figures{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex:none}.dash-item__index{font-weight:600;font-variant-numeric:tabular-nums}.dash-item__delta{font-size:.78rem;font-weight:600;color:#0369a1;background:#e0f2fe;border-radius:var(--radius-pill);padding:.05rem .5rem;font-variant-numeric:tabular-nums;white-space:nowrap}.dash-item__delta--muted{color:var(--text-muted);background:var(--surface-muted)}.dash-pill{font-size:.72rem;font-weight:600;border-radius:var(--radius-pill);padding:.05rem .5rem;background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.dash-pill--portal{background:#ede9fe;border-color:#ddd6fe;color:#5b21b6}.dash-pill--warn{background:var(--warning-soft);border-color:#fcd34d;color:#92400e}.dash-icon{width:30px;height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--surface-muted);color:var(--text-muted)}.dash-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dash-icon--reading{background:var(--primary-soft);color:var(--primary)}.dash-icon--issue{background:var(--warning-soft);color:var(--warning)}.dash-icon--mail{background:#ede9fe;color:#6d28d9}.dash-icon--check{background:var(--success-soft);color:var(--success)}.dash-icon--meter,.dash-icon--campaign{background:#e0f2fe;color:#0369a1}@media(max-width:1000px){.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.dash-head__title h2{font-size:1.35rem}.dash-tiles{gap:.6rem}.dash-tile{padding:.8rem .9rem}.dash-tile__value{font-size:1.6rem}.dash-bars{gap:.5rem;height:170px;padding:0}.dash-bar__value{font-size:.74rem}.dash-item__time{display:none}.dash-item__meta{white-space:normal}}.dash-item__sub{font-size:.78rem;color:var(--text-subtle);font-variant-numeric:tabular-nums}.dash-item__meta--wrap{white-space:normal}button.dash-item{width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.camp-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:.75rem 2rem}.camp-card__top{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem 1rem}.camp-card__top h2{margin:.45rem 0 .2rem;font-size:1.5rem}.camp-card__facts{margin:0;color:var(--text-muted);font-size:.92rem}.camp-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.camp-card__big{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem;margin:.5rem 0 .6rem}.camp-card__big strong{font-size:2.6rem;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.camp-card__big span{color:var(--text-muted)}.camp-card__chart{border-left:1px solid var(--border);padding-left:2rem;display:flex;flex-direction:column;min-width:0}.camp-card__chart .campaign-chart__plot{height:190px}.camp-card__compare{margin:.6rem 0 0;font-size:.86rem;color:var(--text-muted)}.camp-pill{display:inline-block;font-style:normal;font-weight:600;font-size:.8rem;padding:.1rem .6rem;border-radius:var(--radius-pill);background:var(--info-soft);color:var(--info);white-space:nowrap}.camp-pill.is-ok{background:var(--success-soft);color:var(--success)}.camp-pill.is-warning{background:var(--warning-soft);color:#92400e}.camp-pill.is-error{background:var(--danger-soft);color:var(--danger)}.camp-pill.is-muted{background:var(--surface-muted);color:var(--text-muted)}.camp-pace{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.75rem;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.camp-pace>div{display:flex;flex-direction:column}.camp-pace span{font-size:.78rem;font-weight:600;color:var(--text-muted)}.camp-pace b{font-size:1.1rem;font-variant-numeric:tabular-nums}.camp-pace small{font-size:.78rem;color:var(--text-subtle)}.camp-pace__verdict{margin-left:auto}.camp-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.5rem;align-items:start}.camp-row--half{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.camp-row .campaign-legend{margin:0}.camp-hint{margin:.6rem 0 0}.camp-readers{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.camp-readers li{display:grid;grid-template-columns:minmax(0,1fr) 90px 2.5rem;align-items:center;gap:.1rem .75rem;font-size:.92rem}.camp-readers__name{font-weight:600}.camp-readers b{text-align:right;font-variant-numeric:tabular-nums}.camp-readers small{grid-column:1 / -1;color:var(--text-subtle);font-size:.78rem}.camp-readers .dash-reasons__bar span{background:var(--primary)}.camp-past .campaign-progress{margin-top:.35rem}.campaign-page>*+*{margin-top:1.5rem}@media(max-width:1000px){.camp-card,.camp-row,.camp-row--half{grid-template-columns:minmax(0,1fr)}.camp-card__chart{border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:1rem}}@media(max-width:640px){.camp-card__big strong{font-size:2.1rem}.camp-pace__verdict{margin-left:0}}.camp-past.is-selected{background:var(--info-soft)}.camp-past__reopen{display:flex;justify-content:flex-end;padding:0 .4rem .5rem}.data-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-page .hint,.data-drawer .hint,.data-dialog .hint{color:var(--text-subtle)}.data-list-card{min-width:0}.data-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.data-toolbar h2{margin:0;font-size:1.5rem;line-height:1.1;color:var(--text)}.data-toolbar__intro{min-width:0}.data-toolbar__intro .muted{margin-top:.25rem;font-size:.9rem}.data-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.data-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.6rem;min-width:0}.data-filter{display:grid;gap:.25rem;min-width:0;margin:0;flex:0 1 180px}.data-filter--search{flex:1 1 260px}.data-filter--date{flex:0 1 170px}.data-filter__label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.data-filter .input{min-height:44px;border-radius:var(--radius-md);border-color:var(--border-strong);background:var(--surface);min-width:0;width:100%}.data-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.data-chip{min-height:44px;max-width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;line-height:1.2;text-align:center;white-space:normal;cursor:pointer}.data-chip:hover{background:var(--surface-muted)}.data-chip--warning{border-color:#f59e0b;background:var(--warning-soft);color:#92400e}.data-chip--warning:hover{background:#fde68a}.data-chip[aria-pressed=true]{background:var(--warning);border-color:var(--warning);color:#fff}.data-chip--map{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.data-chip--map:hover{background:#fecaca}.data-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin:0 0 .6rem;padding:.6rem .85rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600}.data-notice p{margin:0}.data-notice--info{background:var(--info-soft);color:var(--info)}.data-notice--warning{background:var(--warning-soft);color:#92400e}.data-notice--error{background:var(--danger-soft);color:var(--danger)}.data-notice--success{background:var(--success-soft);color:var(--success)}.data-notice .ghost-button{min-height:36px;padding:.3rem .8rem}.data-results{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:.25rem 0 .6rem;color:var(--text-muted);font-size:.9rem;font-weight:600}.data-results p{margin:0}.data-empty{margin:.5rem 0;padding:1.5rem 1rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center}.data-empty strong{display:block;color:var(--text);margin-bottom:.25rem}.data-error-list{margin:0 0 .6rem}.data-table th{color:var(--text-muted);font-size:.82rem;line-height:1.25;vertical-align:bottom}.data-table th .table-sort{text-align:left}.data-table td{vertical-align:top}.data-num{text-align:right!important;white-space:nowrap}.data-table th.data-num .table-sort{justify-content:flex-end}.data-nowrap{white-space:nowrap}.data-sub{display:block;margin-top:.15rem;color:var(--text-subtle);font-size:.82rem}.data-link-button{background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--primary);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-underline-offset:3px}.data-link-button:hover{text-decoration-color:currentColor}.data-inline-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.data-badge-button{border:1px solid #fdba74;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700}.data-badge-button:hover{background:#ffedd5}.data-row-button{min-height:36px;padding:.3rem .8rem}.data-table tbody tr.is-clickable:hover td{background:color-mix(in srgb,var(--primary) 6%,transparent)}.data-table tbody tr.is-selected td{background:var(--primary-soft)}.data-cards{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;min-width:0}.data-card{display:grid;gap:.55rem;min-width:0;padding:.85rem .9rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 2px #0f172a0a}.data-card.is-clickable{cursor:pointer}.data-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.data-card.is-archived{background:#fffbeb}.data-card.is-deleted{background:#fff1f2}.data-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;min-width:0}.data-card__head>div{min-width:0}.data-card__title{display:block;font-size:1.05rem;font-weight:700;color:var(--text);overflow-wrap:anywhere}.data-card__line{display:block;margin:.15rem 0 0;color:var(--text-muted);font-size:.92rem;overflow-wrap:anywhere}.data-card__value{flex:0 0 auto;font-size:1.05rem;font-variant-numeric:tabular-nums;white-space:nowrap}.data-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:0}.data-card__facts dt{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle)}.data-card__facts dd{margin:.1rem 0 0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.data-card__badges{display:flex;flex-wrap:wrap;gap:.35rem}.data-card__badges:empty{display:none}.data-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.data-card__actions>*{flex:1 1 0;min-width:0;white-space:normal;padding-left:.75rem;padding-right:.75rem}.data-card__links{display:flex;flex-wrap:wrap;gap:.35rem}.data-more{display:flex;justify-content:center;margin-top:.75rem}.data-more>*{white-space:normal;width:100%}.data-sort-select{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto;justify-content:flex-end}.data-sort-select label{font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.data-sort-select .input{width:auto;min-width:0;max-width:100%;min-height:40px;padding:.45rem .7rem;background:var(--surface);border-color:var(--border-strong)}.drawer.data-drawer{width:min(880px,100%)}.data-drawer:focus{outline:none}.data-drawer .drawer-header{padding:1rem 1.5rem;align-items:flex-start}.data-drawer__title{margin:0;font-size:1.35rem;line-height:1.2;overflow-wrap:anywhere}.data-drawer .drawer-header__meta{color:var(--text-muted)}.data-close-button{flex:0 0 auto;min-height:40px}.data-drawer .drawer-body{padding:1.25rem 1.5rem 2rem;gap:1rem}.data-drawer .drawer-section h3{margin:0 0 .75rem;font-size:1.05rem}.data-drawer .drawer-section>.muted:first-of-type{margin-top:0}.data-drawer .table-scroll .table{min-width:640px}.data-drawer .table th,.data-drawer .table td{padding:.55rem .6rem}.data-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.data-section-head h3,.data-section-head h2{margin:0}.data-danger-zone{display:grid;gap:.75rem}.data-danger-zone__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.data-danger-zone__row .muted{margin:0;flex:1 1 240px}.data-danger-zone__delete{border-top:1px solid #fecdd3;padding-top:.75rem}.data-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0}.data-facts>div{min-width:0;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border)}.data-facts dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle)}.data-facts dd{margin:.2rem 0 0;font-size:1.05rem;font-weight:700;color:var(--text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.data-facts dd .data-sub{font-weight:500}.data-map-placeholder{min-height:220px;display:grid;place-items:center;padding:1rem;text-align:center;color:var(--text-muted);font-weight:600}.data-position{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem;margin-top:.5rem}.data-position__note{font-size:.85rem;color:var(--text-muted)}.ghost-button.data-position__button{margin-left:auto}.position-editor{display:grid;gap:.5rem}.position-editor__map{position:relative;height:260px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.position-editor__canvas{position:absolute;inset:0}.position-editor__pin{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,23,42,.45))}.hint.position-editor__hint{margin:0}.position-editor__actions{display:flex;flex-wrap:wrap;gap:.5rem}.data-dialog:focus{outline:none}.data-dialog--wide{width:min(640px,100%)}.data-dialog__title{margin:0;font-size:1.25rem;line-height:1.25}.data-dialog__description{margin-top:.3rem}.data-dialog__body{display:grid;gap:.75rem;margin-top:1rem;min-width:0}.data-dialog__body>.status-pill{margin-top:0;justify-self:start}.data-dialog__note{margin:0;color:var(--text-muted)}.data-dialog .owner-picker .suggestions{margin-top:.5rem}.data-form-grid{gap:.85rem}.data-form-grid .label{margin:0}.data-form-grid .label .input{margin-top:.3rem}.data-form-grid--2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.data-form-legend{margin:0;font-size:.85rem;color:var(--text-muted)}.data-required{color:var(--danger);font-weight:700}.data-optional{color:var(--text-subtle);font-weight:500;font-size:.85em}.data-segmented{display:flex;flex-wrap:wrap;gap:.5rem}.data-segmented>*{flex:1 1 160px}.data-inline-form{display:grid;gap:.75rem}.data-inline-form .label{margin:0}.data-inline-form .label .input{margin-top:.3rem}.data-inline-form>.status-pill{margin-top:0;justify-self:start}@media(max-width:640px){.data-page main.container{padding-left:.75rem;padding-right:.75rem}.data-page .data-list-card{padding:1rem .85rem;border-radius:var(--radius-md)}.data-toolbar h2{font-size:1.3rem}.data-actions{width:100%;justify-content:stretch}.data-actions>*{flex:1 1 calc(50% - .25rem);min-width:0;white-space:normal}.data-actions>.primary-button{order:-1;flex-basis:100%}.data-filter,.data-filter--search,.data-chip{flex:1 1 100%}.data-filter--date{flex:1 1 calc(50% - .25rem)}.data-results .data-sort-select{flex-basis:100%}.data-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.data-facts>div{padding:.6rem .7rem}.data-facts dd{font-size:.98rem}.data-sort-select .input{flex:1 1 auto}.data-drawer .drawer-header{padding:.85rem 1rem}.data-drawer__title{font-size:1.15rem}.data-drawer .drawer-body{padding:.85rem .75rem 1.5rem}.data-drawer .drawer-section{padding:1rem .9rem}}@media(max-width:480px){.data-dialog .confirm-actions{flex-direction:column-reverse;align-items:stretch}.data-dialog .confirm-actions>*{width:100%;flex:0 0 auto}}.data-fieldset{min-width:0;margin:0;padding:.75rem .9rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.data-fieldset legend{padding:0 .35rem;font-weight:700}.data-fieldset .hint{margin:0 0 .75rem}.data-detail{display:grid;gap:1.25rem}.data-detail__back{display:flex}.data-detail__card{display:grid;gap:1rem;min-width:0}.data-detail__card>h2,.data-detail__card .data-section-head h2{margin:0;font-size:1.3rem}.data-detail__card .data-section-head{margin-bottom:0;align-items:flex-end}.data-detail__card .data-section-head .muted{margin-top:.25rem}.data-detail__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.data-detail__info{display:grid;gap:.5rem;min-width:0}.data-detail__info .data-facts{grid-template-columns:minmax(0,1fr)}.data-detail__info .drawer-actions,.data-detail__info .status-pill{margin-top:0}.data-detail__metrics>div{background:var(--surface-muted)}.data-detail .trend-chart{margin:0}@media(max-width:760px){.data-detail__grid{grid-template-columns:minmax(0,1fr)}}.data-inline-badges .badge,.data-card__badges .badge{white-space:nowrap}.data-dialog .review-popup-table th{text-transform:none;letter-spacing:0;font-size:.8rem}.data-drawer .reading-summary__review{margin-top:.75rem}.data-drawer .reading-summary__review-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.data-drawer .reading-summary__review .drawer-actions{margin-top:.5rem}.data-drawer .reading-summary__review-title .badge{text-transform:none;letter-spacing:0}.data-trend{margin:0;padding:.85rem 1rem .75rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border)}.data-trend__caption{margin-bottom:.6rem;font-size:.8rem;font-weight:700;color:var(--text-muted)}.data-trend__bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.75rem;align-items:end}.data-trend__item{display:grid;justify-items:center;gap:.3rem;min-width:0}.data-trend__track{width:100%;max-width:56px;height:110px;display:flex;align-items:flex-end}.data-trend__fill{width:100%;border-radius:8px 8px 3px 3px;background:color-mix(in srgb,var(--primary) 65%,white)}.data-trend__item:last-child .data-trend__fill{background:var(--primary)}.data-trend__value{font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.data-trend__label{font-size:.75rem;color:var(--text-subtle);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:480px){.data-trend__bars{gap:.35rem}.data-trend__value,.data-trend__label{font-size:.68rem}}.data-form-grid--npa{grid-template-columns:minmax(84px,1fr) minmax(0,2.2fr)}.data-fieldset__field,.data-fieldset .owner-selected,.data-fieldset .suggestions{margin-top:.75rem}.data-dialog__actions{flex-wrap:wrap}.data-dialog__error{order:-1;flex:1 1 100%;margin-top:0;border-radius:var(--radius-md)}@media(max-width:480px){.data-dialog .confirm-actions>.data-dialog__error{order:99}}.data-row-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.import-wizard{display:grid;gap:1rem;align-content:start}.import-wizard .card-header{margin-bottom:0}.import-intro,.import-last{margin:0}.import-steps{display:flex;gap:.4rem;margin:0;padding:0;list-style:none}.import-steps__item{flex:1 1 0;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-subtle);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-steps__item.is-done{background:var(--success-soft);color:var(--success)}.import-steps__item.is-current{background:var(--primary);color:#fff;font-weight:600}.import-steps__short{display:none}.import-choices{display:grid;gap:.6rem}.import-choice{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.import-choice.is-selected{border-color:var(--primary);background:var(--primary-soft)}.import-choice input{margin-top:.3rem}.import-choice span{display:grid;gap:.2rem}.import-drop{display:grid;gap:.4rem;justify-items:center;padding:2rem 1rem;border:2px dashed #cbd5e1;border-radius:var(--radius-md);text-align:center}.import-drop p{margin:0}.import-drop.is-dragging{border-color:var(--primary);background:var(--primary-soft)}.import-map{display:grid;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.import-map__head,.import-map__row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.9fr);gap:.75rem;align-items:center;padding:.55rem .9rem}.import-map__head{background:var(--surface-muted);color:var(--text-subtle);font-size:.8rem;font-weight:600}.import-map__row{border-top:1px solid var(--border)}.import-map__name{font-weight:600;overflow-wrap:anywhere}.import-map__sample{font-size:.85rem;overflow-wrap:anywhere}.import-map__field{display:flex;align-items:center;gap:.5rem}.import-map__field .input{flex:1 1 auto;min-width:0;padding:.5rem .75rem;font-size:.95rem}.import-map__field .badge{flex:none}.import-map__field .input.is-recognised{border-color:#86efac;background:#f0fdf4}.import-sheet{max-width:24rem}.import-sample-toggle{justify-self:start}.import-sample .table{font-size:.85rem}.import-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:0;padding:0;list-style:none}.import-counts li{display:grid;gap:.15rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-subtle);font-size:.85rem}.import-counts li strong{color:var(--text);font-size:1.4rem;line-height:1.1}.import-counts li.is-warning{border-color:#fcd34d;background:var(--warning-soft)}.import-counts li.is-error{border-color:#fca5a5;background:var(--danger-soft)}.import-exceptions{display:grid;gap:.75rem}.import-exceptions h3,.import-exception h4{margin:0}.import-exceptions>p{margin:0}.import-exception{display:grid;gap:.5rem;padding:.9rem 1rem;border:1px solid #fcd34d;border-radius:var(--radius-md);background:var(--surface)}.import-exception.is-decided{border-color:#86efac}.import-exception p{margin:0}.import-exception__options{display:grid;gap:.35rem}.import-exception__option{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}.import-exception__option input{margin-top:.25rem}.import-exception__todo{color:var(--warning)}.import-exception__items li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:.75rem;align-items:center}.import-exception__items .input{padding:.45rem .7rem;font-size:.9rem}.import-exception__diff{display:block;overflow-wrap:anywhere}.import-list{border:1px solid var(--border);border-radius:var(--radius-md);padding:.6rem .9rem}.import-list summary{cursor:pointer;font-weight:600}.import-list ul{margin:.5rem 0 0;padding:0;list-style:none;max-height:18rem;overflow-y:auto}.import-list li{padding:.45rem 0;border-top:1px solid var(--border);font-size:.9rem;overflow-wrap:anywhere}.import-list li:first-child{border-top:0}.import-list__where{display:block;color:var(--text-subtle);font-size:.8rem;font-weight:600}.import-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.import-actions__hint{font-size:.85rem}@media(max-width:720px){.import-steps__full{display:none}.import-steps__short{display:inline}.import-steps__item{text-align:center;padding:.45rem .25rem}.import-map__head{display:none}.import-map__row{grid-template-columns:minmax(0,1fr);gap:.3rem;padding:.75rem .9rem}.import-map__field{flex-wrap:wrap}.import-map__field .input{flex:1 1 12rem}.import-exception__items li{grid-template-columns:minmax(0,1fr)}.import-actions .primary-button,.import-actions .secondary-button,.import-actions .ghost-button{flex:1 1 auto}}.exports-panel{display:grid;gap:1rem;align-content:start}.exports-panel .card-header{margin-bottom:0}.exports-needs{padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--surface-muted)}.exports-needs h3,.exports-group h3{margin:0 0 .35rem;font-size:.95rem}.exports-needs ul{display:grid;gap:.25rem;margin:0;padding:0;list-style:none;font-size:.92rem}.exports-needs li{display:flex;flex-wrap:wrap;gap:.2rem .6rem}.exports-needs li span:after{content:" →";color:var(--text-subtle)}.exports-group h3{padding-top:.25rem;color:var(--text-subtle);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.exports-row{display:flex;align-items:center;gap:1rem;padding:.8rem 0;border-top:1px solid var(--border)}.exports-row__text{flex:1;min-width:0;display:grid;gap:.15rem}.exports-row__text .muted{font-size:.88rem}.exports-row__file{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:var(--text-subtle);overflow-wrap:anywhere}.exports-row__last{font-size:.8rem}.exports-row .primary-button,.exports-row .secondary-button{flex:none}.exports-empty{margin:0}@media(max-width:640px){.exports-row{flex-direction:column;align-items:stretch}.exports-row .primary-button,.exports-row .secondary-button{text-align:center}}.sector-editor,.sectors-page{--sector-reader: #1d4ed8;--sector-reader-soft: #dbeafe;--sector-off: #94a3b8;--sector-other: #b45309;--sector-none: #e2e8f0;--sheet-peek: 176px}.sector-editor{position:relative;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--text)}.container.accounts-page--wide{width:100%}.sectors-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem;height:calc(100vh - 215px);min-height:540px}.sectors-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sectors-page__head>div:first-child{flex:1 1 360px;min-width:0}.sectors-page__head h2{margin:0;font-size:1.3rem}.sectors-page__head .muted{margin:.2rem 0 0;font-size:.92rem}.sectors-page__actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;max-width:100%}.sectors-page__actions .primary-button{background:var(--sector-reader)}.sectors-page__actions .status-pill{margin:0}.sectors-page__note{flex:1 1 100%;margin:0;text-align:right;font-size:.85rem;color:var(--text-muted)}.sectors-body{display:grid;grid-template-columns:236px minmax(0,1fr);gap:.9rem;min-height:0}.sectors-page__status{flex:1 1 100%;margin:0;justify-self:start;width:fit-content}.sector-count__clear{margin-left:auto;min-height:34px;padding:.25rem .75rem;font-size:.85rem}@media(min-width:1500px){.sectors-body{grid-template-columns:260px minmax(0,1fr)}.sector-editor__body{grid-template-columns:minmax(0,1fr) 420px}}.sectors-readers{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.sectors-readers h3{margin:0;padding:.8rem .9rem .5rem;font-size:.95rem}.sectors-readers__list{list-style:none;margin:0;padding:0 .5rem .5rem;display:grid;gap:4px;overflow-y:auto;min-height:0}.sectors-reader{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr);gap:.15rem .6rem;align-items:center;padding:.55rem .65rem;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:44px}.sectors-reader:hover{background:var(--surface-muted)}.sectors-reader.is-selected{background:var(--sector-reader-soft);box-shadow:inset 0 0 0 1px #bfd0fb}.sectors-reader i{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--sector-other, #b45309);border:1.5px solid #fff;box-shadow:0 0 0 1px #0f172a2e}.sectors-reader i.is-all{background:var(--sector-none, #e2e8f0);border-color:var(--sector-off);box-shadow:none}.sectors-reader i.is-unknown{background:transparent;border-color:var(--sector-off);border-style:dashed;box-shadow:none}.sectors-reader:disabled{cursor:default}.sectors-reader.is-selected i{background:var(--sector-reader)}.sectors-reader strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sectors-reader small{grid-column:2;color:var(--text-muted);font-size:.8rem;line-height:1.3}.sectors-reader.is-inactive strong{color:var(--text-muted)}.sectors-readers__foot{margin-top:auto;padding:.65rem .9rem .75rem;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-muted)}.sectors-readers__foot.is-warning{color:var(--sector-other, #b45309);font-weight:600}.sectors-readers__foot a{color:inherit}.sectors-readers__empty{margin:0;padding:0 .9rem .9rem;font-size:.9rem;color:var(--text-muted)}.sectors-reader-select{display:none}.sectors-editor-frame{min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.sectors-editor-frame .sector-panel__empty{padding:1rem}.sector-editor__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem .9rem;border-bottom:1px solid var(--border);flex:none}.sector-editor__header h2{margin:0;font-size:1.3rem}.sector-editor__header .muted{margin:.3rem 0 0;font-size:.92rem}.sector-editor__legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.4rem;font-size:.82rem;color:var(--text-muted)}.sector-editor__legend span{display:inline-flex;align-items:center;gap:.4rem}.sector-editor__legend i{width:10px;height:10px;border-radius:50%;display:inline-block;border:1.5px solid #fff;box-shadow:0 0 0 1px #0f172a2e}.sector-editor__legend i.is-reader{background:var(--sector-reader)}.sector-editor__legend i.is-off{background:var(--sector-off)}.sector-editor__body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:.9rem}@container settings (max-width: 1040px){.sectors-body{display:flex;flex-direction:column;gap:.6rem}.sectors-readers{display:none}.sectors-reader-select{display:block;flex:none}.sectors-editor-frame{flex:1;min-height:0}.sector-editor__body{grid-template-columns:minmax(0,1fr) 340px}}.sector-map-col{display:flex;flex-direction:column;gap:.5rem;min-height:0}.sector-map-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-height:40px;flex:none}.sector-map-tools .primary-button,.sector-map-tools .ghost-button{min-height:38px}.sector-map-tools__draw{background:var(--sector-reader)}.sector-map-tools__hint{margin:0;font-size:.85rem;flex:1 1 200px}.sector-zone-chip{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-size:.85rem;font-weight:600;overflow:hidden}.sector-zone-chip.is-draft{padding:0 .75rem;border-style:dashed;gap:.5rem}.sector-zone-chip__show,.sector-zone-chip__remove{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;gap:.45rem}.sector-zone-chip__show{padding:0 .3rem 0 .75rem}.sector-zone-chip__show:hover{text-decoration:underline}.sector-zone-chip__count{color:var(--text-muted);font-weight:500}.sector-zone-chip__remove{padding:0 .7rem 0 .4rem;font-size:1.1rem;color:var(--text-muted)}.sector-zone-chip__remove:hover{color:#b91c1c}.sector-map{position:relative;flex:1;min-height:320px;border-radius:var(--radius-md);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border);background:#f1f5f9}.sector-map__canvas{position:absolute;inset:0}.sector-map__canvas.is-drawing{cursor:crosshair}.sector-map__hint{position:absolute;top:12px;left:12px;z-index:1100;max-width:min(440px,calc(100% - 70px));background:#fffffff2;border-radius:var(--radius-md);padding:.55rem .85rem;font-size:.85rem;line-height:1.35;box-shadow:var(--shadow-1);pointer-events:none}.sector-map__hint strong{color:var(--sector-reader)}.sector-map__empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1100;width:min(360px,calc(100% - 32px));background:#fffffff5;border-radius:var(--radius-md);padding:.8rem 1rem;font-size:.9rem;line-height:1.4;text-align:center;color:var(--text);box-shadow:var(--shadow-1);pointer-events:none}.sector-map__toolbar{position:absolute;bottom:12px;left:12px;right:12px;z-index:1100;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;pointer-events:none}.sector-map__toolbar button{pointer-events:auto;box-shadow:var(--shadow-1);min-height:44px}.sector-map__toolbar .primary-button{background:var(--sector-reader)}.sector-map__loading{position:absolute;inset:0;z-index:1050;display:grid;place-items:center;background:#f8fafcb3;color:var(--text-muted);font-weight:600;pointer-events:none}.leaflet-div-icon.sector-vertex{background:#fff;border:3px solid var(--sector-reader, #1d4ed8);border-radius:50%;box-shadow:0 1px 4px #0f172a4d;cursor:grab}.leaflet-div-icon.sector-vertex--done{border-width:2px;opacity:.9}.leaflet-div-icon.sector-vertex:active{cursor:grabbing}.sector-panel{display:flex;flex-direction:column;gap:.8rem;min-height:0}.sector-panel__handle{display:none}.sector-panel__section{background:var(--surface-muted);border-radius:var(--radius-md);padding:.9rem 1rem;box-shadow:inset 0 0 0 1px var(--border)}.sector-panel__section h3{margin:0 0 .5rem;font-size:.95rem;display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.sector-panel__section h3 small{color:var(--text-muted);font-weight:500;font-size:.82rem;white-space:nowrap}.sector-panel__block+.sector-panel__block{border-top:1px dashed var(--border);padding-top:.75rem;margin-top:.25rem}.sector-assigned{max-height:220px;overflow-y:auto}.sector-panel__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-content:start}.sector-count{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.sector-count__value{font-size:2rem;font-weight:700;line-height:1;color:var(--sector-reader);font-variant-numeric:tabular-nums}.sector-count__label{font-size:1rem;font-weight:600}.sector-count__sub{margin:.35rem 0 0;font-size:.85rem;color:var(--text-muted)}.sector-panel .input{margin-bottom:.3rem}.sector-village{border-top:1px solid var(--border);padding-top:.6rem;margin-top:.4rem}.sector-village:first-of-type{border-top:0;padding-top:0;margin-top:0}.sector-village__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-bottom:.4rem}.sector-village__name{font-weight:700;font-size:.95rem}.sector-village__count{color:var(--text-muted);font-size:.85rem;margin-left:.35rem;font-variant-numeric:tabular-nums}.sector-village__all{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;min-height:32px;cursor:pointer}.sector-village__all input,.sector-street input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--sector-reader)}.sector-streets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}.sector-street{display:flex;align-items:center;gap:.6rem;min-height:40px;padding:.3rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.sector-street:hover{border-color:var(--border-strong)}.sector-street.is-checked{background:var(--sector-reader-soft);border-color:#bfd0fb}.sector-street.is-disabled{cursor:default;opacity:.75}.sector-street__row{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;cursor:inherit}.sector-street__name{flex:1;min-width:0;font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-street--note .sector-street__name{display:flex;align-items:center}.sector-street__count{color:var(--text-muted);font-size:.85rem;white-space:nowrap;font-variant-numeric:tabular-nums}.sector-street.is-checked .sector-street__count{color:var(--sector-reader)}.sector-street--note{cursor:default;background:transparent;border-style:dashed;color:var(--text-muted);font-size:.85rem}.sector-street--note .sector-street__name{font-weight:500;color:var(--text-muted)}.sector-zone{display:flex;align-items:center;gap:.6rem;padding:.45rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.sector-zone.is-draft{border-style:dashed}.sector-zone__swatch{width:14px;height:14px;border-radius:4px;background:var(--sector-reader);opacity:.85;flex:none}.sector-zone.is-draft .sector-zone__swatch{background:repeating-linear-gradient(45deg,var(--sector-reader) 0 3px,#fff 3px 6px)}.sector-zone__text{flex:1;min-width:0;display:grid;gap:.1rem}.sector-zone__name{font-weight:600;font-size:.92rem}.sector-zone__count{color:var(--text-muted);font-size:.85rem;font-variant-numeric:tabular-nums}.sector-zone__actions{display:flex;gap:.35rem;flex:none}.sector-zone__actions button{min-height:36px;padding:.3rem .75rem;font-size:.85rem}.sector-panel__empty{margin:0;color:var(--text-muted);font-size:.9rem}.sector-panel__actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;flex:none}.sector-panel__actions .status-pill{margin-right:auto}.sector-panel__actions-note{flex:1 1 100%;text-align:right;font-size:.85rem;color:var(--text-muted)}.sector-panel__peek .sector-panel__actions{margin-top:.6rem}.sector-panel__actions .primary-button{background:var(--sector-reader)}@media(max-width:640px){.sectors-page{height:calc(100vh - 150px);min-height:480px;gap:.5rem}.sectors-page__head{gap:.4rem}.sectors-page__head .muted,.sectors-page__actions{display:none}.sector-editor__legend{gap:.25rem .7rem;margin-top:.25rem;font-size:.76rem}.sectors-body{display:flex;flex-direction:column}.sectors-readers{display:none}.sectors-reader-select{display:block;flex:none}.sectors-editor-frame{flex:1;min-height:0}.sector-editor__body{display:block;position:relative;padding:0}.sector-map-col{position:absolute;inset:0;display:block}.sector-map-tools{position:absolute;top:10px;left:10px;right:56px;z-index:1150;gap:.35rem}.sector-map-tools .primary-button{min-height:40px;box-shadow:var(--shadow-1)}.sector-zone-chip{box-shadow:var(--shadow-1)}.sector-map{position:absolute;inset:0;border-radius:var(--radius-md)}.sector-map__hint{top:60px;left:10px;right:56px;max-width:none;font-size:.82rem}.sector-map__toolbar{bottom:calc(var(--sheet-peek) + 12px)}.sector-panel{position:absolute;left:0;right:0;bottom:0;z-index:1200;background:var(--surface);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:0 -12px 32px #0f172a2e;max-height:62%;padding:0 1rem calc(.8rem + env(safe-area-inset-bottom,0px));gap:.6rem;transform:translateY(calc(100% - var(--sheet-peek)));transition:transform .25s ease}.sector-panel.is-open{transform:none}.sector-panel__handle{display:block;width:100%;min-height:44px;border:0;background:transparent;padding:0;cursor:pointer;flex:none;position:relative}.sector-panel__handle:before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--border-strong);margin:0 auto}.sector-panel__section{padding:.7rem .85rem}.sector-count__value{font-size:1.6rem}.sector-panel__actions .primary-button,.sector-panel__actions .secondary-button{flex:1;min-height:44px}.sector-panel__peek{padding:.5rem .85rem .6rem}.sector-panel__peek .sector-count__sub{margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sector-panel__peek .sector-panel__actions{margin-top:.45rem;flex-wrap:nowrap}}.sector-editor__legend i.is-other{background:var(--sector-other)}.sector-editor__legend i.is-none{background:var(--sector-none);border-color:var(--sector-off);box-shadow:none}.sector-count__coverage.is-warning{color:var(--sector-other);font-weight:600}.leaflet-tooltip.sector-tooltip{font-size:.82rem;line-height:1.35;padding:.35rem .55rem;border-radius:var(--radius-sm);border-color:var(--border);color:var(--text)}.sector-meter-search{display:grid;gap:.35rem;margin-bottom:.5rem}.sector-meter-search .input{margin-bottom:0}.sector-meter-results{border:1px solid var(--border);border-radius:var(--radius-md);padding:.35rem;background:var(--surface)}.sector-meter{display:flex;align-items:center;gap:.5rem;min-height:40px;padding:.3rem .4rem .3rem .65rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.sector-meter.is-checked{background:var(--sector-reader-soft);border-color:#bfd0fb}.sector-meter input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--sector-reader)}.sector-meter .sector-street__row{cursor:pointer}.sector-meter__text{flex:1;min-width:0;display:grid;gap:.1rem;text-align:left}.sector-meter__text--button{border:0;background:transparent;padding:.2rem 0;font:inherit;color:inherit;cursor:pointer;min-height:36px}.sector-meter__text--button:hover .sector-meter__name{text-decoration:underline}.sector-meter__name{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-meter__hint{color:var(--text-muted);font-size:.8rem}.sector-meter__action{flex:none;min-height:36px;padding:.3rem .7rem;font-size:.85rem}.sector-no-street{margin-top:.6rem}.sector-no-street summary{cursor:pointer;font-weight:600;font-size:.92rem;min-height:36px;display:flex;align-items:center}.sector-no-street .sector-streets{margin-top:.4rem}@media(max-width:640px){.sector-meter__action,.sector-meter__text--button{min-height:44px}}.citizen-page{display:grid;gap:1rem;min-width:0}.ghost-button.citizen-back{justify-self:start}.card.citizen-card{display:grid;gap:.85rem;min-width:0}.citizen-card h2,.citizen-card h3{margin:0}.citizen-card h3:not(:first-child){margin-top:.5rem}.citizen-card p{margin:0}.citizen-steps{margin:0;padding-left:1.25rem;display:grid;gap:.35rem}.citizen-file{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;cursor:pointer;min-width:0}.citizen-file input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.citizen-file:focus-within .secondary-button{outline:2px solid var(--primary);outline-offset:2px}.citizen-file__name{font-weight:600;overflow-wrap:anywhere}.citizen-hint{display:block;margin-top:.35rem;font-weight:400;font-size:.82rem;color:#64748b}.citizen-card .label .input{margin-top:.4rem}.citizen-check{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.citizen-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.citizen-card .status-pill{justify-self:start;margin-top:0;border-radius:var(--radius-md)}.citizen-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:.75rem}.citizen-stat{display:grid;gap:.2rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid #e2e8f0;background:#f8fafc}.citizen-stat__value{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.citizen-stat__label{font-size:.85rem;color:#475569}.citizen-stat.is-ok{background:#f0fdf4;border-color:#bbf7d0}.citizen-stat.is-warning{background:#fff7ed;border-color:#fed7aa}.citizen-stat.is-error{background:#fef2f2;border-color:#fecaca}.citizen-list{border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:.75rem 1rem;min-width:0}.citizen-list summary{cursor:pointer;font-weight:600}.citizen-list .table-scroll{margin-top:.75rem}.citizen-steps-bar{display:flex;gap:.4rem;margin:0;padding:0;list-style:none}.citizen-steps-bar__item{flex:1 1 0;padding:.5rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-subtle);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.citizen-steps-bar__item.is-done{background:var(--success-soft);color:var(--success)}.citizen-steps-bar__item.is-current{background:var(--primary);color:#fff;font-weight:600}.citizen-steps-bar__short{display:none}.citizen-box{display:grid;gap:.5rem;padding:.85rem 1rem;border:1px solid #fcd34d;border-radius:var(--radius-md);background:var(--warning-soft)}.citizen-box h4{margin:0;font-size:.95rem}.citizen-transmissions{font-size:.9rem}.citizen-transmissions tr.is-cancelled td{color:var(--text-subtle)}.citizen-transmissions__file{overflow-wrap:anywhere;max-width:18rem}.citizen-transmissions__confirm{display:inline-flex;gap:.4rem;flex-wrap:wrap}@media(max-width:720px){.citizen-steps-bar__full{display:none}.citizen-steps-bar__short{display:inline}.citizen-steps-bar__item{text-align:center;padding:.45rem .25rem}}.help-guide{--help-rule: color-mix(in srgb, var(--text) 13%, transparent);background:var(--surface);border-radius:var(--radius-md);padding:1.5rem 1.75rem 2rem;box-shadow:var(--shadow-1)}.help-breadcrumb{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.9rem;font-size:.9rem;color:var(--text-muted)}.help-breadcrumb a{color:var(--primary);font-weight:500;text-decoration:none}.help-breadcrumb a:hover{text-decoration:underline}.help-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;letter-spacing:-.02em}.help-lead{margin:.6rem 0 0;max-width:62ch;color:var(--text-muted)}.help-doc{display:grid;grid-template-columns:270px minmax(0,1fr);gap:3rem;align-items:start;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--help-rule)}.help-nav{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;padding-right:.5rem}.help-nav-lead{margin:0 0 .9rem;font-size:1.05rem}.help-nav-title{margin:1.2rem 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle)}.help-nav ul{margin:0;padding:0;list-style:none}.help-nav a{display:block;padding:.4rem .75rem;border-left:2px solid var(--help-rule);font-size:.95rem;line-height:1.35;color:var(--text);text-decoration:none}.help-nav a:hover{border-left-color:var(--primary);color:var(--primary)}.help-nav a.is-active{border-left-color:var(--primary);background:var(--primary-soft);font-weight:600}.help-nav-others a{padding-left:0;border-left-color:transparent;color:var(--primary);font-weight:500}.help-panel{min-width:0;scroll-margin-top:90px}.help-back{display:none;margin-bottom:.9rem;font-weight:600;color:var(--primary);text-decoration:none}.help-panel-head{margin-bottom:1.1rem;padding-bottom:.9rem;border-bottom:1px solid var(--help-rule)}.help-panel-head h3{margin:0;font-size:1.5rem;line-height:1.2}.help-hint{margin:.2rem 0 0;color:var(--text-muted)}.help-intro,.help-steps,.help-note,.help-brief{max-width:62ch}.help-intro{margin:0 0 1rem;color:var(--text-muted)}.help-steps{margin:0;padding:0;list-style:none;counter-reset:help-step}.help-steps li{counter-increment:help-step;position:relative;padding:.75rem 0 .75rem 2.6rem;border-bottom:1px solid var(--help-rule)}.help-steps li:first-child{padding-top:.2rem}.help-steps li:before{content:counter(help-step);position:absolute;left:0;top:.65rem;width:1.7rem;text-align:center;font-size:1.15rem;font-weight:600;line-height:1.4;color:var(--primary)}.help-steps li:first-child:before{top:.1rem}.help-note{margin:1.1rem 0 0;padding-left:1rem;border-left:2px solid var(--primary);font-size:.94rem;color:var(--text-muted)}.help-brief{margin:0 0 1.4rem;padding:0 0 0 1rem;list-style:none;border-left:2px solid var(--primary);display:grid;gap:.35rem}.help-rights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.help-rights h4{margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--help-rule);font-size:1rem}.help-can,.help-cannot{margin:.7rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}.help-can li,.help-cannot li{position:relative;padding-left:1.4rem}.help-can li:before,.help-cannot li:before{position:absolute;left:0;font-weight:700}.help-can li:before{content:"✓";color:var(--success)}.help-cannot li:before{content:"→";color:var(--primary)}.help-start{margin:1.6rem 0 0}.help-pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.8rem;padding-top:1rem;border-top:1px solid var(--help-rule)}.help-pager a{display:flex;flex-direction:column;max-width:48%;text-decoration:none}.help-pager small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-subtle)}.help-pager span{font-weight:600;color:var(--primary)}.help-pager a:hover span{text-decoration:underline}.help-next{margin-left:auto;text-align:right}.help-home h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em}.help-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-top:1.5rem}.help-choice{display:flex;flex-direction:column;gap:.35rem;padding-top:.9rem;border-top:2px solid var(--text);color:inherit;text-decoration:none}.help-choice h3{margin:0;font-size:1.2rem}.help-choice p{flex:1;margin:0;color:var(--text-muted)}.help-choice span{margin-top:.3rem;font-weight:600;color:var(--primary)}.help-choice:hover{border-top-color:var(--primary)}.help-choice:hover span{text-decoration:underline}.help-home-block{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--help-rule)}.help-home-block h3{margin:0 0 .6rem;font-size:1.05rem}.help-home-block ul{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}.help-home-block a{color:var(--primary);font-weight:600}@media(max-width:900px){.help-guide{padding:1.1rem 1rem 1.5rem}.help-doc{display:block}.help-nav{position:static;max-height:none;overflow:visible;padding-right:0}.help-doc.is-list .help-panel,.help-doc.is-detail .help-nav{display:none}.help-back{display:inline-block}.help-nav a{padding-block:.6rem}.help-rights{grid-template-columns:1fr;gap:1.4rem}}.admin-scope .admin-main{display:grid;gap:1rem;align-content:start;min-width:0}.admin-scope .card{min-width:0}.admin-scope .card h2{margin:0;font-size:1.3rem;line-height:1.3}.admin-scope .card h3{margin:1.5rem 0 0;font-size:1.05rem}.admin-scope .card-header{flex-wrap:wrap;align-items:flex-start}.admin-scope .card-header>div:first-child{flex:1 1 280px;min-width:0}.admin-scope .card-header .muted{margin-top:.3rem;line-height:1.45}.admin-toolbar,.admin-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.admin-actions{margin-top:1rem}.admin-actions--end{justify-content:flex-end}.admin-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem}.admin-pills .status-pill{margin-top:0}.admin-notice{display:block;margin:.75rem 0 0;padding:.7rem .9rem;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--info) 22%,transparent);background:var(--info-soft);color:var(--info);font-size:.9rem;font-weight:500;line-height:1.45;overflow-wrap:anywhere}.admin-notice--success{border-color:color-mix(in srgb,var(--success) 28%,transparent);background:var(--success-soft);color:var(--success)}.admin-notice--warning{border-color:color-mix(in srgb,var(--warning) 28%,transparent);background:var(--warning-soft);color:var(--warning)}.admin-notice--error{border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:var(--danger-soft);color:var(--danger)}.admin-notice code{font-size:.88em}.admin-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;white-space:nowrap;background:#f1f5f9;color:var(--text-muted)}.admin-badge--ok{background:var(--success-soft);color:var(--success)}.admin-badge--warn{background:var(--warning-soft);color:var(--warning)}.admin-badge--danger{background:var(--danger-soft);color:var(--danger)}.admin-badge--info{background:var(--info-soft);color:var(--info)}.admin-panel{margin-top:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;min-width:0}.admin-modules>.admin-panel,.admin-two-cols>.admin-panel{margin-top:0}.admin-panel__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.6rem 1rem}.admin-panel__head>div:first-child{flex:1 1 240px;min-width:0}.admin-panel__title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.admin-panel__text{margin:.25rem 0 0;color:var(--text-muted);font-size:.92rem;line-height:1.45}.admin-form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));margin-top:.75rem}.admin-form-grid .label,.admin-panel .label{margin:0}.admin-scope .label .input{margin-top:.35rem}.admin-scope .input[aria-invalid=true]{border-color:var(--danger);background:var(--surface)}.admin-required{color:var(--danger);margin-left:.15rem}.admin-field-hint{display:block;margin-top:.3rem;font-size:.82rem;font-weight:500;color:var(--text-subtle);line-height:1.4}.admin-field-error{display:block;margin-top:.3rem;font-size:.85rem;font-weight:600;color:var(--danger)}.admin-full{grid-column:1 / -1}.admin-check{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600;font-size:.92rem;cursor:pointer}.admin-check input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--primary)}.admin-checks{display:flex;flex-wrap:wrap;gap:0 1.5rem;margin-top:.75rem}.admin-rules{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin-top:.75rem}.admin-rule{margin:0;padding:.5rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0}.admin-rule legend{padding:0 .35rem;font-weight:700}.admin-rule__fields{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.25rem}.admin-url{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.6rem .8rem;border-radius:var(--radius-md);background:var(--info-soft);color:var(--info);font-size:.9rem}.admin-url code{font-weight:600;overflow-wrap:anywhere}.admin-modules{display:grid;gap:.75rem;margin-top:.75rem}.admin-module{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}.admin-module__text{flex:1 1 240px;min-width:0}.admin-module__name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:700}.admin-scope .table-scroll{margin-top:.75rem}.admin-table th{white-space:nowrap;font-size:.82rem;color:var(--text-muted)}.admin-table td{vertical-align:top}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.admin-link{padding:0;border:none;background:none;font:inherit;font-weight:700;color:var(--text);text-align:left;cursor:pointer}.admin-link:hover{color:var(--primary);text-decoration:underline}.admin-sub{display:block;margin-top:.15rem;font-size:.82rem;color:var(--text-subtle)}.admin-error-text{color:var(--danger);font-size:.85rem;overflow-wrap:anywhere}.admin-empty{margin:.75rem 0 0;padding:1.25rem 1rem;text-align:center;color:var(--text-muted);background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.admin-drawer .drawer-section{min-width:0}.admin-drawer .drawer-section h4{font-size:1.05rem}.admin-drawer .drawer-section>.muted:first-of-type{margin-top:0}.admin-drawer .drawer-header__meta{align-items:center}.admin-checklist{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem;color:var(--text-muted);line-height:1.45}.admin-totp-setup{display:grid;gap:1rem;grid-template-columns:minmax(150px,200px) minmax(0,1fr);align-items:start}.admin-qr{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:.8rem;max-width:220px}.admin-qr img{width:100%;height:auto;display:block}.admin-secret{margin:.25rem 0 .75rem;padding:.5rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;overflow-wrap:anywhere;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm)}.admin-two-cols{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));margin-top:.75rem}.admin-two-cols .label{margin-top:.75rem}.admin-recovery-codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-top:.5rem}.admin-recovery-codes code{padding:.35rem .5rem;font-size:.95rem;text-align:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}.admin-footer{padding:1.5rem 16px calc(2.5rem + env(safe-area-inset-bottom));text-align:center;color:var(--text-subtle);font-size:.8rem}.photo-ai-diagnostics .photo-ai-result{margin-top:.75rem}@media(max-width:720px){.admin-scope .container{padding-left:16px;padding-right:16px}.admin-scope .card{padding:1rem}.admin-toolbar,.admin-actions{width:100%;flex-direction:column-reverse;align-items:stretch}.admin-toolbar>button,.admin-actions>button{width:100%}.admin-rule__fields,.admin-totp-setup{grid-template-columns:minmax(0,1fr)}.admin-drawer .drawer-header{padding:.85rem 16px .75rem;align-items:flex-start}.admin-drawer .drawer-body{padding:1rem 16px 2rem}.admin-drawer .drawer-section{padding:1rem}.table-scroll.admin-cards{overflow:visible;border:none;background:transparent}.table-scroll.admin-cards .table{display:block;min-width:0}.table-scroll.admin-cards .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.table-scroll.admin-cards .table tbody{display:grid;gap:.75rem}.table-scroll.admin-cards .table tbody tr{display:grid;gap:.45rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.table-scroll.admin-cards .table td{display:grid;grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);gap:.75rem;align-items:start;padding:0;border:none;font-size:.92rem}.table-scroll.admin-cards .table td:before{content:attr(data-label);font-size:.82rem;font-weight:600;color:var(--text-subtle)}.table-scroll.admin-cards .table td.admin-cell--full{grid-template-columns:minmax(0,1fr)}.table-scroll.admin-cards .table td.admin-cell--full:before{display:none}.table-scroll.admin-cards .admin-row-actions{justify-content:stretch;margin-top:.35rem}.table-scroll.admin-cards .admin-row-actions>button{flex:1 1 auto}}.admin-scope .admin-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.25rem;align-items:start}.admin-menu{position:sticky;top:1rem;display:grid;gap:.9rem;padding:.75rem;box-shadow:var(--shadow-card);border-radius:var(--radius-md);background:var(--surface)}.admin-menu__group{display:grid;gap:.15rem}.admin-menu__title{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle);padding:0 .6rem .2rem}.admin-menu__item{padding:.45rem .6rem;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-weight:500}.admin-menu__item:hover{background:var(--surface-muted)}.admin-menu__item.is-active{background:var(--info-soft);color:var(--primary);font-weight:700}.admin-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.admin-tile{display:grid;gap:.35rem;justify-items:start;text-align:left;padding:1rem;border:0;box-shadow:var(--shadow-card);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.admin-tile:hover{border-color:var(--primary)}.admin-tile strong{font-size:1.6rem;line-height:1.1}.admin-todo{list-style:none;margin:.75rem 0 0;padding:0}.admin-todo li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--border)}.admin-todo li:first-child{border-top:0}.admin-todo li span:nth-child(2){flex:1}@media(max-width:860px){.admin-scope .admin-layout{grid-template-columns:minmax(0,1fr)}.admin-menu{position:static;display:flex;gap:.3rem;overflow-x:auto;padding:.4rem}.admin-menu__group{display:flex;gap:.3rem}.admin-menu__title{display:none}.admin-menu__item{white-space:nowrap}.admin-tiles{grid-template-columns:minmax(0,1fr)}}.admin-progress-wrap{display:grid;gap:.6rem}.admin-progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.admin-progress__step{display:flex;align-items:center;gap:.45rem;padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);font-size:.88rem;min-width:0}.admin-progress__num{flex:none;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--surface);font-weight:700}.admin-progress__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-progress__step.is-current{background:var(--primary);color:#fff;font-weight:700}.admin-progress__step.is-current .admin-progress__num{color:var(--primary)}.admin-progress__step.is-done{background:var(--success-soft);color:var(--success)}.admin-progress__step.is-locked{opacity:.55}.admin-testlist{list-style:none;margin:.75rem 0 0;padding:.25rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.admin-testlist li{display:flex;gap:.6rem;align-items:baseline;padding:.45rem 0;border-top:1px solid var(--border)}.admin-testlist li:first-child{border-top:0}.admin-testlist li>span:first-child{flex:none;display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;font-weight:700;font-size:.8rem}.admin-testlist .is-ok>span:first-child{background:var(--success-soft);color:var(--success)}.admin-testlist .is-warn>span:first-child{background:var(--warning-soft);color:var(--warning)}.admin-testlist .is-bad>span:first-child{background:var(--danger-soft, #fee2e2);color:var(--danger)}@media(max-width:720px){.admin-progress{grid-template-columns:repeat(5,auto)}.admin-progress__step:not(.is-current) .admin-progress__label{display:none}}.admin-fieldset{margin:1rem 0 0;padding:.9rem 1rem 1rem;border:1px solid var(--border);border-radius:var(--radius-md);min-width:0}.admin-fieldset legend{padding:0 .35rem;font-weight:700}.admin-fieldset>.muted{margin:0 0 .5rem}.commune-page{display:grid;gap:1rem;min-width:0}.admin-scope .commune-header{display:grid;gap:.6rem;padding:1rem 1.25rem 0}.commune-header__back{justify-self:start;border:0;background:none;padding:0;font:inherit;font-size:.9rem;font-weight:600;color:var(--primary);cursor:pointer}.commune-header__back:hover{text-decoration:underline}.commune-header__main{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.commune-header__id{display:grid;gap:.4rem;min-width:0}.admin-scope .commune-header h1{margin:0;font-size:1.6rem;line-height:1.2}.commune-header__meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.commune-header__slug{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;color:var(--text-muted);margin-right:.25rem}.commune-tabs{display:flex;gap:.25rem;border-top:1px solid var(--border);margin:.4rem -1.25rem 0;padding:0 .65rem;overflow-x:auto;scrollbar-width:none}.commune-tab{border:0;background:none;padding:.75rem .6rem;font:inherit;font-size:.95rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.commune-tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.commune-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.commune-kpi{display:grid;gap:.2rem;padding:.9rem 1rem;box-shadow:var(--shadow-card);border-radius:var(--radius-md);background:var(--surface);min-width:0}.commune-kpi strong{font-size:1.5rem;line-height:1.15}.card .commune-kpis .commune-kpi{background:var(--surface-muted)}.commune-bars{display:flex;align-items:flex-end;gap:3px;height:120px;margin-top:.75rem}.commune-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;border-bottom:1px solid var(--border)}.commune-bar i,.commune-legend i{display:block;background:#3b82f6}.commune-bar i:first-child{border-radius:3px 3px 0 0}.commune-bar i.is-portal,.commune-legend i.is-portal{background:#16a34a}.commune-bar i.is-import,.commune-legend i.is-import{background:#94a3b8}.commune-bar i.is-ai,.commune-legend i.is-ai{background:#7c3aed}.commune-bars__axis{display:flex;justify-content:space-between;font-size:.8rem;margin-top:.3rem}.commune-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.commune-legend span{display:inline-flex;align-items:center;gap:.35rem}.commune-legend i{width:.7rem;height:.7rem;border-radius:2px}.commune-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1rem;align-items:start}.commune-list{list-style:none;margin:.5rem 0 0;padding:0}.commune-list li{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--border)}.commune-list li:first-child{border-top:0}.commune-list li>span:first-child{flex:1;min-width:0}.admin-testlist .is-info>span:first-child{background:var(--info-soft);color:var(--info)}.restore-quick,.restore-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.restore-subtitle{font-size:.95rem!important;margin:1rem 0 .4rem!important}.restore-timeline{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px}.restore-day{height:28px;border-radius:4px;border:1px solid var(--border);background:var(--surface-muted);padding:0;cursor:default}.restore-day.has-copy{background:var(--success-soft);border-color:#86efac;cursor:pointer}.restore-day.has-copy:hover{border-color:var(--success)}.restore-day.is-missing{background:var(--warning-soft);border-color:#fcd34d}.restore-day.is-selected,.restore-chips .is-selected{outline:2px solid var(--primary);outline-offset:1px}.restore-axis{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;margin-top:.3rem}.restore-diff td.is-minus{color:var(--danger);font-weight:700}.restore-diff td.is-plus{color:var(--success);font-weight:700}.restore-confirm{margin-top:1rem;padding:1rem;border:1px solid #fecaca;border-radius:var(--radius-md);background:#fff7f7}.restore-confirm h3{margin:0 0 .4rem!important}.restore-confirm ol{margin:0 0 .6rem;padding-left:1.2rem;line-height:1.6}.ai-history{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-top:1rem;text-align:center;font-size:.85rem}.ai-history__col{display:grid;gap:.2rem}.ai-history__bar{height:70px;display:flex;align-items:flex-end;justify-content:center}.ai-history__bar i{display:block;width:60%;min-height:2px;background:#7c3aed;border-radius:3px 3px 0 0}.invoice-form{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:.75rem;align-items:end;margin-top:.75rem}.backup-plan{font-size:1.05rem;line-height:1.55;margin:.25rem 0 0}@media(max-width:860px){.commune-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.commune-two,.invoice-form{grid-template-columns:minmax(0,1fr)}.restore-day{height:22px}.ai-history{gap:.3rem}}.restore-timeline--small{min-width:300px;gap:2px}.restore-timeline--small .restore-day{height:16px;display:block}.restore-day.is-failed{background:var(--danger-soft, #fee2e2);border-color:#fca5a5}@media(max-width:720px){.admin-scope .commune-header{padding:.9rem 1rem 0}.admin-scope .commune-header h1{font-size:1.3rem}.commune-header__actions,.commune-header__actions .secondary-button{width:100%}.commune-tabs{margin:.2rem -1rem 0;padding:0 .25rem}}.admin-badge--neutral{background:var(--surface-muted, #eef0f3);color:var(--text-subtle, #5b6475)}.supervisors-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 .9rem}.table.supervisors-table{min-width:0}.supervisors-table td{vertical-align:top}.supervisors-email{font-size:.85rem;overflow-wrap:break-word}.supervisors-state{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem}.supervisors-table tr.is-disabled strong{color:var(--text-subtle, #5b6475)}.supervisors-table .admin-row-actions{flex-direction:column;align-items:stretch;flex-wrap:nowrap}.supervisors-table .admin-row-actions button{white-space:normal}.supervisors-table td:last-child{width:11rem}.supervisors-invite{margin-top:1rem}
