@font-face{font-family:Inter;font-style:normal;font-weight:400 700;src:url(/fonts/Inter-Variable.woff2)format("woff2-variations"),url(/fonts/Inter-Variable.woff2)format("woff2");font-display:swap}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/fonts/JetBrainsMono-Regular.ttf)format("truetype");font-display:swap}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;src:url(/fonts/JetBrainsMono-Bold.ttf)format("truetype");font-display:swap}:root{--paper:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--ink:#0f172a;--ink-2:#475569;--ink-3:#64748b;--line:#e2e8f0;--primary:#16a34a;--primary-ink:#052e12;--accent:#0f2d6b;--accent-ink:#f8fafc;--accent-fg:#0f2d6b;--brand-surface:#0f2d6b;--brand-surface-ink:#f8fafc;--status-pending:#b45309;--status-pending-bg:#fef3c7;--status-open:#ea580c;--status-open-bg:#ffedd5;--status-progress:#0284c7;--status-progress-bg:#e0f2fe;--status-resolved:#16a34a;--status-resolved-bg:#dcfce7;--status-critical:#dc2626;--status-critical-bg:#fee2e2;--service-waste:#16a34a;--service-waste-bg:#dcfce7;--service-water:#0284c7;--service-water-bg:#e0f2fe;--service-roads:#f97316;--service-roads-bg:#ffedd5;--service-streetlight:#7c3aed;--service-streetlight-bg:#ede9fe;--ai-from:#0284c7;--ai-to:#16a34a;--shadow-sm:0 1px 2px #0f172a0d, 0 1px 1px #0f172a0a;--shadow:0 1px 2px #0f172a0f, 0 4px 16px #0f172a0d;--shadow-md:0 2px 6px #0f172a12, 0 8px 24px #0f172a14;--shadow-lg:0 4px 12px #0f172a1a, 0 16px 40px #0f172a1f;--ease:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur:.22s;--dur-slow:.38s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#07111f;--surface:#0f1f35;--surface-2:#132a45;--ink:#f8fafc;--ink-2:#cbd5e1;--ink-3:#94a3b8;--line:#1e3a5f;--primary:#22c55e;--primary-ink:#07111f;--accent-fg:#38bdf8;--status-pending:#fbbf24;--status-pending-bg:#2e2410;--status-open:#fb923c;--status-open-bg:#331d0c;--status-progress:#38bdf8;--status-progress-bg:#0f2436;--status-resolved:#22c55e;--status-resolved-bg:#0f2a18;--status-critical:#f87171;--status-critical-bg:#341015;--service-waste:#22c55e;--service-waste-bg:#0f2a18;--service-water:#38bdf8;--service-water-bg:#0f2436;--service-roads:#fb923c;--service-roads-bg:#331d0c;--service-streetlight:#a78bfa;--service-streetlight-bg:#241a3d;--ai-from:#38bdf8;--ai-to:#22c55e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#07111f;--surface:#0f1f35;--surface-2:#132a45;--ink:#f8fafc;--ink-2:#cbd5e1;--ink-3:#94a3b8;--line:#1e3a5f;--primary:#22c55e;--primary-ink:#07111f;--accent-fg:#38bdf8;--status-pending:#fbbf24;--status-pending-bg:#2e2410;--status-open:#fb923c;--status-open-bg:#331d0c;--status-progress:#38bdf8;--status-progress-bg:#0f2436;--status-resolved:#22c55e;--status-resolved-bg:#0f2a18;--status-critical:#f87171;--status-critical-bg:#341015;--service-waste:#22c55e;--service-waste-bg:#0f2a18;--service-water:#38bdf8;--service-water-bg:#0f2436;--service-roads:#fb923c;--service-roads-bg:#331d0c;--service-streetlight:#a78bfa;--service-streetlight-bg:#241a3d;--ai-from:#38bdf8;--ai-to:#22c55e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--paper:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--ink:#0f172a;--ink-2:#475569;--ink-3:#64748b;--line:#e2e8f0;--primary:#16a34a;--primary-ink:#052e12;--accent-fg:#0f2d6b;--status-pending:#b45309;--status-pending-bg:#fef3c7;--status-open:#ea580c;--status-open-bg:#ffedd5;--status-progress:#0284c7;--status-progress-bg:#e0f2fe;--status-resolved:#16a34a;--status-resolved-bg:#dcfce7;--status-critical:#dc2626;--status-critical-bg:#fee2e2;--service-waste:#16a34a;--service-waste-bg:#dcfce7;--service-water:#0284c7;--service-water-bg:#e0f2fe;--service-roads:#f97316;--service-roads-bg:#ffedd5;--service-streetlight:#7c3aed;--service-streetlight-bg:#ede9fe;--ai-from:#0284c7;--ai-to:#16a34a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);transition:background-color var(--dur-slow) var(--ease), color var(--dur-slow) var(--ease);margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--accent-fg);outline-offset:2px;border-radius:4px}h1,h2,h3{text-wrap:balance;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@keyframes fade-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.enter{opacity:1;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transition-delay:calc(var(--stagger,0) * 45ms);transform:translateY(0)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.surface-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);border-radius:12px}.surface-card.hoverable:hover,.surface-card.hoverable:focus-within{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--line) 60%, var(--ink-3));transform:translateY(-2px)}.table-row-hover{transition:background-color var(--dur-fast) var(--ease)}.table-row-hover:hover{background-color:var(--paper)}@keyframes skeleton-sweep{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--line) 37%, var(--surface-2) 63%);background-size:200% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skeleton-sweep}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-2);animation:none}}.indic{font-family:Nirmala UI,Noto Sans Devanagari,Noto Sans Bengali,Noto Sans Gujarati,Noto Sans Oriya,Kohinoor Devanagari,Segoe UI,sans-serif}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.display{letter-spacing:-.01em;font-family:Inter,system-ui,sans-serif;font-weight:700}.btn{transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), filter var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #141e1a14}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-primary:active:not(:disabled){filter:brightness(.98);transform:translateY(0)scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--ink);border:1px solid var(--ink-3);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);transform:translateY(-1px)}.btn-ghost:active:not(:disabled){transform:translateY(0)scale(.98)}.btn-danger{background:var(--status-critical);color:#fff;box-shadow:0 1px 2px #141e1a14}.btn-danger:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-danger:active:not(:disabled){filter:brightness(.98);transform:translateY(0)scale(.98)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:7px 13px;font-size:12px}.icon-action-btn{width:28px;height:28px;color:var(--ink-3);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.icon-action-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-action-btn.danger:hover:not(:disabled){background:var(--status-critical-bg);color:var(--status-critical)}.icon-action-btn:disabled{opacity:.4;cursor:not-allowed}.filter-chip{border-radius:999px!important}.status-badge{white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:20px;align-items:center;gap:5px;padding:4px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.status-badge svg{flex-shrink:0}.status-badge.assigned svg,.status-badge.accepted svg{animation:1.8s ease-in-out infinite tracker-pulse}@media (prefers-reduced-motion:reduce){.status-badge.assigned svg,.status-badge.accepted svg{animation:none}}.status-badge.resolved{background:var(--status-resolved-bg);color:var(--status-resolved)}.status-badge.pending{background:var(--status-pending-bg);color:var(--status-pending)}.status-badge.assigned{background:var(--status-open-bg);color:var(--status-open)}.status-badge.accepted{background:var(--status-progress-bg);color:var(--status-progress)}.status-badge.critical{background:var(--status-critical-bg);color:var(--status-critical)}.status-badge.muted{background:var(--surface-2);color:var(--ink-3);opacity:.75}@keyframes tracker-pulse{0%,to{opacity:1}50%{opacity:.45}}.tracker-dot-active{animation:1.4s ease-in-out infinite tracker-pulse}@media (prefers-reduced-motion:reduce){.tracker-dot-active{animation:none}}.service-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=900px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.service-grid{grid-template-columns:1fr}}.service-card{color:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:20px;text-decoration:none;display:flex}.service-card-icon{background:var(--surface-2);width:44px;height:44px;color:var(--ink-3);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:10px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.service-card-waste .service-card-icon{background:var(--service-waste-bg);color:var(--service-waste)}.service-card-water .service-card-icon{background:var(--service-water-bg);color:var(--service-water)}.service-card-roads .service-card-icon{background:var(--service-roads-bg);color:var(--service-roads)}.service-card-streetlight .service-card-icon{background:var(--service-streetlight-bg);color:var(--service-streetlight)}.service-card-waste.hoverable:hover .service-card-icon,.service-card-waste.hoverable:focus-within .service-card-icon{background:var(--service-waste);color:#fff}.service-card-water.hoverable:hover .service-card-icon,.service-card-water.hoverable:focus-within .service-card-icon{background:var(--service-water);color:#fff}.service-card-roads.hoverable:hover .service-card-icon,.service-card-roads.hoverable:focus-within .service-card-icon{background:var(--service-roads);color:#fff}.service-card-streetlight.hoverable:hover .service-card-icon,.service-card-streetlight.hoverable:focus-within .service-card-icon{background:var(--service-streetlight);color:#fff}.service-card-icon.service-tile-waste{background:var(--service-waste-bg);color:var(--service-waste)}.service-card-icon.service-tile-water{background:var(--service-water-bg);color:var(--service-water)}.service-card-icon.service-tile-roads{background:var(--service-roads-bg);color:var(--service-roads)}.service-card-icon.service-tile-streetlight{background:var(--service-streetlight-bg);color:var(--service-streetlight)}.service-card h3{color:var(--ink);margin:0;font-size:15px;font-weight:700}.service-card p{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.4}.service-card-action{color:var(--accent-fg);align-items:center;gap:5px;margin-top:10px;font-size:12.5px;font-weight:700;display:inline-flex}.service-card-action svg{transition:transform var(--dur-fast) var(--ease-out)}.service-card.hoverable:hover .service-card-action svg,.service-card.hoverable:focus-within .service-card-action svg{transform:translate(3px)}.field{margin-bottom:14px}.field label{color:var(--ink-2);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-fg);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-fg) 22%, transparent);outline:none}.field.has-error input,.field.has-error textarea{border-color:var(--status-critical)}.field-error{color:var(--status-critical);animation:fade-rise var(--dur) var(--ease-out) both;margin-top:5px;font-size:11.5px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235B665F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.file-drop{border:1.5px dashed var(--line);cursor:pointer;background:var(--paper);color:var(--ink-2);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.file-drop:hover,.file-drop.drag-over{border-color:var(--accent-fg);color:var(--ink);background:color-mix(in srgb, var(--accent-fg) 6%, var(--paper))}.file-drop.drag-over{border-style:solid}.file-drop svg{flex-shrink:0}.file-drop input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-drop .file-name{color:var(--ink);font-weight:600}.banner-error{background:var(--status-critical-bg);color:var(--status-critical);animation:fade-rise var(--dur-slow) var(--ease-out) both;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-2);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease-out);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)scale(.94)}.langpills{flex-wrap:wrap;gap:6px;display:flex}.langpill{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease-out);border-radius:20px;padding:6px 13px;font-size:12.5px;font-weight:600}.langpill:hover{border-color:var(--ink-3);transform:translateY(-1px)}.langpill.active{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.toast-viewport{z-index:200;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;top:20px;right:20px}@keyframes toast-in{0%{opacity:0;transform:translate(16px,-8px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;max-height:100px;margin-bottom:0;transform:translate(0)scale(1)}to{opacity:0;max-height:0;margin-bottom:-10px;transform:translate(16px,-4px)scale(.96)}}.toast{pointer-events:auto;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);color:var(--ink);animation:toast-in var(--dur-slow) var(--ease-out) both;border-radius:10px;align-items:flex-start;gap:10px;padding:13px 14px;font-size:13px;display:flex}.toast.leaving{animation:toast-out var(--dur) var(--ease) forwards}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:700;display:flex}.toast.success .toast-icon{background:var(--status-resolved-bg);color:var(--status-resolved)}.toast.error .toast-icon{background:var(--status-critical-bg);color:var(--status-critical)}.toast-close{color:var(--ink-3);background:0 0;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px}.toast-close:hover{color:var(--ink);background:var(--surface-2)}@media (prefers-reduced-motion:reduce){.toast,.toast.leaving{animation:fade-in var(--dur) linear both}}.dev-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--status-progress);background:var(--status-progress-bg);border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.home-hero{background:linear-gradient(135deg, var(--brand-surface), color-mix(in srgb, var(--brand-surface) 80%, black));color:var(--brand-surface-ink);border-radius:16px;margin-bottom:26px;padding:34px 28px}.home-hero h1{margin:0 0 8px;font-size:clamp(24px,4vw,32px)}.home-hero p{color:color-mix(in srgb, var(--brand-surface-ink) 82%, transparent);max-width:52ch;margin:0 0 20px;font-size:14px}.home-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.home-hero .btn-ghost{background:color-mix(in srgb, var(--brand-surface-ink) 10%, transparent);border-color:color-mix(in srgb, var(--brand-surface-ink) 30%, transparent);color:var(--brand-surface-ink)}.home-hero .btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--brand-surface-ink) 18%, transparent)}.ask-page-viewport{flex-direction:column;height:100dvh;display:flex}.ask-page.page{flex-direction:column;flex:1;min-width:0;min-height:0;margin:0;padding-top:18px;padding-bottom:12px;display:flex}.ask-chat-shell{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ask-chat-messages{flex-direction:column;flex:1;gap:18px;min-width:0;min-height:0;padding:4px 2px 12px;display:flex;overflow-y:auto}.ask-chat-empty{text-align:center;flex-direction:column;align-items:center;margin:auto 0;padding:40px 16px;display:flex}.ask-chat-empty-title{margin:14px 0 6px;font-size:22px}.ask-chat-empty-sub{color:var(--ink-2);max-width:42ch;margin:0;font-size:13.5px}.ask-suggestions-center{justify-content:center;margin-top:22px}.ask-suggestions{flex-wrap:wrap;gap:8px;margin:14px 0 22px;display:flex}.ask-suggestion{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-align:left;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease-out);border-radius:20px;padding:8px 14px;font-size:12.5px;font-weight:600}.ask-suggestion:hover:not(:disabled){border-color:var(--accent-fg);color:var(--ink);transform:translateY(-1px)}.ask-chat-row{gap:10px;max-width:100%;display:flex}.ask-chat-row-user{justify-content:flex-end}.ask-chat-row-assistant{justify-content:flex-start}.ask-chat-avatar{flex-shrink:0;padding-top:2px}.ask-chat-bubble{border-radius:14px;max-width:min(640px,82%);padding:12px 15px;font-size:14.5px;line-height:1.6}.ask-chat-row-user .ask-chat-bubble{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px}.ask-chat-row-assistant .ask-chat-bubble{background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom-left-radius:4px;position:relative;overflow:hidden}.ask-chat-row-assistant .ask-chat-bubble:before{content:"";background:linear-gradient(90deg, var(--ai-from), var(--ai-to));height:3px;position:absolute;top:0;left:0;right:0}.ask-chat-bubble-error{background:var(--status-critical-bg);color:var(--status-critical)}.ask-chat-row-assistant .ask-chat-bubble-error:before{display:none}.ask-chat-text{white-space:pre-line;margin:0}.ask-chat-image{object-fit:cover;border-radius:10px;max-width:220px;max-height:220px;margin-bottom:8px;display:block}.ask-chat-complaint-note{color:var(--status-resolved);background:var(--status-resolved-bg);border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}.ask-chat-complaint-link{color:inherit;margin-left:auto;text-decoration:underline}.ask-chat-thinking{color:var(--ink-2);align-items:center;gap:8px;display:flex}.ask-chat-thinking-dots{gap:3px;display:inline-flex}.ask-chat-thinking-dots span{background:var(--ink-3);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite ask-thinking-bounce}.ask-chat-thinking-dots span:nth-child(2){animation-delay:.15s}.ask-chat-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes ask-thinking-bounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.ask-chat-thinking-dots span{opacity:.7;animation:none}}.ask-chat-composer{flex-shrink:0;padding-top:8px}.ask-chat-attach-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:14px;margin-bottom:8px;padding:6px;overflow:hidden}.ask-chat-attach-panel .file-drop{color:var(--ink);background:0 0;border:none;border-radius:10px;padding:10px 12px;font-size:13.5px;font-weight:600}.ask-chat-attach-panel .file-drop:hover,.ask-chat-attach-panel .file-drop.drag-over{background:var(--surface-2);border:none}.ask-chat-attach-panel .multi-photo-grid{padding:6px 6px 0}.ask-chat-composer-error{color:var(--status-critical);margin:0 0 6px;font-size:12.5px}.ask-chat-composer-row{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;align-items:flex-end;gap:6px;padding:7px 8px;display:flex}.ask-chat-composer-row:focus-within{border-color:var(--accent-fg);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-fg) 16%, transparent)}.ask-chat-composer-mascot{flex-shrink:0;align-items:center;padding:0 2px 0 4px;display:flex}.ask-chat-textarea{resize:none;color:var(--ink);font:inherit;background:0 0;border:none;flex:1;max-height:160px;padding:7px 4px;font-size:14.5px;line-height:1.5;overflow-y:auto}.ask-chat-textarea:focus{outline:none}.ask-chat-textarea::placeholder{color:var(--ink-3)}.ask-chat-icon-btn{width:36px;height:36px;color:var(--ink-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ask-chat-icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.ask-chat-icon-btn.active{background:color-mix(in srgb, var(--accent-fg) 14%, transparent);color:var(--accent-fg)}.ask-chat-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ask-chat-send-btn{cursor:pointer;background:var(--accent);width:36px;height:36px;color:var(--accent-ink);transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease-out);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ask-chat-send-btn:hover:not(:disabled){transform:scale(1.05)}.ask-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.ask-chat-send-spinner{border:2px solid color-mix(in srgb, var(--accent-ink) 35%, transparent);border-top-color:var(--accent-ink);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite ask-send-spin}@keyframes ask-send-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ask-chat-send-spinner{animation:none}}@media (width<=640px){.ask-chat-bubble{max-width:88%}.ask-page.page{padding-left:14px;padding-right:14px}}.ai-gradient-text{background:linear-gradient(120deg, var(--ai-from), var(--ai-to));color:#0000;-webkit-background-clip:text;background-clip:text}.ai-dot{background:linear-gradient(135deg, var(--ai-from), var(--ai-to));border-radius:50%;flex-shrink:0;width:9px;height:9px}@keyframes ai-breathe{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--ai-to) 35%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--ai-to) 0%, transparent)}}.ai-dot.active{animation:1.6s ease-in-out infinite ai-breathe}@media (prefers-reduced-motion:reduce){.ai-dot.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--ai-to) 20%, transparent);animation:none}}.ask-sources-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);margin:18px 0 10px;font-size:11.5px;font-weight:700}.ask-quick-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.source-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-bottom:10px;padding:12px 14px}.source-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.source-tag{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.source-tag.verified{background:var(--status-resolved-bg);color:var(--status-resolved)}.source-tag.synthetic{background:var(--status-progress-bg);color:var(--status-progress)}.source-scope{color:var(--ink-3);font-size:10.5px;font-weight:600}.source-title{color:var(--ink);font-size:13.5px;font-weight:700}.source-org{color:var(--ink-2);margin-top:2px;font-size:12px}.source-link{color:var(--accent-fg);align-items:center;gap:5px;margin-top:8px;font-size:12.5px;font-weight:700;display:inline-flex}.source-link:hover{text-decoration:underline}.source-note{color:var(--ink-3);margin:8px 0 0;font-size:11.5px}.wizard-steps{flex-wrap:wrap;gap:4px;margin-bottom:22px;display:flex}.wizard-step-dot{background:var(--line);min-width:24px;height:4px;transition:background-color var(--dur) var(--ease);border-radius:2px;flex:1}.wizard-step-dot.done{background:var(--status-resolved)}.wizard-step-dot.active{background:var(--accent-fg)}.wizard-panel{padding:22px}.wizard-panel h2{margin:0 0 6px;font-size:18px}.wizard-panel>p.wizard-hint{color:var(--ink-2);margin:0 0 18px;font-size:13px}.wizard-nav{justify-content:space-between;gap:10px;margin-top:22px;display:flex}.wizard-summary-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.wizard-summary-row:last-child{border-bottom:none}.wizard-summary-row dt{color:var(--ink-2)}.wizard-summary-row dd{color:var(--ink);text-align:right;margin:0;font-weight:600}.location-option{text-align:left;border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);transition:border-color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border-radius:10px;align-items:center;gap:10px;padding:13px 14px;display:flex}.location-option:hover:not(:disabled){border-color:var(--accent-fg);background:color-mix(in srgb, var(--accent-fg) 6%, var(--paper))}.location-option-icon{background:var(--surface-2);width:34px;height:34px;color:var(--brand-surface);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@keyframes success-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.success-icon{animation:success-pop var(--dur-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.success-icon{animation:none}}.photo-preview{border:1px solid var(--line);background:var(--paper);border-radius:10px;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:220px;display:block}.photo-preview-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.photo-preview-meta .file-name{color:var(--ink);text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.multi-photo-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-bottom:10px;display:grid}.multi-photo-thumb{border:1px solid var(--line);aspect-ratio:1;background:var(--paper);border-radius:8px;position:relative;overflow:hidden}.multi-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.multi-photo-remove{color:#fff;cursor:pointer;background:#0f1714a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.multi-photo-remove:hover{background:#0f1714d9}.evidence-gallery{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.evidence-thumb{border:1px solid var(--line);aspect-ratio:1;background:var(--paper);cursor:pointer;border-radius:8px;padding:0;overflow:hidden}.evidence-thumb img{object-fit:cover;width:100%;height:100%;display:block}.evidence-lightbox-overlay{z-index:80;animation:overlay-in var(--dur) var(--ease-out) both;background:#0f1714d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.evidence-lightbox-img{object-fit:contain;border-radius:8px;max-width:min(90vw,900px);max-height:85vh}.evidence-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex;position:absolute;top:18px;right:18px}.evidence-lightbox-close:hover{background:#ffffff47}.evidence-lightbox-meta{text-align:center;color:#e2e8f0;font-size:12px;position:absolute;bottom:18px;left:0;right:0}.nav-drawer-toggle{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-drawer-toggle:hover{background:var(--surface-2);color:var(--ink)}.nav-drawer-backdrop{display:none}.nav-drawer-backdrop.open{z-index:70;animation:overlay-in var(--dur) var(--ease-out) both;background:#0f171473;display:block;position:fixed;inset:0}.nav-drawer{background:var(--surface);border-right:1px solid var(--line);width:270px;box-shadow:var(--shadow-lg);z-index:75;transition:transform var(--dur) var(--ease-out);flex-direction:column;gap:3px;padding:16px 14px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.nav-drawer.open{transform:translate(0)}.nav-drawer-head{justify-content:space-between;align-items:center;padding:4px 6px 14px;display:flex}.nav-drawer-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-size:11px;font-weight:700}.nav-drawer-close{width:30px;height:30px;color:var(--ink-2);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.nav-drawer-close:hover{background:var(--surface-2);color:var(--ink)}.nav-drawer a{color:var(--ink-2);white-space:nowrap;transition:color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.nav-drawer a svg{flex-shrink:0}.nav-drawer a:hover{color:var(--ink);background:var(--surface-2)}.nav-drawer a.active{color:var(--accent-fg);background:color-mix(in srgb, var(--accent-fg) 12%, var(--surface))}@media (prefers-reduced-motion:reduce){.nav-drawer{transition:none}}.gate{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 45%), radial-gradient(circle at 85% 80%, color-mix(in srgb, var(--accent-fg) 10%, transparent), transparent 45%), var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.gate-card{text-align:center;width:100%;max-width:480px}.gate-seal{object-fit:contain;width:64px;height:64px;margin:0 auto 22px;display:block}.gate-title{margin-bottom:6px}.gate-title-line{font-size:19px;line-height:1.35;display:block}.gate-sub{color:var(--ink-2);margin-bottom:28px;font-size:13px}.gate-options{flex-direction:column;gap:10px;display:flex}.gate-opt{background:var(--surface);border:1.5px solid var(--line);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.gate-opt:hover{border-color:var(--primary);background:var(--surface-2)}.gate-opt-label{flex-direction:column;gap:2px;display:flex}.gate-opt .native{font-size:19px;font-weight:700;line-height:1.2}.gate-opt .gloss{color:var(--ink-3);font-size:11.5px}.gate-opt .arrow{color:var(--ink-3)}.gate-note{color:var(--ink-3);margin-top:22px;font-size:11.5px}.landingnav{border-bottom:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:radial-gradient(circle at 15% 50%, color-mix(in srgb, var(--ai-to) 10%, transparent), transparent 70%), radial-gradient(circle at 85% 50%, color-mix(in srgb, var(--ai-from) 8%, transparent), transparent 70%)}.landingnav-inner{justify-content:space-between;align-items:center;padding:16px 32px;display:flex}.landing-brand{align-items:center;gap:12px;display:flex}.landing-seal{object-fit:contain;flex-shrink:0;width:38px;height:38px}.landing-seal-sm{width:30px;height:30px}.landing-brand-word{color:var(--ink);font-size:22px}.navactions{align-items:center;gap:10px;display:flex}.navactions .lang-badge{color:var(--ink-2);border:1px solid var(--line);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;text-decoration:none}.navactions .lang-badge:hover{border-color:var(--ink-3);color:var(--ink)}.hero-band{position:relative;overflow:hidden}.hero-band-bg{background:radial-gradient(circle at 18% 28%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 42%), radial-gradient(circle at 82% 20%, color-mix(in srgb, var(--primary) 14%, transparent), transparent 40%), radial-gradient(circle at 60% 78%, color-mix(in srgb, var(--service-water) 12%, transparent), transparent 45%);filter:blur(50px);will-change:transform;pointer-events:none;z-index:0;height:145%;animation:22s ease-in-out infinite alternate hero-drift;position:absolute;inset:-15% -5% auto;-webkit-mask-image:linear-gradient(#000 0% 62%,#0000 88%);mask-image:linear-gradient(#000 0% 62%,#0000 88%)}@keyframes hero-drift{0%{transform:translate(0)scale(1)}to{transform:translate(-2%,2%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.hero-band-bg{animation:none}}.hero{z-index:1;grid-template-columns:1.1fr .9fr;align-items:start;gap:46px;max-width:1440px;margin:0 auto;padding:64px 32px 40px;display:grid;position:relative}@media (width<=860px){.hero{grid-template-columns:1fr;padding-top:40px}}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-fg);margin-bottom:12px;font-size:11.5px;font-weight:700}.hero-copy h1{font-size:42px;line-height:1.06}.hero-copy p.lede{color:var(--ink-2);max-width:46ch;margin:18px 0 26px;font-size:15.5px}.hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hero-ctas a{text-decoration:none}.hero-copy{position:relative}.hero-copy:before{content:"";z-index:-1;aspect-ratio:1;opacity:.1;pointer-events:none;background-image:url(/brand/logo-mark.png);background-position:50%;background-repeat:no-repeat;background-size:contain;width:58%;position:absolute;top:82%;left:78%;transform:translate(-50%,-50%)}@media (width<=860px){.hero-copy:before{width:50%}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hero-copy:before{opacity:.16}}:root[data-theme=dark] .hero-copy:before{opacity:.16}.hero-visual{flex-direction:column;align-self:center;align-items:center;gap:22px;display:flex;position:relative}.hero-visual-halo{z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--ai-to) 45%, transparent), transparent 68%);filter:blur(40px);will-change:transform, opacity;animation:4s ease-in-out infinite halo-pulse;position:absolute;inset:-6% -8%}@keyframes halo-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.hero-visual-halo{opacity:.75;animation:none}}.hero-mic-pulse{filter:drop-shadow(0 2px 4px color-mix(in srgb, var(--status-progress) 40%, transparent));animation:2.6s ease-in-out infinite mic-breathe}@keyframes mic-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.hero-chat-pulse{filter:drop-shadow(0 2px 4px color-mix(in srgb, var(--status-progress) 40%, transparent));animation:2.6s ease-in-out 1.3s infinite mic-breathe}.hero-flow-arrow{animation:1.4s linear infinite flow-dash}@keyframes flow-dash{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}.hero-check-pop{filter:drop-shadow(0 3px 6px color-mix(in srgb, var(--status-resolved) 40%, transparent));animation:2.6s ease-in-out .6s infinite check-settle}@keyframes check-settle{0%,40%,to{transform:scale(1)}55%{transform:scale(1.12)}70%{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hero-mic-pulse,.hero-chat-pulse,.hero-flow-arrow,.hero-check-pop{animation:none}}.landing-glow-region{position:relative;overflow:hidden}.landing-glow-region-bg{z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 8%, color-mix(in srgb, var(--ai-to) 9%, transparent), transparent 40%), radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--ai-from) 7%, transparent), transparent 40%), radial-gradient(circle at 20% 45%, color-mix(in srgb, var(--ai-from) 7%, transparent), transparent 38%), radial-gradient(circle at 80% 55%, color-mix(in srgb, var(--ai-to) 8%, transparent), transparent 38%), radial-gradient(circle at 25% 85%, color-mix(in srgb, var(--ai-to) 8%, transparent), transparent 42%), radial-gradient(circle at 80% 95%, color-mix(in srgb, var(--ai-from) 7%, transparent), transparent 42%);filter:blur(70px);will-change:transform;animation:14s ease-in-out infinite alternate cta-glow-drift;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.landing-glow-region-bg{opacity:.75;animation:none}}.landing-section,.landing-cta,.landing-footer{z-index:1;position:relative}.landing-section{max-width:1440px;margin:0 auto;padding:6px 32px 70px}.landing-section-alt{max-width:none}.landing-section-alt>*{max-width:1440px;margin-left:auto;margin-right:auto}.section-heading{text-align:center;margin-bottom:40px}.section-heading h2{font-size:28px}.flow-grid{grid-template-columns:1fr 72px 1fr;gap:32px 28px;display:grid;position:relative}.flow-line{z-index:0;opacity:.55;background:linear-gradient(180deg, var(--status-progress), var(--service-streetlight), var(--service-waste), var(--service-roads), var(--accent-fg));border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:50%;transform:translate(-50%)}.flow-line-glow{z-index:0;pointer-events:none;filter:blur(5px);opacity:.85;background:radial-gradient(circle, color-mix(in srgb, var(--ai-to) 65%, white) 0%, transparent 72%);will-change:top;border-radius:50%;width:16px;height:90px;animation:6s linear infinite flow-glow-travel;position:absolute;left:50%;transform:translate(-50%,-50%)}@keyframes flow-glow-travel{0%{top:2%}to{top:98%}}@media (prefers-reduced-motion:reduce){.flow-line-glow{animation:none;display:none}}.flow-node-col{grid-row:var(--node-row);z-index:2;grid-column:2;justify-content:center;align-items:center;display:flex;position:relative}.flow-node{background:var(--node-bg);width:48px;height:48px;color:var(--node-color);box-shadow:0 0 0 6px var(--paper), 0 0 0 7px color-mix(in srgb, var(--node-color) 45%, transparent);animation:6s ease-in-out infinite flow-node-glow;animation-delay:var(--node-glow-delay,0s);border-radius:50%;justify-content:center;align-items:center;display:flex}@keyframes flow-node-glow{0%,85%,to{box-shadow:0 0 0 6px var(--paper), 0 0 0 7px color-mix(in srgb, var(--node-color) 45%, transparent)}93%{box-shadow:0 0 0 6px var(--paper), 0 0 0 7px color-mix(in srgb, var(--node-color) 45%, transparent), 0 0 22px 8px color-mix(in srgb, var(--node-color) 75%, transparent)}}@media (prefers-reduced-motion:reduce){.flow-node{animation:none}}.flow-card{grid-row:var(--node-row);z-index:1;padding:22px;position:relative}.flow-card-left{grid-column:1}.flow-card-right{grid-column:3}.flow-step-badge{letter-spacing:.04em;background:var(--node-bg);color:var(--node-color);border-radius:20px;margin-bottom:12px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.flow-card h3{margin:0 0 8px;font-size:16px}.flow-card p{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.55}@media (width<=900px){.flow-grid{grid-template-columns:56px 1fr;column-gap:16px}.flow-node-col{grid-column:1}.flow-card-left,.flow-card-right{grid-column:2}.flow-line,.flow-line-glow{left:28px}.flow-node{width:40px;height:40px}}.features-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}@media (width<=960px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.features-grid{grid-template-columns:1fr}}.feature-card{background:var(--paper);padding:22px 20px}.feature-icon{background:var(--feature-bg);width:38px;height:38px;color:var(--feature-color);box-shadow:0 0 0 1px color-mix(in srgb, var(--feature-color) 25%, transparent), 0 6px 16px -4px color-mix(in srgb, var(--feature-color) 55%, transparent);border-radius:9px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.feature-card h3{margin-bottom:6px;font-size:14.5px}.feature-card p{color:var(--ink-2);margin:0;font-size:12.5px;line-height:1.5}.landing-cta{text-align:center;width:100%;padding:70px 32px}.landing-cta-content{max-width:720px;margin:0 auto}@keyframes cta-glow-drift{0%{transform:translate(-2%)scale(1)}to{transform:translate(2%,-2%)scale(1.08)}}.landing-cta h2{margin-bottom:12px;font-size:30px}.landing-cta p{color:var(--ink-2);margin-bottom:24px;font-size:14.5px}@keyframes cta-btn-pulse{0%,to{box-shadow:0 1px 2px #141e1a14, 0 0 0 0 color-mix(in srgb, var(--ai-to) 35%, transparent)}50%{box-shadow:0 1px 2px #141e1a14, 0 0 0 10px color-mix(in srgb, var(--ai-to) 0%, transparent)}}.landing-cta-btn{animation:2.2s ease-in-out infinite cta-btn-pulse}@media (prefers-reduced-motion:reduce){.landing-cta-btn{animation:none}}.landing-footer{border-top:1px solid color-mix(in srgb, var(--ink) 18%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1440px;margin:0 auto;padding:28px 32px;display:flex}.landing-footer p{color:var(--ink-3);margin:0;font-size:12px}.authwrap{grid-template-columns:1fr 1fr;min-height:100vh;display:grid;position:relative}@media (width<=860px){.authwrap{grid-template-columns:1fr}}.authwrap .theme-toggle{z-index:2;position:absolute;top:20px;right:20px}.auth-panel{background:linear-gradient(155deg, var(--brand-surface) 0%, color-mix(in srgb, var(--brand-surface) 75%, black) 100%);color:var(--brand-surface-ink);flex-direction:column;padding:48px 44px;display:flex;position:relative;overflow:hidden}@media (width<=860px){.auth-panel{display:none}}.auth-panel:before{content:"";background-image:radial-gradient(color-mix(in srgb, var(--brand-surface-ink) 14%, transparent) 1.5px, transparent 1.5px);opacity:.5;pointer-events:none;background-size:22px 22px;position:absolute;inset:0}.auth-panel-brand{justify-content:center;margin-bottom:4px;display:flex;position:relative}.auth-panel-mark{object-fit:contain;filter:drop-shadow(0 0 1px #fffffff2)drop-shadow(0 0 3px #f0f8ffe6)drop-shadow(0 0 8px #38bdf840)drop-shadow(0 0 16px #22c55e26);width:190px;height:auto;display:block}.auth-panel-body{text-align:center;max-width:560px;margin:36px auto 0;position:relative}.auth-panel-body h2{margin-bottom:16px;font-size:38px;line-height:1.15}.auth-panel-body p{opacity:.85;max-width:480px;margin:0 auto 26px;font-size:15.5px;line-height:1.6}.auth-panel-points{flex-direction:column;align-items:flex-start;gap:12px;width:fit-content;margin:0 auto;padding:0;list-style:none;display:flex}.auth-panel-points li{align-items:center;gap:10px;font-size:13.5px;display:flex}.auth-panel-points .tick{background:#ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;display:flex}.auth-panel-foot{opacity:.6;margin-top:auto;font-size:11.5px;position:relative}.auth-form-side{flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex;position:relative;overflow:hidden}.auth-form-side-bg{z-index:0;pointer-events:none;background:radial-gradient(circle at 25% 30%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 45%), radial-gradient(circle at 75% 70%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 45%);filter:blur(50px);animation:24s ease-in-out infinite alternate auth-bg-drift;position:absolute;inset:-20%}@keyframes auth-bg-drift{0%{transform:translate(0)scale(1)}to{transform:translate(-3%,3%)scale(1.08)}}@media (prefers-reduced-motion:reduce){.auth-form-side-bg{animation:none}}.auth-form-brand{z-index:1;align-items:center;gap:12px;margin-bottom:22px;display:none;position:relative}@media (width<=860px){.auth-form-brand{display:flex}}.auth-form-brand-mark{object-fit:contain;flex-shrink:0;width:46px;height:46px}.auth-form-brand-word{letter-spacing:-.01em;font-size:26px}.auth-form-brand-jan{color:var(--accent-fg)}.auth-form-brand-mitra{color:var(--primary)}.auth-form-brand-ai{color:var(--service-water)}.auth-form-side .authcard{z-index:1;position:relative}.authcard{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:16px;padding:30px 30px 26px}.authtabs{background:var(--surface-2);border-radius:10px;margin-bottom:22px;padding:4px;display:flex}.authtab{color:var(--ink-2);text-align:center;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:none;border-radius:7px;flex:1;padding:9px;font-size:13.5px;font-weight:700;text-decoration:none;display:block}.authtab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.worker-note{color:var(--ink-2);background:var(--status-progress-bg);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:11.5px;line-height:1.45}.switchline{text-align:center;color:var(--ink-2);margin-top:14px;font-size:12.5px}.switchline a{color:var(--accent-fg);font-weight:700;text-decoration:none}.authcard .btn.full{justify-content:center;width:100%;padding:11px;font-size:14px}.voice-overlay-backdrop{z-index:150;animation:overlay-in var(--dur) var(--ease-out) both;background:#0f17148c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.voice-overlay-panel{background:var(--paper);width:min(420px,100%);max-height:90vh;box-shadow:var(--shadow-lg);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:28px 24px 22px;display:flex;position:relative;overflow-y:auto}.voice-overlay-close{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.voice-overlay-close:hover{background:var(--surface-2);color:var(--ink)}.voice-overlay-mascot{margin-top:6px}.voice-overlay-state{color:var(--ink);font-size:15px;font-weight:700}.voice-overlay-language{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12px}.voice-overlay-transcript{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:100%;margin-top:4px;padding:10px 12px}.voice-overlay-transcript p{color:var(--ink);margin:4px 0 0;font-size:14px;line-height:1.5}.voice-overlay-transcript-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:11px;font-weight:700}.voice-overlay-response{background:color-mix(in srgb, var(--ai-to) 8%, var(--surface))}.voice-overlay-controls{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.voice-overlay-mic{cursor:pointer;background:linear-gradient(135deg, var(--ai-from), var(--ai-to));color:#fff;width:62px;height:62px;box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.voice-overlay-mic:hover:not(:disabled){transform:scale(1.05)}.voice-overlay-mic:disabled{opacity:.5;cursor:not-allowed}.voice-overlay-seconds{color:var(--ink-2);min-width:32px;font-size:13px}.voice-overlay-note{color:var(--ink-2);margin-top:10px;font-size:11px}.ask-widget-anchor{z-index:96;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.ask-widget-anchor-hidden{display:none}.ask-widget-fab{cursor:pointer;filter:drop-shadow(0 6px 14px #0f172a38);transition:transform var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.ask-widget-fab:hover{transform:scale(1.05)}.ask-widget-fab:active{transform:scale(.96)}.ask-widget-greeting{background:var(--surface);max-width:240px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.4;display:flex;position:absolute;bottom:70px;right:0;transform:translateY(6px)scale(.96)}.ask-widget-greeting.visible{opacity:1;transform:translateY(0)scale(1)}.ask-widget-greeting:after{content:"";background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:12px;height:12px;position:absolute;bottom:-6px;right:22px;transform:rotate(45deg)}.ask-widget-backdrop{z-index:90;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out);background:#0f172a66;position:fixed;inset:0}.ask-widget-backdrop.open{opacity:1;pointer-events:auto}.ask-widget-panel{z-index:95;background:var(--paper);width:min(440px,100vw);box-shadow:var(--shadow-lg);transition:transform var(--dur-slow) var(--ease-out);flex-direction:column;padding:16px 20px 28px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.ask-widget-panel.open{transform:translate(0)}.ask-widget-panel-head{justify-content:flex-end;margin-bottom:4px;display:flex}.ask-widget-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border-radius:8px;justify-content:center;align-items:center;display:flex}.ask-widget-close:hover{background:var(--surface-2);color:var(--ink)}@media (width<=520px){.ask-widget-panel{width:100vw}}.mascot{flex-shrink:0}.mascot-idle{animation:4.5s ease-in-out infinite mascot-idle-breathe}@keyframes mascot-idle-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.012)}}.mascot-greeting{animation:mascot-greeting-wave .7s var(--ease-out)}@keyframes mascot-greeting-wave{0%{transform:rotate(0)translateY(0)}25%{transform:rotate(-4deg)translateY(-2px)}55%{transform:rotate(3deg)translateY(-3px)}80%{transform:rotate(-1.5deg)translateY(-1px)}to{transform:rotate(0)translateY(0)}}.mascot-thinking{animation:2.2s ease-in-out infinite mascot-thinking-sway}@keyframes mascot-thinking-sway{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(-3deg)translateY(-1px)}}.mascot-listening{animation:1.4s ease-in-out infinite mascot-listening-glow}@keyframes mascot-listening-glow{0%,to{filter:drop-shadow(0 0 0 color-mix(in srgb, var(--ai-to) 0%, transparent))}50%{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--ai-to) 65%, transparent))}}.mascot-speaking{animation:.9s ease-in-out infinite mascot-speaking-pulse}@keyframes mascot-speaking-pulse{0%,to{filter:drop-shadow(0 0 0 color-mix(in srgb, var(--ai-to) 0%, transparent));transform:scale(1)translateY(0)}50%{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--ai-to) 55%, transparent));transform:scale(1.035)translateY(-1px)}}.mascot-success{animation:mascot-success-pop .4s var(--ease-out)}@keyframes mascot-success-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mascot-idle,.mascot-greeting,.mascot-thinking,.mascot-listening,.mascot-speaking,.mascot-success{animation:none}}.topbar{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:12px 28px;display:flex}.topbar-left{align-items:center;gap:16px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{object-fit:contain;flex-shrink:0;width:38px;height:38px}.brand-word{color:var(--ink);font-size:22px;line-height:1}.brand-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10.5px}.whoami{align-items:center;gap:10px;font-size:12.5px;display:flex}.avatar{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.whoami .role-pill{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--ink-2);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.icon-btn{background:var(--surface-2);width:34px;height:34px;color:var(--ink-2);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease-out);border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--line);color:var(--ink);transform:translateY(-1px)}.icon-btn:active{transform:translateY(0)scale(.94)}.notif-badge{background:var(--status-critical);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notif-panel{background:var(--surface);border:1px solid var(--line);width:320px;max-height:400px;box-shadow:var(--shadow-lg);z-index:60;animation:modal-in var(--dur) var(--ease-out) both;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.notif-panel-head{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);padding:12px 14px 8px;font-size:12px;font-weight:700}.notif-empty{text-align:center;color:var(--ink-3);padding:20px 14px;font-size:12.5px}.notif-item{text-align:left;border:none;border-top:1px solid var(--line);cursor:pointer;width:100%;transition:background-color var(--dur-fast) var(--ease);background:0 0;padding:10px 14px;display:block}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:color-mix(in srgb, var(--accent-fg) 6%, var(--surface))}.notif-item-title{color:var(--ink);font-size:12.5px;font-weight:700}.notif-item-message{color:var(--ink-2);margin-top:2px;font-size:12px}.notif-item-meta{color:var(--ink-3);margin-top:4px;font-size:10.5px}.page,.page-admin{max-width:1440px;margin:0 auto;padding:30px 28px 60px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;display:flex}.page-title{font-size:30px}.page-sub{color:var(--ink-2);margin-top:3px;font-size:13.5px}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:30px 0 10px;font-size:11px;font-weight:700}.section-label:first-child{margin-top:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.overlay{z-index:50;animation:overlay-in var(--dur) var(--ease-out) both;background:#0f171473;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);max-height:86vh;animation:modal-in var(--dur-slow) var(--ease-out) both;border-radius:16px;padding:26px 26px 22px;overflow-y:auto}.modal-head{justify-content:space-between;align-items:baseline;margin-bottom:18px;display:flex}.modal-head h3{font-size:20px}.modal-head button.x{color:var(--ink-3);background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.modal-note{color:var(--ink-2);background:var(--status-progress-bg);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:12px;line-height:1.45}.modal-actions{gap:10px;margin-top:20px;display:flex}.modal-actions .btn{flex:1;justify-content:center}.stat-card{padding:16px 18px}.stat-card .stat-label{color:var(--ink-2);text-transform:uppercase;font-size:11px;font-weight:700}.stat-card .stat-value{margin-top:8px;font-size:32px}.report-view{font-size:13px}.report-fields{grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 16px;display:grid}.report-fields dt{color:var(--ink-2);white-space:nowrap;font-size:11.5px;font-weight:700}.report-fields dd{color:var(--ink);margin:0}.report-section{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.report-section p{margin:4px 0;line-height:1.5}.update-entry{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.update-entry:last-child{border-bottom:none}.update-entry-marker{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.update-entry-body{flex:1;min-width:0}.update-entry-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:11px;font-weight:700}.update-entry-text{color:var(--ink);white-space:pre-wrap;margin:3px 0;font-size:13px;line-height:1.5}.update-entry-meta{color:var(--ink-3);font-size:11px}.status-history-entry{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:6px 0;font-size:12.5px;display:flex}.status-history-entry:last-child{border-bottom:none}
