@font-face{font-family:Atlas;src:url('/assets/atlas-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ink:#0b2036;--muted:#506274;--paper:#f5f6f6;--line:#d4dce2;--accent:#285675;--navy:#07182f;--soft:#eaf0f4;--error:#9b3326;--white:#fff;--radius:4px;--space:8px}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:15px/1.5 Atlas,'Helvetica Neue',sans-serif}button,input,select{font:inherit;color:inherit}button,summary,label.upload{cursor:pointer}button,a,select,label.upload{touch-action:manipulation}button{border:0}button:disabled{cursor:not-allowed;background:#e0e5e9;color:#647382}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:500;line-height:1.22;letter-spacing:-.025em;text-wrap:balance}h2{font-size:19px;font-weight:600;line-height:1.35}h3{font-size:16px;font-weight:600}p{color:var(--muted);max-width:70ch}small{font-size:12px;color:var(--muted)}[hidden]{display:none!important}::selection{background:#cee1ee;color:var(--ink)}:focus-visible{outline:3px solid #347fac;outline-offset:4px}input,select{width:100%;border:1px solid #a9b8c4;border-radius:var(--radius);padding:10px 12px;background:white;caret-color:var(--accent)}input:hover,select:hover{border-color:var(--accent)}button{border-radius:var(--radius);min-height:40px;transition:background-color .15s,color .15s}button.primary{background:var(--navy);color:#fff;padding:13px 24px;font-weight:600;min-height:48px}button.primary:hover:not(:disabled){background:#254d6a}button.primary:disabled{background:#dce3e8;color:#536577}.secondary{display:inline-block;border:1px solid #a9b8c4;background:#fff;padding:9px 16px;text-align:center}.secondary:hover:not(:disabled){background:var(--soft)}.quiet,.text-button{background:transparent;color:var(--accent);padding:8px 10px}.quiet:hover:not(:disabled),.text-button:hover{background:var(--soft)}.brand{--brand-width:216px;display:block;position:relative;overflow:hidden;width:var(--brand-width);height:calc(var(--brand-width) * .229166667);background:#fff;flex-shrink:0}.brand img{display:block;width:100%;height:100%;object-fit:contain}.login{min-height:100svh;display:grid;grid-template-columns:42% 58%;background:#fff}.login-panel{padding:48px clamp(28px,4vw,72px);display:flex;flex-direction:column;min-height:100svh}.login-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.language{font-size:13px;font-weight:600;min-width:44px}.login form{width:100%;max-width:370px;margin:auto 0;padding:72px 0}.login h1{font-size:48px;max-width:330px;line-height:1.1;letter-spacing:-.035em}.login form>p{margin:20px 0 40px}.login label{display:block;font-size:14px;margin-bottom:10px}.login input{height:48px}.login form>button{width:100%;margin-top:16px}.login form .error{margin:14px 0 0;min-height:24px;color:var(--error);font-size:13px}.login-foot{font-size:12px}.login-art{position:relative;overflow:hidden;min-height:100svh;background:#f1f2ee}.terrain-poster,#terrain-video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}#terrain-video{opacity:0}#terrain-video.ready{opacity:1}header{height:88px;padding:0 32px;display:flex;gap:48px;align-items:center;border-bottom:1px solid var(--line);background:white}header .brand{--brand-width:176px}nav{display:flex;align-items:center;gap:36px;flex:1}.steps{display:flex;list-style:none;gap:32px;padding:0;margin:0;font-size:14px;color:var(--muted)}.steps li{position:relative;padding:31px 0}.steps li[aria-current]{color:var(--ink);font-weight:600}.steps li[aria-current]::after{content:'';height:2px;background:var(--accent);position:absolute;bottom:0;left:0;right:0}.header-right{display:flex;gap:20px;align-items:center}summary{font-size:13px;min-height:40px;display:flex;align-items:center;gap:9px;color:var(--accent);list-style:none}summary::after{content:'';width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);margin:-3px 3px 0}summary::-webkit-details-marker{display:none}details[open]>summary::after{transform:rotate(225deg);margin:3px 3px 0}.tools{position:relative}.tool-menu{position:absolute;right:0;top:48px;width:210px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #0b203618;z-index:1001}.tool-menu button{display:block;width:100%;text-align:left;padding:10px 12px;background:none;font-size:14px}.tool-menu button:hover{background:var(--soft)}#demo-tab{display:none}body[data-view=lab] #demo-tab,body[data-view=history] #demo-tab{display:block}body[data-view=lab] .steps,body[data-view=history] .steps{display:none}main{max-width:1680px;margin:auto;padding:32px}.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.source-panel{min-width:0;position:sticky;top:24px}.source-toolbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:14px}.source-toolbar>span{font-weight:500}.source-toolbar details{position:relative}.source-controls{position:absolute;top:44px;right:0;padding:20px;width:320px;max-width:85vw;border:1px solid var(--line);background:#fff;box-shadow:0 10px 25px #0b203618;z-index:1001;display:grid;gap:12px}.source-controls label{font-size:13px}.source-controls small{display:block}.source-panel>a{display:flex;justify-content:center;align-items:start;background:#edf0f1;padding:24px;height:calc(100svh - 236px);min-height:320px;max-height:900px;overflow:auto;scrollbar-color:#acbdc8 #edf0f1}.source-panel img{display:block;width:100%;max-width:540px;height:auto;box-shadow:0 5px 18px #102a4220}.source-caption{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-top:12px}.task-panel{min-width:0;padding:64px 16px 32px 0}.start-task{padding:60px 0;max-width:390px}.start-task h1{font-size:36px}.start-task p{margin:24px 0 32px;font-size:16px}.start-task button{width:100%}.start-task small{display:block;margin-top:14px}.task-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.task-heading h1{font-size:28px}.pill{font-size:11px;background:var(--soft);color:var(--accent);padding:5px 8px;white-space:nowrap}.pill.saved{background:#f9edda;color:#785018}.notice{font-size:13px;line-height:1.6;margin-bottom:28px}.notice.saved{color:#785018}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields .wide{grid-column:1/-1}.fields label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}.fields input,.fields select{font-size:14px}.coordinates-heading{margin-top:32px}.unit-note{font-size:12px;margin:4px 0 12px}.table-scroll{overflow:auto;scrollbar-color:#acbdc8 #f5f6f6}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;font-variant-numeric:tabular-nums}th,td{padding:10px 8px;border-bottom:1px solid var(--line)}th{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}td input{padding:8px 6px;min-width:112px;font-size:12px;font-variant-numeric:tabular-nums}td:first-child input{min-width:62px}.remove{width:28px;min-height:36px;background:none;display:grid;place-items:center;color:var(--muted)}.remove svg{width:14px;height:14px}.secondary-details{margin:16px 0 24px}.secondary-details p,.secondary-details #scores{font-size:12px;line-height:1.6;margin:12px 0}pre{padding:16px;background:var(--paper);white-space:pre-wrap;font:12px/1.6 monospace;max-height:300px;overflow:auto}#preview,#publish{width:100%}#message{font-size:14px;background:#f7eee1;color:#754718;padding:16px;margin:0 0 24px;border:1px solid #ddc8a7;border-radius:4px}#message.success{color:#235943;background:#edf5f0;border-color:#c9ded0}.progress h1{font-size:28px}.progress p{font-size:14px;margin:20px 0}.progress-track{height:3px;overflow:hidden;background:#dfe8ef;position:relative}.progress-track::after{content:'';height:3px;width:35%;position:absolute;background:var(--accent);animation:reading 1.7s ease-in-out infinite}@keyframes reading{from{left:-35%}to{left:100%}}#map{height:340px;background:#eaf0ee;border:1px solid var(--line)}#map-details{padding:20px 0}#map-details .map-facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:12px 0;font-size:13px}#map-details p{font-size:12px;margin:6px 0}#map-details h2{font-size:17px;overflow-wrap:anywhere}.map-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.review-check{display:flex;gap:12px;margin:0 0 20px;align-items:flex-start;font-size:13px;line-height:1.55}.review-check input{width:18px;height:18px;flex-shrink:0;margin:2px 0;accent-color:var(--accent)}.settings{padding:20px 24px;background:var(--paper);border:1px solid var(--line);margin-bottom:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.settings h2{font-size:16px}.settings label{font-size:13px}.settings select{width:220px}.settings p{font-size:12px;flex-basis:100%}.page-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0}.page-title p{margin-top:12px}.lab-notice{font-size:14px;max-width:85ch;line-height:1.6;margin-bottom:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:32px 0 12px}.section-heading a{font-size:13px}#ranking{padding:16px 0;border-block:1px solid var(--line);margin:24px 0;font-size:14px}#ranking strong{font-weight:600}.lab-table td,.lab-table th{padding:16px 12px}.lab-table button{font-size:13px}.method{margin-top:28px;max-width:90ch}.method p{margin:12px 0;font-size:13px}#run-meta{overflow-wrap:anywhere;font-size:12px}#lab-detail{margin-top:32px;background:var(--paper);padding:24px}#lab-detail h3{margin:24px 0 12px}.mismatch{background:#fff0dc}.match{color:#236146}#history-list{margin-top:24px}.history-row{display:flex;width:100%;gap:24px;align-items:center;justify-content:space-between;padding:20px 12px;border-bottom:1px solid var(--line);background:#fff;text-align:left}.history-row:hover{background:var(--soft)}.history-row small{display:block;margin-top:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.leaflet-container{font-family:Atlas,sans-serif}#lab-view,#history-view{max-width:1200px;margin:auto}
@media(min-width:1500px){main{padding:40px 64px}.demo-grid{gap:80px}.task-panel{padding-right:48px}}
@media(max-width:1100px){header{gap:24px;padding:0 24px}.steps{gap:20px}.demo-grid{gap:32px}.task-panel{padding:40px 0 24px}.login-panel{padding:32px}.login-top{flex-wrap:wrap}.login h1{font-size:40px}.brand{--brand-width:196px}.source-caption{flex-direction:column;gap:4px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}}
@media(max-width:760px){.login{display:block}.login-panel{min-height:100svh;padding:28px}.login form{margin:auto;max-width:400px}.login-art{display:none}.login h1{font-size:42px}header{height:auto;min-height:80px;flex-wrap:wrap;padding:16px 20px;gap:16px}header .brand{--brand-width:152px}nav{order:3;width:100%;flex-basis:100%}.steps{width:100%;justify-content:space-between;gap:12px}.steps li{padding:8px 0}.header-right{margin-left:auto;gap:12px}main{padding:20px}.demo-grid{grid-template-columns:1fr;gap:20px}.source-panel{position:static}.source-panel>a{height:280px;min-height:0;padding:16px}.source-panel img{width:220px}.source-caption{flex-direction:row;font-size:10px}.task-panel{padding:16px 0}.start-task{padding:0;max-width:none}.start-task h1{font-size:28px}.start-task p{margin:16px 0 24px;font-size:15px}.task-heading{flex-wrap:wrap}.task-heading h1{font-size:25px}.fields{grid-template-columns:1fr 1fr}.fields .wide{grid-column:1/-1}td input{min-width:98px}.page-title{align-items:flex-start;flex-direction:column}.page-title h1{font-size:28px}.map-actions{flex-wrap:wrap}#map{height:300px}.settings{padding:16px;align-items:stretch;flex-direction:column}.settings select{width:100%}.source-toolbar{font-size:12px}.source-controls{right:0}.tool-menu{width:200px}.history-row{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:390px){.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.login-top .brand{--brand-width:186px}.login h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


.document-sheet{display:block;position:relative;width:100%;max-width:540px;flex-shrink:0}#ocr-boxes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}#ocr-boxes polygon{fill:#347fac08;stroke:#347fac99;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all}#ocr-boxes polygon:hover{fill:#347fac25;stroke:#285675;stroke-width:2}#add-vertex{margin:12px 0 20px}.polygon-label{border:1px solid #c3d0d9;border-radius:4px;background:#fffffff2;color:#0b2036;text-align:center;padding:8px 12px;box-shadow:0 2px 8px #0b203612;white-space:normal;min-width:180px;max-width:240px}.polygon-label strong,.polygon-label span{display:block}.polygon-label strong{font-size:14px}.polygon-label span{font-size:11px;margin-top:2px}#save-controls{margin-top:20px}@media(max-width:760px){.document-sheet{width:220px}}

header .header-right{margin-left:auto}

.view-tabs{flex:0;gap:12px}.view-tabs button{border-radius:0;min-height:48px}.view-tabs button[aria-current]{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}.atlas-heading{display:flex;align-items:baseline;justify-content:space-between;margin:8px 0 24px}.atlas-heading h1{font-size:28px}.atlas-heading p{font-size:13px}.atlas-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}#atlas-map{height:calc(100svh - 235px);min-height:440px;border:1px solid var(--line)}#atlas-list{max-height:calc(100svh - 235px);overflow:auto}.archive-item{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:4px}.archive-item.selected{background:var(--soft)}.archive-focus{text-align:left;background:transparent;padding:8px;flex:1;min-width:0}.archive-focus strong,.archive-focus span,.archive-focus small{display:block;overflow-wrap:anywhere}.archive-focus strong{font-weight:600;font-size:14px}.archive-focus span{font-size:12px;margin:4px 0}.archive-focus small{font-size:11px}.archive-open{font-size:12px}.archive-empty{font-size:14px;padding:20px 0}#atlas-error{margin:16px 0;color:var(--error)}@media(max-width:760px){.atlas-layout{grid-template-columns:1fr}#atlas-map{height:380px;min-height:0;grid-row:1}#atlas-list{max-height:none}.view-tabs{flex-basis:100%;width:100%;order:3}.atlas-heading{gap:20px}.atlas-heading h1{font-size:24px}}

.cadastre-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 20px}.map-modes{display:flex;gap:6px}.map-modes button[aria-pressed=true]{background:var(--soft);color:var(--ink)}#demo-map-note{font-size:12px;color:var(--muted)}.permit-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:9px}.permit-popup .leaflet-popup-content{margin:22px;width:280px!important;max-width:calc(100vw - 105px)}.permit-popup .leaflet-popup-content-wrapper{border-radius:6px}.permit-card h2{font-size:22px;margin:8px 0 4px}.permit-status{font-size:12px;font-weight:650}.permit-card .permit-type{font-size:12px;margin:0 0 18px}.permit-card dl{margin:0 0 20px}.permit-card dl div{display:flex;justify-content:space-between;gap:16px;margin:10px 0;font-size:12px}.permit-card dt{color:var(--muted)}.permit-card dd{margin:0;text-align:right;max-width:175px;font-weight:550}.permit-card button{width:100%;font-size:13px;padding:10px 12px;min-height:42px}.permit-card>small{display:block;text-align:center;margin-top:12px;font-size:10px}.permit-map-name{border:0;box-shadow:0 2px 8px #102a4218;font:12px Atlas,sans-serif}#permit-documents{border:1px solid var(--line);border-radius:8px;padding:28px;max-width:560px;width:calc(100% - 32px);color:var(--ink)}#permit-documents::backdrop{background:#07182f66}.document-dialog-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:16px}.document-dialog-heading h2{font-size:22px}#permit-documents p{font-size:13px}#permit-document-list{margin:20px 0}#permit-document-list a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}#analyze-permit-document{width:100%;font-size:14px}@media(max-width:760px){.cadastre-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.atlas-heading h1{font-size:23px}#atlas-map{height:460px}.permit-popup .leaflet-popup-content{margin:18px}}

.role-preview{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.role-preview select{width:122px;font-size:12px;padding:8px}.ministry-intro{max-width:710px;margin:18px 0 36px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.07em;color:var(--accent)}.ministry-intro h1{margin:12px 0 16px;font-size:38px}.ministry-intro p{font-size:16px}.ministry-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:80px;max-width:1180px}.ministry-task{border:1px solid var(--line);padding:32px;border-radius:6px}.simulation-note{font-size:12px;margin-bottom:28px}.ministry-task h2{font-size:23px;margin-bottom:12px;overflow-wrap:anywhere}.ministry-task p{font-size:14px}.deposit-zone{display:flex;align-items:center;flex-direction:column;gap:10px;border:1px dashed #8aa3b5;padding:32px 16px;margin:24px 0 12px;cursor:pointer;background:#f8fafb}.deposit-zone strong{font-size:16px;font-weight:550}.deposit-zone span{font-size:12px;color:var(--muted)}.deposit-zone input{max-width:300px;font-size:12px;border:0;background:transparent;padding:10px 0}.ministry-guide{padding:30px 0}.ministry-guide h2{font-size:20px}.ministry-guide ol{padding-left:22px;margin:24px 0}.ministry-guide li{padding-left:10px;margin-bottom:24px}.ministry-guide li::marker{color:var(--accent)}.ministry-guide p{font-size:14px;margin-top:6px}.ministry-guide .role-explanation{font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}#ministry-review .fields{margin:24px 0}#ministry-review .review-check{margin-top:24px}#ministry-done p{margin:16px 0 24px}#ministry-done .eyebrow{display:block;margin-bottom:12px}@media(max-width:1100px){.role-preview>span{display:none}.ministry-grid{gap:32px}.view-tabs{gap:4px}}@media(max-width:760px){.role-preview select{width:110px}.header-right{gap:6px}.ministry-intro h1{font-size:29px}.ministry-grid{grid-template-columns:1fr;gap:12px}.ministry-task{padding:22px}.ministry-intro{margin:12px 0 24px}.ministry-guide{padding:20px 0}.ministry-task .primary{width:100%}}

.company-search{max-width:420px;margin:0 0 20px}.company-search label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.company-search input{height:42px;font-size:14px}.cadastre-toolbar{flex-wrap:wrap}@media(max-width:760px){.company-search{max-width:none}}
