:root{--page:#f5f4f2;--surface:#fff;--surface-2:#faf9f7;--ink:#1a1a1a;--muted:#6f6c66;--faint:#8a8780;--line:#e6e3de;--gold:#c9a86a;--gold-ink:#1a1a1a;--gold-deep:#8c6d33;--gold-soft:#f4ecdd;--navy:#1b2a41;--stage:#141414;--stage-2:#1e1e1e;--stage-line:#ffffff24;--on-stage:#f5f4f2;--good:#2f7a4b;--warn:#a35a00;--danger:#b3261e;--door:#4da3ff;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #1a1a1a0f, 0 8px 24px #1a1a1a0f;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ar:"Noto Sans Arabic", "Inter", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--brand:var(--gold);--brand-ink:var(--gold-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-feature-settings:"ss03"}html[lang=ar] body{font-family:var(--font-ar)}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}img{max-width:100%}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.btn:hover{border-color:var(--faint)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#333}.btn.gold{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:600}.btn.brand{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:#1a1a1a0d}.btn.small{min-height:32px;padding:4px 12px;font-size:13px}.btn.danger{color:var(--danger)}.btn.icon{width:40px;padding:0}.field{color:var(--muted);gap:6px;font-size:13px;font-weight:500;display:grid}.input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:44px;color:var(--ink);padding:10px 12px;font-size:16px}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);outline:none}.input.num{font-variant-numeric:tabular-nums;width:92px;min-height:36px;padding:6px 10px;font-size:15px}textarea.input{min-height:120px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--gold-deep)}.seg{background:#1a1a1a0f;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1a1a1a1f}.badge{letter-spacing:.01em;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.draft{color:var(--warn);background:#fff4e0}.badge.live{color:var(--good);background:#e7f3eb}.badge.gold{background:var(--gold-soft);color:var(--gold-deep)}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px}.warn{color:var(--warn)}.error{color:var(--danger)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:14px 16px;display:grid}.card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:13px;font-weight:600}html[lang=ar] .card h3{letter-spacing:0}.toast{z-index:50;left:50%;bottom:calc(var(--safe-b) + 20px);background:var(--ink);color:#fff;text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;animation:.2s ease-out rise;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #00000040}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}.spinner{border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center;place-items:center;gap:12px;padding:48px 16px;display:grid}.topbar{z-index:20;padding:calc(var(--safe-t) + 8px) 16px 8px;-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:12px;min-height:60px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.brand img{width:30px;height:30px}.brand small{color:var(--gold-deep);font-weight:500}.topbar .title{align-items:center;gap:8px;min-width:0;display:flex}.topbar .title b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.account{position:relative}.menu{inset-inline-end:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:30;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px)}.menu .who{color:var(--muted);border-bottom:1px solid var(--line);overflow-wrap:anywhere;margin-bottom:4px;padding:8px 10px;font-size:13px}.menu button{text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px;font-size:14px}.menu button:hover{background:var(--page)}.login{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100%;display:grid}.login .art{color:#fff;background:radial-gradient(120% 90% at 85% 10%,#2a2620 0%,#141414 60%);flex-direction:column;justify-content:flex-end;gap:12px;padding:48px;display:flex;position:relative;overflow:hidden}.login .art:before{content:"";aspect-ratio:1;inset-inline-end:-12%;opacity:.14;background:url(/brand/darview-icon.png) 50%/contain no-repeat;width:min(70vw,620px);position:absolute;top:-14%}.login .art>*{position:relative}.login .art h1{letter-spacing:-.02em;max-width:14ch;margin:0;font-size:clamp(28px,3.4vw,44px);font-weight:600;line-height:1.08}.login .art p{color:#fffc;max-width:42ch;margin:0}.login .art .gold{color:var(--gold)}.login form{place-self:center;gap:16px;width:min(400px,100% - 32px);padding:32px 0;display:grid}.login form h2{letter-spacing:-.02em;margin:0;font-size:28px}.login .lang{z-index:2;top:calc(var(--safe-t) + 12px);position:absolute;inset-inline-end:16px}@media (width<=820px){.login{grid-template-rows:auto 1fr;grid-template-columns:1fr}.login .art{min-height:240px;padding:24px 20px}}.homes{max-width:1200px;padding:24px 16px calc(var(--safe-b) + 40px);gap:20px;margin:0 auto;display:grid}.homes header{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.homes h1{letter-spacing:-.02em;margin:0;font-size:32px}.homes .search{flex:1;min-width:220px;max-width:360px;margin-inline-start:auto}.grid-homes{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.home-card{text-align:start;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:18px;grid-template-rows:auto 1fr;padding:0;transition:transform .15s,box-shadow .15s;display:grid;overflow:hidden}.home-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.home-card .cover{aspect-ratio:16/10;background:var(--stage-2) center / cover;position:relative}.home-card .cover.empty{background:var(--stage-2) url(/brand/darview-icon.png) center / 64px no-repeat}.home-card .cover .badge{top:10px;position:absolute;inset-inline-start:10px}.home-card .body{gap:4px;padding:12px 14px 14px;display:grid}.home-card b{font-size:16px}.home-card .meta{color:var(--muted);font-size:13px}.ws{flex-direction:column;height:100%;display:flex}.ws .topbar .tabs{margin-inline:auto}.ws-body{flex:1;min-height:0;overflow:hidden}@media (width<=1100px){.ws .topbar .hide-md{display:none}}@media (width<=760px){.ws .topbar{flex-wrap:wrap;row-gap:8px}.ws .topbar .tabs{order:5;width:100%;display:flex}.ws .topbar .tabs button{flex:1}.ws .topbar .hide-sm{display:none}}.save-state{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.save-state i{background:var(--good);border-radius:50%;width:7px;height:7px;display:inline-block}.save-state.bad i{background:var(--warn)}.chips{scrollbar-width:none;gap:6px;padding:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:inline-flex}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.chip i{background:var(--line);border-radius:50%;width:7px;height:7px}.chip i.done{background:var(--gold)}.chip.dark{color:var(--on-stage);border-color:var(--stage-line);-webkit-backdrop-filter:blur(8px);background:#141414b8}.chip.dark[aria-pressed=true]{background:var(--on-stage);color:var(--ink)}.tracer{grid-template-columns:minmax(0,1fr) 380px;height:100%;display:grid}.tracer .main{background:var(--stage);grid-template-rows:auto minmax(0,1.25fr) minmax(0,1fr);gap:10px;min-height:0;padding:12px;display:grid}.tracer .side{min-height:0;padding:12px 12px calc(var(--safe-b) + 24px);border-inline-start:1px solid var(--line);align-content:start;gap:12px;display:grid;overflow-y:auto}.pane{background:#000;border-radius:14px;min-height:0;position:relative;overflow:hidden}.pane canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.pane.plan-pane{background:#101010}.pane .overlay{top:10px;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;inset-inline-start:10px}.pane .overlay>*{pointer-events:auto}.pane .tag{color:var(--on-stage);border:1px solid var(--stage-line);-webkit-backdrop-filter:blur(8px);background:#141414b8;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.pane .tag em{color:#bdbab4;margin-inline-start:4px;font-style:normal;font-weight:400}.pane .zoom{bottom:10px;gap:6px;display:flex;position:absolute;inset-inline-end:10px}.round{width:40px;height:40px;color:var(--on-stage);border:1px solid var(--stage-line);cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#141414b8;border-radius:50%;place-items:center;font-size:18px;display:grid}.banner{background:var(--gold);color:var(--gold-ink);z-index:2;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:6px 8px 6px 14px;font-size:13px;font-weight:600;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}.banner span{text-overflow:ellipsis;overflow:hidden}.banner .btn{background:#ffffffd9;border:0;min-height:28px;padding:2px 10px}.loupe{z-index:40;pointer-events:none;background:#000;border:2px solid #fff;border-radius:50%;width:168px;height:168px;position:fixed;box-shadow:0 6px 24px #0009}.walls{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.walls td{border-bottom:1px solid var(--line);cursor:pointer;padding:6px 4px}.walls td:last-child{text-align:end}.walls tr.sel td{color:var(--gold-deep);font-weight:600}.kv{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.kv b{font-variant-numeric:tabular-nums;font-size:20px}.btns{flex-wrap:wrap;gap:6px;display:flex}.list{gap:6px;display:grid}.list .item{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.list .item .grow{flex:1;min-width:120px}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}@media (width<=1023px){.tracer{height:auto;display:block}.tracer .main{grid-template-rows:auto auto auto;padding:10px}.tracer .photo-pane{aspect-ratio:2}.ws-body{overflow-y:auto}.tracer .plan-pane{aspect-ratio:4/3;max-height:70vh}.tracer .side{padding:12px 12px calc(var(--safe-b) + 32px);border:0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.showroom{grid-template-columns:minmax(0,1fr) 380px;height:100%;display:grid}.stage{background:var(--stage);min-height:0;position:relative;overflow:hidden}.stage>canvas.view{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage .status{color:var(--on-stage);text-align:center;pointer-events:none;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.stage .mini{top:12px;border:1px solid var(--stage-line);touch-action:none;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#141414b8;border-radius:14px;width:280px;height:210px;position:absolute;inset-inline-end:12px}.stage .zoom{top:12px;flex-direction:column;gap:6px;display:flex;position:absolute;inset-inline-start:12px}.stage .rooms{bottom:12px;position:absolute;inset-inline:12px}.stage .note{max-width:min(520px,100% - 140px);color:var(--on-stage);text-align:center;border:1px solid var(--stage-line);background:#141414cc;border-radius:12px;padding:8px 12px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.piece{bottom:62px;background:var(--surface);border-radius:18px;gap:8px;max-width:640px;margin-inline:auto;padding:12px 14px;display:grid;position:absolute;inset-inline:12px;box-shadow:0 12px 36px #0006}.piece .name{flex:1;min-width:140px;font-weight:600}.piece .price{font-variant-numeric:tabular-nums;font-weight:600}.swatch{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0}.swatch[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.fit{color:var(--muted);font-size:13px}.fit.warn{color:var(--warn)}.side-panel{background:var(--surface);border-inline-start:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.side-panel .store{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 14px;display:flex}.side-panel .logo{background:var(--brand);width:36px;height:36px;color:var(--brand-ink);border-radius:10px;flex:none;place-items:center;font-weight:700;display:grid}.side-panel .tabs{border-bottom:1px solid var(--line);padding:10px 14px}.side-panel .tabs .seg{width:100%}.side-panel .tabs .seg button{flex:1}.side-panel .scroll{min-height:0;padding:14px 14px calc(var(--safe-b) + 20px);flex:1;align-content:start;gap:14px;display:grid;overflow-y:auto}.cats{flex-wrap:wrap;gap:6px;display:flex}.cats button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.cats button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.set{border:1px dashed var(--brand);background:var(--surface-2);border-radius:14px;gap:6px;padding:12px;display:grid}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.product{border:1px solid var(--line);text-align:start;background:var(--surface);cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;padding:8px;display:flex}.product:hover{border-color:var(--brand)}.product .thumb{aspect-ratio:4/3;background:var(--page);color:var(--muted);border-radius:10px;place-items:center;font-size:12px;display:grid;overflow:hidden}.product .thumb img{object-fit:contain;width:100%;height:100%}.product .n{font-size:14px;font-weight:600;line-height:1.25}.product .d{color:var(--muted);font-size:12px}.product .p{font-variant-numeric:tabular-nums;font-weight:600}.quote{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.quote td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 4px}.quote td.num{text-align:end;white-space:nowrap}.totals{font-variant-numeric:tabular-nums;gap:4px;display:grid}.totals>div{justify-content:space-between;gap:8px;display:flex}.totals .big{font-size:22px;font-weight:700}@media (width<=1023px){.showroom{height:auto;display:block}.showroom .stage{z-index:3;height:min(52vh,620px);min-height:300px;position:sticky;top:0}.stage .mini{width:160px;height:124px}.side-panel{border:0}.side-panel .scroll{overflow:visible}.piece{bottom:58px}}@media (width<=599px){.tracer .photo-pane{aspect-ratio:1;max-height:62vh}}@media (width>=600px) and (width<=1023px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}}.setup{max-width:820px;padding:20px 16px calc(var(--safe-b) + 40px);gap:14px;margin:0 auto;display:grid}.setup .room{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.setup .room.off{opacity:.55}.setup .thumb{background:var(--stage-2) center / cover;border-radius:8px;width:96px;height:48px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.login .or{color:var(--muted,#6e6a63);align-items:center;gap:10px;font-size:13px;display:flex}.login .or:before,.login .or:after{content:"";background:#0000001f;flex:1;height:1px}.sheet{z-index:50;-webkit-backdrop-filter:blur(4px);background:#14141499;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet-card{color:#1a1a1a;background:#fff;border-radius:18px;grid-template-rows:auto 1fr;width:min(1200px,100%);height:min(860px,100%);display:grid;overflow:hidden;box-shadow:0 20px 60px #00000059}.sheet-card header{border-bottom:1px solid #00000014;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.sheet-plan{width:100%;height:100%;min-height:0;display:block}@media (width<=640px){.sheet{padding:0}.sheet-card{border-radius:0;height:100%}}.walls input.input.num{width:72px;min-height:32px;padding:4px 8px;font-size:14px}.walls td.clean{color:var(--muted);font-size:12px}.door-spec{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0 8px 18px;display:flex}.door-spec .input.num{width:64px;min-height:32px;padding:4px 8px;font-size:14px}.stage .plan-btn{top:230px;position:absolute;inset-inline-end:12px}@media (width<=1023px){.stage .plan-btn{top:144px}}
