:root{color-scheme:light;--ink:#17312b;--muted:#60706b;--brand:#17735d;--paper:#f7faf7;--line:#d8e2dd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}main{max-width:760px;margin:0 auto;padding:64px 24px}nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:56px}nav a{color:var(--ink);text-decoration:none;font-weight:700}.eyebrow{color:var(--brand);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}h1{font-size:clamp(2.4rem,7vw,4.5rem);line-height:1;margin:.25em 0}h2{margin-top:2.5rem}p{color:var(--muted)}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 12px 40px #17312b0a}form{display:grid;grid-gap:14px;gap:14px}label{font-weight:700;font-size:.9rem}button,input,select{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:9px;width:100%}button{background:var(--brand);color:white;border:0;font-weight:800;cursor:pointer}.secondary{background:white;color:var(--brand);border:1px solid var(--brand)}code,pre{background:#eaf1ed;border-radius:8px;padding:3px 6px;overflow:auto}.error{color:#a33131}.success{color:#176746}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:16px;gap:16px}.secret{word-break:break-all;border:2px solid #d78b1f;padding:16px;background:#fff7df}a{color:var(--brand)}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:72px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.tabs{display:flex;gap:8px;margin:0 0 24px}.tabs button{width:auto;background:white;color:var(--muted);border:1px solid var(--line)}.tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}.locked{background:#eef4f1;color:var(--muted)}.auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);grid-gap:56px;gap:56px;align-items:center;min-height:560px}.auth-intro h1{max-width:560px}.auth-intro>p{max-width:520px;font-size:1.12rem}.auth-assurance{display:flex;gap:14px;align-items:flex-start;margin-top:36px;color:var(--ink);font-weight:750}.auth-assurance>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dff3e9;color:var(--brand)}.auth-assurance small{color:var(--muted);font-weight:400}.auth-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 24px 70px #17312b14}.auth-card h2{font-size:2rem;margin:.2rem 0}.auth-card>div>p{margin-top:0}.auth-form{margin-top:26px;gap:18px}.auth-form label{display:grid;grid-gap:7px;gap:7px}.auth-form input{height:48px;background:#fbfdfb;border-color:#cbd8d1}.auth-form input:focus{outline:3px solid #17735d22;border-color:var(--brand)}.password-field{position:relative}.password-field input{padding-right:72px}.password-toggle{position:absolute;right:7px;top:7px;width:auto;padding:7px 10px;background:transparent;color:var(--brand);font-size:.82rem}.auth-submit{height:50px;margin-top:4px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-error{margin:0;padding:11px 13px;border-radius:9px;background:#fff0f0;color:#8f2828}.auth-footnote{margin:22px 0 0;text-align:center;font-size:.9rem}@media(max-width:720px){.auth-shell{grid-template-columns:1fr;gap:24px;min-height:0}.auth-intro h1{font-size:3rem}.auth-assurance{display:none}.auth-card{padding:24px}}.credential-result{display:grid;grid-gap:20px;gap:20px}.credential-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.credential-heading h2{margin:.25rem 0 0}.credential-status{padding:5px 10px;border-radius:999px;background:#dff3e9;color:#176746;font-size:.78rem;font-weight:800}.credential-note,.credential-warning{margin:0;padding:12px 14px;border-radius:10px}.credential-warning{background:#fff4d8;color:#744b08}.credential-note{background:#eef4f1;color:var(--muted)}.credential-list{display:grid;border:1px solid var(--line);border-radius:12px;overflow:hidden}.credential-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;background:white}.credential-row+.credential-row{border-top:1px solid var(--line)}.credential-row>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.credential-row span{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.credential-row code{display:block;padding:0;background:transparent;white-space:normal;overflow-wrap:anywhere;color:var(--ink)}.credential-secret{color:#8a4e00!important}.copy-button{flex:0 0 88px;width:88px;padding:8px 10px;background:white;color:var(--brand);border:1px solid var(--brand)}.copy-button.copied{background:var(--brand);color:white}.credential-result>.secondary{width:auto;justify-self:start}@media(max-width:600px){.credential-row{align-items:flex-end;flex-direction:column}.copy-button{width:100%}}.admin-nav{display:flex;gap:18px;padding:12px 16px;margin:-28px 0 44px;border:1px solid var(--line);border-radius:12px;background:white}.admin-nav a{text-decoration:none}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px;gap:18px;margin-top:30px}.admin-tool{display:block;min-height:190px;padding:24px;border:1px solid var(--line);border-radius:16px;background:white;text-decoration:none;box-shadow:0 12px 40px #17312b0a}.admin-tool>span{float:right;font-size:.8rem;font-weight:800}.admin-tool h2{margin-top:48px;color:var(--ink)}.admin-panel{padding:24px;margin:22px 0;border:1px solid var(--line);border-radius:16px;background:white}.admin-panel textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8fbf9;font:13px/1.5 ui-monospace,monospace}.admin-message{padding:12px 14px;border-radius:10px;background:#e8f3ee;color:var(--ink)}.template-title{display:flex;justify-content:space-between;gap:20px}.template-title h3{font-size:1.35rem;margin:.2rem 0 1rem}.template-kind{color:var(--muted);text-transform:uppercase}.status,.template-kind{font-size:.75rem;font-weight:800}.status{height:max-content;padding:4px 9px;border-radius:999px;background:#eef1ef}.status-published{background:#dff3e9;color:#176746}.status-retired{background:#f3e6e6;color:#8f2828}.version-list{border-top:1px solid var(--line)}.version-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.version-list button{width:auto;padding:7px 12px}.version-list small{color:var(--brand);font-weight:800}.template-actions{display:flex;gap:10px;margin-top:18px}.template-actions button{width:auto}.danger{background:#982f2f!important;color:white!important}.version-form{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.approval-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px;margin:15px 0;border:1px solid var(--line);border-radius:14px;background:white}.approval-row p{margin:.35rem 0 0}.approval-row>div:last-child{display:flex;gap:9px}.approval-row button{width:auto}@media(max-width:650px){.admin-nav{overflow:auto}.approval-row{align-items:stretch;flex-direction:column}.approval-row>div:last-child button{flex:1 1}}.organisation-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start;margin-top:28px}.organisation-list{display:grid;grid-gap:8px;gap:8px}.organisation-list button{display:grid;grid-gap:3px;gap:3px;text-align:left;background:white;color:var(--ink);border:1px solid var(--line)}.organisation-list button.selected{border-color:var(--brand);box-shadow:0 0 0 2px #17735d22}.member-row small,.organisation-list small{display:block;color:var(--muted)}.organisation-detail{margin-top:0}.organisation-detail h3{margin-top:32px}.member-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.member-row button{width:auto}.schema-builder{display:grid;grid-gap:14px;gap:14px;margin:24px 0}.builder-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.builder-heading h3{margin:0}.builder-heading p{margin:.25rem 0}.builder-heading button{width:auto}.field-editor{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#f9fbfa}.field-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:white;font-size:.8rem;font-weight:800}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.field-grid label{display:grid;grid-gap:5px;gap:5px}.field-grid .check-label{display:flex;align-items:center;align-self:end;padding:12px 0}.check-label input{width:auto}.field-actions{display:flex;gap:6px;align-items:start}.field-actions button{width:auto;padding:8px 10px}.field-actions button:disabled{opacity:.35}.version-form>.schema-builder{margin-top:18px}.template-admin-wide{width:min(1120px,calc(100vw - 48px));margin-left:calc((min(1120px,calc(100vw - 48px)) - 100%)/-2)}.template-flow{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f7faf8}.flow-legend{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.8rem;font-weight:700}.flow-legend i{width:28px;border-top:2px dashed var(--brand)}.flow-canvas{height:520px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;touch-action:none}.flow-node{width:210px!important;padding:16px!important;border:2px solid #91b9ad!important;border-radius:13px!important;text-align:left!important;box-shadow:0 8px 24px #17312b14!important}.flow-node-core{border-color:var(--brand)!important;background:#e7f4ef!important}.flow-node-label{display:grid;grid-gap:4px;gap:4px}.flow-node-label span{color:var(--muted);font-size:.75rem}.recommendation-edge .react-flow__edge-path{stroke:var(--brand);stroke-width:2;stroke-dasharray:7 5}.react-flow__edge-text{font-size:11px}.react-flow__edge-textbg{fill:#fff;fill-opacity:.92}.flow-inspector{display:grid;grid-gap:15px;gap:15px;padding:16px;border-radius:11px;background:white}.flow-inspector>div:first-child{display:grid;grid-gap:3px;gap:3px}.flow-inspector small{color:var(--muted)}.rule-builder{display:grid;grid-template-columns:1.1fr 1fr 1.1fr auto;grid-gap:10px;gap:10px;align-items:end}.rule-builder label{display:grid;grid-gap:5px;gap:5px}.rule-builder button{width:auto;min-height:47px}.rule-builder button:disabled{opacity:.45;cursor:not-allowed}.flow-rules{display:grid;border-top:1px solid var(--line)}.flow-rules>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.flow-rules button{width:auto;padding:7px 10px}.flow-toolbar{display:flex;justify-content:space-between;gap:12px}.flow-toolbar>div{display:flex;gap:8px}.flow-toolbar input{min-width:230px}.flow-toolbar button{width:auto}.flow-node{width:250px!important}.flow-node-label>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.flow-node-label em{padding:2px 7px;border-radius:999px;background:var(--brand);color:white;font-size:.65rem;font-style:normal;text-transform:uppercase}.flow-node-label ul{display:grid;grid-gap:5px;gap:5px;padding:8px 0;margin:0;list-style:none;border-top:1px solid #d6e5df;border-bottom:1px solid #d6e5df}.flow-node-label li{display:flex;justify-content:space-between;gap:10px;font-size:.78rem}.flow-node-label li span{flex:0 0 auto;color:var(--muted);font-size:.65rem;text-transform:capitalize}.flow-question-empty{color:#9a6712;font-style:italic}.flow-node-label>small{color:var(--muted);font-size:.68rem}.flow-inspector-title,.node-question-heading{display:flex!important;justify-content:space-between;align-items:center;gap:12px}.flow-inspector-title h4{margin:2px 0 0;font-size:1.25rem}.flow-inspector-title button{width:auto}.node-question-list{display:grid;grid-gap:12px;gap:12px}.node-question-editor{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f9fbfa}.node-question-heading{margin-bottom:12px}.node-question-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:white;font-size:.75rem;font-weight:800}.node-question-heading>b{flex:1 1}.node-question-heading>div{display:flex;gap:5px}.node-question-heading button{width:auto;padding:7px 9px}.connection-builder{padding-top:8px;border-top:1px solid var(--line)}.connection-builder h4{margin:0}.connection-builder p{margin:3px 0 12px}@media(max-width:800px){.field-editor,.field-grid,.organisation-layout{grid-template-columns:1fr}.field-actions{justify-content:flex-end}.member-row{grid-template-columns:1fr}.flow-canvas{height:460px}.rule-builder{grid-template-columns:1fr 1fr}.rule-builder button{width:100%}.flow-toolbar{align-items:stretch;flex-direction:column}.flow-toolbar>div{display:grid;grid-template-columns:1fr auto}.flow-toolbar input{min-width:0}.flow-toolbar>button{width:100%}}@media(max-width:540px){.template-admin-wide{width:calc(100vw - 24px);margin-left:calc((calc(100vw - 24px) - 100%)/-2)}.flow-canvas{height:400px}.rule-builder{grid-template-columns:1fr}.flow-rules>div{align-items:stretch;flex-direction:column}.flow-rules button{width:100%}.flow-toolbar>div{grid-template-columns:1fr}.flow-toolbar>div button{width:100%}.node-question-heading{align-items:flex-start;flex-wrap:wrap}.node-question-heading>b{min-width:calc(100% - 42px)}.node-question-heading>div{width:100%}.node-question-heading button{flex:1 1}}.flow-canvas-only{height:720px}.canvas-node{width:380px;border:2px solid #91b9ad;border-radius:14px;background:#f7faf8;box-shadow:0 10px 30px #17312b20;overflow:visible}.canvas-node-start{border-color:var(--brand)}.canvas-node>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border-radius:12px 12px 0 0;background:#eaf3ef}.canvas-node-start>header{background:#dff1ea}.canvas-node>header>div{display:flex;align-items:center;gap:8px}.canvas-node>header em{padding:2px 7px;border-radius:999px;background:var(--brand);color:white;font-size:.65rem;font-style:normal;text-transform:uppercase}.canvas-node>header button{width:auto;padding:7px 10px}.canvas-node-questions{display:grid;grid-gap:10px;gap:10px;padding:10px;max-height:430px;overflow-y:auto;overflow-x:visible}.canvas-question{position:relative;display:grid;grid-gap:8px;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:white}.canvas-question label{display:grid;grid-gap:3px;gap:3px;font-size:.72rem}.canvas-question input,.canvas-question select{padding:8px 9px;font-size:.78rem}.canvas-question-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.canvas-question-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.canvas-question-head>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.canvas-question-head>div{display:flex;gap:3px}.canvas-question-head button{width:27px;height:27px;padding:0;border-radius:7px;font-size:.7rem}.canvas-question-head button:disabled{opacity:.35}.canvas-required{display:flex!important;align-items:center;gap:7px!important}.canvas-required input{width:auto}.canvas-connection{position:relative;display:grid;grid-gap:7px;gap:7px;padding:12px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;background:#fff9e9}.canvas-connection>b{font-size:.78rem}.canvas-connection input,.canvas-connection select{padding:8px 9px;font-size:.78rem}.canvas-connection>div{display:flex;justify-content:flex-end;gap:6px}.canvas-connection button{width:auto;padding:7px 9px;font-size:.74rem}.canvas-add-node button:disabled,.canvas-connection button:disabled{opacity:.45}.canvas-add-node{display:flex!important;gap:7px;padding:8px!important;border:1px solid var(--line);border-radius:10px;background:#fffffff2!important;box-shadow:0 5px 20px #17312b16}.canvas-add-node input{width:190px;padding:9px}.canvas-add-node button{width:auto;padding:9px 11px}.canvas-node .react-flow__handle{width:11px;height:11px;background:var(--brand)}.canvas-question .question-handle{right:-18px;border:2px solid white;box-shadow:0 1px 4px #17312b44}.canvas-connection>.react-flow__handle{left:-7px;border:2px solid white;box-shadow:0 1px 4px #17312b44}@media(max-width:800px){.flow-canvas-only{height:650px}.canvas-node{width:340px}}.canvas-node-questions{overflow-x:hidden!important}.canvas-question .question-handle{right:0!important;transform:translate(50%,-50%)}.canvas-node{position:relative}.canvas-node>.question-handle-clamped{right:-7px!important;width:15px!important;height:15px!important;border:3px solid #fff!important;background:#d62f2f!important;box-shadow:0 0 0 0 #d62f2f99!important;animation:linked-variable-pulse 1.25s ease-out infinite}.canvas-node>.question-handle-above{top:12px!important;transform:translate(50%,-50%)}.canvas-node>.question-handle-below{top:auto!important;bottom:12px!important;transform:translate(50%,50%)}@keyframes linked-variable-pulse{0%{box-shadow:0 0 0 0 #d62f2faa}70%{box-shadow:0 0 0 9px #d62f2f00}to{box-shadow:0 0 0 0 #d62f2f00}}@media(prefers-reduced-motion:reduce){.canvas-node>.question-handle-clamped{animation:none}}.canvas-question-scroll{position:relative;background:#f7faf8}.canvas-node-questions{scrollbar-width:none;-ms-overflow-style:none}.canvas-node-questions::-webkit-scrollbar{display:none;width:0;height:0}.canvas-scroll-indicator{position:absolute;z-index:5;left:12px;right:12px;height:7px;border-radius:999px;background:#e68a24;box-shadow:0 1px 5px #9c521d66;opacity:0;pointer-events:none;transform:scaleX(.82);transition:opacity .16s ease,transform .16s ease}.canvas-scroll-indicator.visible{opacity:1;transform:scaleX(1)}.canvas-scroll-above{top:4px}.canvas-scroll-below{bottom:4px}.canvas-question-readonly{display:grid;grid-gap:6px;gap:6px;padding:8px;text-align:left;background:#f7faf8;color:var(--ink);border:1px solid var(--line)}.canvas-question-readonly>span:first-child{display:flex;align-items:center;gap:7px}.canvas-question-readonly b{text-transform:capitalize}.canvas-question-readonly em{padding:2px 6px;border-radius:999px;background:#dff1ea;color:var(--brand);font-size:.62rem;font-style:normal}.canvas-question-readonly small{color:var(--muted);font-weight:500}.canvas-question-edit{display:grid;grid-gap:8px;gap:8px}.choice-editor{display:grid;grid-gap:7px;gap:7px}.choice-editor>div{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px}.choice-editor button{width:auto;padding:7px 9px}.choice-chips{display:flex!important;flex-wrap:wrap;gap:5px}.choice-chips i{display:flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#e8f1ed;color:var(--ink);font-size:.65rem;font-style:normal}.choice-chips i button{width:17px;height:17px;padding:0;border-radius:50%;background:#9b3737;font-size:.6rem}.relationship-options{display:flex;flex-wrap:wrap;gap:6px}.relationship-options label{position:relative}.relationship-options input{position:absolute;opacity:0;pointer-events:none}.relationship-options span{display:block;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:white;font-size:.7rem;cursor:pointer}.relationship-options input:checked+span{border-color:var(--brand);background:var(--brand);color:white}.relationship-warning{width:min(440px,calc(100vw - 40px));padding:16px!important;border:2px solid #c73737!important;border-radius:13px;background:#fff7f7!important;box-shadow:0 14px 45px #681a1a33!important;color:#671d1d!important}.relationship-warning p{margin:5px 0;color:#8c3030}.relationship-warning small{font-family:ui-monospace,monospace}.relationship-warning>div{display:flex;gap:8px;margin-top:12px}.relationship-warning button{width:auto;flex:1 1}.relationship-invalid .react-flow__edge-path{stroke:#d12f2f!important;stroke-width:4!important;stroke-dasharray:8 4}.relationship-invalid .react-flow__edge-textbg{fill:#fff0f0}.relationship-invalid .react-flow__edge-text{fill:#a51f1f;font-weight:800}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-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,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{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{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{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;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-bottom,.leaflet-top{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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.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:rgba(255,255,255,.5)}.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 rgba(0,0,0,.65);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:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{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 rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.png);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(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);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:focus,.leaflet-control-attribution a:hover{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;box-sizing:border-box;background:rgba(255,255,255,.8);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-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{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;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.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:focus,.leaflet-container a.leaflet-popup-close-button:hover{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=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.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;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top: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}}.location-picker{display:grid;grid-gap:9px;gap:9px;margin:4px 0 20px}.location-loading,.location-map{height:360px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#e8efeb}.location-map .leaflet-container{height:100%;width:100%;font:inherit}.location-loading{display:grid;place-items:center;color:var(--muted)}.location-readout{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:36px}.location-readout span{font-family:ui-monospace,monospace;color:var(--muted)}.location-readout button{width:auto;padding:7px 11px}.location-picker>small{color:var(--muted)}.location-pin{background:transparent;border:0}.location-pin span{display:block;width:28px;height:28px;border:4px solid white;border-radius:50% 50% 50% 0;background:var(--brand);box-shadow:0 3px 10px #17312b66;transform:rotate(-45deg)}.location-pin span:after{content:"";display:block;width:8px;height:8px;margin:6px;border-radius:50%;background:white}@media(max-width:600px){.location-loading,.location-map{height:300px}.location-readout{align-items:stretch;flex-direction:column}.location-readout button{width:100%}}.upload-shell{min-height:75vh;display:grid;place-items:center}.upload-card{width:min(680px,100%);padding:clamp(24px,5vw,52px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 22px 70px #15362b16}.upload-drop{display:grid;place-items:center;grid-gap:6px;gap:6px;min-height:190px;margin:28px 0;border:2px dashed #8aa99d;border-radius:18px;background:#f2f7f4;cursor:pointer;color:var(--brand)}.upload-drop input{position:absolute;opacity:0;pointer-events:none}.upload-drop span{font-size:.86rem;color:var(--muted)}.upload-drop.disabled{opacity:.55;cursor:wait}.upload-list{display:grid;grid-gap:8px;gap:8px}.upload-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;border-radius:12px;background:#f6f7f6}.upload-list span{display:grid}.upload-list small{color:#a33}.upload-list strong{font-size:.82rem;color:var(--muted)}.upload-list .ok{color:#18704d}.upload-list .bad{color:#a33}.upload-complete{margin-top:22px;padding:16px 18px;border-radius:14px;background:#e4f5eb;color:#174d37}.upload-complete p{margin:4px 0 0}.case-page{width:min(1040px,100%);margin:0 auto;padding-bottom:60px}.case-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:50px 0 28px;border-bottom:1px solid var(--line)}.case-hero h1{margin:.25rem 0;font-size:clamp(2.4rem,6vw,4.8rem);line-height:.98}.case-hero p{margin:10px 0 0;color:var(--muted);font-size:1.1rem}.status-pill{padding:9px 14px;border-radius:999px;background:#dceee5;color:#15553b;font-weight:700;white-space:nowrap}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;margin:24px 0 48px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--line)}.case-facts>div{display:grid;grid-gap:5px;gap:5px;padding:18px;background:white}.case-facts small,.record-grid dt{color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.case-page>section{margin:50px 0}.case-page h2{font-size:1.65rem;margin:5px 0 18px}.case-record{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 35px #17382e0b}.record-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.record-meta h3{margin:0;font-size:1.3rem}.record-meta time{color:var(--muted);font-size:.88rem}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 28px;gap:18px 28px;margin:0}.record-grid>div{min-width:0}.record-grid dd{margin:5px 0 0;line-height:1.55;overflow-wrap:anywhere}.record-grid .record-grid{grid-template-columns:1fr;margin-top:10px;padding-left:14px;border-left:2px solid #dbe8e2}.empty{color:#9aa39f}.case-summary{padding:26px 28px;border-left:4px solid var(--brand);border-radius:0 16px 16px 0;background:#edf5f1;font-size:1.13rem;line-height:1.75}.public-map{overflow:hidden;margin:20px 0;border:1px solid var(--line);border-radius:17px;background:#e8efeb}.public-map .leaflet-container{height:340px;width:100%}.public-map.loading{height:340px;display:grid;place-items:center;color:var(--muted)}.map-caption{display:flex;justify-content:space-between;padding:12px 16px;background:#fff}.map-caption span{color:var(--muted);font-family:ui-monospace,monospace}.case-timeline{display:grid;grid-gap:22px;gap:22px;margin-left:10px;border-left:2px solid #d7e5de;padding-left:30px}.case-timeline>article{position:relative}.timeline-dot{position:absolute;left:-39px;top:25px;width:15px;height:15px;border:3px solid white;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px var(--brand)}.case-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin-top:22px}.case-gallery figure{overflow:hidden;margin:0;border-radius:13px;background:#edf2ef}.case-gallery img{display:block;width:100%;height:220px;object-fit:cover}.case-gallery figcaption{padding:9px 11px;color:var(--muted);font-size:.8rem}.case-footer{margin-top:70px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;text-align:center}@media(max-width:700px){.case-hero{align-items:flex-start;flex-direction:column}.case-facts,.record-grid{grid-template-columns:1fr}.map-caption,.record-meta{align-items:flex-start;flex-direction:column}.case-timeline{padding-left:20px}.timeline-dot{left:-29px}.public-map .leaflet-container{height:280px}}.upload-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:28px 0 8px}.upload-actions .upload-drop{min-height:150px;margin:0;padding:20px}.upload-camera{display:grid;place-items:center;grid-gap:6px;gap:6px;min-height:150px;padding:20px;border:2px solid #8aa99d;border-radius:18px;background:#e6f2ec;cursor:pointer;color:var(--brand);text-align:center}.upload-camera input{position:absolute;opacity:0;pointer-events:none}.upload-camera span{color:var(--muted);font-size:.86rem}.upload-camera.disabled{opacity:.55;cursor:wait}.upload-limit{margin:0 0 28px;color:var(--muted);font-size:.86rem;text-align:center}@media (max-width:520px){.upload-actions{grid-template-columns:1fr}.upload-actions .upload-drop,.upload-camera{min-height:120px}}