:root{font-size:15px}html{scroll-behavior:auto}.workspace-header{height:68px;background:var(--forest-deep);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px;position:sticky;top:0;z-index:10}.workspace-brand{font-weight:850;letter-spacing:.08em;color:white;text-decoration:none;display:flex;align-items:baseline;gap:8px}.workspace-brand span{font-size:.6rem;color:var(--sun)}.workspace-header nav{display:flex;gap:22px}.workspace-header a{color:inherit;text-decoration:none}.workspace-header button{background:transparent;color:white;border:1px solid #ffffff70;border-radius:6px;padding:6px 10px}.workspace-layout{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1800px;margin:auto}.workspace-layout aside{position:sticky;top:68px;height:calc(100dvh - 68px);overflow-y:auto;padding:28px 16px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--paper)}.workspace-layout aside nav{display:grid;gap:5px}.workspace-layout aside nav a{padding:10px 14px;text-decoration:none;font-weight:650;border-radius:7px}.workspace-layout aside nav a[aria-current]{background:var(--forest);color:white}.sidebar-footer{margin-top:auto;padding-top:32px;display:grid;gap:10px;font-size:.8rem}.workspace-layout main{min-width:0;padding:32px clamp(18px,3vw,48px) 80px;min-height:calc(100dvh - 68px)}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}.workspace-heading h1{font-size:2.25rem;margin:0}.workspace-heading .eyebrow{margin:0 0 7px}.workspace-heading label{min-width:210px;font-size:.8rem;font-weight:650}#workspace-status{min-height:1.5em;margin:16px 0}#workspace-status[data-state=error],.form-error{color:var(--danger)}#workspace-status[data-state=success]{color:var(--ok)}.workspace-layout h2{font-size:1.35rem;margin:0 0 14px}.workspace-layout h3{font-size:1.05rem}.panel{background:white;border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:22px}.panel-heading,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.toolbar{justify-content:flex-start;margin:12px 0}.workspace-layout button,dialog button,.workspace-layout .button{font:inherit;border:1px solid var(--line);border-radius:6px;background:white;color:var(--forest);padding:8px 13px;cursor:pointer;line-height:1.3;text-decoration:none}.workspace-layout button.primary,dialog button.primary{background:var(--forest);border-color:var(--forest);color:white}.workspace-layout button.danger{color:var(--danger);border-color:#d6b6b6}.workspace-layout button:disabled,dialog button:disabled{opacity:.5;cursor:wait}.workspace-layout input,.workspace-layout select,.workspace-layout textarea,dialog input,dialog select,dialog textarea{font:inherit;line-height:1.4;padding:9px 11px;border:1px solid #a5b4aa;border-radius:5px;width:100%;background:white;color:var(--ink);min-width:0}.workspace-layout label,dialog label{display:grid;gap:6px;margin-bottom:14px}.workspace-layout textarea,dialog textarea{min-height:110px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid .wide{grid-column:1/-1}.form-help,.muted{color:var(--muted);font-size:.86rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.metric{border:1px solid var(--line);background:white;border-radius:9px;padding:20px}.metric strong{display:block;font-size:1.8rem;margin:8px 0}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:6px}.workspace-layout table{display:table;border-collapse:collapse;width:100%;font-size:.86rem}.workspace-layout th{text-align:left;background:#f1f4ef;position:sticky;top:0;z-index:1;white-space:nowrap}.workspace-layout th,.workspace-layout td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.workspace-layout tr:last-child td{border-bottom:0}.workspace-layout td button{padding:5px 9px}.empty-state{border:1px dashed #abbcaf;border-radius:8px;padding:25px;color:var(--muted)}.status-tag{display:inline-block;padding:2px 8px;border-radius:5px;background:#eef3ec;font-size:.78rem;white-space:nowrap}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs button[aria-selected=true]{background:var(--forest);color:white}.budget-grid{max-height:60dvh}.budget-grid table{width:max-content;min-width:100%}.budget-grid td{padding:0}.budget-grid td:first-child{padding:8px;position:sticky;left:0;background:#f1f4ef;z-index:2}.budget-grid input{border:0;border-radius:0;background:transparent;min-width:110px;max-width:280px;padding:10px}.budget-grid input[data-col=description]{min-width:240px}.budget-grid tr[aria-selected=true]{background:#f4f8e6}.budget-grid .calculated{display:block;min-width:110px;padding:10px;text-align:right;font-variant-numeric:tabular-nums}.budget-total{display:flex;gap:24px;flex-wrap:wrap;padding:14px 0;font-variant-numeric:tabular-nums}.field-map{display:block;width:100%;height:330px;background:#edf3e9;border:1px solid var(--line);border-radius:8px}.field-map polygon{fill:#75931f22;stroke:var(--forest);stroke-width:2}.field-map circle{fill:var(--forest);stroke:white;stroke-width:3;cursor:pointer}.field-map circle.selected{fill:#ab6400;stroke-width:4}.field-map text{font-size:12px;font-weight:800;fill:white;text-anchor:middle;pointer-events:none}.capture-reading{background:#f6f8ef;border-left:4px solid var(--leaf);padding:14px}.field-points button{font-size:.78rem}dialog{border:1px solid var(--line);border-radius:12px;padding:28px;width:min(720px,calc(100% - 28px));max-height:90dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#061a12aa}dialog h2{font-size:1.6rem}.dialog-close{float:right;margin:0 0 12px 16px}.version-content{white-space:pre-wrap;background:#f5f7f2;padding:16px;border-radius:6px;max-height:45dvh;overflow:auto}.review-history{padding:12px 0;border-bottom:1px solid var(--line)}#menu-toggle{display:none}.runtime-shell{max-width:760px;margin:30px auto;padding:20px}.runtime-shell audio{width:100%}.runtime-shell button{margin:5px}.runtime-progress{width:100%;height:8px}.runtime-card{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.runtime-shell h1{font-size:2.2rem}.runtime-shell h2{font-size:1.6rem}@media(max-width:950px){.workspace-layout{grid-template-columns:190px minmax(0,1fr)}.workspace-layout main{padding:24px 18px}.split{grid-template-columns:1fr}.workspace-heading{align-items:flex-start;flex-direction:column}.workspace-heading label{width:100%}}@media(max-width:700px){#menu-toggle{display:block}.workspace-header{padding:0 14px}.workspace-header nav{font-size:.8rem;gap:12px}.workspace-brand span{display:none}.workspace-layout{display:block}.workspace-layout aside{position:fixed;top:68px;left:0;width:240px;z-index:20;box-shadow:8px 0 20px #123f2b22;transform:translateX(-110%);visibility:hidden;transition:transform .15s}.workspace-layout aside.open{transform:translateX(0);visibility:visible}.form-grid{grid-template-columns:1fr}.panel{padding:16px}.workspace-heading h1{font-size:1.9rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-layout th,.workspace-layout td{padding:8px}.field-map{height:280px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.workspace-header,aside,.toolbar,button{display:none!important}.workspace-layout{display:block}.workspace-layout main{padding:0}.table-wrap,.budget-grid{overflow:visible;max-height:none}}

.reduced-motion *, .reduced-motion *::before, .reduced-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

@media(max-width:700px){.workspace-header{height:auto;min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 16px}.workspace-header .workspace-brand{grid-column:1;grid-row:1}.workspace-header nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:10px;flex-wrap:wrap}.workspace-header #menu-toggle{grid-column:2;grid-row:1}.workspace-layout aside{top:104px;height:calc(100dvh - 104px)}.workspace-header a{min-width:0}.workspace-layout main{overflow-wrap:anywhere}}
