@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-v18-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-v18-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-v18-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-v18-latin_latin-ext-700.woff2)format("woff2")}:root{--brand:#133c55;--brand-on:#fff;--brand-soft:#e7eef4;--brand-disabled:#93adc7;--ground:#f2f5f8;--surface:#fff;--surface-sunken:#edf1f5;--fill:#e9eef3;--fill-light:#f5f8fa;--ink:#16242f;--ink-regular:#55636f;--ink-secondary:#7d8b98;--ink-disabled:#a9b4be;--line:#e1e7ed;--line-cell:#edf1f5;--ok-text:#295e10;--ok-accent:#67c23a;--ok-surface:#e7f4df;--warn-text:#8c5a00;--warn-accent:#e0a106;--warn-surface:#fbf2dc;--bad-text:#8a2e2e;--bad-accent:#c24b4b;--bad-surface:#fbe4e4;--amount-positive:#3f8a2b;--amount-negative:#be4b4b;--shape-line:#c98a00;--shape-rect:#133c55;--shape-triangle:#2e7d5b;--shape-polygon:#6b3fa0;--shape-ellipse:#0e7c86;--shape-hole:#af3f3f;--shape-wall:#7a4fbf;--t-xs:12px;--t-sm:13px;--t-md:15px;--t-lg:17px;--t-xl:21px;--t-2xl:27px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--radius-control:10px;--radius-container:12px;--radius-card:14px;--radius-dialog:18px;--radius-action:999px;--target:32px;--target-sm:28px;--shadow-card:0 1px 2px #10202d0d, 0 2px 8px #10202d0a;--shadow-pop:0 10px 34px #10202d29, 0 2px 8px #10202d14;--motion:.16s ease;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--space:var(--s3);--space-half:var(--s1);--space-toolbar:var(--s2);--radius-cell:var(--radius-control);--radius-search:var(--radius-action);--shadow-1:var(--shadow-card);--sans:var(--font);--accent:var(--brand);--accent-ink:var(--brand-on);--accent-soft:var(--brand-soft);--surface-2:var(--fill-light);--surface-3:var(--surface-sunken);--ink-2:var(--ink-regular);--ink-3:var(--ink-secondary);--line-strong:var(--line);--ok:var(--ok-text);--ok-soft:var(--ok-surface);--warn:var(--warn-text);--warn-soft:var(--warn-surface);--bad:var(--bad-text);--bad-soft:var(--bad-surface);--radius:var(--radius-container);--shadow:var(--shadow-card);--focus:var(--brand)}@media (pointer:coarse){:root{--target:44px;--target-sm:40px;--t-xs:13px;--t-sm:14px}}@media (prefers-color-scheme:dark){:root{--brand:#76b2eb;--brand-on:#0d1318;--brand-soft:#1d2a36;--brand-disabled:#303948;--ground:#14181c;--surface:#1b2026;--surface-sunken:#22282f;--fill:#2a313a;--fill-light:#232931;--ink:#e3e7eb;--ink-regular:#b6bfc8;--ink-secondary:#8794a0;--ink-disabled:#626d78;--line:#313941;--line-cell:#272e35;--ok-text:#bbd4af;--ok-accent:#66994d;--ok-surface:#273325;--warn-text:#f1e7bc;--warn-accent:#99872e;--warn-surface:#3f331a;--bad-text:#f3d3d3;--bad-accent:#923d3d;--bad-surface:#351111;--amount-positive:#85ce61;--amount-negative:#f78989;--shape-line:#e9b949;--shape-rect:#76b2eb;--shape-triangle:#6fc49b;--shape-polygon:#b08be0;--shape-ellipse:#4fc3ce;--shape-hole:#e08585;--shape-wall:#b79bea;--shadow-card:0 1px 2px #00000080, 0 2px 10px #00000059;--shadow-pop:0 12px 38px #0009;--plate:#1b2026db}}:root{--plate:#ffffffe0}*{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--t-md);-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.screen{gap:var(--s3);min-height:0;padding:var(--s3) var(--s4);flex-direction:column;flex:1;display:flex;overflow:hidden}.screen--scroll{overflow-y:auto}.screen>.panel{flex:1}.wrap{width:100%;max-width:1680px;padding:var(--s3) var(--s4);gap:var(--s3);flex-direction:column;min-height:0;margin:0 auto;display:flex}.wrap--narrow{max-width:420px;padding-top:10vh}.stack{gap:var(--s3);flex-direction:column;min-height:0;display:flex}.stack--tight{gap:var(--s2)}.row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.row--tight{gap:var(--s1)}.grow{flex:1;min-width:0}.scroll{flex:1;min-height:0;overflow-y:auto}.scroll-y,.table-scroll{flex:1;min-height:0;overflow:auto}.topbar{align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--surface);border-bottom:1px solid var(--line);flex:none;display:flex}.brand{align-items:center;gap:var(--s2);font-size:var(--t-md);color:var(--brand);white-space:nowrap;font-weight:700;display:flex}.brand img{border-radius:6px;width:26px;height:26px;display:block}.brand small{display:none}.topbar-spacer{flex:1}.docbar{align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.docbar__title{align-items:baseline;gap:var(--s2);min-width:0;display:flex}.docbar__number{font-size:var(--t-lg);color:var(--ink);white-space:nowrap;font-weight:700}.docbar__client{color:var(--ink-regular);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docbar__sum{font-size:var(--t-lg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.state{align-items:center;gap:var(--s2);font-size:var(--t-sm);color:var(--ink-secondary);white-space:nowrap;cursor:default;background:0 0;border:none;padding:0;display:inline-flex}.state:before{content:"";background:var(--ok-accent);border-radius:50%;flex:none;width:8px;height:8px}.state--busy:before{background:var(--warn-accent);animation:1.2s ease-in-out infinite pulse}.state--dirty:before{background:var(--warn-accent)}.state--bad:before{background:var(--bad-accent)}@keyframes pulse{50%{opacity:.35}}.btn{justify-content:center;align-items:center;gap:var(--s2);padding:0 var(--s3);min-height:var(--target);background:var(--surface);color:var(--ink-regular);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t-sm);cursor:pointer;white-space:nowrap;transition:background var(--motion), border-color var(--motion), color var(--motion);font-weight:500;display:inline-flex}a.btn{text-decoration:none}.btn:hover:not(:disabled){background:var(--fill-light);border-color:var(--ink-disabled)}.btn:disabled{color:var(--ink-disabled);cursor:not-allowed}.btn--primary{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.btn--primary:hover:not(:disabled){background:var(--brand);border-color:var(--brand);filter:brightness(1.15)}.btn--primary:disabled{background:var(--brand-disabled);border-color:var(--brand-disabled);color:var(--surface)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--fill-light);border-color:#0000}.btn--danger{color:var(--bad-text)}.btn--danger:hover:not(:disabled){background:var(--bad-surface);border-color:var(--bad-accent)}.btn--small{padding:0 var(--s2);min-height:var(--target-sm);font-size:var(--t-xs)}.btn--active{background:var(--brand);border-color:var(--brand);color:var(--brand-on);font-weight:600}.btn--icon{width:var(--target-sm);height:var(--target-sm);color:var(--ink-secondary);background:0 0;border-color:#0000;padding:0}.btn--icon:hover:not(:disabled){background:var(--fill);color:var(--ink);border-color:#0000}.icon{flex:none;line-height:0;display:inline-flex}.icon svg{width:100%;height:100%;display:block}.icon svg [stroke]:not([stroke=none]){stroke:currentColor}.segment{background:var(--fill);border-radius:var(--radius-control);gap:2px;padding:3px;display:inline-flex}.segment button{color:var(--ink-regular);font-size:var(--t-sm);padding:0 var(--s3);min-height:calc(var(--target) - 8px);border-radius:calc(var(--radius-control) - 3px);cursor:pointer;white-space:nowrap;align-items:center;gap:var(--s1);background:0 0;border:none;font-weight:500;display:inline-flex}.segment button:hover:not(.is-active){color:var(--ink)}.segment button.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);font-weight:600}input[type=text],input[type=password],input[type=number],input[type=search],select,textarea{padding:0 var(--s3);min-height:var(--target);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);font-size:var(--t-sm);min-width:0;transition:border-color var(--motion), background var(--motion)}textarea{padding:var(--s2) var(--s3)}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none}input:disabled,select:disabled{background:var(--fill-light);color:var(--ink-disabled)}input[type=search]{border-radius:var(--radius-action)}input[type=checkbox]{accent-color:var(--brand);width:18px;height:18px}select{padding-right:var(--s2)}label.field{gap:var(--s1);flex-direction:column;min-width:0;display:flex}label.field>span{font-size:var(--t-xs);color:var(--ink-secondary);overflow-wrap:anywhere;font-weight:500}.field-row{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.field-row>.label{font-size:var(--t-xs);color:var(--ink-secondary);max-width:45%;font-weight:500}.field-row>input,.field-row>select{text-align:right;max-width:55%}.hint{color:var(--ink-secondary);font-size:var(--t-xs)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;text-align:right}.amount-plus{color:var(--amount-positive)}.amount-minus{color:var(--amount-negative)}.chip{align-items:center;gap:var(--s1);padding:2px var(--s2);border-radius:var(--radius-action);background:var(--fill);min-height:22px;color:var(--ink-regular);font-size:var(--t-xs);white-space:nowrap;border:none;font-weight:600;display:inline-flex}.chip--accent{background:var(--brand-soft);color:var(--brand)}.chip--ok{background:var(--ok-surface);color:var(--ok-text)}.chip--warn{background:var(--warn-surface);color:var(--warn-text)}.chip--bad{background:var(--bad-surface);color:var(--bad-text)}.chip--button{cursor:pointer;min-height:var(--target-sm);font-family:inherit}.chip--button:hover{filter:brightness(.96)}.banner{align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--radius-container);background:var(--fill-light);border:1px solid var(--line);font-size:var(--t-sm);flex-wrap:wrap;flex:none;display:flex}.banner--warn{border-color:color-mix(in srgb, var(--warn-accent) 40%, transparent);background:var(--warn-surface);color:var(--warn-text)}.banner--bad{border-color:color-mix(in srgb, var(--bad-accent) 40%, transparent);background:var(--bad-surface);color:var(--bad-text)}.banner--ok{border-color:color-mix(in srgb, var(--ok-accent) 40%, transparent);background:var(--ok-surface);color:var(--ok-text)}.banner--info{border-color:color-mix(in srgb, var(--brand) 22%, transparent);background:var(--brand-soft);color:var(--ink)}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--s4)}.card__title{margin:0 0 var(--s3);font-size:var(--t-xs);color:var(--ink-secondary);font-weight:600}.panel{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel__head{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;display:flex}.panel__head strong{font-size:var(--t-md);color:var(--ink);font-weight:600}.panel__body{padding:var(--s3);gap:var(--s3);flex-direction:column;min-height:0;display:flex}.panel__body--flush{padding:0}.rows{--cols:104px minmax(120px, 1fr) minmax(150px, 1.3fr) 128px minmax(170px, 1fr) 104px 76px;flex-direction:column;display:flex}.rowline{grid-template-columns:var(--cols);align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);border-bottom:1px solid var(--line-cell);min-height:calc(var(--target) + 8px);display:grid}.rowline--head{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);min-height:0;padding-block:var(--s2);position:sticky;top:0}.rowline--head>*{font-size:var(--t-xs);color:var(--ink-secondary);white-space:nowrap;font-weight:500}.rowline input.cell,.rowline input[type=checkbox]+input.cell{padding-inline:var(--s2);background:0 0;border-color:#0000}.rowline:hover input.cell{border-color:var(--line-cell)}.rowline input.cell:hover{border-color:var(--line)}.rowline input.cell:focus{border-color:var(--brand);background:var(--surface)}.rowline input.cell--error{border-color:var(--bad-accent);background:var(--bad-surface);color:var(--bad-text)}.rowline input.cell::placeholder{color:var(--ink-disabled)}.rowline:hover:not(.rowline--head){background:var(--fill-light)}.rowline.is-selected{background:var(--brand-soft)}.rowline.is-open{background:var(--fill-light);border-bottom-color:#0000}.rowline__end{justify-content:flex-end;align-items:center;gap:var(--s1);display:flex}.rowline__cell--right{text-align:right;justify-self:stretch}.section-head{align-items:center;gap:var(--s2);padding:var(--s4) var(--s3) var(--s2);background:var(--surface);display:flex}.section-head__title{font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-weight:600}.section-head__sum{font-variant-numeric:tabular-nums;font-weight:700}.rowdetail{padding:var(--s2) var(--s3) var(--s4);background:var(--fill-light);border-bottom:1px solid var(--line-cell);gap:var(--s3);flex-direction:column;display:flex}.detail-grid{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.floatbar{bottom:var(--s3);align-self:center;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);margin-top:var(--s3);background:var(--ink);color:var(--surface);border-radius:var(--radius-action);box-shadow:var(--shadow-pop);z-index:3;display:flex;position:sticky}.floatbar .btn{color:var(--surface);background:0 0;border-color:#ffffff47}.floatbar .btn:hover:not(:disabled){background:#ffffff24;border-color:#ffffff80}.floatbar .btn--primary{background:var(--surface);color:var(--ink);border-color:var(--surface)}@media (width<=1100px){.rows{--cols:96px minmax(100px, 1fr) minmax(120px, 1fr) 112px 96px 68px}.rows .is-optional{display:none}}@media (width<=820px){.rows{--cols:minmax(0, 1fr)}.rowline--head{display:none}.rowline{gap:var(--s1) var(--s2);padding:var(--s3) var(--s2);grid-template-columns:minmax(0,1fr) auto;align-items:center}.rowline>*{grid-column:1}.rowline__end{grid-area:1/2/span 2}.rowline__cell--right{text-align:left}.rowline [data-field=amount]:before,.rowline [data-field=net]:before{color:var(--ink-secondary);font-weight:400;font-size:var(--t-xs)}.rowline [data-field=amount]:before{content:"Menge "}.rowline [data-field=net]:before{content:"Summe "}.rowline [data-field=net]:after{content:" €";color:var(--ink-secondary)}.rows .is-optional{display:flex}.rowline input.cell{border-color:var(--line-cell)}}.list{flex-direction:column;display:flex}.list__item{align-items:center;gap:var(--s3);width:100%;min-height:var(--target);padding:var(--s2) var(--s3);border-radius:var(--radius-control);font:inherit;font-size:var(--t-sm);color:inherit;text-align:left;cursor:pointer;transition:background var(--motion);background:0 0;border:none;display:flex}.list__item+.list__item{box-shadow:inset 0 1px 0 var(--line-cell)}.list__item:hover{background:var(--fill-light)}.list__item.is-active{background:var(--brand-soft);font-weight:600}.list__item>.grow{overflow-wrap:anywhere}.list__item>.hint{text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:40%;overflow:hidden}.doc-cell{align-items:center;gap:var(--s3);width:100%;padding:var(--s3);border-radius:var(--radius-control);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background var(--motion);background:0 0;border:none;grid-template-columns:minmax(0,1fr) auto;display:grid}.doc-cell+.doc-cell{box-shadow:inset 0 1px 0 var(--line-cell)}.doc-cell:hover{background:var(--fill-light)}.doc-cell.is-locked .doc-cell__title{color:var(--ink-regular)}.doc-cell__title{font-size:var(--t-md);color:var(--ink);align-items:center;gap:var(--s2);flex-wrap:wrap;font-weight:600;display:flex}.doc-cell__sub{font-size:var(--t-sm);color:var(--ink-secondary);margin-top:2px}.doc-cell__right{align-items:center;gap:var(--s3);display:flex}table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--t-sm)}table.grid th{z-index:1;text-align:left;font-size:var(--t-xs);color:var(--ink-secondary);background:var(--surface);border-bottom:1px solid var(--line);padding:var(--s2);white-space:nowrap;font-weight:500;position:sticky;top:0}table.grid td{padding:var(--s1) var(--s2);border-bottom:1px solid var(--line-cell);vertical-align:middle;height:var(--target)}table.grid tbody tr:hover td{background:var(--fill-light)}table.grid tbody tr.is-selected td{background:var(--brand-soft)}table.grid tbody tr.is-new td{background:var(--ok-surface)}table.grid td.compact{padding:2px var(--s1)}table.grid td strong{font-size:var(--t-md);font-weight:600}table.grid input,table.grid select{width:100%;font-size:var(--t-sm);min-height:var(--target-sm);padding:0 var(--s2)}table.grid input.cell{background:0 0;border-color:#0000}table.grid input.cell:hover{border-color:var(--line)}table.grid input.cell:focus{border-color:var(--brand);background:var(--surface)}table.grid input.cell--error{border-color:var(--bad-accent);background:var(--bad-surface);color:var(--bad-text)}tr.group-row td{background:var(--fill-light);font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary);font-weight:600}.tabs{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.tab{align-items:center;gap:var(--s1);padding:0 var(--s3);min-height:var(--target);border-radius:var(--radius-control);color:var(--ink-regular);font-size:var(--t-sm);cursor:pointer;transition:background var(--motion), color var(--motion);background:0 0;border:none;font-weight:500;display:inline-flex}.tab:hover{background:var(--fill-light);color:var(--ink)}.tab.is-active{background:var(--brand-soft);color:var(--brand);font-weight:600}.tab.is-active .hint{color:var(--brand);opacity:.75}.menu-anchor{display:inline-flex;position:relative}.menu{min-width:240px;padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-container);box-shadow:var(--shadow-pop);z-index:30;flex-direction:column;gap:2px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.menu button,.menu a{align-items:center;gap:var(--s2);width:100%;min-height:var(--target);padding:0 var(--s3);border-radius:var(--radius-control);color:var(--ink-regular);font:inherit;font-size:var(--t-sm);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;text-decoration:none;display:flex}.menu button:hover:not(:disabled),.menu a:hover{background:var(--fill-light);color:var(--ink)}.menu button:disabled{color:var(--ink-disabled);cursor:not-allowed}.menu hr{border:none;border-top:1px solid var(--line);margin:var(--s1) 0}.menu .is-danger{color:var(--bad-text)}.overlay{padding:var(--s4);z-index:40;background:#0c182180;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-dialog);box-shadow:var(--shadow-pop);flex-direction:column;width:min(720px,100%);max-height:min(92dvh,900px);display:flex;overflow:hidden}.modal--s{width:min(460px,100%)}.modal--m{width:min(720px,100%)}.modal--l{width:min(1040px,100%)}.modal--xl{width:min(1240px,100%);max-height:94dvh}.modal__head{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);align-items:center;gap:var(--s3);flex:none;display:flex}.modal__title{font-size:var(--t-lg);color:var(--ink);align-items:center;gap:var(--s2);margin:0;font-weight:600;display:flex}.modal__body{padding:var(--s4);gap:var(--s3);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.modal__foot{padding:var(--s3) var(--s4);border-top:1px solid var(--line);gap:var(--s2);flex:none;justify-content:flex-end;align-items:center;display:flex}.explain{display:inline-flex;position:relative}.explain__bubble{width:min(360px,70vw);padding:var(--s3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-container);box-shadow:var(--shadow-pop);font-size:var(--t-sm);color:var(--ink-regular);z-index:30;white-space:normal;text-align:left;position:absolute;top:calc(100% + 6px);left:0}.toasts{right:var(--s4);bottom:var(--s4);gap:var(--s2);z-index:60;flex-direction:column;display:flex;position:fixed}.toast{padding:var(--s3) var(--s4);border-radius:var(--radius-container);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-pop);max-width:420px;font-size:var(--t-sm)}.toast--bad{background:var(--bad-text);color:#fff}.toast--ok{background:var(--ink)}.map-stage{background:var(--surface-sunken);border-radius:var(--radius-container);touch-action:none;flex:1;min-height:300px;position:relative;overflow:hidden}.map-canvas{cursor:grab;width:100%;height:100%;display:block}.map-canvas:active{cursor:grabbing}.map-cross{pointer-events:none;opacity:.9;filter:drop-shadow(0 0 2px #0009);background:linear-gradient(#fff,#fff) 50%/2px 22px no-repeat,linear-gradient(#fff,#fff) 50%/22px 2px no-repeat;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;inset:50% auto auto 50%}.map-credit{left:var(--s2);bottom:var(--s2);background:var(--plate);border-radius:var(--radius-control);padding:2px var(--s2);font-size:var(--t-xs);color:var(--ink-regular);pointer-events:none;position:absolute}.map-results{flex-direction:column;flex:none;gap:2px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.map-results button{text-align:left;justify-content:flex-start;width:100%}.plan-layout{flex:1;min-height:0;display:flex;position:relative}.plan-stage{background:var(--surface-sunken);border-radius:var(--radius-card);touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.plan-stage svg{width:100%;height:100%;display:block}.plan-stage.is-drawing{cursor:crosshair}.plan-tools{top:var(--s3);left:var(--s3);gap:var(--s1);padding:var(--s1);background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-container);box-shadow:var(--shadow-pop);z-index:2;flex-direction:column;display:flex;position:absolute}.plan-tool{align-items:center;gap:var(--s2);min-height:var(--target);padding:0 var(--s3);border-radius:var(--radius-control);color:var(--ink-regular);font:inherit;font-size:var(--t-sm);cursor:pointer;white-space:nowrap;background:0 0;border:none;display:inline-flex}.plan-tool:hover:not(:disabled){background:var(--fill);color:var(--ink)}.plan-tool.is-active{background:var(--brand);color:var(--brand-on);font-weight:600}.plan-tool:disabled{color:var(--ink-disabled);cursor:not-allowed}.plan-inspector{top:var(--s3);right:var(--s3);bottom:var(--s3);gap:var(--s3);width:300px;padding:var(--s3);background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);z-index:2;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.plan-footbar{right:var(--s3);bottom:var(--s3);align-items:center;gap:var(--s1);padding:var(--s1);background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-action);box-shadow:var(--shadow-card);z-index:2;display:flex;position:absolute}.plan-hint{left:50%;top:var(--s3);max-width:min(560px, calc(100% - 2 * var(--s6)));align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--plate);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-container);box-shadow:var(--shadow-pop);font-size:var(--t-sm);z-index:3;display:flex;position:absolute;transform:translate(-50%)}@media (width<=900px){.plan-inspector{width:auto;max-height:45%;position:static}.plan-layout{gap:var(--s2);flex-direction:column}.plan-tools{max-width:calc(100% - 2 * var(--s3));flex-flow:wrap}}.tool-strip{gap:var(--s1);flex-wrap:wrap;align-items:center;display:flex}.shape{fill:color-mix(in srgb, var(--shape-color) 20%, transparent);stroke:var(--shape-color);stroke-width:2px;vector-effect:non-scaling-stroke}.shape--rect{--shape-color:var(--shape-rect)}.shape--triangle{--shape-color:var(--shape-triangle)}.shape--polygon{--shape-color:var(--shape-polygon)}.shape--ellipse{--shape-color:var(--shape-ellipse)}.shape--line{--shape-color:var(--shape-line);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.shape--selected{fill:color-mix(in srgb, var(--shape-color) 38%, transparent);stroke-width:4px}.shape--selected.shape--line{fill:none}.shape--hole{fill:none;stroke:var(--shape-hole);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.edge{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.edge--wall{stroke:var(--shape-wall);opacity:.9}.edge--free{stroke:var(--shape-wall);opacity:.45;stroke-dasharray:8 6}.edge--selected{stroke:var(--brand);opacity:1}.shape--draft{--shape-color:var(--brand);fill:color-mix(in srgb, var(--brand) 12%, transparent);stroke-dasharray:6 4}.shape--scale{stroke:var(--warn-accent);stroke-width:3px;fill:none;vector-effect:non-scaling-stroke}.handle{fill:var(--surface);stroke:var(--shape-color,var(--brand));stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab}.legend{gap:var(--s1) var(--s3);flex-wrap:wrap;align-items:center;display:flex}.legend__entry{font-size:var(--t-xs);color:var(--ink-regular);align-items:center;gap:5px;display:inline-flex}.legend__swatch{border:2px solid var(--shape-color);background:color-mix(in srgb, var(--shape-color) 22%, transparent);border-radius:2px;flex:none;width:14px;height:10px}.legend__swatch--line{background:0 0;border-width:0 0 3px;border-radius:0;height:0}.legend__swatch--hole{background:0 0;border-style:dashed}.legend__swatch--wall{background:var(--shape-wall)}.legend__entry--muted{color:var(--ink-secondary);opacity:.55}.label-plate{fill:var(--surface);stroke:var(--line)}.label-text{font-family:var(--mono);fill:var(--ink)}.split{gap:var(--s3);grid-template-columns:260px minmax(0,1fr);align-items:start;display:grid}@media (width<=768px){.split{grid-template-columns:minmax(0,1fr)}.wrap,.screen{padding:var(--s2)}.topbar,.docbar{padding-inline:var(--s3)}}.empty{padding:var(--s6) var(--s3);text-align:center;color:var(--ink-secondary);font-size:var(--t-sm)}.empty strong{color:var(--ink);font-size:var(--t-md);margin-bottom:var(--s1);display:block}.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}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
