/* ===== Base page ===== */
html { color-scheme: light dark; }
body {
  margin: 0;
  background: light-dark(#f4f3ee, #141813);
  font-family: 'Golos Text', Arial, sans-serif;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
}
.page-wrap { max-width: 1600px; margin: 0 auto; padding: 14px; }
@media (max-width: 640px) { .page-wrap { padding: 8px; } #interior-workspace { height: calc(100vh - 16px); height: calc(100dvh - 16px); } }

/* ===== Interior workspace (scoped) ===== */
#interior-workspace{--iw-bg:light-dark(#f8f7f3,#202420);--iw-panel:light-dark(#ffffff,#292e29);--iw-soft:light-dark(#efeee8,#353b34);--iw-ink:light-dark(#28382e,#edf0e9);--iw-muted:light-dark(#657065,#b2bbb0);--iw-line:light-dark(#dfe3da,#465044);--iw-brand:light-dark(#355942,#b6d2ab);--iw-onbrand:light-dark(#ffffff,#21331e);--iw-tint:light-dark(#e9f0e6,#354632);--iw-warn:light-dark(#815218,#e9c18c);--iw-sky:light-dark(#dfedf0,#6c8385);--iw-sofa:light-dark(#819877,#819877);--iw-floor:light-dark(#c5a883,#c5a883);--iw-wall:light-dark(#e9e3d8,#e9e3d8);color:var(--iw-ink);background:var(--iw-bg);font-family:'Golos Text',Arial,sans-serif;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;font-size:14px;line-height:1.45;border:1px solid var(--iw-line);border-radius:16px;overflow:hidden;isolation:isolate;color-scheme:light dark;height:calc(100vh - 28px);height:calc(100dvh - 28px);display:flex;flex-direction:column}
#interior-workspace *{box-sizing:border-box}
#interior-workspace button,#interior-workspace input,#interior-workspace select,#interior-workspace textarea{font:inherit;color:inherit}
#interior-workspace button{cursor:pointer;border:1px solid var(--iw-line);background:var(--iw-panel);padding:8px 11px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:normal}
#interior-workspace button:hover{background:var(--iw-soft)}
#interior-workspace button:disabled{cursor:default;opacity:.5}
#interior-workspace button.iw-primary{background:var(--iw-brand);color:var(--iw-onbrand);border-color:var(--iw-brand)}
#interior-workspace button.iw-plain{background:transparent;border-color:transparent}
#interior-workspace button[aria-pressed="true"],#interior-workspace button[aria-selected="true"]{background:var(--iw-tint);color:var(--iw-brand);border-color:var(--iw-brand)}
#interior-workspace input,#interior-workspace select,#interior-workspace textarea{background:var(--iw-panel);border:1px solid var(--iw-line);border-radius:8px;padding:8px 9px;min-width:0;max-width:100%}
#interior-workspace input[type="number"]{width:100%}
#interior-workspace textarea{width:100%;resize:vertical;min-height:74px}
#interior-workspace svg{display:block;max-width:100%}
#interior-workspace [hidden]{display:none!important}
#interior-workspace strong{font-weight:600}
#interior-workspace .iw-small{font-size:12px}
#interior-workspace .iw-muted{color:var(--iw-muted)}
#interior-workspace .iw-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#interior-workspace .iw-spread{justify-content:space-between}
#interior-workspace .iw-top{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--iw-line);background:var(--iw-panel);flex-wrap:wrap}
#interior-workspace .iw-brandmark{width:32px;height:32px;display:grid;place-items:center;background:var(--iw-brand);color:var(--iw-onbrand);border-radius:10px}
#interior-workspace .iw-title{font-size:16px;font-weight:600}
#interior-workspace .iw-city{display:flex;gap:8px;align-items:center}
#interior-workspace .iw-city select{max-width:146px}
#interior-workspace .iw-shell{flex:1;min-height:0;display:grid;grid-template-columns:var(--iw-panel-w,260px) 7px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
#interior-workspace .iw-chat{background:var(--iw-panel);padding:20px 16px;display:flex;flex-direction:column;gap:18px;min-width:0;min-height:0}
#interior-workspace .iw-splitter{cursor:col-resize;touch-action:none;position:relative;background:transparent;outline:none}
#interior-workspace .iw-splitter::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:var(--iw-line);transition:background .15s}
#interior-workspace .iw-splitter:hover::before,#interior-workspace .iw-splitter.iw-drag::before,#interior-workspace .iw-splitter:focus-visible::before{background:var(--iw-brand)}
#interior-workspace .iw-main{scrollbar-width:thin;scrollbar-color:var(--iw-line) transparent}
#interior-workspace .iw-main::-webkit-scrollbar{width:8px}
#interior-workspace .iw-main::-webkit-scrollbar-track{background:transparent}
#interior-workspace .iw-main::-webkit-scrollbar-thumb{background:var(--iw-line);border-radius:8px}
#interior-workspace .iw-main::-webkit-scrollbar-thumb:hover{background:var(--iw-brand)}
#interior-workspace .iw-messages{scrollbar-color:var(--iw-line) transparent}
#interior-workspace .iw-messages::-webkit-scrollbar{width:6px}
#interior-workspace .iw-messages::-webkit-scrollbar-track{background:transparent}
#interior-workspace .iw-messages::-webkit-scrollbar-thumb{background:var(--iw-line);border-radius:6px}
#interior-workspace .iw-avatar{border-radius:50%;width:34px;height:34px;background:var(--iw-tint);color:var(--iw-brand);display:grid;place-items:center;flex-shrink:0}
#interior-workspace .iw-messages{flex:1;min-height:80px;overflow-y:auto;display:flex;flex-direction:column;align-items:flex-start;margin:0 -4px;padding:0 4px;scrollbar-width:thin}
#interior-workspace .iw-bubble{padding:12px;border-radius:12px;background:var(--iw-soft);margin-bottom:10px;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;animation:iw-msg-in .18s ease}
#interior-workspace .iw-bubble.iw-user{background:var(--iw-tint);margin-left:18px;align-self:flex-end}
@keyframes iw-msg-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#interior-workspace .iw-bubble.iw-stage{background:var(--iw-tint);color:var(--iw-brand);display:flex;align-items:center;gap:8px;font-size:13px;white-space:normal}
#interior-workspace .iw-stage-dots{display:inline-flex;gap:3px}
#interior-workspace .iw-stage-dots span{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;animation:iw-pulse 1.2s infinite}
#interior-workspace .iw-stage-dots span:nth-child(2){animation-delay:.2s}
#interior-workspace .iw-stage-dots span:nth-child(3){animation-delay:.4s}
@keyframes iw-pulse{0%,60%,100%{opacity:.3}30%{opacity:1}}
#interior-workspace .iw-consent{display:grid;gap:10px;background:var(--iw-soft);border:1px solid var(--iw-line);border-radius:12px;padding:14px}
#interior-workspace .iw-consent-title{font-weight:600;font-size:14px}
#interior-workspace .iw-consent-text{font-size:12px;color:var(--iw-muted);line-height:1.55;white-space:pre-line}
#interior-workspace .iw-consent button{justify-content:center;width:100%}
#interior-workspace .iw-message-author{display:block;font-size:12px;color:var(--iw-muted);margin-bottom:5px}
#interior-workspace .iw-chat-options{display:flex;flex-wrap:wrap;gap:6px}
#interior-workspace .iw-chat-options button{font-size:12px;padding:5px 10px;border-radius:999px;white-space:nowrap}
#interior-workspace .iw-chat-form{margin-top:auto;display:grid;gap:8px}
#interior-workspace .iw-main{padding:18px;min-width:0;min-height:0;overflow-y:auto}
#interior-workspace .iw-viewbar{margin-bottom:10px}
#interior-workspace .iw-switch{display:flex;gap:5px;flex-wrap:wrap}
#interior-workspace .iw-stage{background:var(--iw-panel);border:1px solid var(--iw-line);border-radius:12px;overflow:clip}
#interior-workspace .iw-stage-toolbar{padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
#interior-workspace .iw-stage-toolbar button{padding:5px 10px;font-size:12px}
#interior-workspace .iw-room-art{width:100%;height:245px;background:var(--iw-soft)}
#interior-workspace .iw-art-footer{padding:9px 12px;color:var(--iw-muted);font-size:12px;border-top:1px solid var(--iw-line);display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
#interior-workspace .iw-changebar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:10px 0 18px;flex-wrap:wrap}
#interior-workspace .iw-changebar button{flex-shrink:0}
#interior-workspace .iw-pending{color:var(--iw-warn)}
#interior-workspace .iw-category{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 10px}
#interior-workspace .iw-category button{padding:7px 11px}
#interior-workspace .iw-subcategory{margin-bottom:10px;display:flex;flex-wrap:wrap;gap:6px}
#interior-workspace .iw-subcategory button{padding:5px 9px;font-size:12px}
#interior-workspace .iw-list-tabs{display:flex;gap:15px;border-bottom:1px solid var(--iw-line);flex-wrap:wrap}
#interior-workspace .iw-list-tabs button{border:0;border-radius:0;padding:9px 0;background:transparent;color:var(--iw-muted)}
#interior-workspace .iw-list-tabs button[aria-pressed="true"]{color:var(--iw-brand);border-bottom:2px solid var(--iw-brand);background:transparent}
#interior-workspace .iw-search{display:flex;gap:7px;margin-bottom:10px;flex-wrap:wrap}
#interior-workspace .iw-search input{flex:1 1 155px;width:100px}
#interior-workspace .iw-search select{flex:0 1 157px}
#interior-workspace .iw-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}
#interior-workspace .iw-item{background:var(--iw-panel);border:1px solid var(--iw-line);border-radius:11px;overflow:clip;min-width:0;display:flex;flex-direction:column}
#interior-workspace .iw-item.iw-selected{border-color:var(--iw-brand)}
#interior-workspace .iw-item-image{position:relative;height:92px;background:var(--iw-soft);display:grid;place-items:center}
#interior-workspace .iw-save{position:absolute;right:6px;top:6px;padding:5px!important;border-radius:7px!important;background:var(--iw-panel)!important}
#interior-workspace .iw-item-copy{padding:10px;display:grid;gap:5px;flex:1;align-content:start}
#interior-workspace .iw-item-name{min-height:38px;font-weight:600}
#interior-workspace .iw-item button.iw-pick{width:100%;margin-top:6px;font-size:12px;padding:7px 6px}
#interior-workspace .iw-item-bottom{margin-top:auto;padding:0 10px 10px}
#interior-workspace .iw-item-bottom .iw-row{justify-content:space-between;gap:2px}
#interior-workspace .iw-item-bottom .iw-row button{padding:6px;font-size:12px}
#interior-workspace .iw-price{font-weight:600}
#interior-workspace .iw-tag{color:var(--iw-brand);font-size:12px}
#interior-workspace .iw-product-sofa{width:110px;height:36px;background:var(--sample);border-radius:9px 9px 6px 6px;position:relative;box-shadow:inset 0 -11px 0 color-mix(in srgb,var(--sample),black 12%)}
#interior-workspace .iw-product-sofa:before{content:"";position:absolute;inset:6px -7px -2px;border:8px solid color-mix(in srgb,var(--sample),black 8%);border-top:0;border-radius:7px}
#interior-workspace .iw-product-sofa:after{content:"";position:absolute;left:9px;right:9px;bottom:-9px;height:7px;border-left:4px solid var(--iw-muted);border-right:4px solid var(--iw-muted)}
#interior-workspace .iw-product-surface{width:105px;height:65px;border-radius:4px;background:var(--sample);transform:rotate(-7deg)}
#interior-workspace .iw-product-surface.iw-wood{background:repeating-linear-gradient(0deg,transparent 0 15px,color-mix(in srgb,var(--sample),black 25%) 16px 17px),repeating-linear-gradient(92deg,var(--sample) 0 49px,color-mix(in srgb,var(--sample),white 12%) 50px 95px)}
#interior-workspace .iw-product-surface.iw-paper{background:repeating-linear-gradient(85deg,transparent 0 4px,color-mix(in srgb,var(--sample),black 8%) 5px 6px),var(--sample)}
#interior-workspace .iw-product-fridge{height:67px;width:37px;background:var(--sample);border:1px solid var(--iw-muted);border-radius:5px;position:relative}
#interior-workspace .iw-product-fridge:before{content:"";position:absolute;top:43px;width:100%;border-top:1px solid var(--iw-muted)}
#interior-workspace .iw-product-fridge:after{content:"";position:absolute;left:4px;top:23px;height:13px;width:2px;background:var(--iw-muted)}
#interior-workspace .iw-product-lamp{width:46px;height:27px;background:var(--sample);border-radius:40px 40px 3px 3px;position:relative;margin-top:-26px}
#interior-workspace .iw-product-lamp:before{content:"";position:absolute;left:22px;top:27px;height:41px;width:3px;background:var(--iw-muted)}
#interior-workspace .iw-product-lamp:after{content:"";position:absolute;left:10px;top:66px;width:27px;height:3px;background:var(--iw-muted)}
#interior-workspace .iw-plan-fields{padding:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border-top:1px solid var(--iw-line)}
#interior-workspace label.iw-field{display:grid;gap:4px;font-size:12px;min-width:0}
#interior-workspace .iw-plan-shape{padding:10px 12px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
#interior-workspace .iw-plan-svg{width:100%;height:265px;touch-action:none}
#interior-workspace .iw-plan-note{padding:0 12px 12px}
#interior-workspace .iw-placement{padding:12px;border-top:1px solid var(--iw-line);display:grid;gap:10px}
#interior-workspace .iw-placement-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
#interior-workspace .iw-empty{grid-column:1/-1;padding:20px 0;color:var(--iw-muted)}
#interior-workspace .iw-feedback{font-size:12px;color:var(--iw-brand);min-height:18px}
#interior-workspace .iw-mobile-nav{display:none}
@media(max-width:850px){#interior-workspace .iw-shell{grid-template-columns:225px minmax(0,1fr)}#interior-workspace .iw-items{grid-template-columns:repeat(2,minmax(0,1fr))}#interior-workspace .iw-main{padding:13px}#interior-workspace .iw-chat{padding:16px 12px}#interior-workspace .iw-room-art{height:210px}}
@media(max-width:620px){#interior-workspace .iw-top{padding:12px}#interior-workspace .iw-title{font-size:14px}#interior-workspace .iw-shell{display:block;flex:1;min-height:0}#interior-workspace .iw-splitter{display:none}#interior-workspace .iw-chat{display:none;border-right:0;height:100%}#interior-workspace.iw-show-chat .iw-chat{display:flex}#interior-workspace.iw-show-chat .iw-main{display:none}#interior-workspace .iw-main{height:100%}#interior-workspace .iw-mobile-nav{display:flex;padding:8px 12px;border-bottom:1px solid var(--iw-line);gap:7px}#interior-workspace .iw-mobile-nav button{flex:1}#interior-workspace .iw-top>.iw-city{width:100%;justify-content:space-between}#interior-workspace .iw-chat-form{margin-top:10px}#interior-workspace .iw-room-art{height:190px}#interior-workspace .iw-changebar button{width:100%}#interior-workspace .iw-list-tabs{gap:12px;font-size:12px}#interior-workspace .iw-plan-fields{grid-template-columns:1fr 1fr}#interior-workspace .iw-placement-fields{grid-template-columns:1fr 1fr}#interior-workspace .iw-placement-fields button{grid-column:1/-1}#interior-workspace .iw-viewbar{align-items:flex-start}}
@media(pointer:coarse){#interior-workspace button{min-height:44px}#interior-workspace input,#interior-workspace textarea,#interior-workspace select{font-size:16px}}
/* ===== План: проёмы и паспорт ===== */
#interior-workspace .iw-openings{padding:12px;border-top:1px solid var(--iw-line);display:grid;gap:9px}
#interior-workspace .iw-openings-head{justify-content:space-between}
#interior-workspace .iw-opening-list{display:grid;gap:7px}
#interior-workspace .iw-opening{display:grid;grid-template-columns:22px minmax(88px,1fr) minmax(100px,1.15fr) repeat(4,minmax(56px,1fr)) 30px;grid-template-areas:"no kind wall off wid sil hgt del";gap:9px;align-items:end;padding:10px;background:var(--iw-soft);border:1px solid var(--iw-line);border-radius:10px}
#interior-workspace .iw-opening-no{grid-area:no;align-self:end;margin-bottom:8px;width:22px;height:22px;border-radius:50%;background:var(--iw-brand);color:var(--iw-onbrand);display:grid;place-items:center;font-size:11px;font-weight:600}
#interior-workspace .iw-opening .iw-f-kind{grid-area:kind}
#interior-workspace .iw-opening .iw-f-wall{grid-area:wall}
#interior-workspace .iw-opening .iw-f-offset{grid-area:off}
#interior-workspace .iw-opening .iw-f-width{grid-area:wid}
#interior-workspace .iw-opening .iw-f-sill{grid-area:sil}
#interior-workspace .iw-opening .iw-f-height{grid-area:hgt}
#interior-workspace .iw-opening-remove{grid-area:del;align-self:end;margin-bottom:3px;padding:6px}
#interior-workspace .iw-opening-empty{color:var(--iw-muted);font-size:12px;padding:4px 0}
#interior-workspace .iw-opening-issue{font-size:12px;color:var(--iw-warn);line-height:1.5}
#interior-workspace .iw-opening-ok{font-size:12px;color:var(--iw-muted)}
#interior-workspace .iw-opening-warnings{padding:0 12px 12px;display:grid;gap:3px}
#interior-workspace .iw-passport-box{border-top:1px solid var(--iw-line)}
#interior-workspace .iw-passport-box summary{padding:12px;cursor:pointer;font-size:13px;font-weight:600;list-style:none}
#interior-workspace .iw-passport-box summary::-webkit-details-marker{display:none}
#interior-workspace .iw-passport-body{padding:0 12px 12px;display:grid;gap:9px}
#interior-workspace .iw-passport-body textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;min-height:130px;line-height:1.5}
@media(max-width:850px){#interior-workspace .iw-opening{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}#interior-workspace .iw-opening-no{margin-bottom:8px;flex:0 0 auto}#interior-workspace .iw-opening .iw-field{flex:1 1 88px}#interior-workspace .iw-opening .iw-f-kind,#interior-workspace .iw-opening .iw-f-wall{flex:1 1 108px}#interior-workspace .iw-opening-remove{margin-bottom:3px;flex:0 0 auto}}
/* ===== Паспорт: секция фото ===== */
#interior-workspace .iw-passport-photos{display:grid;gap:8px;border:1px solid var(--iw-line);border-radius:10px;padding:10px;background:var(--iw-soft)}
#interior-workspace .iw-photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
#interior-workspace .iw-photo-card{display:grid;gap:6px;background:var(--iw-panel);border:1px solid var(--iw-line);border-radius:10px;padding:7px}
#interior-workspace .iw-photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px;cursor:zoom-in;background:var(--iw-line)}
#interior-workspace .iw-photo-card input{font-size:11px;padding:5px 7px}
#interior-workspace .iw-photo-card button{justify-self:end;font-size:11px;padding:3px 8px}
#interior-workspace .iw-photo-empty{color:var(--iw-muted);font-size:12px;padding:2px 0}
/* Лайтбокс просмотра фото */
#interior-workspace .iw-lightbox{position:fixed;inset:0;z-index:80;background:rgba(17,20,17,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px}
#interior-workspace .iw-lightbox img{max-width:min(92vw,1200px);max-height:74vh;border-radius:12px;background:var(--iw-line);box-shadow:0 14px 48px rgba(0,0,0,.45)}
#interior-workspace .iw-lightbox .iw-row{color:#f4f6f2}
#interior-workspace .iw-lightbox button{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#f4f6f2}
#interior-workspace .iw-lightbox button:hover{background:rgba(255,255,255,.18)}
/* Чат: прикрепление фото, согласие, системные строки */
#interior-workspace .iw-chat-form .iw-row>.iw-primary{margin-left:auto}
#interior-workspace .iw-consent .iw-row{align-items:flex-start}
#interior-workspace .iw-consent input[type="checkbox"]{flex:0 0 auto;width:auto;margin-top:2px}
#interior-workspace .iw-bubble.iw-sys{background:transparent;border:1px dashed var(--iw-line);color:var(--iw-muted);font-size:12px;align-self:center;text-align:center;padding:7px 12px}
#interior-workspace .iw-bubble.iw-sys .iw-message-author{display:none}
/* Хранение проекта на сервере: примечание и удаление */
#interior-workspace #iw-photo-storage-note{margin:0;line-height:1.55}
#interior-workspace .iw-passport-photos .iw-consent{padding:12px}
#interior-workspace .iw-passport-photos #iw-project-delete{font-size:12px;padding:6px 10px;color:var(--iw-warn)}

