:root{--bg: #1A1A1A;--chrome: #1E1E1E;--surface: #232323;--surface-2: #2a2a2a;--input: #1a1a1a;--line: rgba(255,255,255,.08);--line-2: rgba(255,255,255,.14);--tx: rgba(255,255,255,.92);--tx-2: rgba(255,255,255,.6);--tx-3: rgba(255,255,255,.38);--accent: #F5A623;--amber-1: #ffb300;--amber-2: #ff6f00;--accent-soft: #ffd27a;--green: #34D399;--blue: #60A5FA;--red: #F87171;--radius: 12px;--radius-sm: 8px;--appbar-h: 60px}*{box-sizing:border-box}html,body,#app{height:100%}html{scrollbar-gutter:stable}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#ffffff47;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}body{margin:0;background:var(--bg);color:var(--tx);font-family:Segoe UI,"Segoe UI Emoji",Segoe UI Symbol,Inter,Roboto,Helvetica Neue,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select{font-family:inherit}a{color:var(--accent);text-decoration:none}[hidden]{display:none!important}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;display:inline-block;vertical-align:middle;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;user-select:none}.brand{display:flex;align-items:center;gap:10px;color:inherit}.brand-icon{width:34px;height:34px;border-radius:9px;display:block}.brand-text{display:flex;flex-direction:column;line-height:1;gap:3px;color:inherit}.appbar .brand .page-lead-back{background:#ffffff0d}.brand-word{font-family:Roboto,sans-serif;font-weight:900;letter-spacing:.12rem;text-transform:uppercase;font-size:1.05rem;color:var(--accent);white-space:nowrap}.brand-product{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-2)}.brand-compact .brand-icon{width:30px;height:30px}.brand-compact .brand-word{font-size:.95rem}.brand-lg .brand-icon{width:44px;height:44px;border-radius:11px}.brand-lg .brand-word{font-size:1.35rem;letter-spacing:.16rem}.brand-lg .brand-product{font-size:.7rem}.appbar{height:var(--appbar-h);background:var(--chrome);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 20px;position:sticky;top:0;z-index:10;box-shadow:0 4px 18px #00000059}.appbar .spacer{flex:1}.appbar-btn{background:transparent;border:1px solid transparent;color:var(--tx-2);border-radius:9px;width:38px;height:38px;display:grid;place-items:center;cursor:pointer}.appbar-btn:hover{background:#ffffff12;color:var(--tx)}.account{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:6px;box-shadow:0 14px 40px #00000080;z-index:20}.account-who{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;color:var(--tx-2)}.account-who span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-who .ms{font-size:18px;flex-shrink:0}.account-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);color:var(--tx);padding:10px;margin-top:4px;border-radius:0 0 6px 6px;cursor:pointer;font-size:13px;font-family:inherit}.account-item:hover{background:#f871711f;color:#fecaca;box-shadow:inset 0 0 0 1px #f8717140}.account-item:hover .ms{color:var(--red)}.account-item .ms{font-size:18px}.lang-switch{display:inline-flex;align-items:center;gap:4px;color:var(--tx-2);border:1px solid var(--line-2);border-radius:9px;padding:0 6px 0 8px;height:36px}.lang-switch select{background:transparent;border:0;color:var(--tx);font-size:12.5px;outline:none;cursor:pointer;padding-right:2px}.lang-switch select option{background:var(--surface);color:var(--tx)}.page{--page-width: 1100px;max-width:var(--page-width);margin:0 auto;padding:24px 24px 64px;display:flex;flex-direction:column;gap:16px;min-width:0;animation:view-in .24s ease-out both}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-w-xxsmall{--page-width: 700px}.page-w-xsmall{--page-width: 900px}.page-w-small{--page-width: 1100px}.page-head{display:flex;flex-direction:column;gap:14px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}.page-head-row{display:flex;align-items:center;gap:13px;min-width:0}.page-lead{width:42px;height:42px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.page-lead .ms{font-size:20px}.page-lead-tile{background:#f5a6231f;color:var(--accent)}.page-lead-back{background:#ffffff0d;border:none;color:#ffffffb3;cursor:pointer}.page-lead-back:hover{background:#ffffff1a;color:#fffffff2}.page-titles{min-width:0}.page-title{font-size:1.4rem;font-weight:600;line-height:1.3;color:#ffffffeb}.page-sub{font-size:.82rem;color:#ffffff80;line-height:1.55;margin-top:2px;max-width:720px}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;background:#ffffff06;border-radius:10px;padding:7px 10px}.page-body{display:flex;flex-direction:column;gap:16px;min-width:0}.btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.16);color:#ffffffe6;border-radius:6px;padding:8px 14px;font-size:.85rem;line-height:1.25;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn .ms{font-size:18px}.btn:hover{background:#ffffff1a}.btn-primary{background:var(--accent);color:#1a1a1a;border-color:transparent}.btn-primary:hover{background:#f7b23f}.btn-ghost{background:transparent;border-color:transparent;color:var(--tx-2)}.btn-ghost:hover{color:var(--tx);background:#ffffff0f}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:6px 10px;font-size:.8rem}.btn-block{width:100%;justify-content:center;padding:11px;font-size:14px}.icon-btn{background:transparent;border:0;color:var(--tx-3);cursor:pointer;padding:4px;border-radius:7px;display:inline-grid;place-items:center}.icon-btn:hover{color:var(--tx);background:#ffffff14}.icon-btn:disabled{opacity:.35;cursor:default;background:transparent}.icon-btn .ms{font-size:18px}.spacer{flex:1}.muted{color:var(--tx-2)}.small{font-size:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.card h3{margin:0 0 8px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}.card-sticky{position:sticky;top:0;z-index:2;box-shadow:0 8px 20px #00000059}.subcard{background:#ffffff08;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px}.subcard-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;margin-bottom:8px}.subcard-title .ms{color:var(--accent);font-size:18px}.subcard p{margin:0 0 10px;color:var(--tx-2)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:12.5px;margin-top:6px}.kv span{color:var(--tx-2);display:inline-flex;align-items:center;gap:6px}.kv span .ms{font-size:16px}.kv b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.kv-lg{font-size:13.5px;gap:8px 16px}.tag{margin-left:auto;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px;background:#60a5fa26;color:var(--blue)}.chip{background:#ffffff0d;border:1px solid var(--line-2);border-radius:6px;padding:0 11px 0 9px;height:36px;font-size:12.5px;color:var(--tx-2);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;max-width:260px;overflow:hidden;text-overflow:ellipsis}.chip .ms{font-size:16px}.chip-ok{border-color:#34d39966;color:var(--green)}.chip-warn{border-color:#f5a62366;color:var(--accent)}.status{font-size:.68rem;font-weight:700;border-radius:10px;padding:2px 8px;white-space:nowrap}.status-open{background:#60a5fa26;color:var(--blue)}.status-closed{background:#ffffff14;color:var(--tx-2)}.status-ok,.status-accepted{background:#34d3992e;color:var(--green)}.status-rejected{background:#f8717126;color:var(--red)}.status-draft{background:#ffffff1f;color:var(--tx)}.notice{display:flex;gap:10px;align-items:flex-start;background:#ffffff0a;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:var(--radius-sm);padding:10px 12px;font-size:12.5px;color:var(--tx-2);margin-top:10px;line-height:1.5}.notice .ms{font-size:18px;flex-shrink:0;color:var(--blue);margin-top:1px}.notice-warn{border-left-color:var(--accent)}.notice-warn .ms{color:var(--accent)}.notice-info{margin:0}.notice-prices{margin:4px 0 8px}.foot{font-size:11.5px;color:var(--tx-3);margin-top:8px;line-height:1.5}.centered{height:100%;display:grid;place-items:center;text-align:center;padding:30px}.input{width:100%;background:var(--input);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;color:var(--tx);font-size:14px;outline:none}.input:focus{border-color:var(--accent)}.search{display:flex;align-items:center;gap:8px;background:var(--input);border:1px solid var(--line-2);border-radius:10px;padding:0 12px;height:42px}.search .ms{color:var(--tx-3);font-size:20px}.search input{flex:1;background:transparent;border:0;color:var(--tx);font-size:14px;outline:none;min-width:0}.search:focus-within{border-color:var(--accent)}.seg{display:flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}.seg button{flex:1;background:transparent;border:0;color:var(--tx-3);padding:7px 12px;font-size:12.5px;cursor:pointer;white-space:nowrap}.seg button.seg-active{background:#f5a62326;color:var(--accent);font-weight:600}.seg-sm button{padding:6px 10px;font-size:12px}.toolbar{display:flex;gap:12px;align-items:center}.toolbar .search{flex:1;max-width:420px}.plan-grid>.empty{grid-column:1 / -1}.empty{text-align:center;padding:56px 20px;border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--tx-2);display:grid;justify-items:center;gap:8px}.empty-sm{padding:28px 16px}.empty-icon{font-size:40px;color:var(--tx-3)}.empty-title{font-size:15px;font-weight:700;color:var(--tx)}.empty-text{max-width:420px;line-height:1.55}.empty .btn{margin-top:8px}.toast{position:fixed;left:50%;bottom:44px;transform:translate(-50%,10px);background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;padding:10px 14px;font-size:13px;z-index:60;box-shadow:0 10px 30px #00000080;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:min(560px,90vw)}.toast-visible{opacity:1;transform:translate(-50%)}.toast-error{border-color:#f8717180;color:#fecaca}.addr-country{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:30px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;color:var(--tx);font-size:12.5px;padding:0 8px;outline:none;cursor:pointer}.addr-country:focus{border-color:var(--accent)}.addr-search .addr-input{padding-right:130px}.addr-search{position:relative}.addr-icon{position:absolute;left:12px;top:11px;color:var(--tx-3);font-size:15px}.addr-input{width:100%;background:var(--input);border:1px solid var(--line-2);border-radius:10px;padding:11px 12px 11px 34px;color:var(--tx);font-size:14px;outline:none}.addr-input:focus{border-color:var(--accent)}.addr-suggestions{position:absolute;left:0;right:0;top:46px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:10px;overflow:hidden;z-index:20;box-shadow:0 10px 30px #00000080}.addr-row{padding:9px 12px;cursor:pointer;border-top:1px solid var(--line)}.addr-row:first-child{border-top:0}.addr-row:hover,.addr-row-active{background:#f5a6231f}.addr-row b{color:var(--accent)}.login-stage{min-height:calc(100% - var(--appbar-h));display:grid;place-items:center;padding:40px 20px}.login-split{display:grid;grid-template-columns:1.05fr 1fr;width:min(940px,100%);border-radius:20px;overflow:hidden;border:1px solid var(--line-2);background:var(--surface);box-shadow:0 30px 80px #0000008c;animation:fade-up .7s cubic-bezier(.16,1,.3,1) both}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.login-split.login-leave{animation:card-out .24s ease-in both}@keyframes card-out{to{opacity:0;transform:translateY(-10px) scale(.985)}}.login-hero{position:relative;overflow:hidden;padding:40px 38px;display:flex;flex-direction:column;gap:28px;color:#fff;background:#0c0b0a}.login-fx{position:absolute;inset:0;width:100%;height:100%}.login-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 420px at 50% 46%,transparent 55%,rgba(8,7,6,.6) 98%)}.login-hero>:not(.login-fx){position:relative;z-index:1}.login-hero-body{flex:1}.login-hero h2{margin:18px 0 10px;font-size:1.55rem;line-height:1.2;letter-spacing:-.01em}.login-hero p{margin:0;color:#ffffffc7;line-height:1.6;max-width:380px;font-size:14px}.login-hero ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px;color:#ffffffd9;font-size:13px}.login-hero li{display:flex;align-items:flex-start;gap:10px}.login-hero li .ms{color:var(--accent);font-size:19px;flex-shrink:0}.login-hero-foot{font-size:12px;color:#ffffff80}.login-pane{padding:28px 38px 24px;display:flex;flex-direction:column}.login-pane-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:22px 0}.login-steps{list-style:none;margin:0;padding:0 0 16px;display:flex;gap:18px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--tx-3)}.login-steps li{display:flex;align-items:center;gap:8px}.login-steps li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:800;background:#ffffff12;color:var(--tx-3)}.login-steps li.is-active{color:var(--tx);font-weight:600}.login-steps li.is-active span{background:#f5a6232e;color:var(--accent)}.login-steps li.is-done{color:var(--tx-2)}.login-steps li.is-done span{background:#34d3992e;color:var(--green)}.login-pane-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--tx-2)}.login-pane-foot a{font-weight:600}.login-pane h1{margin:0 0 4px;font-size:1.3rem;letter-spacing:-.01em}.login-lead{margin:0 0 12px;color:var(--tx-2);line-height:1.55}.login-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--tx-2);margin-top:12px}.login-form input{background:var(--input);border:1px solid var(--line-2);border-radius:10px;padding:11px 12px;color:var(--tx);font-size:14px;outline:none}.login-form input:focus{border-color:var(--accent)}.login-form .btn-block{margin-top:20px}.login-error{margin-top:12px;background:#f871711a;border:1px solid rgba(248,113,113,.4);color:#fecaca;border-radius:9px;padding:9px 12px;font-size:12.5px}.login-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:13px;font-weight:600;color:var(--accent);background:transparent;border:0;padding:0;cursor:pointer;font-family:inherit;text-decoration:none}.login-link:hover{text-decoration:underline}.login-product{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-2);margin-top:2px}.login-company{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.login-company-logo{max-height:48px;max-width:180px;object-fit:contain;display:block}.login-company-mark{width:44px;height:44px;border-radius:11px;background:#f5a62329;color:var(--accent);display:grid;place-items:center;font-weight:800;font-size:18px}.login-company-name{font-weight:700;font-size:15px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;flex-direction:column}.plan-card:hover{transform:translateY(-2px);border-color:#f5a62373;box-shadow:0 12px 30px #00000059}.plan-thumb{position:relative;aspect-ratio:16 / 9;background:#0f0f0f;overflow:hidden}.plan-thumb img{width:100%;height:100%;object-fit:cover;display:block}.plan-thumb-empty{width:100%;height:100%;display:grid;place-items:center;color:var(--tx-3);background:linear-gradient(135deg,#2a2a2a,#1c1c1c)}.plan-thumb-empty .ms{font-size:40px}.plan-thumb .status{position:absolute;left:10px;top:10px;background:#0e0e0ee0;border:1px solid rgba(255,255,255,.18);padding:3px 9px;box-shadow:0 2px 8px #00000073;backdrop-filter:blur(3px)}.plan-thumb .status-ok{color:#6ee7b7;border-color:#34d39980}.plan-thumb .status-draft{color:#fff}.plan-body{padding:12px 14px 10px;display:grid;gap:4px}.plan-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-meta{font-size:12.5px;color:var(--tx-2);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-meta .ms{font-size:16px;flex-shrink:0}.plan-foot{display:flex;align-items:center;gap:12px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--tx-2)}.plan-stat b{color:var(--tx);font-variant-numeric:tabular-nums}.plan-when{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.plan-when .ms{font-size:15px}.stepper{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stepper-step{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);opacity:.55;font-size:13px}.stepper-step.is-active{opacity:1;border-color:#f5a62373}.stepper-step.is-done{opacity:1;cursor:pointer}.stepper-step small{display:block;color:var(--tx-2);font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.stepper-step>div{min-width:0}.stepper-num{width:24px;height:24px;border-radius:50%;background:#ffffff14;color:var(--tx-3);font-size:.72rem;font-weight:800;display:grid;place-items:center;flex-shrink:0}.is-active .stepper-num{background:#f5a6232e;color:var(--accent)}.is-done .stepper-num{background:#34d3992e;color:var(--green)}.card-pane{padding:16px}.pane-text{margin:0 0 10px;color:var(--tx-2)}.pane-actions{display:flex;gap:8px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.pick-list{display:grid;gap:6px;margin-top:12px}.pick-row{background:#ffffff08;border:1px solid var(--line);border-radius:10px;padding:11px 14px;display:flex;align-items:center;gap:12px;cursor:pointer}.pick-row:hover{border-color:var(--line-2);background:#ffffff0f}.pick-row-active{border-color:#f5a62373;background:#f5a62312}.pick-row>div{flex:1;min-width:0}.pick-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-sub{color:var(--tx-2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:34px;height:34px;border-radius:9px;background:#60a5fa26;color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:.8rem;flex-shrink:0}.avatar-proposal{background:#f5a62326;color:var(--accent)}.avatar .ms{font-size:18px}.chev{color:var(--tx-3)}.summary{margin-top:14px;padding:14px 16px;border-radius:var(--radius-sm);background:#f5a6230f;border:1px solid rgba(245,166,35,.25)}.editor{animation:view-in .24s ease-out both;height:100%;display:grid;grid-template-rows:var(--appbar-h) 46px 1fr 26px;grid-template-columns:250px 1fr 330px;grid-template-areas:"top top top" "bar bar bar" "left map right" "status status status";overflow:hidden}.editor>.appbar{grid-area:top;position:static;box-shadow:none}.appbar-center{display:flex;align-items:center;min-width:0;margin-left:10px;padding-left:16px;border-left:1px solid var(--line);height:34px}.editor-title-block{min-width:0;line-height:1.2}.editor-title{font-size:.95rem;font-weight:600;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-sub{font-size:.74rem;color:var(--tx-2);display:flex;align-items:center;gap:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.editor-sub .ms{font-size:14px}.appbar-divider{width:1px;height:24px;background:var(--line-2);margin:0 4px}.editor-toolbar{grid-area:bar;display:flex;align-items:center;gap:10px;padding:0 12px 0 250px;background:var(--chrome);border-bottom:1px solid var(--line);min-width:0}.toolbar-group{display:flex;align-items:center;gap:2px}.toolbar-sep{width:1px;height:22px;background:var(--line-2);margin:0 4px;flex-shrink:0}.toolbar-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin:0 6px 0 0}.layer-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:7px;font-size:12px;color:var(--tx-3);cursor:pointer;user-select:none;border:1px solid transparent;position:relative}.layer-pill .ms{font-size:16px}.layer-pill input{position:absolute;opacity:0;width:0;height:0}.layer-pill:hover{background:#ffffff0d}.layer-pill:has(input:checked){color:var(--tx);background:#ffffff0f;border-color:var(--line)}.layer-pill:has(input:checked) .ms{color:var(--accent)}.layer-btn{background:transparent;border:1px solid transparent;font:inherit}.layer-btn .key{margin-left:4px}.layer-btn-on{color:var(--tx);background:#f5a62321;border-color:#f5a62359}.layer-btn-on .ms{color:var(--accent)}.map-menu-wrap{position:relative}.map-menu{position:absolute;left:0;top:calc(100% + 6px);min-width:260px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:6px;box-shadow:0 14px 40px #00000080;z-index:30;max-height:70vh;overflow:auto}.map-menu-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);padding:8px 10px 4px}.map-menu-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;font-size:12.5px;color:var(--tx);cursor:pointer}.map-menu-item:hover{background:#ffffff0d}.map-menu-item input{accent-color:var(--accent);margin:0}.map.schematic{background:#fff}.map.schematic [data-layer=aerial]{display:none}.map.tool-measure{cursor:crosshair}.tool-row{display:grid;grid-template-columns:1fr 28px 26px;align-items:center;gap:2px}.tool-key{justify-self:center}.tool-row .tool{min-width:0}.tool-extra{display:flex;justify-content:center}.tool-extra .icon-btn{width:28px;height:28px}.section-action{margin-left:auto;padding:2px}.section-action .ms{font-size:17px}@media(max-width:1400px){.layer-pill span:not(.ms){display:none}}.editor-left{grid-area:left;background:var(--chrome);border-right:1px solid var(--line);padding:14px 12px;overflow:auto}.editor-right{grid-area:right;background:var(--chrome);border-left:1px solid var(--line);padding:14px 12px;overflow:auto}.editor-right .card{background:var(--surface);padding:14px}.side-tabs{display:flex;gap:4px;margin:0 0 10px;padding:3px;background:var(--input);border:1px solid var(--line);border-radius:10px}.side-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--tx-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;position:relative}.side-tab .ms{font-size:17px}.side-tab:hover{color:var(--tx)}.side-tab-on{background:var(--surface);color:var(--tx);box-shadow:0 1px 3px #0000004d}.side-tab-on .ms{color:var(--accent)}.side-tab-dot{width:7px;height:7px;border-radius:50%;background:var(--tx-3)}.dot-recommended{background:var(--green)}.dot-compatible{background:var(--accent)}.dot-incompatible{background:var(--red)}.editor-right .card h3{justify-content:space-between}.editor-status{grid-area:status;background:var(--chrome);border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 14px 0 264px;font-size:11.5px;color:var(--tx-2)}.editor-status .dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}.editor-status .save-state{display:inline-flex;align-items:center;gap:6px}.editor-status .status-sep{width:1px;height:12px;background:var(--line-2)}.editor-status .dot-saved{background:var(--green)}.editor-status .dot-saving{background:var(--accent);animation:save-pulse 1s ease-in-out infinite}.editor-status .dot-dirty{background:var(--accent)}.editor-status .dot-failed{background:var(--red)}@keyframes save-pulse{0%,to{opacity:1}50%{opacity:.35}}.editor-status .coord{margin-left:auto;font-family:Consolas,monospace;color:var(--tx-3)}.section-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin:18px 0 8px;display:flex;align-items:center;gap:8px}.editor-left>.section-label:first-child,.section-label-first{margin-top:0}.section-label .tag{margin-left:auto;text-transform:none;letter-spacing:0}.tool{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--tx);border-radius:8px;padding:8px 10px;cursor:pointer;font-size:13px}.tool:hover{background:#ffffff0d}.tool-active{background:#f5a62321;border-color:#f5a62359;color:var(--accent-soft)}.tool-ic{font-size:19px;color:var(--tx-2)}.tool-active .tool-ic{color:var(--accent)}.tool-key,.tool .key,.help-tool .key,.layer-btn .key{margin-left:auto;min-width:18px;text-align:center;font-size:10px;line-height:16px;color:var(--tx-3);border:1px solid var(--line-2);border-radius:4px;padding:0 4px;font-family:Consolas,monospace}.help-tool .key{margin-left:0}.hint-row{display:flex;align-items:flex-start;gap:6px;margin-top:10px;padding:9px 11px;border:1px dashed var(--line-2);border-radius:8px;background:#ffffff04}.hint-line{flex:1;font-size:11.5px;color:var(--tx-2);line-height:1.5}.hint-row .icon-btn{flex-shrink:0;margin-top:-3px}.switch{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:13px;color:var(--tx-2);cursor:pointer;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{width:30px;height:16px;border-radius:8px;background:#ffffff24;position:relative;flex-shrink:0;transition:background .15s}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;opacity:.7;transition:transform .15s,opacity .15s}.switch input:checked+.switch-track{background:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(14px);opacity:1;background:#1a1a1a}.switch input:checked~span:last-child{color:var(--tx)}.roof-view{margin:0 0 10px}.roof-view button{flex:1}.btn-block{width:100%;justify-content:center;margin:0 0 8px}.catalog-search{width:100%;margin-bottom:6px;background:var(--input);border:1px solid var(--line-2);border-radius:8px;padding:6px 9px;color:var(--tx);font-size:12.5px;outline:none}.catalog-search:focus{border-color:var(--accent)}.merge-bar-soft{background:#60a5fa14;border-color:#60a5fa4d;color:var(--blue)}.link-btn{background:none;border:0;color:var(--tx-2);text-decoration:underline;cursor:pointer;padding:4px 10px;text-align:left}.link-btn:hover{color:var(--tx)}.checks{margin-top:10px;display:flex;flex-direction:column;gap:6px}.check{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--tx-2);line-height:1.45;padding:7px 9px;border-radius:7px;background:#f5a62312;border:1px solid rgba(245,166,35,.25)}.check .ms{color:var(--accent);font-size:16px;flex-shrink:0}.merge-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;padding:6px 8px 6px 10px;border-radius:8px;background:#f5a6231a;border:1px solid rgba(245,166,35,.35);font-size:12px;color:var(--accent-soft, #FBD38D)}.roof-list{display:flex;flex-direction:column;gap:2px}.roof-group-label{font-size:11.5px;color:var(--tx-2);padding:2px 10px 6px}.roof-group{margin-top:6px}.roof-group summary{list-style:none;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--tx-2);padding:6px 10px;cursor:pointer;border-radius:7px}.roof-group summary::-webkit-details-marker{display:none}.roof-group summary:hover{background:#ffffff0d}.roof-group-chev{font-size:18px;transition:transform .15s}.roof-group[open] .roof-group-chev{transform:rotate(180deg)}.roof-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;border:1px solid transparent;min-width:0}.roof-row:hover{background:#ffffff0d}.roof-row-active{background:#f5a6231f;border-color:#f5a62359}.roof-ic{font-size:16px;color:var(--tx-3);flex-shrink:0}.roof-row-active .roof-ic{color:var(--accent)}.roof-del{flex-shrink:0;padding:2px;margin:-2px -4px -2px 0;opacity:0}.roof-del .ms{font-size:16px}.roof-row:hover .roof-del,.roof-row-active .roof-del{opacity:.6}.roof-del:hover{opacity:1!important;color:var(--red, #F87171);background:#f871711f}@media(hover:none){.roof-del{opacity:.6}}.roof-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roof-sub{display:block;color:var(--tx-3);font-size:11px;overflow:hidden;text-overflow:ellipsis}.string-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:0 0 0 1px #0009}.string-row{align-items:flex-start;position:relative}.string-row .roof-del{position:absolute;top:5px;right:8px;margin:0}.string-row .string-swatch{margin-top:3px}.string-row .roof-title{white-space:normal;overflow:visible}.string-inputs{display:flex;gap:6px;margin-top:6px}.string-select{flex:1 1 0;min-width:0;width:100%;background:var(--input);border:1px solid var(--line-2);border-radius:6px;padding:3px 4px;color:var(--tx);font-size:11.5px;outline:none;cursor:pointer}.map.tool-string,.map.tool-string .map-svg .cell,.map.tool-string .map-svg .gcell{cursor:crosshair}.map:not(.show-strings) [data-layer=strings]{display:none}.string-checks{display:flex;flex-direction:column;gap:4px;padding:0 10px 8px;margin-top:-2px}.string-check{display:flex;gap:6px;align-items:flex-start;font-size:12px;line-height:1.4;color:var(--tx-2)}.string-check .ms{font-size:14px;flex-shrink:0;margin-top:1px}.string-check-error .ms{color:var(--red)}.string-check-warning .ms,.string-check-unknown .ms{color:var(--accent)}.string-check-info .ms{color:var(--tx-3)}.strings-info{display:flex;flex-direction:column;gap:4px;padding-bottom:10px}.strings-shared{display:flex;flex-direction:column}.strings-shared>*{padding:10px 0;border-top:1px solid var(--line)}.strings-shared .string-checks{padding:0;margin:0}.strings-shared>.string-checks{border-top:0;margin-top:-6px;padding:0 0 10px}.string-input .string-checks{padding:0;margin:0}.string-input-head{font-size:12px;color:var(--tx-2);margin-bottom:6px}.string-input-head b{color:var(--tx);font-weight:600}.string-item{border-top:1px solid var(--line);padding-top:4px}.string-item+.string-item{margin-top:0}[data-string-list]{margin-bottom:4px}.section-label .tag.tag-count{margin-left:0}.roof-n{color:var(--tx-2);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;font-size:12px}.roof-n .ms{font-size:14px}.map{grid-area:map;position:relative;background:#0b0c0e;overflow:hidden;cursor:grab}.map.tool-draw,.map.tool-obstacle,.map.tool-paint,.map.tool-rect{cursor:crosshair}.map.tool-align{cursor:move}.map.panning{cursor:grabbing}.map-svg{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none}.map-svg .roof,.map-svg .footprint{cursor:pointer}.map-svg .cell{cursor:cell}.map-svg .vertex-handle{cursor:crosshair}.map-svg .vertex-add{cursor:copy}.map-svg .vertex-add:hover{fill:#f5a623}.map-svg .roof-edge{cursor:copy}.map-svg .gizmo-center{cursor:move}.map-svg .gizmo-knob,.map-svg .gizmo-ring{cursor:grab}.map.gizmo-drag,.map.gizmo-drag *{cursor:grabbing!important}.map.space-pan,.map.space-pan *{cursor:grab!important}.map.space-pan.panning,.map.space-pan.panning *{cursor:grabbing!important}.map{touch-action:none}.map.remove-mode.tool-paint,.map.remove-mode.tool-rect{cursor:not-allowed}.tool-remove{opacity:.55}.tool-remove-on{opacity:1;color:var(--red);background:#f8717124}@media(max-width:1100px){.editor{grid-template-columns:220px 1fr 300px}.editor-toolbar{padding-left:220px}.editor-status{padding-left:234px}}@media(pointer:coarse){.tool{padding:11px 10px}.layer-pill{padding:8px 10px}.icon-btn{padding:6px}}.map-svg text{font-family:Segoe UI,Inter,Roboto,sans-serif}.map-loading{position:absolute;left:50%;top:56px;transform:translate(-50%);background:#121212d9;border:1px solid var(--line-2);border-radius:20px;padding:5px 12px;font-size:12px;color:var(--accent);pointer-events:none}.map-bar{position:absolute;left:0;right:0;bottom:0;height:34px;display:flex;align-items:center;gap:18px;padding:0 14px;background:#121212d1;border-top:1px solid var(--line);font-size:11.5px;color:var(--tx-2);pointer-events:none;backdrop-filter:blur(4px)}.map-stats{position:absolute;right:12px;top:10px;z-index:3;display:flex;align-items:stretch;gap:6px}.mstat{display:flex;flex-direction:column;justify-content:center;min-width:74px;padding:6px 12px;border-radius:9px;background:#121212db;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000059;color:var(--tx);text-align:left}.mstat b{font-size:16px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.mstat span{font-size:9.5px;color:var(--tx-3);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:2px;white-space:nowrap}.mstat span .ms{font-size:13px}.mstat-accent b{color:var(--accent)}.mstat-btn{cursor:pointer;font:inherit}.mstat-btn:hover{border-color:#f5a62373}.stat-muted.mstat b{color:var(--tx-3)}.mstat-info{align-self:center;background:#121212db;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:6px;margin-right:2px}.mstat-info .ms{font-size:16px}.card-checks{padding:10px 12px}@media(max-width:1100px){.mstat{min-width:60px;padding:5px 9px}.mstat b{font-size:14px}}.map-scale{display:flex;align-items:center;gap:8px}.map-scale-bar{height:4px;background:#fff;border-left:2px solid #fff;border-right:2px solid #fff;width:80px}.map-legend{display:flex;gap:14px;margin-left:auto}.map-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid #60A5FA;background:#60a5fa38}.map-legend .lg-home{border:2px solid #C4B5FD;background:#c4b5fd2e}.map-legend .lg-drawn{border-style:dashed}.map-legend .lg-selected{border-color:var(--accent);background:#f5a6232e}.map-legend .lg-panel{border-color:#9ecbff;background:#1f2a44}.map-legend .lg-canopy{border-color:#f0abfc;background:#f0abfc2e}.map-legend .lg-obstacle{border-color:#f87171;background:repeating-linear-gradient(45deg,rgba(248,113,113,.6) 0 1px,transparent 1px 3px)}.map-svg .obstacle{cursor:pointer}.obstacle-list{display:flex;flex-direction:column;gap:4px}.obstacle-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;border:1px solid transparent;cursor:pointer;font-size:12.5px}.obstacle-row:hover{background:#ffffff0a}.obstacle-row-active{background:#f5a6231a;border-color:#f5a62359}.obstacle-name{color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obstacle-margin{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--tx-3)}.obstacle-margin input{width:64px;background:var(--input);border:1px solid var(--line-2);border-radius:6px;padding:4px 6px;color:var(--tx);font-size:12.5px}.obstacle-row .roof-del{opacity:.6}.section-hint{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400;color:var(--tx-3)}.map-compass{display:flex;align-items:center;gap:4px;font-weight:700;color:var(--tx)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{background:var(--input);border:1px solid var(--line);border-radius:9px;padding:9px 10px}.stat-v{font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-l{font-size:10.5px;color:var(--tx-3);text-transform:uppercase;letter-spacing:.06em;margin-top:1px}.stat-accent .stat-v{color:var(--accent)}.stat-wide{grid-column:1 / -1}.stat-btn{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .12s,background .12s}.stat-btn:hover{border-color:var(--line-2);background:var(--surface-2, var(--input))}.stat-btn .stat-l{display:flex;align-items:center;gap:2px}.stat-btn .stat-l .ms{font-size:14px}.stat-muted .stat-v{color:var(--tx-3)}.stat-muted{cursor:default}.bom-sub{color:var(--tx-2);padding:5px 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px 10px;margin-top:8px}.form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3)}.form label.full{grid-column:1 / -1}.form label.check{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:400;font-size:12.5px;color:var(--tx-2)}.form label.check input{width:auto;accent-color:var(--accent)}.form input,.form select{background:var(--input);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;color:var(--tx);font-size:13px;font-weight:400;letter-spacing:0;outline:none;width:100%}.form input:focus,.form select:focus{border-color:var(--accent)}.form input:disabled{opacity:.5}.editor .seg{height:34px}.editor .seg button{padding:0 6px;font-size:12.5px}.row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.row .btn{flex:1 1 auto;justify-content:center}.row-top{margin-top:0}.props{display:flex;flex-direction:column;margin-top:4px}.props>*{padding:5px 0}.props+.props,.props+.row,.row+.props{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.prop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12.5px}.prop span{color:var(--tx-2)}.prop b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.field{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:4px 12px;font-size:12.5px;color:var(--tx-2);line-height:1.3}.field-wide{grid-template-columns:1fr 150px}.field-wide .seg{width:150px}.editor .field-wide .seg button{flex:1 1 0;min-width:0;padding:0 3px;font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.field-stack{grid-template-columns:1fr}.field-check{grid-template-columns:auto 1fr}.field-check input{width:auto;accent-color:var(--accent);margin:0}.field input,.field select{background:var(--input);border:1px solid var(--line-2);border-radius:8px;padding:7px 9px;color:var(--tx);font-size:13px;outline:none;width:100%;min-width:0}.field input:focus,.field select:focus{border-color:var(--accent)}.field input:disabled{opacity:.5}.field .seg{height:32px}.field .seg button{padding:0 12px}.field-pitch{grid-template-columns:1fr 150px}.field-stack .seg-full{width:100%;margin-top:4px}.seg-full button{flex:1}.tag-muted{background:#ffffff14;color:var(--tx-2);margin-left:6px;text-transform:none}.tag-recommended{background:#34d39926;color:var(--green)}.tag-compatible{background:#f5a62326;color:var(--accent)}.tag-incompatible{background:#f8717126;color:var(--red)}.datasheet-link{flex-shrink:0;padding:4px;color:var(--tx-2)}.datasheet-link:hover{color:var(--accent)}.datasheet-link .ms{font-size:18px}.field-input-row select{flex:1;min-width:0}.field-input-row{display:flex;align-items:center;gap:2px}.field-input-row input{flex:1;min-width:0}.field-input-row .icon-btn{padding:2px}.field-input-row .ms{font-size:18px}.field-note{font-size:11.5px;color:var(--tx-3);line-height:1.45;padding-top:0!important}.group{border-top:1px solid var(--line);margin-top:10px;padding-top:4px}.group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);user-select:none}.group summary::-webkit-details-marker{display:none}.group summary:hover{color:var(--tx-2)}.group-chev{font-size:18px;transition:transform .15s}.group[open] .group-chev{transform:rotate(180deg)}.help-tools{display:grid;gap:18px;padding:4px 0 2px}.help-tool{display:flex;gap:14px;align-items:flex-start}.help-tool>.ms{color:var(--accent);font-size:22px;flex-shrink:0;margin-top:2px}.help-tool b{font-size:13.5px;color:var(--tx);display:inline-flex;align-items:center;gap:8px;line-height:20px}.help-tool p{margin:5px 0 0;color:var(--tx-2);font-size:12.5px;line-height:1.6}.help-keys{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--tx-2);align-items:center}.help-keys .key{justify-self:start}.help-foot{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--tx-2);font-size:12.5px;line-height:1.6}.dialog-md{width:min(620px,94vw)}.dialog-lg{width:min(940px,96vw)}.dialog-lg .dialog-body{max-height:74vh;overflow:auto}.help-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.help-side{background:#ffffff08;border:1px solid var(--line);border-radius:10px;padding:12px 14px;position:sticky;top:0}.help-side-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;margin-bottom:6px}.help-side-title .ms{color:var(--accent);font-size:18px}.help-side .help-keys{margin-top:4px;padding-top:4px;border-top:0;gap:0 12px}.help-side .help-keys>span{padding:7px 0;border-top:1px solid var(--line);display:flex;align-items:center}.help-side .help-keys>span:nth-child(-n+2){border-top:0}.help-side .help-keys .key{font-size:11px;line-height:18px;padding:0 7px;background:#ffffff12;border-color:#ffffff38;color:var(--tx);white-space:nowrap}@media(max-width:900px){.help-grid{grid-template-columns:1fr}}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:50}.tour{position:fixed;inset:0;z-index:60}.view3d{position:fixed;inset:0;z-index:55;background:#0b0c0e;display:flex;flex-direction:column}.view3d-bar{height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--chrome);border-bottom:1px solid var(--line)}.view3d-title{display:flex;align-items:center;gap:8px;font-size:13px}.view3d-title .ms{color:var(--accent)}.view3d-title .muted{font-size:12px;margin-left:6px}.view3d-canvas{flex:1;width:100%;display:block;cursor:grab;touch-action:none}.view3d-canvas:active{cursor:grabbing}.view3d-legend{position:absolute;left:14px;bottom:12px;display:flex;gap:14px;font-size:11.5px;color:var(--tx-2)}.view3d-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid #60A5FA;background:#96a0b4cc}.view3d-legend .lg-nb{border-color:#ffffff4d;background:#5a606ce6}.view3d-legend .lg-panel{border-color:#9ecbff;background:#1f2a44}.tour-ring{position:absolute;border-radius:12px;box-shadow:0 0 0 9999px #0000009e,0 0 0 2px var(--accent);transition:all .25s ease;pointer-events:none}.tour-card{position:absolute;width:320px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;padding:16px 18px;box-shadow:0 20px 50px #0000008c;transition:left .25s ease,top .25s ease}.tour-step{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.tour-card h3{margin:6px 0;font-size:15px}.tour-card p{margin:0 0 14px;color:var(--tx-2);font-size:13px;line-height:1.55}.tour-actions{display:flex;align-items:center;gap:6px}.dialog{width:min(900px,94vw);max-height:90vh;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px #0009}.dialog header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.dialog header h2{margin:0;font-size:15px}.dialog header small{display:block;color:var(--tx-2);font-size:12px}.dialog-icon{width:36px;height:36px;border-radius:9px;background:#f5a62326;color:var(--accent);display:grid;place-items:center;font-size:16px;flex-shrink:0}.dialog-icon .ms{font-size:22px}.dialog-close{margin-left:auto}.dialog-body{padding:14px 18px;overflow:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.dialog footer{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}.bom{font-size:12.5px}.bom-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.bom-row:first-child{border-top:0}.bom-row b{font-variant-numeric:tabular-nums;white-space:nowrap}.bom-total{border-top:1px solid var(--line-2);margin-top:4px}.details{margin-top:10px;font-size:12px;color:var(--tx-2)}.details pre{margin:6px 0 0;background:#0d0e10;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;line-height:1.5;color:#9ecbff;max-height:260px;overflow:auto;font-family:Consolas,monospace}.png-preview{border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#0b0c0e;min-height:160px;display:grid;place-items:center}.notice-studio{grid-column:1 / -1;margin-top:0;border-left-color:var(--accent);align-items:center}.notice-studio .ms{color:var(--accent)}.bom-head{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin:14px 0 4px}.bom-head:first-child{margin-top:0}.bom-head .ms{font-size:16px;color:var(--accent)}.bom .bom-head+.bom-row{border-top:0}.publish-side{display:flex;flex-direction:column;gap:10px}.export-menu{position:relative}.export-menu .btn-active{border-color:var(--accent);color:var(--accent)}.export-pop{position:absolute;left:0;bottom:calc(100% + 6px);min-width:220px;display:grid;gap:2px;padding:8px;background:var(--surface-2, #2a2a2a);border:1px solid var(--line-2);border-radius:10px;box-shadow:0 12px 30px #00000080;z-index:5}.export-pop .export-opt{padding:5px 8px;border-radius:6px}.export-pop .export-opt:hover{background:#ffffff0d}.export-opt{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--tx-2);cursor:pointer}.export-opt input{accent-color:var(--accent);margin:0}.publish-card{padding:10px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:9px}.export-opt-pdf{color:var(--tx)}.diff .export-opt-pdf{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.diff{padding:10px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:9px;font-size:12.5px}.diff-title{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:6px}.diff-title .ms{color:var(--accent);font-size:16px}.diff-title .muted{margin-left:auto;font-weight:400;font-size:11.5px}.diff-head,.diff-row{display:grid;grid-template-columns:1fr 100px 100px;gap:8px;padding:5px 0;border-top:1px solid var(--line)}.diff-head{border-top:0;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx-3)}.diff-head span:not(:first-child),.diff-row span:not(:first-child),.diff-row b{text-align:right;font-variant-numeric:tabular-nums}.diff-row span:nth-child(2){color:var(--tx-3);text-decoration:line-through;text-decoration-color:#ffffff40}.diff-row:not(.diff-changed) span:nth-child(2){text-decoration:none}.diff-changed b{color:var(--accent)}.diff-foot{margin-top:6px}.png-preview img{display:block;max-width:100%}.steps{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.step{background:#ffffff09;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:12px;color:var(--tx-2);line-height:1.5}.step b{display:block;color:var(--tx)}.step code{color:#9ecbff;font-size:11px}.publish-result{display:flex;align-items:center;gap:10px;padding:10px 18px;border-top:1px solid var(--line);background:#ffffff08;font-size:13px;color:var(--tx)}.publish-result>.ms{font-size:20px;flex:none;color:var(--tx-3)}.publish-result>span{flex:1;min-width:0}.publish-result .btn{flex:none}.publish-result-busy>.ms{animation:spin 1s linear infinite;color:var(--accent)}.publish-result-ok{background:#f5a6230f}.publish-result-ok>.ms{color:var(--accent)}.publish-result-error{background:#f871710f;color:#fecaca}.publish-result-error>.ms{color:#f87171}@keyframes spin{to{transform:rotate(360deg)}}.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.pager-info{font-size:12.5px;color:var(--tx-2);font-variant-numeric:tabular-nums}.subcard-name{margin-top:12px}.field-label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;margin-bottom:8px}.field-label .ms{color:var(--accent);font-size:18px}.field-hint{font-size:12px;color:var(--tx-3);margin-top:6px;line-height:1.5}.editor-address-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-banner{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:12px;background:var(--surface-2);color:var(--tx);border:1px solid var(--line-2);border-radius:12px;padding:10px 12px 10px 14px;box-shadow:0 12px 34px #00000080;font-size:13px;max-width:min(560px,92vw);animation:banner-in .25s ease-out}.update-banner>.ms{color:var(--accent)}.update-banner-text{flex:1}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.skeleton{display:block;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--line);border-radius:10px}.skeleton-row>div{flex:1;display:grid;gap:7px}.skeleton-avatar{width:34px;height:34px;border-radius:9px;flex-shrink:0}.skeleton-line{height:12px}.skeleton-line-sm{height:10px}.skeleton-card{pointer-events:none}.skeleton-card .plan-thumb{border-radius:0}.skeleton-card .plan-body{gap:9px;padding:14px}.dialog-sm{width:min(460px,94vw)}.dialog-body-single{display:block}.dialog-body-single p{margin:0;color:var(--tx-2);line-height:1.55}.kpi-list{display:grid;gap:8px}.kpi{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:10px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:9px}.kpi-icon{width:36px;height:36px;border-radius:8px;background:#f5a6231f;color:var(--accent);display:grid;place-items:center}.kpi-icon .ms{font-size:20px}.kpi-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.kpi-head b{font-size:13px;color:var(--tx)}.kpi-head span{font-size:12.5px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.kpi p{margin:3px 0 0;font-size:12.5px;line-height:1.5}.dialog-body-single .kpi-list+.help-foot{margin-top:14px;padding-top:12px}.dialog-icon-danger{background:#f8717126;color:var(--red)}.btn-danger{background:var(--red);color:#1a1a1a;border-color:transparent}.btn-danger:hover{filter:brightness(1.06);background:var(--red)}@media(max-width:1100px){.plan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.appbar{padding:0 14px;gap:10px}.page{padding:20px 16px 48px}.toolbar{flex-wrap:wrap}.toolbar .search{max-width:none;flex-basis:100%}.two-col{grid-template-columns:1fr}.stepper{grid-template-columns:1fr;gap:6px}.stepper-step{padding:9px 12px}.stepper-step small{max-width:none}.dialog-body,.steps{grid-template-columns:1fr}}@media(max-width:760px){.login-split{grid-template-columns:1fr}.login-hero{display:none}}@media(max-width:640px){.plan-grid{grid-template-columns:1fr}.page-head-row{flex-wrap:wrap}.page-actions{flex-basis:100%}.page-actions .btn{flex:1;justify-content:center}.login-pane{padding:20px 20px 18px}}@media(max-width:1100px){.map-legend{display:none}}.quickmenu{position:fixed;inset:0;z-index:70}.qm-panel{position:absolute;min-width:196px;padding:5px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:11px;box-shadow:0 18px 44px #0000008c;animation:qm-in .11s ease-out}@keyframes qm-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.qm-title{padding:5px 9px 6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3)}.qm-row{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;background:none;border:0;border-radius:7px;color:var(--tx);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;animation:qm-row-in .14s ease-out backwards;animation-delay:calc(var(--i) * 16ms)}@keyframes qm-row-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.qm-row .ms{font-size:18px;color:var(--tx-2);flex:none}.qm-label{flex:1;white-space:nowrap}.qm-key{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.04em;color:var(--tx-3);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px}.qm-row.qm-active{background:var(--accent);color:#1a1a1a}.qm-row.qm-active .ms{color:#1a1a1a}.qm-row.qm-active .qm-key{color:#1a1a1abf;border-color:#1a1a1a4d}.qm-row.qm-disabled{opacity:.4}.quickmenu:not(.qm-click) .qm-row{pointer-events:none}.map.tool-underlay .underlay-img{cursor:move}.map.tool-underlay{cursor:default}.field input[type=range]{accent-color:var(--accent);width:100%}.net-bar{display:flex;align-items:center;gap:10px;min-width:0;max-width:52vw;padding:4px 8px 4px 10px;border-radius:7px;background:#ffffff0a;border:1px solid var(--line);font:inherit;font-size:12px;color:var(--tx-2);cursor:pointer;text-align:left}.net-bar:hover{background:#ffffff14;border-color:var(--line-2)}.net-part{display:flex;align-items:center;gap:7px;min-width:0}.net-heritage{padding-left:10px;border-left:1px solid var(--line-2);color:var(--accent)}.net-heritage .ms{color:var(--accent)}.net-chev{font-size:16px;color:var(--tx-3);flex:none}.net-bar .ms{font-size:16px;flex:none;color:var(--tx-3)}.net-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-bar em{flex:none;font-style:normal;color:var(--tx-3);white-space:nowrap}.net-available .ms{color:#34d399}.net-limited .ms,.net-research .ms{color:var(--accent)}.net-shortage .ms{color:#f87171}@media(max-width:1280px){.net-bar em{display:none}}.map-menu-item .ms{font-size:16px;color:var(--tx-3)}.map-menu-item:has(input:checked) .ms{color:var(--accent)}.map-menu-right{left:auto;right:0}.map-svg-crisp [data-layer=aerial] image{image-rendering:pixelated}.section-label .section-actions{margin-left:auto;display:inline-flex;align-items:center;gap:2px}.place-list{display:grid;gap:10px}.place-block{padding:10px 12px;background:#ffffff08;border:1px solid var(--line);border-radius:9px}.place-head{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin-bottom:6px}.place-head .ms{font-size:16px;color:var(--accent)}.place-net-available .place-head .ms{color:#34d399}.place-net-limited .place-head .ms,.place-net-research .place-head .ms{color:var(--accent)}.place-net-shortage .place-head .ms{color:#f87171}.place-block .props{gap:0}.place-block p{margin:0 0 6px}.place-marks{margin:0;padding-left:18px;display:grid;gap:4px;font-size:12.5px}.place-marks a{color:var(--accent)}.field-name{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.field-name input{width:100%}.section-label .section-action{margin-left:auto}.map.tool-select .note-card,.map.tool-select .note-anchor{cursor:move}.map.tool-note{cursor:crosshair}.dialog-body-single textarea{width:100%;resize:vertical;font:inherit}.card textarea{width:100%;resize:vertical;font:inherit;font-size:12.5px;background:var(--input);color:var(--tx);border:1px solid var(--line-2);border-radius:7px;padding:7px 9px}.card textarea:focus{outline:none;border-color:var(--accent)}.chip-btn{font:inherit;cursor:pointer}.chip-btn:hover{border-color:var(--line-2);background:#ffffff14}.link-crumb{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pick-row-disabled{opacity:.45;cursor:default}.pick-row small{display:block;color:var(--tx-3);font-size:11.5px}.map.splitting,.map.splitting *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cg stroke='rgba(0,0,0,.65)' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M14 3v7M14 18v7M3 14h7M18 14h7'/%3E%3C/g%3E%3Cg stroke='%23FF3D8B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M14 3v7M14 18v7M3 14h7M18 14h7'/%3E%3C/g%3E%3Ccircle cx='14' cy='14' r='2' fill='none' stroke='%23FF3D8B' stroke-width='1.5'/%3E%3C/svg%3E") 14 14,crosshair}.btn.btn-active{border-color:var(--accent);color:var(--accent);background:#f5a6231a}.btn.btn-split{border-color:#ff3d8b;color:#ff3d8b;background:#ff3d8b1f}.btn.btn-split .ms{color:#ff3d8b}.chip-wide{max-width:360px}.chip[disabled]{cursor:default;opacity:.85}.map-svg .measure-hit{cursor:pointer}.dpad{display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,30px);gap:3px}.dpad button{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid var(--line-2);border-radius:7px;color:var(--tx-3);cursor:pointer}.dpad button:hover{color:var(--tx-1, #fff);background:#ffffff0d}.dpad button.seg-active{background:#f5a62326;border-color:#f5a62373;color:var(--accent)}.dpad .ms{font-size:18px}.pick-row-new{border-style:dashed;border-color:#f5a62373}.pick-row-new>.ms:first-child,.pick-row-new .avatar .ms{color:var(--accent)}
