/* «1ЦЕХ» — оформление. Перенесено из утверждённого прототипа без изменений вида. */
/* Макет: одна колонка под телефон (до 480px, по центру на компьютере), нижняя панель навигации, формы — выезжающие снизу окна */
:root{color-scheme:light;--bg:#F2F2F2;--card:#FFFFFF;--line:#E3E3E3;--fg:#111111;--muted:#7A7A7A;--chip:#ECECEC;--red:#E3001B;--red2:#B8000F;--redsoft:#FDE7E7;--redtext:#C8001A;--ok:#1E7F3F;--oksoft:#E3F3E8;--pill:#FFF1BF;--pilltext:#5A4300;--font:'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif} /* всегда светлая: тёмная тема телефона не затемняет страницу (решение владельца 28.10.2026) */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.35;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
#app{max-width:480px;margin:0 auto;min-height:100%;padding:0 16px calc(88px + env(safe-area-inset-bottom,0px))}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 0 6px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.logo .mark{display:block;width:92px;height:28px;background:linear-gradient(90deg,var(--red) 0 17.2%,var(--fg) 17.2%);-webkit-mask:url(data:image/png;base64,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) no-repeat center/contain;mask:url(data:image/png;base64,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) no-repeat center/contain} /* логотип из файла «Лого 1цех.png»: «1» приведена к высоте букв и придвинута к ним (замечание владельца 29.10.2026); цвета: красная «1», чёрный «ЦЕХ» */
.logo .m1,.logo .m2{display:none} /* прежние два знака не нужны: логотип теперь целиком одной картинкой */
.logo .tag{border-left:1px solid var(--line);padding-left:8px;font-size:8px;line-height:1.15;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.iconbtn{position:relative;width:40px;height:40px;border:0;background:transparent;border-radius:10px;display:grid;place-items:center;cursor:pointer}
.iconbtn:hover{background:var(--chip)}
.iconbtn .dot{position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid var(--bg)}
.titlerow{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:4px 0 12px}
.h1{font-weight:900;font-size:40px;line-height:1;letter-spacing:-1px;margin:0;text-wrap:balance}
.eyebrow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:right;max-width:46%}
.sub{color:var(--muted);font-size:13px;margin:-6px 0 12px}
.banner{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;border-radius:12px;padding:14px 16px;margin:0 0 12px}
.banner>div{display:flex;align-items:center;gap:10px;min-width:0;padding-right:8px}
.banner small{min-width:0;overflow-wrap:break-word}
.banner.stack>div{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px}
.banner.stack>div>b{font-size:32px}
.banner>div+div{border-left:1px solid rgba(255,255,255,.3);padding-left:14px}
.banner b{font-size:46px;font-weight:900;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.banner small{display:block;font-size:12px;line-height:1.2;opacity:.95}
.banner small b{font-size:15px;display:block;letter-spacing:0}
.banner.one{grid-template-columns:1fr}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;margin:0 0 12px}
.seg button{border:0;border-radius:10px;padding:11px 8px;background:var(--chip);color:var(--fg);font-weight:700;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seg button.on{background:var(--red);color:#fff}
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:0 0 auto;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
.tabs button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.tabs.wrap{flex-wrap:wrap;overflow:visible}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 10px}
.card.pad0{padding:0;overflow:hidden}
.cap{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 8px}
.row{display:flex;align-items:center;gap:10px}
.row.between{justify-content:space-between}
.grow{flex:1;min-width:0}
.num{flex:0 0 auto;width:40px;height:40px;border-radius:8px;background:var(--fg);color:var(--bg);font-weight:900;font-size:17px;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.num.sm{width:30px;height:30px;font-size:13px;border-radius:6px}
.chip{display:inline-block;padding:4px 9px;border-radius:6px;background:var(--chip);font-size:12px;font-weight:500;white-space:nowrap}
.chip.red{background:var(--redsoft);color:var(--redtext)}
.chip.ok{background:var(--oksoft);color:var(--ok)}
.chip.dark{background:var(--fg);color:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.t{font-weight:700;font-size:17px;line-height:1.2;margin:8px 0 2px}
.m{color:var(--muted);font-size:14px}
.due{display:flex;align-items:center;gap:6px;font-size:14px;margin-top:6px}
.due.red{color:var(--redtext);font-weight:700}
.cells{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.cells>div{display:flex;gap:10px;align-items:center;padding:4px 0}
.cells>div+div{border-left:1px solid var(--line);padding-left:12px}
.cells b{display:block;font-size:14px}
.cells span{font-size:12px;color:var(--muted)}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:10px;padding:14px 16px;font-weight:700;font-size:16px;cursor:pointer;margin-top:10px}
.btn.red{background:var(--red);color:#fff}
.btn.black{background:var(--fg);color:var(--bg)}
.btn.gray{background:var(--chip);color:var(--fg)}
.btn.dash{background:transparent;border:1.5px dashed var(--muted);color:var(--fg)}
.btn.sm{padding:9px 12px;font-size:14px;width:auto;margin:0}
.btn:focus-visible,.seg button:focus-visible,.tabs button:focus-visible,.iconbtn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.btn.disabled{opacity:.5;pointer-events:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.two .btn{margin-top:10px}
.timer{font-weight:900;font-size:52px;letter-spacing:-1px;line-height:1;text-align:center;margin:10px 0 2px;font-variant-numeric:tabular-nums}
.timer+.m{text-align:center}
.list{display:flex;flex-direction:column;gap:8px}
.item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;text-align:left;width:100%}
.item .t{margin:0;font-size:15px}
.item .m{font-size:13px}
.item .chev{color:var(--muted);font-size:20px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tile{aspect-ratio:1;border-radius:8px;border:1px solid var(--line);background:var(--chip);display:flex;flex-direction:column;justify-content:flex-end;padding:6px;font-size:10px;line-height:1.15;color:var(--muted);overflow:hidden;position:relative;cursor:pointer}
.tile.photo{background:linear-gradient(160deg,#B9B9B9,#6F6F6F)}
.tile.photo span{color:#fff}
.tile.draft{background:repeating-linear-gradient(0deg,var(--chip) 0 14px,var(--line) 14px 15px),repeating-linear-gradient(90deg,transparent 0 14px,var(--line) 14px 15px)}
.tile.art{background:var(--card)}
.tile.art::before{content:attr(data-word);position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:16px;color:var(--fg);letter-spacing:.05em}
.tile.add{border:1.5px dashed var(--muted);background:transparent;justify-content:center;align-items:center;font-size:12px;color:var(--fg);font-weight:700}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bar{height:6px;border-radius:3px;background:var(--chip);overflow:hidden;margin:8px 0 4px}
.bar i{display:block;height:100%;background:var(--fg)}
.nav{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));z-index:20}
.nav .in{max-width:480px;margin:0 auto;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
.nav button{position:relative;border:0;background:transparent;padding:8px 4px 4px;font-size:11px;font-weight:700;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px}
.nav button svg{width:24px;height:24px}
.nav button.on{color:var(--red)}
.nav button.on::before{content:"";position:absolute;top:-7px;left:18%;right:18%;height:3px;background:var(--red);border-radius:0 0 3px 3px}
.cols{display:flex;gap:10px;overflow-x:auto;padding:2px 0 12px;margin:0 -16px;padding-left:16px;padding-right:16px;scroll-snap-type:x proximity}
.col{flex:0 0 86%;max-width:340px;background:var(--chip);border-radius:12px;padding:10px;scroll-snap-align:start;min-height:120px}
.col.over{outline:2px dashed var(--red);outline-offset:-2px}
.col h4{margin:2px 4px 10px;font-size:15px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.col h4 .count{font-weight:500;color:var(--muted);font-size:13px}
.col h4 .colname{display:flex;align-items:center;gap:8px;min-width:0}
.col h4 .colname b{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.col h4 .av{flex:0 0 auto;border-color:var(--chip)}
.col .card{margin-bottom:8px;padding:12px;cursor:grab}
.col .card:last-child{margin-bottom:0}
.col .card.drag{opacity:.5}
.avs{display:flex}
.av{width:26px;height:26px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--card);margin-left:-6px}
.av:first-child{margin-left:0}
.av.big{width:40px;height:40px;font-size:15px;margin:0}
.av{position:relative;overflow:hidden}
.av img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.who .av.big{width:48px;height:48px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.cal .d{aspect-ratio:1;border-radius:8px;background:var(--chip);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.cal .d small{font-size:9px;font-weight:500;color:var(--muted)}
.cal .d.off{background:transparent;color:var(--muted);font-weight:500}
.cal .d.ot{background:var(--redsoft)}
.cal .d.abs{background:var(--redsoft);color:var(--redtext)}
.cal .d.today{outline:2px solid var(--red)}
.cal .d.future{background:transparent;border:1px dashed var(--line)}
.cal .wd{text-align:center;font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase}
.big{font-weight:900;font-size:44px;letter-spacing:-1px;line-height:1;font-variant-numeric:tabular-nums}
.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv:last-child{border-bottom:0}
.kv b{font-variant-numeric:tabular-nums;white-space:nowrap}
.field{display:flex;flex-direction:column;gap:5px;margin:0 0 10px}
.field label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--card);font-size:16px}
.field textarea{min-height:80px;resize:vertical}
.field .hint{font-size:12px;color:var(--muted)}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--card);width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:88vh;overflow-y:auto}
.sheet h3{margin:0 0 12px;font-size:20px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
.sheet h3 button{border:0;background:var(--chip);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;flex:0 0 auto;margin-left:10px}
.sheet h3 span{min-width:0}
/* Длинное слово без пробелов (имя файла макета в названии задачи) переносится, а не растягивает страницу вбок. */
.t,.m,.h1,.sheet h3 span,.kv span,.kv b,.pic span,.note{overflow-wrap:anywhere}
.msgs{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.msg{max-width:86%;padding:8px 11px;border-radius:12px;background:var(--chip);font-size:14px}
.msg.me{align-self:flex-end;background:var(--fg);color:var(--bg)}
.msg .who{font-size:11px;color:var(--muted);font-weight:700;margin-bottom:2px}
.msg.me .who{color:var(--bg);opacity:.7}
.msg .sys{font-size:12px;font-style:italic}
.send{display:flex;gap:8px}
.send input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--card);font-size:16px}
.note{font-size:12px;color:var(--muted);margin-top:8px}
.ok-text{color:var(--ok);font-weight:700}
.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:700;z-index:40;max-width:90%;text-align:center}
.demo{font-size:11px;color:var(--muted);text-align:center;margin:14px 0 0}
@media (prefers-reduced-motion:no-preference){.sheet{animation:up .18s ease-out}@keyframes up{from{transform:translateY(30px);opacity:.6}}}
@media (min-width:700px){.col{flex-basis:300px}}
.who{display:flex;align-items:center;gap:10px;margin:2px 0 12px}
.who b{font-size:18px;display:block;line-height:1.1}
.b24{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center}
.b24 svg{width:40px;height:40px}
.b24i{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:3px}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line)}
.cwd{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;text-align:center;padding:6px 0;border-bottom:1px solid var(--line)}
.cday{min-height:58px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px;display:flex;flex-direction:column;gap:2px;cursor:pointer;min-width:0;background:var(--card)}
.cday:nth-child(7n+7){border-right:0}
.cday .dn{font-size:12px;font-weight:700;text-align:right;padding:1px 3px;font-variant-numeric:tabular-nums}
.cday.off{background:transparent}.cday.off .dn{font-weight:400;color:var(--muted)}
.cday.we .dn{color:var(--muted)}
.cday.today .dn{color:var(--redtext)}.cday.today{outline:2px solid var(--red);outline-offset:-2px}
.cday.sel{background:var(--redsoft)}
.pill{display:block;font-size:10px;line-height:1.25;padding:2px 4px;border-radius:4px;background:var(--pill);color:var(--pilltext);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill.red{background:var(--redsoft);color:var(--redtext)}.pill.ok{background:var(--oksoft);color:var(--ok)}
.more{font-size:10px;color:var(--muted);padding:0 4px}
@media (max-width:599px){.pill{font-size:9px;padding:1px 3px}.cday{min-height:64px}} /* и на телефоне в ячейке видны имена сделок */
.tile2{background:var(--chip);border-radius:10px;padding:10px;min-width:0}
.tile2.ok{background:var(--oksoft)}
.big2{font-weight:900;font-size:clamp(17px,5.2vw,24px);letter-spacing:-.5px;line-height:1.1;font-variant-numeric:tabular-nums;margin:2px 0;white-space:nowrap}
.bar.big{height:10px;border-radius:5px;margin:10px 0 6px}
.bar i.ok{background:var(--ok)}

/* ---------- Добавлено для приложения на настоящих данных ---------- */
#demo{background:var(--pill);color:var(--pilltext);text-align:center;font-size:12px;font-weight:700;padding:6px 12px}
.fresh{font-size:11px;color:var(--muted);text-align:right;line-height:1.2}
.fresh.bad{color:var(--redtext);font-weight:700}
.group{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:14px 0 8px}
.group.red{color:var(--redtext)}
.pic{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--chip);margin:0 0 10px;text-decoration:none;color:inherit}
.pic img{display:block;width:100%;aspect-ratio:2/1;object-fit:contain;background:var(--chip)}
.pic span{display:block;padding:6px 10px;font-size:12px;color:var(--muted)}
.pic.bad{padding:14px 12px;font-size:13px;color:var(--muted)}
.quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.quick button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 10px;font-weight:700;font-size:13px;cursor:pointer}
.err{border-color:var(--red);color:var(--redtext)}
button:disabled{opacity:.5;cursor:default}
a.btn{text-decoration:none}
@media (min-width:900px){body.wide #app{max-width:1100px}body.wide .cols{margin:0;padding-left:0;padding-right:0}}
.nav a{position:relative;padding:8px 4px 4px;font-size:11px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none}
.nav a svg{width:24px;height:24px}
.nav a.on{color:var(--red)}
.nav a.on::before{content:"";position:absolute;top:-7px;left:18%;right:18%;height:3px;background:var(--red);border-radius:0 0 3px 3px}
a.iconbtn{color:inherit}
