:root{--navy:#102736;--navy2:#0b1c29;--line:#e5eaf0;--paper:#fff;--bg:#f5f7fa;--text:#172a38;--muted:#71808d;--accent:#168c82;--accent2:#dcf6f0;--blue:#476bba;--red:#dc6663;--gold:#cb9450;--shadow:0 3px 18px rgba(28,51,67,.045);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:247px;flex-shrink:0;background:var(--navy);min-height:100vh;color:#aebfc9;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:13px;align-items:center;padding:31px 24px 34px;color:#fff}.brand-logo{background:#237a76;border:1px solid #4ca69b;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff}.brand-title{font-size:16px;font-weight:850;letter-spacing:1.5px;line-height:1.15}.brand-caption{font-size:10px;letter-spacing:1.7px;color:#819da8;margin-top:5px}.side-group-title{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;margin:10px 25px 12px;color:#6d8a99;font-weight:700}.nav-link{display:flex;align-items:center;gap:12px;width:calc(100% - 25px);padding:12px 14px 12px 18px;margin:2px 12px;background:transparent;border:0;border-radius:9px;color:#9bafbd;text-align:left;font-size:13px;font-weight:550;transition:.15s}.nav-link svg{width:18px;height:18px;stroke-width:1.8}.nav-link:hover{background:#183747;color:#fff}.nav-link.active{background:#234a55;color:#fff;box-shadow:inset 3px 0 #53cab5}.nav-pill{margin-left:auto;background:#31535d;padding:2px 7px;border-radius:20px;font-size:10px;color:#c2e9e5}.sidebar-bottom{margin-top:auto;padding:16px 18px 22px;border-top:1px solid #24404d}.support-label{font-size:11px;color:#77939f;line-height:1.55;padding-bottom:14px}.sidebar-profile{display:flex;gap:10px;align-items:center}.avatar{background:#3a6770;width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#fff;font-weight:750;font-size:12px}.sidebar-profile b{color:#f2fbfa;font-size:12px;display:block}.sidebar-profile small{color:#82a4b1;font-size:11px}.signout{background:transparent;border:0;color:#91a8b6;margin-left:auto;padding:4px}.main{flex:1;min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:0 42px;gap:15px}.breadcrumb{display:flex;gap:10px;align-items:center;font-size:12px;color:#82919d}.breadcrumb strong{font-weight:650;color:#2a414e}.top-right{display:flex;align-items:center;gap:17px;color:#718390;font-size:12px}.date-badge{display:flex;align-items:center;gap:7px}.top-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff}.content{max-width:1680px;margin:0 auto;padding:35px 42px 70px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:750;color:var(--accent);margin-bottom:7px}.h1{font-size:28px;font-weight:770;letter-spacing:-1px;margin:0 0 8px}.subhead{color:var(--muted);font-size:13px;line-height:1.6}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--line);background:#fff;color:#304652;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;white-space:nowrap;box-shadow:0 1px 1px rgba(0,0,0,.02)}.btn svg{width:15px;height:15px}.btn:hover{background:#f6fafb}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#08766d}.btn-dark{background:#183949;border-color:#183949;color:#fff}.btn-red{color:#c44b53;border-color:#f1d2d4}.btn-sm{padding:7px 10px;min-height:30px;font-size:11px}.btn-ghost{border:none;box-shadow:none;background:transparent;color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:21px}.kpi-card{background:#fff;padding:20px 21px;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);position:relative;min-height:147px}.kpi-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11.5px;font-weight:580}.kpi-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e8f5f2;color:#22988a}.kpi-icon svg{width:18px;height:18px}.kpi-card h3{font-size:27px;letter-spacing:-1px;margin:20px 0 8px;font-weight:780}.kpi-note{font-size:11px;color:#8b98a2}.kpi-note b{color:#229083;font-weight:700}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-title{font-size:15px;font-weight:760;letter-spacing:-.3px}.panel-sub{font-size:11px;color:var(--muted);margin-top:6px}.panel-body{padding:21px 24px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:17px;margin-bottom:18px}.chart{height:250px;width:100%;display:block}.legend{display:flex;gap:19px;font-size:11px;color:#758591;align-items:center}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}.inline-select,.date-input{border:1px solid var(--line);background:#fff;padding:9px 11px;border-radius:8px;font-size:12px;color:#405666;outline:0}.filterbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.segment{display:flex;background:#f0f4f6;border:1px solid #e8edf0;border-radius:9px;padding:3px}.segment button{border:0;border-radius:6px;background:transparent;color:#7f8b94;padding:8px 12px;font-size:11px;font-weight:680}.segment button.selected{background:#fff;color:#263c47;box-shadow:0 1px 5px rgba(25,49,67,.08)}.site-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.site-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden;transition:.2s;cursor:pointer}.site-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(19,52,62,.08)}.site-card-top{padding:19px 20px 16px;display:flex;justify-content:space-between;gap:8px}.site-icon{background:#e8f6f4;color:#188b82;border-radius:11px;width:42px;height:42px;display:grid;place-items:center}.site-icon svg{width:21px;height:21px}.site-card h3{font-size:15px;letter-spacing:-.2px;margin:14px 0 5px}.site-loc{font-size:11px;color:#87939d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-stats{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);margin-top:16px}.site-stats div{padding:13px 8px;text-align:center;border-right:1px solid var(--line)}.site-stats div:last-child{border-right:0}.site-stats strong{display:block;font-size:15px}.site-stats small{font-size:10px;color:#86939c}.progress{height:6px;border-radius:10px;background:#e9f0f1;overflow:hidden}.progress>span{height:100%;display:block;background:#22a18f;border-radius:10px}.tiny-caps{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:#80909a}.status{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:690;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:100%;background:currentColor}.status.green{background:#e3f5ef;color:#198871}.status.amber{background:#fff3e5;color:#ba8b43}.status.red{background:#ffeceb;color:#d66b61}.status.gray{background:#f0f3f5;color:#7e8c96}.status.blue{background:#edf2ff;color:#4f76b0}.site-preview{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:15px 20px;background:#f8fbfb}.site-preview span{height:16px;border-radius:3px;background:#dce5e9}.site-preview .busy{background:#5bb4a7}.site-preview .blocked{background:#d4a0a2}.site-preview .reserved{background:#e9c687}.site-card-foot{padding:11px 20px;display:flex;justify-content:space-between;align-items:center;color:#6b818f;font-size:11px}.mini-link{color:#158b83;font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{color:#84929d;font-weight:700;font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.7px;padding:15px 19px;background:#fbfcfd;border-bottom:1px solid #e9eef1;white-space:nowrap}td{padding:15px 19px;border-bottom:1px solid #eff2f4;color:#50616b;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfd}td strong{color:#203743;font-weight:730}td small{display:block;font-size:10px;color:#93a1aa;margin-top:5px}tr{transition:background .1s}.action-link{background:transparent;border:0;color:#138b84;font-weight:720;font-size:11px;padding:5px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 17px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 12px;min-width:240px}.search input{border:0;outline:0;padding:12px 0;width:100%;font-size:12px;color:#364958}.search svg{color:#99a7b0;width:15px;height:15px}.notice{border:1px solid #d7eee7;background:#f0faf6;border-radius:11px;color:#4b756a;padding:14px 17px;font-size:12px;display:flex;align-items:start;gap:11px;line-height:1.55}.notice svg{width:18px;height:18px;flex-shrink:0}.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(285px,.7fr);gap:17px}.map-container{background:#f6fafb;padding:18px;position:relative}.site-svg{display:block;width:100%;height:auto;background:#fbfdfc;border:1px solid #dce6e7;border-radius:12px;touch-action:pan-y}.site-svg.editing{cursor:grab;touch-action:none}.map-unit rect.unit-body{stroke-width:1.6;cursor:pointer;transition:filter .2s}.map-unit:hover rect.unit-body{filter:brightness(.96)}.map-unit.occupied rect.unit-body{fill:#d9efe8;stroke:#66b3a6}.map-unit.available rect.unit-body{fill:#fff;stroke:#bacfd3}.map-unit.blocked rect.unit-body{fill:#f8e6e7;stroke:#e3a9ad}.map-unit.reserved rect.unit-body{fill:#fff0d9;stroke:#e6bf79}.map-unit.selected rect.unit-body{stroke:#087c75;stroke-width:3}.map-unit text{pointer-events:none;font-family:inherit;fill:#3c6570;font-size:12px;font-weight:730}.map-unit .unit-sub{fill:#849fa6;font-weight:500;font-size:9px}.map-unit .resize-handle{fill:#248f8b;cursor:nwse-resize}.legend-row{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:12px 22px;color:#73858f;font-size:11px}.dot{width:10px;height:10px;display:inline-block;border-radius:3px;margin-right:5px;vertical-align:-1px}.detail-section{padding:20px 23px;border-bottom:1px solid var(--line)}.detail-section:last-child{border-bottom:0}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#91a1aa;font-weight:780;margin-bottom:7px}.detail-value{font-size:15px;font-weight:750;color:#18303d}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 12px;margin-top:18px}.info-line{display:flex;align-items:center;gap:9px;margin:10px 0;color:#6b808d;font-size:12px}.empty{text-align:center;padding:50px 22px;color:#8fa0a9;font-size:12px}.empty svg{color:#8ac0b7}.empty strong{display:block;color:#2a4855;font-size:15px;margin:13px 0 8px}.empty p{line-height:1.7;max-width:350px;margin:auto}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 18px}.summary-item{padding:20px 24px;border-right:1px solid var(--line)}.summary-item:last-child{border:0}.summary-item span{font-size:11px;color:#8999a3}.summary-item strong{display:block;font-size:22px;margin-top:9px;letter-spacing:-.5px}.metric-green{color:#168d7a!important}.metric-red{color:#c86662!important}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.shift-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.shift-day{border:1px solid var(--line);border-radius:10px;padding:12px 9px;min-height:182px}.shift-day.today{border-color:#71bdb2;background:#f8fdfb}.shift-day b{font-size:11px;color:#3b4b58}.shift-day small{color:#8da0aa;font-size:10px;display:block;margin-top:3px}.shift-item{border-radius:7px;background:#eaf6f3;border-left:3px solid #52ae9f;padding:8px;margin-top:10px;font-size:10px;color:#365a59;line-height:1.45;cursor:pointer}.shift-item em{display:block;color:#78a29b;font-style:normal;margin-top:4px}.shift-item.done{background:#eef2f5;border-color:#94a6af;color:#586875}.shift-item.cancelled{background:#fff1ef;border-color:#d58d87}.modal-backdrop{position:fixed;inset:0;background:rgba(11,26,36,.58);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}.modal{background:#fff;border-radius:16px;max-width:810px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 32px 100px #06182336}.modal-head{padding:22px 29px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:19px;letter-spacing:-.4px;margin:0}.close{background:#f4f7f8;color:#647782;border:none;width:34px;height:34px;border-radius:9px;font-size:18px}.modal-scroll{padding:24px 29px;overflow-y:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 19px}.field{display:block}.field.full{grid-column:1/-1}.field label{display:block;margin-bottom:7px;font-size:11px;color:#6a7b87;font-weight:680}.field input,.field select,.field textarea{border:1px solid #dce4e8;outline:none;border-radius:9px;padding:11px 12px;background:#fff;color:#273e4a;width:100%;font-size:12px;min-height:40px}.field textarea{height:83px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#4aafa0;box-shadow:0 0 0 3px #e6f7f1}.field .hint{font-size:10px;color:#92a0a7;margin-top:5px}.modal-foot{border-top:1px solid var(--line);padding:17px 29px;display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;bottom:22px;right:25px;z-index:110;display:none;max-width:420px;padding:14px 19px;background:#153948;border-radius:10px;box-shadow:0 9px 40px #08293637;color:#fff;font-size:12px;line-height:1.5}.toast.visible{display:block}.toast.error{background:#8f3c46}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1.05fr;background:#f5f8f9}.login-art{background:linear-gradient(145deg,#0b2632,#144c54);padding:75px 10%;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:700px;height:700px;border:100px solid #ffffff08;border-radius:100%;left:-400px;bottom:-520px}.login-head{font-size:23px;font-weight:850;letter-spacing:2px}.login-content h1{font-size:46px;max-width:490px;line-height:1.12;letter-spacing:-2px;margin-bottom:22px}.login-content p{color:#a2c1c3;font-size:16px;line-height:1.9;max-width:440px}.login-decoration{display:grid;grid-template-columns:repeat(6,1fr);width:360px;gap:9px;transform:rotate(-8deg);margin-top:40px}.login-decoration span{height:43px;border:1px solid #52968d80;border-radius:5px;background:#4ba79a22}.login-decoration span:nth-child(3n){background:#4ba79a77}.login-form-col{display:flex;align-items:center;justify-content:center;padding:50px 24px}.login-box{width:100%;max-width:375px}.login-box h2{font-size:30px;letter-spacing:-1px;margin:8px 0 8px}.login-box p{color:#82919c;font-size:13px;margin:0 0 36px;line-height:1.6}.login-box .field{margin-bottom:17px}.login-box .btn{width:100%;margin-top:10px;padding:13px}.login-foot{margin-top:38px;color:#a2afb5;font-size:11px;text-align:center}.loading-screen{min-height:100vh;display:grid;place-content:center;gap:20px;text-align:center;font-size:13px;color:#547079}.loader{width:29px;height:29px;border:3px solid #e1efea;border-top-color:#138b81;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.list-item-inline{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf1f3;gap:8px}.list-item-inline:last-child{border:0}.list-item-inline strong{font-size:12px}.list-item-inline small{font-size:10px;color:#81939d;display:block;margin-top:4px}.file-tile{border:1px solid var(--line);border-radius:11px;padding:16px;display:flex;gap:11px;align-items:center;justify-content:space-between;margin-bottom:9px}.file-tile strong{font-size:12px;display:block;word-break:break-word}.file-tile small{color:#8d9ca7;font-size:10px}.file-chip{background:#e8f2f4;color:#3b7e88;border-radius:9px;padding:11px}.file-chip svg{width:19px;height:19px}.mobile-menu{display:none}.muted{color:#8696a1}.dot-divider{border-top:1px solid var(--line);margin:22px 0}.section-note{font-size:11px;color:#9ba8b0;line-height:1.65}.alert{padding:11px 13px;background:#fff7e9;border-radius:8px;color:#aa8749;font-size:11px;margin-top:10px}.danger-zone{margin-top:25px;border-top:1px solid #f1e1e2;padding-top:15px}.pill-count{border:1px solid #deece7;background:#f3faf7;padding:6px 10px;border-radius:19px;color:#56897a;font-weight:700;font-size:11px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tenant-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fff}.tenant-card h3{font-size:14px;margin:12px 0 6px}.tenant-card p{font-size:11px;color:#82949e;margin:0 0 10px}.tenant-card .caption{color:#8798a2;font-size:11px}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:8px}.balance-strip{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.balance-strip span{font-size:11px;color:#80909a}.balance-strip strong{font-size:16px;color:#203a47}.side-nav-overlay{display:none}
@media(max-width:1230px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.site-grid{grid-template-columns:repeat(2,1fr)}.content{padding:30px 28px 60px}.topbar{padding:0 28px}.split{grid-template-columns:1fr}.shift-grid{gap:5px}.shift-day{padding:8px 5px}}
@media(max-width:850px){.sidebar{position:fixed;left:-265px;top:0;z-index:30;transition:left .2s}.sidebar.open{left:0}.side-nav-overlay.open{display:block;position:fixed;inset:0;background:#0007;z-index:25}.mobile-menu{display:grid}.topbar{height:67px;padding:0 17px}.content{padding:25px 16px 50px}.h1{font-size:24px}.page-heading{flex-wrap:wrap}.site-grid{grid-template-columns:1fr 1fr}.summary-strip{grid-template-columns:1fr 1fr}.summary-item:nth-child(2){border-right:0}.summary-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.shift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-shell{grid-template-columns:1fr}.login-art{display:none}.login-form-col{min-height:100vh}.two-col{grid-template-columns:1fr}.date-badge{display:none}}
@media(max-width:570px){.kpi-grid,.site-grid,.card-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:1}.modal-head,.modal-scroll,.modal-foot{padding:17px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.kpi-card{min-height:125px}.site-svg{min-height:270px}.panel-head{padding:17px;flex-wrap:wrap}.panel-body{padding:16px}.top-right{gap:8px}.chart{height:220px}.shift-grid{grid-template-columns:1fr}.modal{max-height:96vh}}
/* v2 · Floor plan studio */
.map-toolbox{padding:12px 18px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-bottom:1px solid #edf1f3;background:linear-gradient(95deg,#fbfefe,#f4faf9)}
.map-toolbox .btn{background:#fff;padding:8px 10px;border:1px solid #dbe7e6;color:#365e65;gap:5px;white-space:nowrap}
.map-toolbox .btn:hover:not(:disabled){background:#eef8f5;border-color:#a8cfc9}
.map-toolbox .btn:disabled{opacity:.35;cursor:not-allowed}
.toolbox-label{font-size:9px;letter-spacing:1.6px;font-weight:800;color:#7d959b;margin-right:5px}
.map-scale-summary{background:#f4faf8;padding:10px 20px;color:#778f92;font-size:11px;border-bottom:1px solid #dbeee9}
.map-scale-summary strong{color:#306b63}
.map-zone .zone-body{fill:#e6ecef;stroke:#a8bdc3;stroke-width:1.7;stroke-dasharray:6 3;cursor:pointer}
.map-zone text{font-size:14px;fill:#69838e;pointer-events:none;font-weight:720}
.map-zone.passage .zone-body{fill:#f0f3f5;stroke:#a6b8c3}
.map-zone.entry .zone-body{fill:#e4f3f5;stroke:#8db6c3}
.map-zone.office .zone-body{fill:#f4e9ff;stroke:#b5a4ce}
.map-zone.guard .zone-body{fill:#f7e6cb;stroke:#d6ad75}
.map-zone.technical .zone-body{fill:#f2edeb;stroke:#a7a39c}
.map-zone.wc .zone-body{fill:#e8eefa;stroke:#a7afd3}
.map-zone.storage .zone-body{fill:#f5ecd4;stroke:#c6b58c}
.map-zone.restricted .zone-body{fill:#fae8e7;stroke:#cda19f}
.map-zone .resize-handle{fill:#248f8b;cursor:nwse-resize}
.map-zone:hover .zone-body{stroke-width:2.5}
.map-unit.occupied rect.unit-body{fill:#f9dfe0;stroke:#d79ca0}
.map-unit.available rect.unit-body{fill:#e7f7ea;stroke:#82c69b}
.map-unit.overdue rect.unit-body{fill:#ece0f9;stroke:#a782c8}
.map-unit.expiring rect.unit-body{fill:#ffe6c7;stroke:#dfab72}
.map-unit.blocked rect.unit-body{fill:#e9edf0;stroke:#a3b3bc}
.map-unit.reserved rect.unit-body{fill:#fff3d4;stroke:#dec179}
.map-unit.selected rect.unit-body{stroke:#007e75;stroke-width:4}
.map-unit:hover rect.unit-body{filter:brightness(.96)}
.wizard-modal{width:min(1100px,96vw);max-width:1100px}
.wizard-steps{display:flex;align-items:center;gap:10px;margin:0 0 26px}
.wizard-steps span{flex:1;display:flex;gap:9px;align-items:center;border-bottom:3px solid #e8edef;padding:0 4px 14px;font-size:12px;font-weight:740;color:#a2aeb5}
.wizard-steps b{border:1px solid #cddbdc;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:11px}
.wizard-steps .current{color:#187d75;border-bottom-color:#238f85}.wizard-steps .current b{background:#238f85;color:#fff;border-color:#238f85}
.wizard-steps .complete{color:#426f68;border-bottom-color:#a6d3c5}.wizard-steps .complete b{background:#edf8f3;border-color:#82c8ad}
.wizard-intro{margin-bottom:20px}.wizard-intro h3{font-size:20px;color:#254251;margin:0 0 7px}.wizard-intro p{font-size:12px;line-height:1.7;color:#8196a0;margin:0}
.wizard-mode{display:flex;gap:10px;margin:0 0 20px}.wizard-mode button{flex:1;border:1px solid #dee8e8;border-radius:10px;display:flex;gap:10px;align-items:center;justify-content:center;padding:13px;background:#fff;color:#69818b;font-size:12px;font-weight:750}
.wizard-mode button.active{border-color:#3eaa9b;background:#f0faf6;color:#187b71;box-shadow:inset 0 0 0 1px #3eaa9b}
.wizard-columns{display:grid;grid-template-columns:minmax(330px,1fr) minmax(350px,1.07fr);gap:24px}.wizard-columns .form-grid{gap:12px}
.constructor-preview{border:1px solid #dee9e9;border-radius:13px;background:#fbfdfd;padding:14px;align-self:start;position:sticky;top:0}
.preview-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 13px}.preview-top strong{font-size:12px;color:#345763}.preview-top span{font-size:11px;color:#8c9aa3}
.constructor-preview svg{display:block;width:100%;border:1px solid #dce9e9;border-radius:8px;background:#fff;aspect-ratio:5/3}
.preview-ok,.preview-error{font-size:11px;margin-top:12px;line-height:1.6;padding:9px;border-radius:8px}.preview-ok{background:#e8f6ef;color:#287960}.preview-error{background:#fff1ed;color:#ad594c}
.empty-map-preview{min-height:260px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border:2px dashed #d1dedf;color:#88a5a5;border-radius:14px}.empty-map-preview strong{font-size:17px;color:#40616d}.empty-map-preview p{font-size:11px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.review-card{border:1px solid #e2ecec;background:#fcfefe;padding:22px;border-radius:12px}.review-card small{color:#89a2a8;font-size:10px;letter-spacing:1px;font-weight:800}.review-card h3{font-size:22px;color:#2c4b58;margin:14px 0 6px}.review-card p{color:#788e95;font-size:12px}.review-card strong{font-size:13px;color:#2d786a}
.history-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid #e8efef}.history-item:last-child{border:0}.history-item strong{font-size:13px;color:#38505a}.history-item small{display:block;font-size:10px;color:#93a3aa;margin-top:5px}.history-item p{color:#7a9299;font-size:11px;margin:9px 0 0}
.billing-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.billing-summary>div{background:#f6f9fa;padding:15px;border-radius:10px}.billing-summary small{display:block;color:#91a1a7;font-size:10px;margin-bottom:11px}.billing-summary strong{font-size:18px;color:#2c4251}
@media(max-width:1150px){.wizard-columns{grid-template-columns:1fr}.constructor-preview{position:static}.billing-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wizard-steps span{font-size:9px;gap:4px}.wizard-steps b{width:20px;height:20px}.wizard-mode{flex-direction:column}.review-grid,.billing-summary{grid-template-columns:1fr}.map-toolbox{gap:5px;padding:9px}.map-toolbox .btn{font-size:10px}}
@media print {.sidebar,.topbar,.map-toolbox,.btn,.modal-backdrop,.toast{display:none!important}.content{margin:0!important;padding:0!important}.main{margin:0!important}.site-svg{border:0!important}}
.map-container{max-height:740px;overflow:auto}
.zone-quickbar{padding:8px 18px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;border-bottom:1px solid #edf1f3;background:#fff}.zone-quickbar>span{font-size:11px;color:#89a0a7;margin-right:8px}
.zone-quickbar .action-link{border:1px solid #e0ebeb;border-radius:7px;padding:6px 10px}
