/* 🏢 Офис v5 — изометрическая сцена + лента + чат (#1081). «Тёплая сцена»: бордо/золото/крем; текст ≥14px, кнопки ≥44px. */
.o5-ov { position: fixed; inset: 0; z-index: 1500; display: flex; flex-direction: column; background: #1b0c10; color: #fbf1de; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.o5-ov[hidden] { display: none; }
.o5-head { display: flex; align-items: center; gap: 8px; padding: calc(6px + env(safe-area-inset-top, 0px)) 10px 6px 2px; border-bottom: 1.5px solid rgba(242,196,109,.26); background: #241114; flex: none; }
.o5-back { width: 44px; height: 44px; border: 0; background: transparent; color: #f2c46d; font-size: 30px; line-height: 1; flex: none; }
.o5-title { font-size: 17px; font-weight: 800; white-space: nowrap; }
.o5-pause { margin-left: auto; min-height: 44px; padding: 0 10px; border-radius: 12px; border: 1.5px solid rgba(242,196,109,.5); background: rgba(40,19,21,.9); color: #f2c46d; font-size: 14px; font-weight: 700; white-space: nowrap; }
.o5-sub { display: flex; align-items: center; gap: 10px; padding: 4px 6px 4px 14px; font-size: 14px; color: #cbb89c; flex: none; }
.o5-sub b { color: #fbf1de; }
.o5-wait { min-height: 44px; padding: 0 10px; border: 0; border-radius: 12px; background: transparent; color: #cbb89c; font-size: 14px; font-family: inherit; }
.o5-wait b { color: #f2c46d; }
.o5-fold { margin-left: auto; width: 44px; height: 44px; border: 0; border-radius: 12px; background: transparent; color: #f2c46d; font-size: 18px; }
/* комната на всю ширину; при зуме ×2 — двигаем пальцем */
.o5-wrap { position: relative; width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; background: #1b0c10; flex: none; }
.o5-wrap[hidden] { display: none; }
.o5-scene { position: relative; width: 100%; }
.o5-scene.is-zoomed { width: auto; }
.o5-canvas { display: block; }
.o5-dom { position: absolute; left: 0; top: 0; pointer-events: none; }
.o5-name { position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; will-change: transform; }
.o5-name b { padding: 1px 7px; border-radius: 999px; background: rgba(27,12,16,.82); border: 1px solid rgba(242,196,109,.5); color: #fbf1de; font-size: 14px; font-weight: 700; white-space: nowrap; line-height: 1.3; }
.o5-name i { order: -1; padding: 2px 7px; border-radius: 10px; background: #fbf1de; color: #2a1a12; font-size: 14px; font-style: normal; white-space: nowrap; max-width: 140px; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; }
.o5-name i[hidden], .o5-name[hidden] { display: none; }
.o5-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 8px 0 6px; flex: none; }
.o5-foot[hidden] { display: none; }
.o5-hint { font-size: 14px; line-height: 1.25; color: #8a8179; text-align: right; }
.o5-boardline { min-height: 44px; padding: 0 8px; border: 0; border-radius: 12px; background: transparent; color: #fbf1de; font-size: 14px; font-family: inherit; white-space: nowrap; text-align: left; }
.o5-boardline .c-wait { color: #f2c46d; } .o5-boardline .c-work { color: #5fb0ff; } .o5-boardline .c-done { color: #4cc08a; }
/* лента сотрудников */
.o5-strip { display: flex; gap: 8px; padding: 10px 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; flex: none; }
.o5-card { position: relative; flex: 0 0 auto; width: 112px; min-height: 44px; padding: 8px 6px 10px; border-radius: 14px; border: 1.5px solid rgba(242,196,109,.26); background: #241114; color: #fbf1de; font-family: inherit; text-align: center; scroll-snap-align: start; }
.o5-card b { display: block; font-size: 14px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.o5-card small { display: block; min-height: 36px; font-size: 14px; line-height: 1.25; color: #cbb89c; }
.o5-ava { position: relative; display: block; width: 48px; height: 60px; margin: 0 auto 4px; }
.o5-ava canvas { display: block; width: 48px; height: 60px; }
.o5-mail { position: absolute; top: -4px; right: -8px; font-size: 14px; font-style: normal; }
.o5-bar { position: absolute; left: 10px; right: 10px; bottom: 4px; height: 3px; border-radius: 2px; background: #8a8179; }
.o5-card.st-work .o5-bar { background: #4cc08a; }
.o5-card.st-wait .o5-bar { background: #f2c46d; }
.o5-card.st-wait { border-color: rgba(242,196,109,.6); }
.o5-card.st-pause .o5-bar { background: #8a8179; }
.o5-card.st-away { opacity: .5; }
/* чат внизу — тот же модуль #1073, без кнопки «назад» (это раздел страницы) */
.o5-chat { position: relative; flex: none; height: 72vh; min-height: 360px; border-top: 1.5px solid rgba(242,196,109,.26); }
.o5-chat .oc { position: absolute; }
.o5-chat .oc-back { display: none; }
.o5-chat .oc-head { padding-left: 12px; }
/* шторка */
.o5-sheet { position: fixed; inset: 0; z-index: 1600; background: rgba(0,0,0,.5); }
.o5-sheet[hidden] { display: none; }
.o5-sheet-in { position: absolute; left: 0; right: 0; bottom: 0; max-height: 80vh; overflow-y: auto; padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px)); border-radius: 18px 18px 0 0; background: #241114; border-top: 2px solid rgba(242,196,109,.5); }
.o5-sheet-in h3 { margin: 0 0 8px; font-size: 18px; }
.o5-sheet-in h3 small { font-size: 14px; color: #cbb89c; font-weight: 400; }
.o5-sheet-in h4 { margin: 12px 0 4px; font-size: 15px; }
.o5-sheet-in h4.c-wait { color: #f2c46d; } .o5-sheet-in h4.c-work { color: #5fb0ff; } .o5-sheet-in h4.c-done { color: #4cc08a; }
.o5-sheet-in ul { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.4; }
.o5-sheet-in li { margin: 2px 0; } .o5-sheet-in li small { color: #cbb89c; }
.o5-st { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.o5-now { margin: 0 0 6px; font-size: 16px; line-height: 1.4; }
.o5-task { margin: 0 0 6px; font-size: 14px; color: #e3d3ba; line-height: 1.4; }
.o5-dim { margin: 6px 0; font-size: 14px; color: #8a8179; }
.o5-sheet-x { width: 100%; margin-top: 12px; }
/* подпись доски на стене — DOM поверх canvas, тап → список задач */
.o5-boardtag[hidden] { display: none; }
.o5-boardtag { position: absolute; left: 0; top: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2px 8px; max-width: 150px; min-height: 44px; padding: 2px 8px; border: 1px solid rgba(242,196,109,.5); border-radius: 10px; background: rgba(27,12,16,.86); color: #fbf1de; font-size: 14px; font-family: inherit; line-height: 1.3; white-space: nowrap; pointer-events: auto; will-change: transform; }
.o5-boardtag b { font-weight: 700; }
.o5-boardtag b:nth-child(1) { color: #f2c46d; } .o5-boardtag b:nth-child(2) { color: #5fb0ff; } .o5-boardtag b:nth-child(3) { color: #4cc08a; }
.o5-sum { display: flex; gap: 12px; margin: 0 0 6px; font-size: 15px; }
.o5-sum .c-wait { color: #f2c46d; } .o5-sum .c-work { color: #5fb0ff; } .o5-sum .c-done { color: #4cc08a; }
.o5-task-row { padding: 10px 0; border-top: 1px solid rgba(242,196,109,.16); }
.o5-task-row p { margin: 0 0 8px; font-size: 15px; line-height: 1.4; }
.o5-task-row p small { color: #cbb89c; }
.o5-task-row .of-btns .of-btn { flex: 1 1 44%; font-size: 14px; min-height: 44px; }
.o5-task-row .of-btn.is-hot { border-color: rgba(255,157,143,.6); color: #ff9d8f; }
.o5-confirm { margin-top: 8px; padding: 8px; border-radius: 10px; background: rgba(255,157,143,.1); }
.o5-confirm p { margin: 0 0 8px; font-size: 15px; }
.o5-mark { margin: 6px 0 0; font-size: 14px; color: #4cc08a; font-weight: 700; }
.o5-task-row .of-edit { width: 100%; box-sizing: border-box; min-height: 64px; margin-top: 8px; padding: 10px; border-radius: 12px; border: 1.5px solid rgba(242,196,109,.5); background: #140a0c; color: #fbf1de; font-size: 16px; font-family: inherit; }
.o5-task-row .of-fixgo { width: 100%; margin-top: 6px; }
