/* Indus Space Planner — scoped under .isp */
.isp{--isp-brand:#2e7d32;--isp-accent:#e9f5e6;--isp-line:#dfe5dc;--isp-muted:#5d6b60;--isp-warn:#b54708;--isp-warn-bg:#fff4e5;--isp-card:#fff;--isp-ink:#1d2a20;
  color:var(--isp-ink);font-size:16px;line-height:1.5;max-width:1000px;margin:0 auto}
.isp *{box-sizing:border-box}
.isp h3{font-size:1.1rem;margin:0 0 10px;display:flex;align-items:center}
.isp h4{font-size:1.05rem;margin:0}
.isp h4 a{color:inherit;text-decoration:none}
.isp-seg{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.isp-chip{font:inherit;border:1px solid var(--isp-line);background:var(--isp-card);color:var(--isp-ink);border-radius:999px;padding:9px 14px;cursor:pointer}
.isp-chip.on{background:var(--isp-brand);border-color:var(--isp-brand);color:#fff;font-weight:600}
.isp-card{background:var(--isp-card);border:1px solid var(--isp-line);border-radius:14px;padding:16px;margin:14px 0}
.isp-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--isp-brand);color:#fff;font-size:.85rem;margin-right:8px;flex:none}
.isp-btn{display:inline-block;font:inherit;border:0;border-radius:10px;padding:11px 16px;cursor:pointer;background:var(--isp-brand);color:#fff!important;font-weight:600;text-decoration:none!important;text-align:center}
.isp-btn.ghost{background:var(--isp-accent);color:var(--isp-brand)!important}
.isp-btn.isp-wa{background:#1fa855}
.isp-btn:disabled{opacity:.45;cursor:not-allowed}
.isp-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.isp label{display:flex;flex-direction:column;font-size:.85rem;color:var(--isp-muted);gap:4px;flex:1;min-width:120px}
.isp input,.isp select,.isp textarea{font:inherit;padding:10px;border:1px solid var(--isp-line);border-radius:10px;width:100%;background:#fff;color:var(--isp-ink)}
.isp-note{font-size:.9rem;color:var(--isp-muted);margin:6px 0 0}
.isp-climate{font-size:.9rem;background:var(--isp-accent);border-radius:10px;padding:8px 12px;margin:8px 0 12px}
.isp-climate:empty{display:none}
.isp-warn{background:var(--isp-warn-bg);color:var(--isp-warn);border-radius:10px;padding:10px 12px;font-size:.9rem}
.isp-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.isp-kit{background:var(--isp-card);border:1px solid var(--isp-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.isp-kit.best{border:2px solid var(--isp-brand)}
.isp-kit model-viewer,.isp-kit>img{width:100%;height:240px;background:linear-gradient(#eef3ea,#fff);object-fit:contain;display:block}
.isp-arv{position:absolute;right:10px;bottom:10px;padding:9px 12px;font-size:.9rem}
.isp-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.isp-tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:99px;background:var(--isp-accent);color:var(--isp-brand);font-weight:700}
.isp-tag.no{background:var(--isp-warn-bg);color:var(--isp-warn)}
.isp-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:.88rem;color:var(--isp-muted)}
.isp-stats b{color:var(--isp-ink)}
.isp-nums{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
@media (min-width:700px){.isp-nums{grid-template-columns:repeat(4,1fr)}}
.isp-nums div{background:var(--isp-accent);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column}
.isp-nums b{font-size:1rem;color:var(--isp-brand)}
.isp-nums span{font-size:.75rem;color:var(--isp-muted)}
.isp-kit svg{width:100%;height:auto;background:#fafbf8;border-radius:10px;border:1px solid var(--isp-line);font-size:12px}
.isp-kit svg text{fill:var(--isp-muted)}
.isp-kit svg .isp-area{fill:none;stroke:var(--isp-muted);stroke-dasharray:5 4}
.isp-kit svg .isp-u{fill:#4caf50;fill-opacity:.85;stroke:#1b5e20}
.isp-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.isp-actions .isp-btn{flex:1}
.isp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.isp-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#1d2a20;color:#fff;padding:10px 16px;border-radius:10px;display:none;z-index:99999}
.isp-toast.on{display:block}
/* AR overlay (moved to <body> by JS) */
.isp-ov{display:none;position:fixed;inset:0;pointer-events:none;font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#fff;z-index:2147483000}
.isp-ov.on{display:block}
.isp-ov [hidden]{display:none!important}
.isp-ov-top{position:absolute;top:0;left:0;right:0;padding:14px 16px;padding-top:max(14px,env(safe-area-inset-top));background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,0));text-align:center;font-weight:600;text-shadow:0 1px 3px #000}
.isp-ov-bottom{position:absolute;left:0;right:0;bottom:0;padding:12px 12px max(16px,env(safe-area-inset-bottom));background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.75));display:flex;flex-direction:column;gap:10px;align-items:center}
.isp-ov-bar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;pointer-events:auto}
.isp-ov button{font:inherit;border:0;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.95);color:#1d2a20;font-weight:600}
.isp-ov button.primary{background:#2e7d32;color:#fff;min-width:150px}
.isp-ov button:disabled{opacity:.5}
.isp-ov-info{pointer-events:auto;background:rgba(255,255,255,.95);color:#1d2a20;border-radius:12px;padding:10px 14px;max-width:420px;width:100%;font-size:14px;display:none}
.isp-ov-h{display:none;pointer-events:auto;gap:8px;align-items:center;background:rgba(255,255,255,.95);color:#1d2a20;border-radius:12px;padding:8px 10px}
.isp-ov-h input{width:110px;font:inherit;padding:8px;border:1px solid #ccc;border-radius:8px}
.isp-ov-x{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;pointer-events:auto;padding:8px 12px!important}
@media (prefers-color-scheme: dark){
  .isp.isp-auto-dark{--isp-card:#1b211c;--isp-ink:#e8efe7;--isp-muted:#a3b1a5;--isp-line:#2c352d;--isp-accent:#22352a}
}

.isp-step-units{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--isp-line);border-radius:10px;padding:4px}
.isp-step-units button{font:inherit;font-size:1.2rem;width:40px;height:36px;border:0;border-radius:8px;background:var(--isp-accent);color:var(--isp-brand);cursor:pointer}
.isp-step-units button:disabled{opacity:.35;cursor:not-allowed}
.isp-step-units small{color:var(--isp-muted)}
.isp-ov-grow{display:none;pointer-events:auto;align-items:center;gap:8px;background:rgba(255,255,255,.95);color:#1d2a20;border-radius:12px;padding:8px 12px;max-width:420px;width:100%;font-size:14px}
.isp-ov-grow input{flex:1;accent-color:#2e7d32}
.isp-ov-grow #isp-growTxt{min-width:110px;text-align:right;font-weight:600}
/* v1.2 */
.isp-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:6px 0 4px}
.isp-bar .isp-seg{margin:0}
.isp-unit{margin-left:auto!important}
.isp-unit .isp-chip{padding:6px 12px;font-size:.9rem}
.isp-kits-h{margin:22px 0 8px}
.isp-kit.in{border:2px solid var(--isp-brand)}
.isp-plan{width:100%;height:auto;background:#fafbf8;border-radius:10px;border:1px solid var(--isp-line);font-size:12px;margin:6px 0}
.isp-plan text{fill:var(--isp-muted)}
.isp-plan .isp-area{fill:none;stroke:var(--isp-muted);stroke-dasharray:5 4}
.isp-mixlist{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.isp-mixlist li{display:flex;align-items:center;gap:8px;border:1px solid var(--isp-line);border-radius:10px;padding:6px 8px;flex-wrap:wrap}
.isp-mixlist li>i{width:14px;height:14px;border-radius:4px;flex:none}
.isp-mixlist li>span:first-of-type{flex:1;min-width:140px}
.isp-mixlist small{color:var(--isp-muted)}
.isp-qty{display:inline-flex;align-items:center;gap:6px}
.isp-qty button{font:inherit;width:32px;height:30px;border:0;border-radius:8px;background:var(--isp-accent);color:var(--isp-brand);cursor:pointer;font-size:1.1rem}
.isp-qty b{min-width:22px;text-align:center}
.isp-nums{grid-template-columns:repeat(3,1fr)}
.isp-addon{font-size:.9rem;background:#fff8e1;border-radius:10px;padding:8px 12px;margin:8px 0 0}
.isp-total{font-size:1rem;margin:10px 0 4px}
.isp-mix .isp-actions{margin-top:10px}
.isp-ov-res{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%}
.isp-ov-res[hidden]{display:none!important}
.isp-ov-pick{align-items:center;background:rgba(255,255,255,.95);border-radius:12px;padding:4px;color:#1d2a20;max-width:420px;width:100%;justify-content:space-between!important;flex-wrap:nowrap!important}
.isp-ov-pick span{font-weight:700;font-size:14px;text-align:center;flex:1}
.isp-ov-pick button{padding:8px 14px!important}
.isp-ov .isp-ov-bar button{padding:10px 12px}
/* v1.3 */
.isp-viewbtns{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.isp-viewbtns .isp-btn{flex:1;min-width:150px}
.isp-viewbtns .isp-btn[hidden]{display:none}
.isp-3d model-viewer{width:100%;height:340px;background:linear-gradient(#eef3ea,#fff);border-radius:12px;border:1px solid var(--isp-line)}
.isp-plan .isp-it{cursor:grab;touch-action:none}
.isp-plan .isp-it.drag{cursor:grabbing}
.isp-plan .isp-it.drag>*{stroke:#000;stroke-opacity:.8;stroke-width:2}
.isp-plan .isp-it.bad>*{fill:#e53935!important}
.isp-planhint{margin-top:0}
/* v1.4 compact AR controls */
.isp-ov-more{display:flex;flex-direction:column;gap:6px;width:100%;align-items:center}
.isp-ov-more[hidden]{display:none!important}
.isp-ov .isp-ov-bar button{padding:9px 11px;font-size:14px}
.isp-ov-info{font-size:13px;padding:7px 12px}
.isp-ov-bottom{gap:7px;padding-top:30px}
.isp-ov-diag{position:absolute;left:8px;top:calc(max(14px,env(safe-area-inset-top)) + 46px);font:11px/1.3 system-ui,sans-serif;color:#fff;background:rgba(0,0,0,.45);border-radius:6px;padding:3px 7px;max-width:calc(100% - 16px);pointer-events:none}
/* v1.5 */
.isp label .isp-lbl{display:block}
.isp label .isp-lbl b{font-weight:inherit;display:inline}
.isp-3dcanvas{width:100%;height:340px;border-radius:12px;overflow:hidden;border:1px solid var(--isp-line);background:#eef3ea}
.isp-3dcanvas canvas{display:block;width:100%!important;height:100%!important}
