:root{color-scheme:light;color:#111827;--panel:#fff;--border:#e5e7eb;--muted:#6b7280;--brand:#111827;--accent:#2563eb;--danger:#dc2626;--shadow:0 16px 40px #0f172a1f;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}a{color:inherit}button,input,select{font:inherit}input,select{border:1px solid var(--border);color:#111827;background:#fff;border-radius:10px;outline:none;width:100%;padding:.6rem .75rem}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1f}label{color:#374151;gap:.35rem;font-size:.9rem;display:grid}label>span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:700}h1,h2,p{margin-top:0}.icon-btn{border:1px solid var(--border);color:#111827;cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:34px;min-width:34px;height:34px;transition:transform .12s,border-color .12s,background .12s,color .12s;display:inline-grid}.icon-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.icon-btn.active{color:#fff;background:var(--brand);border-color:var(--brand)}.icon-btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.icon-btn.danger{color:var(--danger)}.icon-btn.danger.active,.icon-btn.danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.icon-btn__glyph{font-size:.98rem;font-weight:800;line-height:1}.form-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:.7rem .8rem;font-size:.9rem}.empty-cell{color:var(--muted);text-align:center;padding:2rem!important}.mini-actions{align-items:center;gap:.35rem;display:inline-flex}.form-actions{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.form-actions--center{justify-content:center}.save-toast,.canvas-notice{z-index:100;color:#fff;box-shadow:var(--shadow);background:#111827;border-radius:14px;padding:.7rem .9rem;position:fixed;bottom:20px;right:20px}.text-btn{border:1px solid var(--border);color:#fff;cursor:pointer;background:#111827;border-radius:10px;min-height:34px;padding:.45rem .85rem;font-weight:700;transition:transform .12s,border-color .12s,background .12s,color .12s}.text-btn:hover:not(:disabled){background:#0f172a;transform:translateY(-1px)}.text-btn.danger{color:var(--danger);background:#fff;border-color:#fecaca}.text-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.address-autocomplete{gap:.32rem;display:grid}.address-autocomplete__status{color:var(--muted);font-size:.76rem}.address-autocomplete__status.ready{color:#047857}.address-autocomplete__status.error{color:var(--danger)}.text-btn--ghost{color:#374151;box-shadow:none;background:0 0;border-color:#0000}.text-btn--ghost:hover:not(:disabled){color:#111827;background:#f3f4f6}.app-icon{color:currentColor;flex:none;width:24px;height:24px;display:block;overflow:visible}.icon-btn__glyph{place-items:center;width:100%;height:100%;display:grid}.icon-btn.active{--icon-node-fill:#111827;--icon-paper-fill:#111827}.form-success{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;padding:.7rem .8rem;font-size:.9rem}.save-error-banner{z-index:120;max-width:min(720px,100vw - 2rem);position:fixed;top:74px;left:50%;transform:translate(-50%)}.login-card .text-btn--ghost,.login-card button[type=button]{display:none!important}.app-layout{background:#fff;grid-template-columns:220px minmax(0,1fr);width:100%;height:100%;display:grid}.side-rail{border-right:1px solid var(--border);color:#111827;background:#fff;flex-direction:column;justify-content:space-between;padding:.85rem .7rem;display:flex}.side-rail .icon-btn{color:#fff;background:#ffffff14;border-color:#ffffff24}.side-rail__top{gap:1rem;display:grid}.side-rail__brand-row{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:.45rem;display:grid}.logo-mark,.login-card__logo{color:#111827;letter-spacing:-.06em;background:#fff;border:1px solid #cbd5e1;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:900;display:grid}.side-rail__brand{letter-spacing:.02em;color:#111827;font-family:Georgia,Times New Roman,serif;font-size:.82rem;font-weight:800;line-height:1.05}.side-rail__subtitle{color:#111827;margin-top:.1rem;font-size:.64rem;line-height:1.1}.side-rail__user-card{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.65rem;padding:.15rem .1rem;display:grid}.side-rail__avatar{color:#111827;background:#dbeafe;border:1px solid #93c5fd;border-radius:999px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.side-rail__user-name{color:#111827;font-family:Georgia,Times New Roman,serif;font-size:.74rem;font-weight:800;line-height:1.1}.side-rail__user-role{color:#111827;margin-top:.12rem;font-size:.62rem;line-height:1.1}.content-page{height:100%;padding:1.5rem;overflow:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.page-header h1{margin-bottom:.3rem;font-size:1.9rem}.page-header p{color:var(--muted);margin-bottom:0}.header-actions-inline{align-items:center;gap:.6rem;display:flex}.toolbar-row{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.search-input{max-width:420px}.rows-control{width:110px}.table-card,.project-form,.login-card,.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 28px #0f172a0f}.table-card{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.85rem .95rem;font-size:.92rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8fafc;font-size:.75rem}td:nth-last-child(-n+4),th:nth-last-child(-n+4){text-align:center;width:56px}.pagination-row{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.login-page{background:radial-gradient(circle at top,#e5e7eb,#f8fafc 45%,#eef2f7);place-items:center;min-height:100%;padding:1rem;display:grid}.login-card{gap:1rem;width:min(420px,100%);padding:2rem;display:grid}.login-card h1{margin-bottom:0;font-size:2rem}.login-card p{color:var(--muted);margin-bottom:.4rem}.project-form{gap:1rem;padding:1.2rem;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.map-preview{border:1px solid var(--border);cursor:default;background-color:#d1d5db;border-radius:18px;height:420px;position:relative;overflow:hidden}.map-preview.satellite{background-image:radial-gradient(circle at 20% 20%,#fff3,#0000 12%),linear-gradient(45deg,#878b73 25%,#7b806d 25% 50%,#878b73 50% 75%,#7b806d 75% 100%);background-size:280px 280px,48px 48px}.map-preview.map{background-image:linear-gradient(90deg,#ffffff73 1px,#0000 1px),linear-gradient(0deg,#ffffff73 1px,#0000 1px),linear-gradient(135deg,#d7ead7,#cfdccc);background-size:36px 36px,36px 36px,auto}.map-preview__controls{z-index:2;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;max-width:min(310px,100% - 24px);display:flex;position:absolute;top:12px;right:12px}.map-preview__svg{width:100%;height:100%;position:absolute;inset:0}.map-preview__hint{color:#111827;background:#ffffffdb;border-radius:12px;padding:.55rem .75rem;font-size:.86rem;position:absolute;bottom:12px;left:12px}.table-input{width:220px;padding:.45rem .55rem}.modal-backdrop{z-index:90;backdrop-filter:blur(3px);background:#0f172a7a;place-items:center;display:grid;position:fixed;inset:0}.modal-card{gap:1rem;width:min(520px,100% - 2rem);padding:1.2rem;display:grid}.modal-card__header,.modal-card__actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modal-card__header h2{margin:0}.missing-page{align-content:center;place-items:center;gap:1rem;width:100%;height:100%;display:grid}@media (width<=900px){.app-layout{grid-template-columns:78px 1fr}.side-rail__brand,.side-rail__user{display:none}.form-grid{grid-template-columns:1fr}}.map-preview__google-map,.map-preview__fallback{z-index:0;position:absolute;inset:0}.map-preview__google-map{pointer-events:none}.map-preview--pan,.map-middle-pan-active{cursor:grabbing}.map-preview--draw{cursor:default}.map-preview__fallback{background-color:#d1d5db}.map-preview.satellite .map-preview__fallback{background-image:radial-gradient(circle at 20% 20%,#fff3,#0000 12%),linear-gradient(45deg,#878b73 25%,#7b806d 25% 50%,#878b73 50% 75%,#7b806d 75% 100%);background-size:280px 280px,48px 48px}.map-preview.map .map-preview__fallback{background-image:linear-gradient(90deg,#ffffff73 1px,#0000 1px),linear-gradient(0deg,#ffffff73 1px,#0000 1px),linear-gradient(135deg,#d7ead7,#cfdccc);background-size:36px 36px,36px 36px,auto}.map-preview__svg,.map-preview__controls,.map-preview__hint{z-index:2}.map-preview__hint strong{font-size:.78rem}.new-project-workspace{background:#f3f4f6;width:100%;height:100%;overflow:hidden}.new-project-split{grid-template-columns:minmax(380px,48%) minmax(420px,52%);width:100%;height:100%;display:grid}.new-project-pane{min-height:0}.new-project-pane--form{background:#f3f4f6;grid-auto-rows:max-content;gap:14px;padding:18px 26px;display:grid}.new-project-pane--form h1{color:#0f172a;margin:0;font-family:Georgia,Times New Roman,serif;font-size:3rem;font-weight:500}.new-project-field{gap:8px;display:grid}.new-project-field>span{color:#334155;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600}.new-project-field input,.new-project-field .address-autocomplete input{background:#fff;border-radius:10px;min-height:40px}.new-project-field .address-autocomplete{gap:6px}.new-project-field .address-autocomplete__status{font-size:.72rem}.property-type-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.property-type-btn{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:12px;min-height:44px;font-weight:700}.property-type-btn.active{color:#fff;background:#0f172a;border-color:#0f172a}.new-project-actions{justify-content:flex-end;align-items:center;gap:18px;margin-top:10px;display:flex}.new-project-pane--map{box-sizing:border-box;background:#dbe1e8;place-items:center;padding:18px;display:grid}.new-project-pane--map .map-preview{border:1px solid #0f172a29;border-radius:18px;width:min(100%,640px,100vh - 36px);max-width:640px;height:min(100%,640px,100vh - 36px);max-height:640px}.new-project-pane--map .map-preview__controls{top:10px;right:10px}.new-project-pane--map .map-preview__hint{color:#fff;text-align:center;background:#0f172ad6;font-size:.74rem;bottom:12px;left:50%;transform:translate(-50%)}.new-project-pane--map .map-preview__hint strong{font-size:.74rem}@media (width<=980px){.new-project-split{grid-template-rows:auto minmax(360px,45vh);grid-template-columns:1fr}}.map-preview__controls{z-index:5;pointer-events:auto}.map-preview__controls .icon-btn{pointer-events:auto}.map-preview__svg{pointer-events:none}.map-preview--idle .map-preview__google-map{display:none}.map-preview--idle .map-preview__fallback{background-color:#003b5c;background-image:radial-gradient(circle at 20% 18%,#ffffff1a,#0000 13%),linear-gradient(135deg,#003b5c,#002b45 70%,#001f33);background-size:420px 420px,auto}.map-preview--idle.satellite,.map-preview--idle.map{background-color:#003b5c;background-image:none}.dashboard-page{background:#fff}.dashboard-page__header{margin-bottom:.9rem}.dashboard-page__header h1{margin-bottom:0;font-size:1.9rem}.dashboard-toolbar-row{margin-bottom:.9rem}.dashboard-search-input{width:min(480px,100%);max-width:none}.dashboard-table-card{box-shadow:none;border-radius:6px;overflow:hidden}.dashboard-table th{background:#fff}.dashboard-table td,.dashboard-table th{padding-top:.8rem;padding-bottom:.8rem}.dashboard-table-footer{color:var(--muted);background:#fff;justify-content:flex-end;align-items:center;gap:.9rem;padding:.9rem 1rem;display:flex}.dashboard-rows-inline{color:var(--muted);align-items:center;gap:.55rem;display:inline-flex}.dashboard-rows-inline>span{letter-spacing:0;text-transform:none;color:var(--muted);font-size:.86rem;font-weight:500}.dashboard-rows-inline select{width:72px;min-width:72px;box-shadow:none;background:0 0;border:none;padding-top:.4rem;padding-bottom:.4rem}.dashboard-rows-inline select:focus{box-shadow:none;border:none;outline:none}.dashboard-range-label{font-size:.9rem}.dashboard-pagination-actions .icon-btn{color:#374151;background:0 0;border:none}.dashboard-pagination-actions .icon-btn:hover:not(:disabled){background:#f3f4f6}.side-rail__sign-out{text-transform:none;justify-content:space-between;align-items:center;gap:.6rem;width:100%;display:inline-flex}.side-rail__sign-out .app-icon{width:30px;height:30px}.design-page{background:#eef2f7;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;display:grid;overflow:hidden}.top-panel{border-bottom:1px solid var(--border);backdrop-filter:blur(10px);z-index:40;box-sizing:border-box;background:#fffffff0;grid-template-columns:minmax(0,1fr) minmax(260px,520px) minmax(0,1fr);align-items:center;gap:.45rem .55rem;max-width:100vw;height:auto;min-height:0;max-height:none;padding:.45rem .55rem;display:grid;position:relative;overflow:visible}.top-panel__left,.top-panel__right{flex-wrap:wrap;align-items:center;gap:.38rem;min-width:0;display:flex}.top-panel__left{justify-content:flex-start}.top-panel__right{justify-content:flex-end;row-gap:.3rem;min-width:0;max-width:100%;overflow:visible}.top-panel__middle{text-align:center;justify-self:center;width:100%;min-width:0}.top-panel__project-name{text-overflow:ellipsis;white-space:nowrap;font-weight:900;overflow:hidden}.top-panel__project-address{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}@media (width<=1320px){.top-panel{grid-template-columns:minmax(0,1fr) minmax(240px,360px) minmax(0,1fr)}}@media (width<=1120px){.top-panel{grid-template-columns:1fr}.top-panel__left,.top-panel__right{justify-content:center}.top-panel__middle{order:-1;max-width:100%}}.metric{border:1px solid var(--border);background:#f8fafc;border-radius:12px;gap:.1rem;min-width:66px;padding:.32rem .48rem;display:grid}.metric strong{font-size:.88rem;line-height:1}.metric span{color:var(--muted);font-size:.66rem;line-height:1}.tools-strip{border-left:1px solid var(--border);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.26rem;max-width:min(100%,100vw - 32px);padding-left:.3rem;display:flex;overflow:visible}.canvas-shell{background:#e5e7eb;min-height:0;position:relative}.konva-stage{background:#e2e8f0}.design-page__back{z-index:25;position:fixed;bottom:18px;left:18px}.floating-card{z-index:22;border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(8px);background:#fffffff0;border-radius:18px;gap:.65rem;padding:.8rem;display:grid;position:absolute}.floating-card__title{text-transform:uppercase;letter-spacing:.06em;color:#374151;font-size:.75rem;font-weight:900}.roof-properties-panel{width:260px;top:18px;left:18px}.layer-panel{width:310px;top:18px;right:18px}.layer-row{border-bottom:1px solid #f1f5f9;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.35rem 0;font-size:.88rem;display:grid}.layer-row:last-child{border-bottom:0}.obstruction-mode-panel,.fire-finish-panel{bottom:58px;left:18px}.map-tool-panel{width:310px;top:18px;right:18px}.file-input-label input[type=file]{padding:.5rem;font-size:.78rem}.canvas-status-bar{z-index:20;border:1px solid var(--border);color:#374151;background:#ffffffe6;border-radius:14px;align-items:center;gap:.75rem;width:fit-content;max-width:calc(100% - 120px);padding:.48rem .65rem;font-size:.78rem;display:flex;position:absolute;bottom:18px;left:72px;right:18px;box-shadow:0 8px 22px #0f172a14}.canvas-status-bar span{white-space:nowrap}.canvas-notice{animation:1.5s forwards fade-out;position:absolute;bottom:18px;right:18px}@keyframes fade-out{0%,75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@media (width<=1120px){.top-panel__middle{flex-basis:100%;order:-1}.top-panel__left,.top-panel__right{flex-basis:100%;justify-content:center}}.hidden-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.tool-submenu-panel{top:88px;left:52%;transform:translate(-50%)}.solar-mode-panel{width:250px}.tool-submenu-hint{color:#6b7280;font-size:.72rem}.tool-button-wrap{align-items:center;display:inline-flex;position:relative;overflow:visible}.tool-dropdown-menu{z-index:80;border:1px solid var(--border);color:#111827;min-width:136px;box-shadow:var(--shadow);background:#fff;border-radius:12px;gap:.25rem;padding:.35rem;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:calc(100% + 8px);left:auto;right:0;transform:none}.tool-dropdown-menu button{color:#111827;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;width:100%;padding:.42rem .55rem}.tool-dropdown-menu button:hover,.tool-dropdown-menu button.active{color:#fff;background:#111827}@media (width<=760px){.top-panel{padding:.45rem}.metric{min-width:58px;padding:.28rem .4rem}.metric span{font-size:.58rem}.tools-strip{border-left:0;justify-content:center;padding-left:0}.tool-dropdown-menu{left:50%;right:auto;transform:translate(-50%)}}@media (width<=920px){.top-panel__left,.top-panel__middle,.top-panel__right{flex:100%;justify-content:center}.tools-strip{border-left:0;justify-content:center;padding-left:0}}.tools-strip .icon-btn{width:36px;min-width:36px;height:36px}.tools-strip .app-icon{width:27px;height:27px}.tool-dropdown-menu button{grid-template-columns:26px minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.tool-dropdown-menu__icon{place-items:center;width:26px;height:26px;display:grid}.tool-dropdown-menu__icon .app-icon{width:24px;height:24px}
/*# sourceMappingURL=n3bula-konva-app-parcel.a08090b4.css.map */
