/* Raspored sobe (inc/plan.php, assets/js/plan.js) */
.ifu-planscreen { padding: 24px 0 48px; }
.ifu-plan__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.ifu-plan__head h1 { margin: 4px 0 6px; font-size: clamp(26px, 4vw, 38px); }
.ifu-plan__kicker { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ifu-accent); }
.ifu-plan__lead { margin: 0; max-width: 680px; color: var(--ifu-muted); font-size: 15px; line-height: 1.5; }
.ifu-plan__headacts { display: flex; gap: 8px; flex-wrap: wrap; }
.ifu-plan { display: grid; grid-template-columns: 270px minmax(0, 1fr) 280px; gap: 18px; align-items: start; }
.ifu-plan__box { padding: 14px; border: 1px solid var(--ifu-line); border-radius: 18px; background: var(--ifu-paper); margin-bottom: 14px; }
.ifu-plan__box h2 { margin: 0 0 10px; font-size: 15px; }
.ifu-plan__hint { margin: -4px 0 8px; font-size: 12.5px; color: var(--ifu-muted-2); }
.ifu-plan__room { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; }
.ifu-plan__room label { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 4px; padding: 5px 10px 6px; border: 1px solid var(--ifu-line); border-radius: 12px; background: #fff; font-size: 11px; color: var(--ifu-muted-2); }
.ifu-plan__room label span { grid-column: 1 / -1; line-height: 1.2; }
.ifu-plan__w { display: flex; align-items: center; gap: 4px; height: 42px; padding: 0 10px; border: 1px solid var(--ifu-line); border-radius: 12px; background: #fff; font-size: 11px; color: var(--ifu-muted-2); }
.ifu-plan__room input, .ifu-plan__w input { width: 100%; min-width: 0; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 700; color: var(--ifu-ink); outline: none; }
.ifu-plan__room em, .ifu-plan__w em { font-style: normal; }
.ifu-plan__photo { display: block; margin-top: 10px; cursor: pointer; }
.ifu-plan__photo .ifu-btn { display: inline-flex; align-items: center; gap: 6px; pointer-events: none; }
.ifu-plan__box > .ifu-plan__hint { margin: 6px 0 0; }
.ifu-plan__photores { margin: 6px 0 0; font-size: 12.5px; line-height: 1.45; color: #1C7C4A; }
.ifu-plan__photores.is-bad { color: #B3261E; }
.ifu-plan__photores:empty { display: none; }
.ifu-plan__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ifu-plan__chip { display: inline-flex; align-items: baseline; gap: 4px; padding: 7px 11px; border: 1px solid var(--ifu-line); border-radius: 999px; background: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ifu-plan__chip small { color: var(--ifu-muted-2); font-weight: 500; font-size: 11px; }
.ifu-plan__chip:hover, .ifu-plan__prod:hover:not(:disabled) { border-color: var(--ifu-accent); }
.ifu-plan__prods { display: flex; flex-direction: column; gap: 6px; }
.ifu-plan__prod { display: flex; align-items: center; gap: 8px; padding: 6px; border: 1px solid var(--ifu-line); border-radius: 12px; background: #fff; font: inherit; text-align: left; cursor: pointer; }
.ifu-plan__prod:disabled { opacity: .5; cursor: default; }
.ifu-plan__prod img { width: 40px; height: 40px; object-fit: contain; border-radius: 8px; background: var(--ifu-sand); flex: none; }
.ifu-plan__prod span { display: flex; flex-direction: column; min-width: 0; font-size: 13px; }
.ifu-plan__prod b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ifu-plan__prod small { color: var(--ifu-muted-2); }
.ifu-plan__custom { margin-top: 12px; font-size: 13px; }
.ifu-plan__custom summary { cursor: pointer; font-weight: 600; color: var(--ifu-accent); margin-bottom: 8px; }
.ifu-plan__custom .ifu-btn { margin-top: 8px; }
.ifu-plan__stage { position: sticky; top: 84px; }
.ifu-plan__canvas { border-radius: 20px; background: #fff; border: 1px solid var(--ifu-line); padding: 8px; touch-action: none; user-select: none; }
.ifu-plan__svg { display: block; width: 100%; height: auto; max-height: 72vh; }
.ifu-plan__svg .room { fill: #FBF9F5; }
.ifu-plan__svg .grid { stroke: #EFEAE1; stroke-width: 1; }
.ifu-plan__svg .walls { fill: none; stroke: #16150F; stroke-width: 6; pointer-events: none; }
.ifu-plan__svg .zone { fill: rgba(42, 59, 214, .07); stroke: rgba(42, 59, 214, .35); stroke-width: 1.5; stroke-dasharray: 6 5; pointer-events: none; }
.ifu-plan__svg .item { cursor: grab; }
.ifu-plan__svg .item rect { fill: #E9E3D8; stroke: #8C8574; stroke-width: 2; }
.ifu-plan__svg .item.is-rug rect { fill: rgba(201, 180, 145, .35); stroke: #C9B491; stroke-dasharray: 8 6; }
.ifu-plan__svg .item .back { stroke: #4A463E; stroke-width: 6; stroke-linecap: round; }
.ifu-plan__svg .item text { fill: #16150F; font-family: inherit; font-weight: 700; pointer-events: none; }
.ifu-plan__svg .item text.dim, .ifu-plan__svg text.dim { fill: #6F6A62; font-weight: 500; }
.ifu-plan__svg .item.is-warn rect { fill: #FFF3DC; stroke: #D08A00; }
.ifu-plan__svg .item.is-bad rect { fill: #FCE8E6; stroke: #B3261E; }
.ifu-plan__svg .item.is-sel rect { stroke: #2A3BD6; stroke-width: 4; }
.ifu-plan__svg .open { cursor: grab; }
.ifu-plan__svg .open .gap { stroke: #FBF9F5; stroke-width: 10; }
.ifu-plan__svg .open.is-window .gap { stroke: #9EC5E8; stroke-width: 10; }
.ifu-plan__svg .open .swing { fill: rgba(22, 21, 15, .04); stroke: #8C8574; stroke-width: 1.5; stroke-dasharray: 4 4; }
.ifu-plan__svg .open.is-sel .gap { stroke: #2A3BD6; }
.ifu-plan__sel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; padding: 10px 12px; border-radius: 14px; background: var(--ifu-sand); }
.ifu-plan__sel[hidden] { display: none; }
.ifu-plan__sel p { margin: 0 auto 0 0; font-size: 14px; }
.ifu-plan__sel small { color: var(--ifu-muted); }
.ifu-plan__w { height: 36px; width: 150px; }
.ifu-plan__del { border: 0; background: none; color: #B3261E; font-weight: 700; }
.ifu-plan__legend { display: flex; align-items: center; gap: 8px; margin: 8px 4px 0; font-size: 12px; color: var(--ifu-muted-2); }
.ifu-plan__legend .is-zone { width: 18px; height: 12px; border: 1.5px dashed rgba(42, 59, 214, .5); background: rgba(42, 59, 214, .07); border-radius: 3px; }
.ifu-plan__floor { margin: 0 0 10px; font-size: 14px; font-weight: 600; }
.ifu-plan__floor.is-warn { color: #8A5A00; }
.ifu-plan__issues { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; line-height: 1.45; }
.ifu-plan__issues li { position: relative; padding: 8px 10px 8px 30px; border-radius: 10px; background: #fff; }
.ifu-plan__issues li::before { position: absolute; left: 10px; top: 8px; font-weight: 800; }
.ifu-plan__issues li.is-bad::before { content: "✕"; color: #B3261E; }
.ifu-plan__issues li.is-warn::before { content: "!"; color: #8A5A00; }
.ifu-plan__issues li.is-ok::before { content: "✓"; color: #1C7C4A; }
.ifu-plan__issues li.is-info::before { content: "i"; color: var(--ifu-accent); }
.ifu-plan__buy { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.ifu-plan__buy a { font-weight: 700; color: var(--ifu-ink); }
.ifu-plan__buy small { display: block; color: var(--ifu-muted-2); }
.ifu-plan__buyfoot:empty { display: none; }
.ifu-plan__buyfoot { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--ifu-line); display: flex; flex-direction: column; gap: 8px; }
.ifu-plan__total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; font-size: 15px; }
.ifu-plan__total b { font-size: 18px; }
.ifu-plan__buyfoot .ifu-plan__hint { margin: 0; }
.ifu-btn--block { display: flex; justify-content: center; width: 100%; }
@media (max-width: 1100px) {
	.ifu-plan { grid-template-columns: 250px minmax(0, 1fr); }
	.ifu-plan__report { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	.ifu-plan { grid-template-columns: 1fr; }
	.ifu-plan__stage { position: static; order: -1; }
	.ifu-plan__svg { max-height: 60vh; }
}
@media print { .ifu-plan__tools, .ifu-plan__headacts, .ifu-plan__sel { display: none; } .ifu-plan { grid-template-columns: 1fr; } }
