/* YALKA UI 1.6.0 — generated from source/layout-foundation.css and source/design-system.css */

:root{--page:#eff1f3;--panel:#f8f9fa;--white:#fcfcfd;--line:#dce1e6;--ink:#202a33;--muted:#7a8792;--blue:#3d647e;--soft-blue:#eaf0f4;--green:#d7ead9;--green-ink:#315e3a;--yellow:#fff0b7;--yellow-ink:#785900;--orange:#ffd2a9;--orange-ink:#874410;--nav:#e9ecef;--shadow:0 12px 40px rgba(31,42,51,.055);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:var(--page);font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#8aa6b9;box-shadow:0 0 0 3px #dbe9f3}button:focus-visible{outline:3px solid #8caec9;outline-offset:2px}a{color:var(--blue)}.app{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:#e7eaed;border-right:1px solid #d7dce1;display:flex;flex-direction:column;padding:25px 14px;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;padding:2px 8px 32px}.logomark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#314f55;color:#fff;font-size:24px;font-weight:800;letter-spacing:-2px}.logoname{font-weight:850;letter-spacing:1.15px;font-size:13px}.logosub{font-size:9px;letter-spacing:1.3px;color:#85919b;margin-top:3px}.smallhead{font-size:10px;letter-spacing:1.15px;font-weight:800;color:#8d99a2;padding:0 13px;margin:0 0 10px}.nav{display:grid;gap:5px}.nav button{padding:12px 12px;border:0;background:transparent;border-radius:9px;color:#61707c;font-weight:650;text-align:left;display:flex;align-items:center;gap:10px;width:100%}.nav button:hover{background:#dde3e7}.nav button.sel{background:#f9fbfc;color:#274d5d;box-shadow:0 2px 8px #8e9ca517}.svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.nav button .number{margin-left:auto;background:#e2ebef;color:#446172;padding:2px 7px;border-radius:5px;font-size:10px}.sidebottom{margin-top:auto;border-top:1px solid #d4d9dd;padding:18px 10px 2px;color:#829099;font-size:11px;line-height:1.8}.tiny-dot{width:7px;height:7px;background:#e1a959;display:inline-block;border-radius:50%;margin-right:5px}.main{min-width:0}.topbar{height:68px;border-bottom:1px solid #dce0e4;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:0 30px;background:#f4f6f7}.breadcrumb{font-size:10px;color:#88959e;letter-spacing:1px}.breadcrumb b{color:#41525c}.topright{display:flex;gap:9px;align-items:center}.demo{padding:7px 10px;border:1px solid #e8d6aa;background:#fcf5df;border-radius:7px;font-weight:800;font-size:9px;color:#987132;letter-spacing:.6px}.select-user{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:9px 29px 9px 11px;max-width:280px;color:#50616b}.content{padding:31px 29px 60px;max-width:1920px;margin:0 auto}.eyebrow{color:#78938b;font-size:10px;font-weight:850;letter-spacing:1.6px}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:23px}.title{font-size:27px;letter-spacing:-1.1px;margin:5px 0 5px;font-weight:820}.subtitle{font-size:12px;color:#7a8792;margin:0;line-height:1.55}.headright{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #d0d9df;background:#f9fbfc;color:#425564;border-radius:8px;padding:10px 13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover:not(:disabled){background:#edf2f5}.btn.primary{background:#365966;border-color:#365966;color:white}.btn.primary:hover:not(:disabled){background:#274855}.btn.warn{border-color:#edc28d;background:#fff1e0;color:#8d5721}.btn.danger{border-color:#edc7c4;background:#fff3f2;color:#a34d4d}.btn.green{border-color:#afd1b9;background:#e4f1e6;color:#316441}.btn.small{padding:5px 8px;font-size:11px;border-radius:6px}.btn.iconbtn{padding:6px;min-width:30px}.btn .svg{width:14px;height:14px}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:20px}.metric{background:#f9fafb;border:1px solid #dbe1e5;border-radius:12px;padding:15px 16px;min-height:112px}.metric-name{color:#86929c;font-size:11px;font-weight:650}.metric-val{font-size:27px;font-weight:800;letter-spacing:-1px;margin:9px 0 2px}.metric-note{font-size:10px;color:#99a4ac}.panel{border:1px solid #dbe1e5;border-radius:12px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.toolbar{padding:13px 15px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}.field{background:#fff;border:1px solid #d5dce2;border-radius:7px;padding:9px 11px;min-height:36px}.search{min-width:235px;width:270px}.toolbar .note{margin-left:auto;color:#92a0a9;font-size:11px}.stages{padding:13px;display:grid;gap:10px}.stagebox{border:1px solid #dbe1e5;background:#fff;border-radius:10px;overflow:hidden}.stagehead{min-height:47px;background:#f2f5f6;display:flex;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid #e5e9ed}.stagehead .stageicon{height:26px;width:5px;border-radius:6px;background:#b4c2c9}.stagehead h2{font-size:12px;text-transform:uppercase;letter-spacing:.55px;margin:0}.stagehead .count{border-radius:6px;background:#e3e9ed;color:#71828e;padding:3px 7px;font-size:11px;font-weight:850}.stagehead .stagehelp{color:#9aa6ad;font-size:10px;margin-left:auto}.stagebody{overflow-x:auto}.empty-stage{padding:12px 17px;color:#a7b1b7;font-size:11px}.ptable{width:100%;border-collapse:separate;border-spacing:0;min-width:1170px;font-size:11px;table-layout:fixed}.ptable th{text-transform:uppercase;letter-spacing:.55px;font-size:9px;color:#83909a;background:#f9fafb;padding:10px 10px;text-align:left;border-right:1px solid #edf0f2;border-bottom:1px solid #e6eaed}.ptable td{border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;padding:6px 8px;height:69px;vertical-align:middle}.ptable tr:last-child td{border-bottom:0}.ptable th:last-child,.ptable td:last-child{border-right:0}.ptable .cproj{width:230px;position:sticky;left:0;background:#fff;z-index:2}.ptable th.cproj{background:#f9fafb;z-index:3}.ptable .csource{width:142px}.ptable .cdate{width:76px}.ptable .ccat{width:119px}.ptable .ckp{width:128px}.projectlabel{display:flex;align-items:flex-start;gap:8px}.priority{color:#718b93;font-size:10px;font-weight:820;min-width:21px;padding-top:2px}.pcode{font-weight:820;color:#2a3b44;font-size:12px}.pname{font-size:10px;color:#71818c;margin-top:3px;line-height:1.35;overflow-wrap:anywhere}.pclient{font-size:10px;color:#9da8b0;margin-top:2px}.source-stage{color:#6e8290;background:#eef2f5;border-radius:5px;display:inline-block;font-size:9px;font-weight:750;padding:5px 6px}.cell{padding:6px 7px;border-radius:7px;min-height:51px;display:flex;flex-direction:column;gap:3px;width:100%;border:1px solid transparent;text-align:left;color:inherit;background:transparent}.cell:hover{border-color:#a8b9c6;filter:brightness(.985)}.cell.todo{background:#f3f5f6}.cell.progress{background:var(--yellow);border-color:#eddc9b}.cell.paused{background:var(--orange);border-color:#efb979}.cell.done{background:var(--green);border-color:#b9d9ba}.cell .celltop{font-weight:850;font-size:11px}.cell .cellstat{font-size:10px;color:#6f7b85;line-height:1.25}.cell.progress .cellstat{color:var(--yellow-ink)}.cell.paused .cellstat{color:var(--orange-ink)}.cell.done .cellstat{color:var(--green-ink)}.cell .estimate{font-size:9px;color:#76838c}.dash{color:#ccd2d6;font-size:14px;text-align:center}.row-actions{display:flex;gap:3px;align-items:center;margin-top:5px}.row-actions .btn{padding:3px 5px;min-width:23px}.righttags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;font-size:10px;color:#8a98a2}.chip{border:1px solid #dae1e5;background:#f4f7f8;padding:4px 7px;border-radius:5px;color:#72828c;font-size:10px}.disclaimer{margin-top:10px;font-size:11px;color:#8997a0}.legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#77858d;font-size:11px;margin:14px 4px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{display:inline-block;border:1px solid #cbd4d7;width:13px;height:13px;border-radius:3px}.legend .l-progress{background:var(--yellow)}.legend .l-paused{background:var(--orange)}.legend .l-done{background:var(--green)}.legend .l-todo{background:#f3f5f6}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table th{font-size:10px;letter-spacing:.45px;text-transform:uppercase;color:#8b99a2;background:#f2f5f6;text-align:left;padding:12px;border-bottom:1px solid var(--line)}.data-table td{border-bottom:1px solid #e7ebed;padding:13px 12px;font-size:12px}.data-table tr:last-child td{border-bottom:0}.data-table .quiet{color:#909da6;font-size:11px}.data-table tr:hover td{background:#f5f8f9}.tag{display:inline-flex;gap:4px;align-items:center;padding:4px 7px;border-radius:6px;background:#eaf0f4;color:#5e7586;font-size:10px;font-weight:750;white-space:nowrap}.tag.ok{background:#e2efe4;color:#42754b}.tag.ill{background:#ffe9d8;color:#8e5a35}.tag.leave{background:#e9e6f4;color:#6e5c91}.tag.off{background:#eeeeee;color:#888}.tag.role{background:#e5edf0;color:#477386}.tags{display:flex;gap:4px;flex-wrap:wrap}.section-title{font-size:16px;font-weight:800;margin:0 0 11px}.grouphead{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:20px 0 11px}.grouphead .section-title{margin:0}.hbox{padding:16px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.setting{padding:13px;border:1px solid #e1e6e9;border-radius:8px;background:white;display:flex;align-items:center;justify-content:space-between;gap:15px}.setting input{max-width:100px}.setting .desc{font-size:10px;color:#8c9aa3;margin-top:3px}.form-label{display:block;font-size:11px;font-weight:750;color:#667986;margin:0 0 6px}.control{display:block;width:100%;border:1px solid #d5dce2;border-radius:8px;background:#fbfcfd;padding:10px 11px;min-height:39px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-block{margin:0 0 14px}.modal-wrap{position:fixed;inset:0;background:rgba(39,53,62,.4);z-index:20;display:flex;justify-content:flex-end;align-items:stretch}.modal-card{background:#f9fafb;box-shadow:-15px 0 55px #26363f29;width:min(560px,100vw);height:100%;overflow:auto;padding:25px 26px}.modal-top{display:flex;justify-content:space-between;align-items:start;gap:10px;border-bottom:1px solid #dee5e8;padding-bottom:15px;margin-bottom:18px}.modal-title{font-size:20px;font-weight:810;letter-spacing:-.5px;margin:4px 0 5px}.modal-sub{color:#8a98a1;font-size:11px;line-height:1.5}.modal-section{background:#fff;border:1px solid #e1e6e9;border-radius:9px;padding:15px;margin:0 0 14px}.modal-section h3{margin:0 0 12px;font-size:13px}.allocation{border:1px solid #e3e7eb;border-radius:8px;background:#f9fbfc;padding:10px;margin-bottom:9px}.allocation .al-name{font-weight:800}.allocation .almeta{font-size:11px;color:#87969e;margin-top:4px}.alcontrols{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.notice{font-size:11px;color:#758894;line-height:1.5;background:#eef3f5;padding:11px 12px;border-radius:8px;margin-bottom:14px}.notice.warn{background:#fff3de;color:#986a2b}.req{color:#c16b61}.actionbottom{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.split{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.summaryline{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:7px}.progressbar{height:7px;border-radius:9px;background:#e7edef;overflow:hidden}.progressbar>div{height:100%;background:#82b391}.faded{color:#97a3ab}.week{font-weight:800;color:#315667}.history-entry{display:flex;gap:11px;padding:13px;border-bottom:1px solid #e6ebee}.history-dot{width:8px;height:8px;border-radius:50%;background:#8eaeb4;margin-top:5px;flex:none}.history-content{flex:1}.history-head{display:flex;justify-content:space-between;gap:10px}.history-who{font-weight:800;font-size:12px}.history-time{font-size:10px;color:#9ba7af}.history-action{font-size:12px;margin:4px 0}.history-target{font-size:11px;color:#84939c}.empty{padding:25px;text-align:center;color:#94a1a9}.toast{position:fixed;bottom:26px;right:28px;background:#263f46;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:0 10px 28px #34434c40;z-index:30;max-width:400px;font-size:12px}.toast.bad{background:#8c473d}.divider{height:1px;background:#e1e6e9;margin:16px 0}.meter{height:8px;background:#e6eef1;border-radius:8px;overflow:hidden}.meter>div{height:100%;background:#81a8b6}.statline{display:grid;grid-template-columns:140px 1fr 70px;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid #e5e9eb}.statline:last-child{border-bottom:0}.hr{display:flex;justify-content:space-between;gap:10px;align-items:center}.linklike{background:none;border:none;color:#496e83;font-weight:650;padding:0;text-align:left}.linklike:hover{text-decoration:underline}.card-note{background:#edf2f4;border:1px solid #dfe7eb;padding:12px 14px;border-radius:10px;color:#617582;font-size:11px;line-height:1.65;margin:12px 0}.compact{font-size:10px;color:#8898a0}.hide{display:none}.stackgap{display:grid;gap:12px}
@media(max-width:1250px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar{width:196px}.app{grid-template-columns:196px minmax(0,1fr)}.content{padding:24px 18px}.topbar{padding:0 18px}}@media(max-width:750px){.app{display:block}.sidebar{height:auto;position:static;padding:10px 12px}.logo{padding-bottom:8px}.smallhead,.sidebottom{display:none}.nav{display:flex;overflow-x:auto}.nav button{white-space:nowrap;font-size:11px;padding:8px}.nav button .number{display:none}.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:12px}.content{padding:20px 12px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pagehead{align-items:flex-start;flex-direction:column}.search{min-width:150px;flex:1}.grid2,.grid3{grid-template-columns:1fr}.modal-card{padding:19px 16px}}

/* v0.3 — direct inline operations + drag ordering */
.ptable{min-width:1450px}.ptable .ccat{width:145px}.ptable .cproj{width:225px}.ptable .csource{width:130px}.ptable .cdate{width:72px}.ptable .ckp{width:120px}
.stagebox.drag-target{outline:2px dashed #7e9fae;outline-offset:-3px;background:#f1f6f8}
.stagehead{transition:background .15s}.stagehead.drag-target{background:#dce8ed}
.ptable tr[draggable="true"].dragging{opacity:.36}
.ptable tr.drop-before td{border-top:3px solid #567c90}
.ptable tr.drop-after td{border-bottom:3px solid #567c90}
.drag-grip{border:0;background:#eaf0f2;color:#7b929d;border-radius:5px;padding:5px 4px;cursor:grab;line-height:0;margin-right:2px;align-self:start}
.drag-grip:active{cursor:grabbing}.drag-grip:hover{background:#d3e3e9;color:#3b6278}
.cell{min-height:83px;gap:3px;position:relative;padding:7px 7px 5px}
.celltop{display:flex;align-items:center;justify-content:space-between;gap:3px}
.cellstat{overflow-wrap:anywhere;min-height:14px}
.celltools{display:flex;align-items:center;gap:3px;justify-content:flex-end;margin-top:auto}
.celltools .quick{width:25px;height:24px;padding:3px;border-radius:5px;border:1px solid #c6d1d6;background:rgba(255,255,255,.67);color:#536e77;display:grid;place-items:center;flex:none;line-height:1}
.celltools .quick:hover:not(:disabled){background:#fff;border-color:#809da9;transform:translateY(-1px)}
.celltools .quick:disabled{opacity:.33}
.celltools .quick.run{border-color:#9eb9c0;color:#2d6778}
.celltools .quick.hold{border-color:#dfae74;color:#8e611b}
.celltools .quick.finish{border-color:#9cbb9a;color:#296d41}
.celltools .quick.gear{margin-left:auto}
.celltools .quick svg,.celltop .bolt svg,.drag-grip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.celltop .bolt{background:#fce4a4;border:1px solid #d5b368;color:#9c6613;border-radius:4px;width:22px;height:21px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none}
.celltop .bolt:hover{background:#ffda77}
.time-live{font-variant-numeric:tabular-nums;font-weight:800;color:#506d76;font-size:10px}
.time-label{font-size:9px;color:#73858d}
.chronoline{display:flex;justify-content:space-between;gap:10px;padding:9px 2px;border-bottom:1px solid #e8edef;font-size:11px}
.chronoline:last-child{border:0}.chrono-total{background:#edf3f5;padding:12px;border-radius:8px;display:flex;justify-content:space-between;gap:12px;font-weight:750}
.qty-alert{background:#fff4d7;border-left:3px solid #dfa949;padding:10px 12px;margin:8px 0;border-radius:5px;font-size:11px}
.inlinehelp{font-size:10px;color:#8a98a1}.cell .estimate{font-size:9px}
@media(max-width:920px){.drag-grip{padding:4px}.celltools .quick{width:24px}.ptable{min-width:1450px}}

/* STEP 2: Authentication screen */
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eff2f4,#e2e8ea);padding:16px;font-size:14px}
.auth-panel{width:min(420px,100%);padding:34px;background:#fbfcfd;border:1px solid #dce4e9;border-radius:18px;box-shadow:0 22px 70px rgba(30,55,66,.12)}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:35px;letter-spacing:.9px;color:#304d57}.auth-brand-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#314f55;color:#fff;font-size:22px;font-weight:900}
.auth-panel h1{font-size:24px;letter-spacing:-.6px;margin:8px 0 10px}.auth-panel p{font-size:12px;color:#71818b;line-height:1.7;margin:0 0 20px}.auth-panel .form-label{margin:15px 0 7px}.auth-panel .auth-label{margin-top:16px}.auth-panel .control{background:#fff;font-size:14px}.auth-panel .auth-btn{width:100%;margin-top:20px;padding:13px}
.auth-panel .auth-error{padding:11px 12px;margin-top:16px;color:#9b3f36;background:#ffece9;border-radius:8px;font-size:12px}.auth-panel .auth-foot{font-size:11px;text-align:center;margin:26px 0 0;color:#9ca8af}
[hidden]{display:none}

/* v0.5 — compact engineering workflow and monthly timesheet */
.metrics-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.metrics-wide .metric{min-height:89px;padding:12px 14px}
.metrics-wide .metric-val{font-size:22px;margin:6px 0 2px}
.stagebox{margin-bottom:6px}
.stages{gap:5px;padding:8px}
.stagehead{min-height:37px;padding:7px 10px}
.ptable{min-width:1630px;font-size:10px}
.ptable .cproj{width:240px}
.ptable .ccat{width:132px}
.ptable .ccontrol{width:134px}
.ptable .ckp{width:136px}
.ptable td{height:0;padding:3px 5px;vertical-align:middle}
.ptable th{padding:7px 6px}
.cell{min-height:58px;padding:4px 5px;gap:1px;border-radius:5px;font-size:10px}
.cell .cellstat,.cellstat{font-size:9px;min-height:0}
.celltools .quick{width:23px;height:21px;padding:2px}
.celltools{gap:2px;margin-top:3px}
.cell .estimate{font-size:9px}
.cell .time-label{font-size:9px}
.col-total{font-size:9px;color:#617782;font-weight:500;margin-top:3px;line-height:1.4;white-space:normal;letter-spacing:normal;text-transform:none}
.project-main{min-width:0;flex:1}
.review-note{font-size:9px;color:#748993;line-height:1.25;margin-top:3px;overflow-wrap:anywhere}
.tz-progress{height:5px;border-radius:8px;background:#dce8ea;overflow:hidden;margin-top:5px}
.tz-progress>div{background:#5fa579;height:100%;border-radius:8px;transition:width .25s ease}
.tz-progress-caption{font-size:9px;color:#7b8b93;margin-top:2px}
.cell-error{background:#ff5560;color:#4d070e;border-color:#c82636}
.cell-error .cellstat,.cell-error .estimate,.cell-error .time-label{color:#4d070e}
.l-error{background:#ff5560}
.auto-warning{font-size:8px;font-weight:750;color:#b06d12;line-height:1.15}
.add-cat{background:transparent;color:#7a929d;border:1px dashed #aabec8;border-radius:6px;font-size:10px;padding:6px 4px;width:100%}
.add-cat:hover{background:#e6eff3}
.subtabs{display:flex;gap:7px;margin:16px 0;flex-wrap:wrap}
.timesheet-scroll{overflow:auto;max-width:100%;}
.timesheet{border-collapse:separate;border-spacing:0;font-size:10px;min-width:1050px;width:100%}
.timesheet th,.timesheet td{border-bottom:1px solid #dde3e6;border-right:1px solid #e8edf0;min-width:33px;text-align:center;padding:5px 2px}
.timesheet thead th{background:#eaf0f2;position:sticky;top:0;z-index:2}
.timesheet .timesheet-name{position:sticky;left:0;background:#f9fbfc;text-align:left;min-width:160px;max-width:160px;padding:8px;z-index:3}
.ts-mark{width:27px;min-height:27px;border:1px solid #dbe4e8;border-radius:5px;background:#f7f9fa;font-size:10px;font-weight:700;color:#788994}
.ts-mark.ok{background:#d8f0d9;color:#2f6537}
.ts-mark.ill{background:#fff0bd;color:#8d600e}
.ts-mark.leave{background:#e9e2fa;color:#695092}
.ts-mark.role{background:#e0ecf6;color:#476788}
.ts-mark.off{background:#f0f0f0;color:#888}
.ts-mark:hover{outline:1px solid #3e6572}
.category-breakdown{display:flex;flex-wrap:wrap;gap:6px}
.error-note{background:#ffe4e4;border-left-color:#d44343}
.modal-section textarea{margin-bottom:8px}
.modal-section input,.modal-section select{margin-bottom:7px}
@media(max-width:1350px){.metrics-wide{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.metrics-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.ptable{min-width:1630px}.review-note{font-size:9px}}

/* YET Planner v0.5.1 — dense, width-safe project grid */
.app{grid-template-columns:174px minmax(0,1fr)}
.sidebar{padding:15px 8px}
.logo{padding:2px 5px 18px}
.logoname{font-size:11px}
.nav button{padding:8px 7px;font-size:11px;gap:6px}
.topbar{height:53px;padding:0 14px}
.content{padding:15px 11px 32px;max-width:none}
.pagehead{margin-bottom:11px;gap:8px}
.title{font-size:22px;margin:3px 0}
.subtitle:empty{display:none}
.metrics.metrics-wide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:12px}
.metric{min-height:65px;padding:9px 10px;border-radius:8px}
.metric-name{font-size:10px;line-height:1.25;color:#5f737d;font-weight:700}
.metric-val{font-size:22px;margin:4px 0 0;line-height:1.1;white-space:normal;overflow-wrap:anywhere}
.metric-note{display:none}
.metric-good{background:#e0f2e3;border-color:#9dcba3}
.metric-good .metric-name,.metric-good .metric-val{color:#276e39}
.metric-alert{background:#ffeaeb;border-color:#ec9a9d}
.metric-alert .metric-name,.metric-alert .metric-val{color:#a3202a}
.control-alert{background:#fff0f0;border:1px solid #eaa4a8;border-left:4px solid #cf3642;border-radius:7px;color:#a32732;padding:9px 11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:11px}
.control-alert-code{background:#fff;border:1px solid #e7bcc0;border-radius:4px;padding:3px 5px;font-weight:700}
.toolbar{padding:8px 9px}
.stages{padding:7px;gap:7px}
.stagehead{min-height:33px;padding:5px 9px;gap:8px}
.stagehead h2{font-size:10px}
.stagehead .stageicon{height:20px}
.stagehead .stagehelp{font-size:9px}
.stagebody{overflow-x:hidden}
.ptable{width:100%;min-width:0;max-width:100%;table-layout:fixed;font-size:9px}
.ptable th,.ptable td{padding:3px 3px;min-width:0;word-break:normal;overflow-wrap:anywhere}
.ptable th{font-size:8px;letter-spacing:0;line-height:1.15;text-transform:none}
.ptable td{height:auto;vertical-align:top}
.ptable .cproj{width:19%;min-width:0;position:static;left:auto;z-index:auto}
.ptable .csource{width:7%}
.ptable .cdate{width:5%}
.ptable .ccat{width:7.5%}
.ptable .ccontrol{width:12%}
.ptable .ckp{width:12%}
.col-total{font-size:8px;margin-top:2px;line-height:1.2;overflow-wrap:anywhere}
.projectlabel{gap:3px;align-items:flex-start}
.priority{min-width:17px;font-size:8px}
.drag-grip{padding:2px 3px;font-size:10px}
.pcode{font-size:10px}
.pname{font-size:9px;line-height:1.1;margin-top:1px;max-height:22px;overflow:hidden}
.pclient{display:none}
.review-note{font-size:8px;margin-top:2px;line-height:1.12}
.source-stage{font-size:8px;padding:2px 3px;white-space:normal}
.ptable td .compact{font-size:8px}
.cell{min-height:35px;gap:1px;padding:3px;border-radius:4px;font-size:9px}
.cell .celltop{font-size:9px;min-height:0}
.cell .cellstat{font-size:8px;line-height:1.18;min-height:0;max-height:25px;overflow:hidden;overflow-wrap:anywhere}
.cell .estimate{display:none}
.cell .time-label{font-size:8px}
.cell .auto-warning{font-size:7.5px;line-height:1.1}
.celltools{display:flex;gap:2px;margin-top:2px;flex-wrap:wrap;justify-content:flex-start}
.celltools .quick{height:19px;width:19px;padding:2px;border-radius:4px;min-width:0}
.celltools .quick svg{width:12px;height:12px}
.celltools .btn.small{padding:2px 3px;font-size:8px}
.bolt{height:16px;width:16px;flex:none;padding:1px}
.bolt svg{width:12px;height:12px}
.kp-quiet{color:#c0c9cf;text-align:center;padding:10px 0}
.cell-fix-submitted{background:linear-gradient(90deg,#c9ebd4 0%,#c9ebd4 50%,#fff5cc 50%,#fff5cc 100%);border-color:#a9c9b7;color:#315942}
.cell-fix-submitted .cellstat{color:#315942}
.fix-submitted-note{background:linear-gradient(90deg,#e0f2e8 0%,#fff5d1 100%);border-left-color:#74a887}
.l-fix-submitted{background:linear-gradient(90deg,#c9ebd4 50%,#fff5cc 50%)}
.mine-fixes{border:1px solid #e9b1b4;background:#fff5f5;padding:11px;border-radius:10px;margin-bottom:12px}
.mine-fixes h2{font-size:14px;margin:0 0 6px;color:#a1323a}
.mine-fix-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:7px 3px;border-top:1px solid #f0d2d3}
.mine-fix-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.mine-fix-row span{font-size:11px;color:#8f555b}
.capacity-setting{margin:9px 0 14px}
.capacity-setting span{display:flex;flex-direction:column;gap:3px}
.capacity-setting small{font-size:10px;color:#8a99a2}
@media(max-width:1350px){.metrics.metrics-wide{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1180px){
 .app{grid-template-columns:146px minmax(0,1fr)}
 .sidebar{padding:12px 6px}
 .logo{gap:5px}
 .logomark{height:28px;width:28px;font-size:19px}
 .logosub{display:none}
 .nav button{font-size:10px}
 .content{padding:9px 7px}
 .ptable .cproj{width:19%}
 .ptable .csource{width:7%}
 .ptable .cdate{width:5%}
 .ptable .ccat{width:7.5%}
 .ptable .ccontrol{width:12%}
 .ptable .ckp{width:12%}
}
/* Below laptop width switch to readable stacked task rows rather than a sideways scrollbar. */
@media(max-width:1030px){
 .ptable,.ptable tbody,.ptable tr{display:block;width:100%;max-width:100%}
 .ptable thead{display:none}
 .ptable tbody{display:grid;gap:7px;padding:6px;background:#f4f7f8}
 .ptable tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border:1px solid #d8e2e6;border-radius:8px;background:#fff;overflow:hidden;padding:4px}
 .ptable td,.ptable td.cproj{width:auto;display:block;height:auto;border:0;padding:3px;background:#fff}
 .ptable td:before{content:attr(data-label);display:block;text-transform:uppercase;font-size:8px;font-weight:800;color:#7b8f98;margin-bottom:2px}
 .ptable td.cproj{grid-column:1 / -1;border-bottom:1px solid #e5eaed;padding:5px}
 .ptable .cell{min-height:40px}
 .ptable .cell .estimate{display:none}
 .stagebody{overflow:hidden}
}
@media(max-width:750px){
 .app{display:block}.sidebar{height:auto;position:static;padding:7px 8px}
 .logo{padding:0 0 5px}.nav{display:flex;overflow-x:auto}
 .topbar{padding:8px;min-height:44px}.content{padding:10px 6px}
 .metrics.metrics-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metric{min-height:62px}
 .stagehead .stagehelp{display:none}
 .ptable tr{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:750px){
 .topbar{height:auto;min-height:78px;flex-wrap:wrap;gap:8px;padding:9px 8px}
 .topright{width:100%;justify-content:flex-end}
 .breadcrumb{width:100%}
}

/* YALKA 1.5.1: compact cross-stage equipment summary and dual-progress bar */
.equipment-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0 0 8px}
.equipment-total{border:1px solid #d7e0e5;border-radius:7px;background:#f8fafb;padding:7px 8px;display:flex;flex-wrap:wrap;gap:3px 6px;align-items:baseline;font-size:10px}
.equipment-total b{width:100%;color:#315563;font-size:10px}.equipment-total small{color:#64806e;font-size:10px}
.tz-progress{display:flex;overflow:hidden;background:#e4e8ea;border-radius:5px;height:6px;margin-top:4px;gap:0}
.tz-progress .tz-progress-done{background:#51a96b;height:100%}.tz-progress .tz-progress-work{background:#e8c451;height:100%}
.rework-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;color:#845406;background:#fff0c7;padding:3px;border-radius:4px;font-size:9px}
.rework-row small{font-size:9px;color:#937837}.rework-done{background:#dbefde;color:#3d7751;padding:2px 3px;border-radius:4px;font-size:9px}
.logo .logoname{font-size:16px;letter-spacing:.8px}.logo .logosub{line-height:1.45;letter-spacing:0;font-size:9px}
@media(max-width:900px){.equipment-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.equipment-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.reopened-mark{color:#966424;font-weight:700;background:#fff4da;border-radius:3px;padding:3px;margin-top:3px}

/* YALKA 1.5.2 – structured title, narrow equipment columns, basket */
.equipment-totals{grid-template-columns:repeat(7,minmax(0,1fr))}
.legacy-summary{font-size:10px;color:#8e661a;margin:-3px 0 9px;padding:6px 9px;background:#fff5d8;border-radius:6px}
.legacy-note{font-size:9px;color:#9a6a25;line-height:1.1;margin-top:3px}
.part-inline-desc{display:block;font-size:9px;font-weight:600;color:#3a6575;line-height:1.15;overflow-wrap:anywhere;max-width:100%}
.placed-date{font-size:10px;line-height:1.15;font-weight:650;color:#465e6b;overflow-wrap:anywhere}
.correction-badge{display:inline-block;font-size:9px;color:#97571f;background:#ffeed6;padding:2px 4px;border-radius:3px}
.trash-list{display:flex;flex-direction:column;gap:5px;padding:8px}
.trash-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid #dfe6e9;border-radius:7px;background:#fff}
.trash-row>div{min-width:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.trash-row span{font-size:11px;overflow-wrap:anywhere}
.trash-row small{width:100%;font-size:10px;color:#87949f}
.manager-filters{align-items:flex-end}.manager-filters label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:650;color:#647782}
.ptable{min-width:0;table-layout:fixed}
.ptable th{font-size:8px;letter-spacing:0;padding:6px 3px;word-break:normal;overflow-wrap:anywhere}
.ptable .cproj{width:20%}.ptable .csource{width:7%}.ptable .cdate{width:8%}.ptable .ccat{width:7%}.ptable .ccontrol{width:8%}.ptable .ckp{width:8%}
.ptable td{padding:3px;overflow-wrap:anywhere}
@media(max-width:1180px){.ptable .cproj{width:20%}.ptable .csource{width:7%}.ptable .cdate{width:8%}.ptable .ccat{width:7%}.ptable .ccontrol{width:8%}.ptable .ckp{width:8%}}
@media(max-width:1100px){.ptable,.ptable tbody,.ptable tr{display:block;width:100%}.ptable thead{display:none}.ptable tbody{display:grid;gap:7px;padding:6px}.ptable tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.ptable td{width:auto;display:block;padding:4px}.ptable .cproj{grid-column:1/-1}.stagebody{overflow:hidden}}
@media(max-width:900px){.equipment-totals{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.equipment-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.ptable tr{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* YALKA 1.5.3 — quiet topbar controls, yellow team announcements, time arrival marks */
.topright{flex-wrap:wrap;justify-content:flex-end;gap:6px}
.topright .refresh-top{background:#e3eff2;color:#2b5764;border-color:#b8cfd6;font-weight:800}
.topright .recalc-top{background:#fff;border-color:#d2dce1}
.topright .select-user{padding:7px 9px;white-space:normal;font-size:11px}
.announcements{display:grid;gap:7px;margin:0 0 11px}
.announcement{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff3bb;border:1px solid #e8ce68;border-left:4px solid #d5a424;border-radius:8px;padding:9px 11px;box-shadow:0 1px 4px rgba(99,77,31,.045)}
.announcement-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.announcement-main>b{font-size:10px;color:#795a08;text-transform:uppercase;letter-spacing:.2px}
.announcement-main>span{font-size:12px;line-height:1.45;color:#463c1b;white-space:pre-wrap;overflow-wrap:anywhere}
.announcement-main>small{font-size:10px;color:#857039}
.announcement .btn{flex:none;background:#fff9df}
.announcement.notice-manage{margin-bottom:7px}
.settings-danger{margin-top:12px}
.ts-mark{width:36px;min-height:36px;line-height:1.1;padding:2px}
.ts-mark small{display:block;font-size:8px;font-weight:700;margin-top:3px}
.timesheet td{min-width:38px}
@media(max-width:1300px){.topbar{height:auto;min-height:56px;flex-wrap:wrap;padding:8px 12px}.topright{flex:1;min-width:280px}.refresh-top,.recalc-top{font-size:10px}}
@media(max-width:750px){.topright{min-width:0;width:100%;justify-content:flex-start}.topright .select-user{margin-left:auto}.announcement{padding:8px}}

/* Yalka 1.5.4: compact metadata, personal schedule and object sectors */
.ptable .cproj{width:19%}
.ptable .csource{width:17%}
.ptable .cdate{width:7%}
.ptable .ccat{width:6.2%}
.ptable .ccontrol{width:7%}
.ptable .ckp{width:6.6%}
.tz-type-under{color:#6b8995;font-size:9px;font-weight:700;margin:2px 0 0}
.manager-object{font-size:10px;vertical-align:top}
.manager-object-content{display:flex;align-items:flex-start;gap:4px;flex-wrap:wrap;line-height:1.35;overflow-wrap:anywhere}
.manager-surname{font-weight:800;color:#3b5965;white-space:nowrap}
.manager-slash{color:#b0b9be}
.object-label{min-width:0;display:inline;overflow-wrap:anywhere;color:#475964}
.sector-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;border:1px solid rgba(30,50,60,.12);margin:3px 0 0;vertical-align:middle}
.sector-assignment{border-top:1px solid #e8edef;margin:9px 0 0;padding:10px 0 0}
.sector-assignment .form-row{grid-template-columns:minmax(0,1fr) auto}
.settings-sectors{margin-top:12px}
.sector-settings{display:grid;gap:7px}
.sector-item{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #e5eaf0;border-radius:8px;padding:6px 8px}
.sector-item .sector-dot{margin:0 5px 0 0}
.sector-item .sector-name-input{flex:1;min-width:80px}
.sector-item input[type=color],.sector-new input[type=color]{width:36px;height:34px;border:1px solid #d6dde1;border-radius:6px;background:#fff;padding:3px;cursor:pointer;flex:none}
.sector-new{display:flex;align-items:center;gap:9px;margin-top:12px}
.sector-new .field{flex:1;min-width:90px}
.staff-contact-short{font-size:10px;color:#899aa4;margin-top:3px}
.staff-contacts{border:1px solid #e5ecf0;border-radius:8px;padding:10px;margin:12px 0}
.staff-contacts h3{margin:0 0 8px;font-size:12px}
.workday-side{margin:13px 3px 0;border-top:1px solid #d5dde0;padding:14px 5px 7px;display:grid;gap:8px}
.workday-side-title{font-size:10px;color:#667f8a;font-weight:800;line-height:1.35}
.workday-time{display:flex;align-items:center;gap:8px;font-size:17px;color:#315361;letter-spacing:-.4px}
.workday-time span{color:#abb6bb}
.workday-lunch,.workday-late{font-size:10px;color:#71858f;line-height:1.4}
.workday-late{color:#9c612c}
.lunch-plan-btn{width:100%;font-size:10px;white-space:normal;line-height:1.3}
.lunch-marker{display:inline-flex;align-items:center;gap:2px;margin-left:2px;padding:1px 3px;border-radius:4px;background:#fff0c5;color:#81560c;font-size:9px;font-weight:800;vertical-align:middle;white-space:nowrap}
.lunch-marker[hidden],.lunch-now[hidden]{display:none}
.lunch-now{font-size:10px;font-weight:750;background:#fff0c5;padding:6px 7px;border-radius:5px;color:#885d10}
@media(max-width:1180px){.ptable .cproj{width:19%}.ptable .csource{width:17%}.ptable .cdate{width:7%}.ptable .ccat{width:6.2%}.ptable .ccontrol{width:7%}.ptable .ckp{width:6.6%}}
@media(max-width:1100px){.workday-side{margin:8px 2px 0}.manager-object-content{font-size:11px}}
@media(max-width:750px){.workday-side{margin:8px 0 0;border:1px solid #d8e1e5;border-radius:7px;padding:8px;max-width:290px}.workday-time{font-size:15px}.sector-item{flex-wrap:wrap}}

/* Yalka 1.5.5 — sidebar workday and compact outline indicators. */
.sidebar .workday-side{padding:12px 9px 15px;margin-top:10px;border-top:1px solid #d2dbe0;display:flex;flex-direction:column;gap:7px}
.workday-start-btn{background:#287b50;border-color:#287b50;color:#fff;width:100%;justify-content:center;font-weight:750}
.workday-start-btn:hover{background:#226d46}
.workday-started{display:flex;align-items:center;gap:6px;color:#337e52;font-size:11px;font-weight:750;padding:6px 0}
.workday-started .svg,.workday-lunch .svg,.lunch-plan-btn .svg,.break-plan-btn .svg,.lunch-marker .svg,.break-marker .svg,.lunch-now .svg{width:13px;height:13px;vertical-align:middle;flex:none}
.workday-lunch{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.lunch-now{display:flex;align-items:center;gap:5px}
.lunch-now[hidden]{display:none}
.break-plan-btn,.lunch-plan-btn{display:flex;gap:6px;justify-content:center;width:100%;white-space:normal}
.workday-break-note{font-size:9px;color:#86949d;line-height:1.45;padding-top:4px}
.break-active{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:#536a78;background:#e8eff3;border-radius:7px;padding:8px}
.break-active>.btn{margin-left:auto}
.break-active .svg{width:14px;height:14px}
.break-marker,.lunch-marker{display:inline-flex;align-items:center;gap:3px;font-size:9px;padding:2px 5px;background:#eef2f6;border:1px solid #dbe4e9;color:#57707e;border-radius:5px;margin:2px 0;white-space:nowrap}
.break-marker{background:#eaf0f8;border-color:#ccdceb;color:#416a8d}
.break-marker[hidden],.lunch-marker[hidden]{display:none}
.sidebar-bitrix-link{margin-top:auto;padding:12px 8px 2px}
.sidebar-bitrix-link a{display:flex;gap:8px;align-items:center;padding:8px 9px;font-size:11px;color:#577585;text-decoration:none;border-top:1px solid #ccd6dc}
.sidebar-bitrix-link a:hover{color:#264b60}
.sidebar-bitrix-link .svg{width:14px;height:14px}
.metric-subval{font-size:11px;color:#687a87;line-height:1.35;margin-top:4px;font-weight:650}
.manager-object-group{padding:8px 0 5px;border-bottom:1px solid #e4e9ed}
.manager-object-group summary{cursor:pointer;color:#466273;font-size:11px;font-weight:650}
.manager-object-group summary small{font-weight:400;color:#91a0a9;margin-left:7px}
.manager-projects{padding-left:9px;margin-top:5px}
.manager-project{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:5px 0;border-top:1px solid #eef1f3}
.manager-group-list{min-width:280px}
.manager-project .correction-badge{font-size:9px;display:inline-block}
@media(max-width:750px){.sidebar .workday-side{margin-top:8px}.sidebar-bitrix-link{padding:8px}.manager-group-list{min-width:0}.manager-project{flex-wrap:wrap}}

/* Yalka UI fix 1.5.5.1: consistent workday controls, subdued green */
.sidebar .workday-side {
  min-width: 0;
  box-sizing: border-box;
}
.sidebar .workday-side .workday-start-btn {
  display: flex ;
  align-items: center ;
  justify-content: center ;
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  width: 100% ;
  min-height: 38px;
  padding: 8px 8px ;
  gap: 6px;
  border: 1px solid #a7c7b5 ;
  border-radius: 7px;
  background: #507f68 ;
  color: #fff ;
  font-size: 10.5px ;
  font-weight: 650 ;
  line-height: 1.3;
  letter-spacing: 0;
  text-align: center;
  white-space: normal ;
  overflow-wrap: anywhere;
}
.sidebar .workday-side .workday-start-btn:hover:not(:disabled) {
  background: #446f5b ;
  border-color: #90b49e ;
}
.sidebar .workday-side .workday-start-btn .svg {
  width: 13px;
  height: 13px;
  flex: none;
}
.sidebar .workday-side .lunch-plan-btn,
.sidebar .workday-side .break-plan-btn {
  display: flex ;
  align-items: center ;
  justify-content: flex-start ;
  box-sizing: border-box;
  min-height: 35px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 8px 10px ;
  gap: 9px ;
  border: 1px solid #d3dfe4 ;
  border-radius: 7px ;
  background: #f5f8f9 ;
  color: #4c6471 ;
  font-size: 10.5px ;
  font-weight: 650 ;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: left;
  white-space: normal ;
}
.sidebar .workday-side .lunch-plan-btn:hover:not(:disabled),
.sidebar .workday-side .break-plan-btn:hover:not(:disabled) {
  background: #edf3f5 ;
  border-color: #b9ccd5 ;
}
.sidebar .workday-side .lunch-plan-btn .svg,
.sidebar .workday-side .break-plan-btn .svg {
  width: 15px;
  height: 15px;
  flex: none;
}

/* Ялка 1.5.6 — смена / переработки / аналитика */
.early-finish-btn,.overtime-btn{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:33px;padding:7px 6px;white-space:normal;font-size:10.5px;line-height:1.25;border-radius:7px;margin-top:7px;box-sizing:border-box}
.early-finish-btn{border-color:#d6dde0;background:#f3f6f7;color:#536873}
.overtime-btn{border-color:#becbd9;background:#edf2f8;color:#42647b}
.overtime-btn:disabled{opacity:.4}
.overtime-inprogress{padding:8px;margin-top:7px;border-radius:7px;background:#eaf3ee;font-size:11px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.free-engineers{background:#f8fafb;border:1px solid #d9e1e6;border-radius:11px;padding:11px 13px;margin:13px 0}
.free-engineers-heading{font-weight:800;font-size:12px;display:flex;align-items:center;gap:7px;margin-bottom:9px}
.free-engineers-heading span{color:#899ca6;font-weight:500}
.free-engineers-grid{display:flex;flex-wrap:wrap;gap:7px}
.free-engineer-tile{background:white;border:1px solid #dbe5e7;border-radius:8px;padding:8px 10px;min-width:152px;max-width:260px;display:flex;flex-direction:column;gap:3px;font-size:11px}
.free-engineer-tile small{color:#80919b;font-size:10px}
.only-mine-toggle{display:inline-flex;align-items:center;gap:7px;font-weight:650;font-size:11px;color:#536978;white-space:nowrap}
.preassign-name{font-size:10px;color:#617985;font-weight:700;white-space:nowrap}
.preassign-control{height:22px;width:25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe5eb;border-radius:6px;color:#75909b;background:#fafcfc}
.preassign-control .svg{width:13px;height:13px}
.overtime-cat{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #e1e6e9;border-radius:7px;padding:6px;font-size:11px}
.overtime-cat input{max-width:95px}
.category-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:9px}
.category-stat{border:1px solid #e1e7e9;border-radius:8px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:5px;font-size:11px}
.category-stat span{font-size:16px;font-weight:800;color:#344f60}
.category-stat small{color:#71838c}
.mine-section,.mine-done{margin-top:14px}
.mine-done{border-top:2px solid #d2dde2;padding-top:16px}

/* Yalka 1.5.7: compact administrator resource, planning and objects */
.free-engineer-action{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,background .15s;min-width:155px}
.free-engineer-action:hover{border-color:#8ea9b5;background:#f1f6f8}
.free-engineer-action:focus-visible{outline:2px solid #466f84;outline-offset:2px}
.theory-overview{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#637987;padding:7px 11px;margin:10px 0 2px;border:1px solid #dce5e9;background:#f7f9fa;border-radius:8px}
.theory-overview b{font-size:15px;color:#2b4c5b;font-variant-numeric:tabular-nums}
.equipment-theory{font-weight:800;font-size:11px;color:#365e71;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #e1e9ed;white-space:nowrap}
.project-theory,.placed-date small{display:block;margin-top:4px;font-size:9px;color:#5e7886;line-height:1.3}
.cproj.has-spec{position:sticky}
.spec-ribbon{position:absolute;right:2px;top:2px;z-index:6;padding:2px 5px 2px 6px;border-radius:0 3px 0 5px;background:#1e2630;color:#fff;font-size:8px;font-weight:750;letter-spacing:.35px;line-height:1.1;pointer-events:none}
.free-task-row .disabled-category{display:block;border-radius:5px;background:#e9ecef;color:#b4bbc0;min-height:36px;text-align:center;padding:8px 3px;font-size:14px}
.free-task-row .manager-object-content{flex-wrap:wrap}
.free-task-row .free-task-setter{font-size:10px;font-weight:750;color:#3e5564}
.free-task-row .object-label{font-weight:550;font-size:10px}
.timesheet th.ts-active-day,.timesheet td.ts-active-day{min-width:140px;width:140px;background:#e8f0f2;border-left:2px solid #91acba;border-right:2px solid #91acba}
.ts-day-picker{border:0;background:transparent;color:inherit;font-weight:700;cursor:pointer;white-space:nowrap;padding:4px 0;font-size:10px}
.ts-day-picker:hover{text-decoration:underline;color:#2f596a}
.ts-expanded-detail{display:block;font-size:9px;font-weight:500;line-height:1.3;margin-top:2px;white-space:normal}
.object-register{display:grid;gap:7px;padding:10px}
.object-entry{border:1px solid #e0e7ea;background:#fff;border-radius:9px;overflow:hidden}
.object-entry>summary{display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;list-style:none;min-height:39px;flex-wrap:wrap}
.object-entry>summary::-webkit-details-marker{display:none}
.object-entry>summary::before{content:'▸';font-size:12px;color:#7894a1}
.object-entry[open]>summary::before{content:'▾'}
.object-entry>summary strong{flex:1;min-width:190px;font-size:11px}
.object-entry>summary span:not(.sector-dot):not(.tag){font-size:10px;color:#607884}
.object-entry>summary small{font-size:10px;color:#8c9ba4;white-space:nowrap}
.object-entry-body{border-top:1px solid #e5ecef;background:#f9fbfc;padding:12px 16px;display:grid;gap:9px}
.object-info{font-size:11px;color:#617681}
.object-projects{display:flex;gap:6px;flex-wrap:wrap}
.object-entry .sector-dot{display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%;border:1px solid #869aa345}
.object-entry .sector-empty{border-color:#b1bcc2}
@media(max-width:750px){.theory-overview{margin:8px 0}.object-entry>summary strong{min-width:130px}.ts-active-day{min-width:125px}}
.timesheet td.ts-active-day .ts-mark{width:100%;max-width:none;min-height:32px;padding:5px 4px;white-space:normal;line-height:1.2}
.timesheet td.ts-active-day .ts-expanded-detail{display:block;white-space:nowrap;font-size:9px;line-height:1.25;margin-top:1px}
.timesheet th.ts-active-day,.timesheet td.ts-active-day{min-width:148px;width:148px}

.free-task-short{font-size:10px;color:#637b87;line-height:1.2;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* YALKA 1.5.8 — one dense spreadsheet-like planner across all stages. */
.sheet-stages{display:block;padding:0;margin:0;background:#fff}
.sheet-grid{width:100%;overflow:visible;background:#fff}
.planner-sheet{width:100%;max-width:100%;min-width:0;border-collapse:collapse;border-spacing:0;table-layout:fixed;background:white;font-size:10px;color:#303e45}
.planner-sheet thead{display:table-header-group}
.planner-sheet th{background:#edf0f2;color:#4c5c65;border:1px solid #cbd3d9;padding:6px 3px;text-transform:none;font-weight:750;font-size:9px;line-height:1.2;letter-spacing:0}
.planner-sheet tbody.stagebox{display:table-row-group;margin:0;border:0;border-radius:0;overflow:visible;background:#fff;box-shadow:none}
.planner-sheet tr[data-row-pid]{display:table-row;background:#fff}
.planner-sheet tr[data-row-pid]:hover>td{background:#f9fcfe}
.planner-sheet tbody.stagebox tr[data-row-pid]>td{background:#fff;border:1px solid #d1d8dc;padding:3px 4px;height:auto;vertical-align:top;line-height:1.15}
.planner-sheet tbody.stagebox tr[data-row-pid]>td.cproj{background:#fff;position:static}
.planner-sheet tbody.stagebox tr.sheet-stage-row{display:table-row;background:#e1e6e9}
.planner-sheet .sheet-stage-row>td{border:1px solid #b7c2c9;border-top:2px solid #879aa4;background:#e3e8eb;padding:4px 8px;line-height:1.15}
.sheet-stage-label{display:flex;align-items:center;gap:8px;min-height:18px;font-size:10px;color:#314b56}
.sheet-stage-title{font-size:10px;font-weight:850;letter-spacing:.08px;text-transform:uppercase;color:#253b43}
.sheet-stage-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:17px;border:1px solid #c5d0d6;background:#f3f6f7;padding:0 5px;border-radius:3px;font-size:10px;font-weight:800;color:#485e69}
.sheet-stage-hint{margin-left:auto;font-size:9px;color:#71818b;font-weight:500}
.planner-sheet .sheet-empty-row td{font-size:10px;color:#a6b0b6;padding:6px 9px;border:1px solid #d1d8dc;background:#fbfcfd}
.planner-sheet .cproj{width:19%}
.planner-sheet .csource{width:17%}
.planner-sheet .cdate{width:7%}
.planner-sheet .ccat{width:6.2%}
.planner-sheet .ccontrol{width:7%}
.planner-sheet .ckp{width:6.6%}
.planner-sheet .projectlabel{gap:3px}
.planner-sheet .project-main{min-width:0}
.planner-sheet .pcode{font-size:11px}
.planner-sheet .review-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px;max-width:100%;display:block}
.planner-sheet .tz-progress{margin-top:2px;height:4px;border-radius:0}
.planner-sheet .tz-progress-caption{font-size:8px;line-height:1.12;margin-top:2px}
.planner-sheet .cell{padding:3px;border-radius:1px;min-height:38px;gap:1px;border-width:0}
.planner-sheet .celltools{margin-top:2px;gap:1px;justify-content:flex-start}
.planner-sheet .celltools .quick{width:20px;height:19px;border-radius:2px}
.planner-sheet .estimate{font-size:8px}
.planner-sheet .part-inline-desc{font-size:9px}
.planner-sheet .placed-date{font-size:9px}
.planner-sheet .project-theory{font-size:8px}
.planner-sheet .spec-ribbon{font-size:8px}
.planner-sheet .drag-grip{padding:2px;border-radius:2px}
.planner-sheet .sheet-stage-row.drag-target>td,.planner-sheet tbody.stagebox.drag-target>.sheet-stage-row>td{background:#d6e6ec}
.date-range-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:#f7fafb;border:1px solid #dce4e8;border-radius:8px;padding:8px 11px;margin:0 0 13px;min-height:49px}
.date-range-controls .date-range-caption{font-size:11px;font-weight:800;color:#536d78;margin-right:5px}
.date-range-controls label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#627781;font-weight:700}
.date-range-controls input[type=date]{width:154px;min-width:0;padding:7px 8px;min-height:31px;font-size:11px}
.date-range-controls .date-range-clear{margin-left:auto;min-height:31px}
.period-warning{color:#963d34;background:#fff1ec;padding:8px 10px;margin-bottom:8px;border-radius:5px;font-size:11px}
@media(max-width:1100px){
 .sheet-grid{overflow:hidden}
 .planner-sheet,.planner-sheet thead,.planner-sheet tbody.stagebox{display:block;width:100%}
 .planner-sheet thead{display:none}
 .planner-sheet tbody.stagebox{border:0}
 .planner-sheet tbody.stagebox tr.sheet-stage-row{display:block;border:0}
 .planner-sheet tbody.stagebox tr.sheet-stage-row>td{display:block;width:100%}
 .planner-sheet tbody.stagebox tr[data-row-pid]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:5px;padding:3px;border:1px solid #c7d1d6;border-radius:3px}
 .planner-sheet tbody.stagebox tr[data-row-pid]>td{display:block;width:auto;border:0;border-right:1px solid #e0e6e9;border-bottom:1px solid #e0e6e9;padding:4px}
 .planner-sheet tbody.stagebox tr[data-row-pid]>td.cproj{grid-column:1/-1;border-bottom:1px solid #cfdbe0}
 .planner-sheet tbody.stagebox .sheet-empty-row{display:block}
 .planner-sheet tbody.stagebox .sheet-empty-row td{display:block;width:100%}
}
@media(max-width:540px){
 .planner-sheet tbody.stagebox tr[data-row-pid]{grid-template-columns:repeat(2,minmax(0,1fr))}
 .date-range-controls{gap:6px;padding:8px}
 .date-range-controls label{flex:1 1 130px}
 .date-range-controls input[type=date]{width:100%;min-width:0}
 .date-range-controls .date-range-clear{margin-left:0}
 .sheet-stage-hint{display:none}
}

/* Keep mobile width usable even after later desktop grid overrides. */
@media(max-width:750px){
 .app{display:block;grid-template-columns:none;width:100%;min-height:0}
 .sidebar{position:static;height:auto;width:100%;border-right:0;border-bottom:1px solid #d4dfe3;padding:10px}
 .sidebar .logo{padding:4px 4px 12px}
 .sidebar .nav{display:flex;overflow-x:auto;gap:4px;flex-wrap:nowrap;padding:0 0 7px}
 .sidebar .nav button{width:auto;min-width:max-content;flex:none}
 .sidebar .workday-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px}
 .sidebar .workday-side-title,.sidebar .workday-time,.sidebar .workday-break-note,.sidebar .workday-started,.sidebar .workday-late,.sidebar .break-active,.sidebar .workday-lunch{grid-column:1/-1}
 .sidebar .sidebar-bitrix-link{padding:5px}
 .main{min-width:0;width:100%}
 .content{padding:12px 10px 32px}
 .topbar{padding:9px 10px}
 .topbar .topright{min-width:0;width:100%}
}


/* YALKA 1.5.8.1 — centered modal, larger inline task text, comments strip, fixed spec ribbon */
.modal-wrap{justify-content:center;align-items:center;padding:22px;background:rgba(37,49,58,.34);backdrop-filter:blur(5px)}
.modal-card{width:min(760px,calc(100vw - 36px));max-height:calc(100vh - 36px);height:auto;border-radius:18px;box-shadow:0 30px 80px rgba(26,39,47,.22);padding:24px 24px 20px}
.modal-top{position:sticky;top:0;background:#f9fafb;z-index:2;padding-top:2px}
.planner-sheet tbody.stagebox tr[data-row-pid]>td.cproj{position:relative}
.planner-sheet .sheet-stage-row>td{border-top:1px solid #b7c2c9}
.planner-sheet .priority.tz-number{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:4px 8px;border-radius:3px;background:#eef2f4;border:1px solid #cbd5da;color:#203743;font-size:13px;font-weight:800;text-decoration:none;line-height:1.1}
.planner-sheet .projectlabel{align-items:flex-start}
.planner-sheet .project-main{display:flex;flex-direction:column;gap:3px}
.planner-sheet .cell .celltop{font-size:12px;line-height:1.15}
.planner-sheet .cell .cellstat{font-size:10px;line-height:1.25}
.planner-sheet .estimate,.planner-sheet .time-label,.planner-sheet .part-inline-desc,.planner-sheet .auto-warning{font-size:9px;line-height:1.2}
.planner-sheet .spec-ribbon{right:4px;top:4px;padding:2px 6px 2px 7px;border-radius:0 3px 0 5px}
.comment-toggle{margin-top:3px;border:0;background:rgba(255,255,255,.55);border-top:1px solid rgba(120,138,149,.25);padding:4px 2px 0;text-align:left;font-size:10px;font-style:italic;font-weight:650;color:#6b7c87;cursor:pointer}
.comment-toggle:hover{color:#3f5d6b}
.comment-toggle.has-comments{color:#476b7c}
.inline-comments{margin-top:5px;padding:7px;border:1px solid #d7e0e5;border-radius:6px;background:rgba(255,255,255,.84)}
.inline-comments-list{display:grid;gap:6px;max-height:220px;overflow:auto;margin-bottom:6px}
.inline-comment-item{border-bottom:1px solid #e8edf0;padding-bottom:5px}
.inline-comment-item:last-child{border-bottom:0;padding-bottom:0}
.inline-comment-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#50636e;margin-bottom:2px}
.inline-comment-head b{font-size:10px;color:#314650}
.inline-comment-note{font-size:10px;line-height:1.3;color:#32464f;white-space:pre-wrap;overflow-wrap:anywhere}
.inline-comment-empty{font-size:10px;color:#7e8d96;margin-bottom:6px}
.inline-comment-input{width:100%;border:1px solid #ccd6dc;border-radius:6px;background:#fff;padding:7px 8px;font-size:10px;resize:vertical;min-height:56px}
.inline-comment-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}
.inline-comment-actions .btn{padding:4px 8px;font-size:10px;min-height:auto}
@media(max-width:750px){.modal-wrap{padding:10px}.modal-card{width:min(100vw - 12px,760px);max-height:calc(100vh - 12px);padding:16px 14px}.planner-sheet .priority.tz-number{min-width:62px;font-size:11px}}

/* YALKA 1.5.8.2 — comments polish, task gear, button spacing, undo */
.planner-sheet .celltools{gap:4px;align-items:center;flex-wrap:wrap}
.planner-sheet .celltools .quick{width:22px;height:22px;border-radius:5px;padding:3px;box-shadow:0 1px 0 rgba(0,0,0,.03)}
.planner-sheet .celltools .quick svg{width:13px;height:13px}
.planner-sheet .celltools .quick.gear{margin-left:2px;border-color:#b9c7ce;color:#566f7a;background:rgba(255,255,255,.88)}
.planner-sheet .celltools .quick.undo{border-color:#9fb9ca;color:#446f86;background:#eef5f8}
.comment-toggle{display:block;width:100%;margin-top:5px;padding:5px 6px 3px;border:0;border-top:1px solid rgba(120,138,149,.22);background:transparent;text-align:left;font-size:10px;font-style:italic;font-weight:700;color:#748692;cursor:pointer;border-radius:0}
.comment-toggle.is-empty{background:#f1f4f6;color:#778793}
.comment-toggle.has-comments{background:#fff6c7;color:#7a6620;box-shadow:inset 0 0 0 1px #f0dfa0}
.comment-toggle:hover{filter:brightness(.985)}
.inline-comments{margin-top:4px;padding:8px;border:1px solid #d5e0e5;border-radius:7px;background:rgba(255,255,255,.92)}
.inline-comments-list{display:grid;gap:8px;max-height:220px;overflow:auto;margin-bottom:8px}
.inline-comment-item{padding:0 0 7px;border-bottom:1px solid #e5ecef}
.inline-comment-item:last-child{border-bottom:0;padding-bottom:0}
.inline-comment-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:3px}
.inline-comment-head b{display:block;font-size:11px;line-height:1.2;color:#27404d;max-width:55%}
.inline-comment-head span{font-size:10px;line-height:1.2;color:#7d8f98;white-space:nowrap;text-align:right}
.inline-comment-note{font-size:11px;line-height:1.3;color:#30434d;white-space:pre-wrap;overflow-wrap:anywhere}
.inline-comment-empty{font-size:10px;color:#83939c;margin-bottom:8px}
.inline-comment-input{width:100%;min-height:68px;border:1px solid #bfced7;border-radius:8px;background:#fff;padding:8px 9px;font-size:11px;resize:vertical}
.inline-comment-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px}
.inline-comment-actions .btn{padding:5px 10px;font-size:11px;border-radius:7px}
.modal-section .alcontrols{gap:8px}
.modal-section .alcontrols .btn.small{padding:6px 10px}
.modal-section .history-entry{padding:10px 0}
.qty-alert{border:1px solid #e4eaee;border-radius:8px;padding:10px 11px;background:#fafcfd;margin-bottom:8px}
@media(max-width:750px){.inline-comment-head{flex-direction:column}.inline-comment-head b,.inline-comment-head span{max-width:none;text-align:left;white-space:normal}.inline-comment-actions{flex-wrap:wrap;justify-content:flex-end}}

/* YALKA 1.5.9 — stable task numbers, readable inline comments and automation split */
.planner-sheet .tz-number{background:none;border:none;min-width:0;max-width:100%;padding:2px 0;border-radius:0;font-weight:850;color:#233c48;font-size:12px;line-height:1.2;overflow-wrap:anywhere;text-align:left;box-shadow:none}
.planner-sheet .tz-number:hover{text-decoration:underline}
.planner-sheet .celltools{gap:5px}
.planner-sheet .celltools .quick{width:23px;height:23px;min-width:23px;border-radius:5px;padding:4px}
.planner-sheet .celltools .quick.gear{background:#f8fafb;color:#435e6c;border-color:#aabcc6}
.planner-sheet .celltools .quick.gear svg{width:16px;height:16px;stroke-width:1.8}
.planner-sheet tbody.stagebox tr[data-row-pid]>td:has(.inline-comments){position:relative;z-index:30}
.planner-sheet .cell:has(.inline-comments){position:relative;z-index:30;overflow:visible}
.sheet-grid:has(.inline-comments),.sheet-stages:has(.inline-comments),.panel:has(.inline-comments){overflow:visible}
.planner-sheet .inline-comments{position:absolute;top:calc(100% + 3px);right:0;z-index:80;width:300px;max-width:min(360px,calc(100vw - 28px));margin:0;padding:10px;border:1px solid #c9d5dc;background:#fff;box-shadow:0 12px 30px rgba(30,51,64,.18);border-radius:8px;display:block}
.planner-sheet .inline-comments-list{max-height:210px;overflow-y:auto;overflow-x:hidden;display:block;margin-bottom:8px}
.planner-sheet .inline-comment-item{min-width:0;padding:6px 0 8px;margin:0;border-bottom:1px solid #e7edf0}
.planner-sheet .inline-comment-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:4px;min-width:0}
.planner-sheet .inline-comment-head b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;width:100%;font-size:11px;line-height:1.3}
.planner-sheet .inline-comment-head span{display:block;white-space:nowrap;text-align:left;max-width:100%;font-size:9px;line-height:1.2}
.planner-sheet .inline-comment-note{font-size:11px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.planner-sheet .inline-comment-input{font-size:11px;min-height:68px;resize:vertical;width:100%}
.planner-sheet .inline-comment-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.planner-sheet .comment-toggle.has-comments{font-size:10px;font-style:normal;font-weight:750;background:#fff4bb;color:#745d11;border:1px solid #efdc88;padding:5px 6px;border-radius:3px}
.planner-sheet .comment-toggle.is-empty{font-size:10px;font-style:normal;color:#687987;background:#f1f4f5;border:1px solid #e1e6e9;padding:5px 6px;border-radius:3px}
.auto-distribution{display:grid;gap:3px;margin:3px 0 4px;padding:5px 4px;border:1px solid rgba(105,126,136,.28);border-radius:4px;background:rgba(255,255,255,.42)}
.auto-kind-line{display:grid;gap:1px;min-width:0}
.auto-kind-line b{font-size:10px;white-space:normal;line-height:1.2}
.auto-kind-line span{font-size:10px;line-height:1.2;color:#586f7a;overflow-wrap:anywhere}
.skip-list{max-height:270px;overflow-y:auto;border:1px solid #e0e6e9;border-radius:8px;margin:10px 0}
.skip-item{padding:9px 11px;border-bottom:1px solid #e8edf0;display:flex;flex-direction:column;gap:3px;font-size:11px}
.skip-item:last-child{border:0}
.skip-item span{color:#72848d;line-height:1.35}
@media(max-width:1100px){.planner-sheet .inline-comments{left:0;right:auto;top:calc(100% + 3px);max-width:min(340px,calc(100vw - 24px))}}
.auto-assign-config{margin-top:16px;padding-top:12px;border-top:1px solid #e1e7eb;display:grid;gap:9px}
.auto-assign-config h3{margin:0 0 3px;font-size:12px}
.auto-assign-config label{display:block;margin-bottom:0}
.auto-assign-config select{margin-top:5px}

/* Ялка 1.5.10: fixed TZ column, full-width drag handle, centered gear and Spec automation */
.planner-sheet .projectlabel{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:start;
  gap:7px;
}
.planner-sheet .project-main{min-width:0;width:100%}
.planner-sheet .tz-code-drag{
  width:112px;min-width:112px;max-width:112px;
  display:flex;align-items:center;gap:3px;min-height:28px;
  padding:2px 4px 2px 3px;border-radius:4px;
  user-select:none;-webkit-user-select:none;
}
.planner-sheet .tz-code-drag.is-draggable{cursor:grab}
.planner-sheet .tz-code-drag.is-draggable:active{cursor:grabbing}
.planner-sheet .tz-code-drag.is-draggable:hover{background:rgba(80,106,120,.08)}
.planner-sheet .tz-drag-mark{font-size:12px;color:#91a3ab;flex:none;line-height:1;pointer-events:none}
.planner-sheet .tz-code-drag .tz-number{
  display:block;flex:1;min-width:0;width:100%;
  max-width:100%;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;
  font-weight:850;color:#263e49;font-size:12px;
  padding:2px 0;text-align:left;
}
.planner-sheet .cell{position:relative}
.planner-sheet .auto-spec-badge{
  position:absolute;right:5px;top:4px;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  background:#222a32;color:#fff;font-size:8px;font-weight:800;
  padding:2px 5px;border-radius:3px;line-height:1.15;
  pointer-events:none;letter-spacing:.2px;
}
.planner-sheet .cell:has(.auto-spec-badge) .celltop{padding-right:33px}
.planner-sheet .celltools .quick.gear{
  width:24px;height:24px;min-width:24px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;margin-left:2px;border-radius:5px;
  background:#f8fafb;color:#3e5662;border:1px solid #aebdc5;
}
.planner-sheet .celltools .quick.gear svg,
.planner-sheet .celltools .quick.gear .svg{
  display:block;position:static;flex:none;
  width:16px;height:16px;max-width:16px;
  margin:0;transform:none;stroke-width:1.6;
}
.auto-spec-settings{background:#fbfcfd}
.auto-spec-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 11px;color:#506572;font-size:11px}
.auto-spec-indicator{background:#232b34;color:#fff;padding:3px 7px;border-radius:3px;font-size:10px;letter-spacing:.15px}
@media(max-width:920px){
 .planner-sheet .projectlabel{grid-template-columns:112px minmax(0,1fr)}
}
.planner-sheet .tz-code-drag.is-draggable{touch-action:none}
.planner-sheet .dragging{opacity:.68}

/* Yalka 1.5.11 — drag visibility, role-specific tasks, control analytics */
.tz-code-drag.is-draggable{touch-action:pan-y;user-select:none;cursor:grab}
.tz-code-drag.is-draggable:active{cursor:grabbing}
.planner-sheet tr.dragging td{background-color:#e4edf1;opacity:.67;border-top:1px dashed #608da5;border-bottom:1px dashed #608da5}
.planner-sheet tr.drop-before td{border-top:3px solid #377c9b}
.planner-sheet tr.drop-after td{border-bottom:3px solid #377c9b}
.tz-drag-ghost{position:fixed;z-index:10000;pointer-events:none;max-width:340px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:9px 12px;border:1px solid #7293a3;border-radius:7px;background:#fff;box-shadow:0 8px 26px #20394540;color:#264452;font-size:12px;font-weight:750;opacity:.95}
.correction-assignees{display:grid;gap:3px;border-left:2px solid #db9e4c;padding:3px 4px;background:rgba(255,244,213,.7);font-size:10px;line-height:1.3}
.correction-assignees b{font-size:10px;color:#574529}
.mine-control-feed{margin:12px 0}
.mine-control-item{border:1px solid #dce4e8;border-radius:8px;margin:8px 0;background:#fbfcfd}
.mine-control-item>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:12px 14px}
.mine-control-item>summary b{font-size:12px}
.mine-control-item>summary small{color:#71828d;font-size:10px}
.control-status{display:inline-flex;max-width:100%;padding:4px 8px;border-radius:5px;font-size:11px;font-weight:700;background:#e9f1f5;color:#476b79}
.control-status.alert{background:#fff0d3;color:#9d631a}
.control-status.ok{background:#e6f1e8;color:#3d7952}
.mine-control-history{padding:0 12px 12px;display:grid;gap:8px}
.control-error-line{display:flex;flex-direction:column;gap:2px;padding:9px;border-radius:6px;background:#fff4e8;border:1px solid #f2ddc2;font-size:11px}
.control-error-line small{color:#775e45}
.control-timeline-line{display:grid;grid-template-columns:125px 1fr 120px;gap:8px;align-items:center;padding:5px 8px;border-bottom:1px solid #edf1f3;font-size:11px}
.control-timeline-line time,.control-timeline-line small{font-size:10px;color:#758791}
.role-task-row{padding:11px 12px;border-bottom:1px solid #e5eaed;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}
.role-task-row:last-child{border-bottom:0}
.role-task-row>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.role-task-row>b{font-size:12px}
.kp-role-table{min-width:980px}
.kp-role-table td{vertical-align:top;white-space:normal;line-height:1.4}
.staff-errors-detail{min-width:150px}
.staff-errors-detail summary{cursor:pointer;white-space:nowrap;font-size:11px}
.staff-error-row{display:flex;flex-direction:column;gap:3px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:11px;min-width:200px}
.staff-error-row small{font-size:10px;color:#7a8893}
.control-client-settings{margin-top:14px}
.control-client-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;gap:11px;align-items:end}
.control-client-list{margin-top:13px;display:grid;gap:6px}
.control-client-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid #e2e9ed;border-radius:7px;background:#fafcfd;font-size:11px}
.mine-alert-count{background:#ffecd1;color:#9a5e23}
@media(max-width:800px){.control-client-grid{grid-template-columns:1fr}.control-client-grid button{justify-self:start}.control-timeline-line{grid-template-columns:1fr;gap:2px}.role-task-row{flex-direction:column;align-items:stretch}.control-client-row{grid-template-columns:1fr auto}.control-client-row span{grid-column:1}}

/* Yalka 1.5.12 — stable grid widths and transfer/new-accounting dialogs */
.planner-sheet .csource{width:12%;max-width:12%}
.planner-sheet .ccat{width:6.914285%}
.planner-sheet .manager-object-content{min-width:0;max-width:100%;overflow:hidden}
.planner-sheet .manager-object-content .object-label{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere}
.planner-sheet .manager-object-content .manager-surname{white-space:nowrap}
.planner-sheet .cell{min-width:0}
.theory-overview{display:flex;justify-content:flex-start;align-items:baseline;gap:9px;flex-wrap:wrap;padding:7px 4px}
.theory-overview b{font-size:14px;line-height:1.2;font-weight:800;order:0}
.theory-overview span{font-size:11px;line-height:1.2;color:#75858e;order:1;font-weight:500}
.pagehead-no-title{margin-bottom:10px;justify-content:flex-end;min-height:0}
.pagehead-no-title .headright{margin-left:auto}
.transfer-entry-btn{background:#eff4f6;border-color:#b9cbd3;color:#355b6b}
.transfer-split-qty{border:1px solid #dee5e9;border-radius:8px;padding:13px;margin:10px 0;background:#f6fafb;display:grid;gap:9px}
.transfer-split-qty small{font-size:11px;color:#7b8e99}
.transfer-history-row{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid #e6edef;font-size:11px}
.transfer-history-row b{font-size:11px;color:#2a4a59}
.transfer-history-row span{color:#637b87}
.transfer-history-row small{font-size:10px;color:#91a1a8}
.fresh-accounting-settings{margin-top:15px}
.fresh-accounting-settings .btn.danger,.reset-warning .btn.danger{background:#b14e45;color:#fff;border-color:#b14e45;white-space:normal;text-align:center;line-height:1.3}
.reset-warning{background:#fff9f6;border-color:#ebccc5}
.reset-warning p{font-size:12px;line-height:1.5;margin:9px 0}
.reset-warning .control{margin-bottom:12px}
@media(max-width:920px){.planner-sheet .manager-object-content .object-label{-webkit-line-clamp:4}}


/*
  Yalka UI 1.6: shared visual language for the real app.
  All business logic remains in app.js/server.js. No external fonts, libraries or data.
  The legacy foundation contains layout rules required by the old app; this module
  is authoritative for all new visual styles. Add new styles here, not at the end
  of an ever-growing old stylesheet.
*/
:root{
  color-scheme:light;
  --page:#f7f8fa;--panel:#ffffff;--white:#fff;--line:#e5e9ed;
  --ink:#23333d;--muted:#8b9ba5;--blue:#347b6d;--soft-blue:#e6f2ee;
  --green:#e5f3e9;--green-ink:#296243;--yellow:#fff1d3;
  --yellow-ink:#906518;--orange:#fbe7d7;--orange-ink:#8e592d;
  --nav:#f5f7f8;--shadow:0 16px 50px rgba(25,42,53,.08);
  --ui-canvas:#f7f8fa;--ui-surface:#ffffff;--ui-soft:#fbfcfd;
  --ui-sidebar:#f5f7f8;--ui-group:#eef2f4;--ui-table-head:#f6f8f9;
  --ui-stroke:#e5e9ed;--ui-strong:#d5dce2;--ui-ink:#23333d;
  --ui-secondary:#5e717d;--ui-muted:#8b9ba5;--ui-accent:#347b6d;
  --ui-accent-hover:#246758;--ui-accent-bg:#e6f2ee;
  --ui-success:#296243;--ui-success-bg:#e5f3e9;
  --ui-warn:#906518;--ui-warn-bg:#fff1d3;
  --ui-error:#a64948;--ui-error-bg:#fce9e8;
  --ui-pause:#8e592d;--ui-pause-bg:#fbe7d7;
  --ui-glass:rgba(255,255,255,.94);--ui-shadow:0 22px 68px rgba(25,42,53,.15);
  --ui-ring:rgba(52,123,109,.24);
  --ui-radius:9px;--ui-radius-lg:13px;--ui-radius-xs:5px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
html[data-yalka-theme="dark"]{
  color-scheme:dark;
  --page:#171f25;--panel:#1d2830;--white:#1d2830;--line:#35444e;
  --ink:#edf3f5;--muted:#8198a4;--blue:#5ca895;--soft-blue:#28453d;
  --green:#25453a;--green-ink:#c1e9d2;--yellow:#4a3c24;
  --yellow-ink:#f5d998;--orange:#553e2c;--orange-ink:#ffd4ac;
  --nav:#1b252d;--shadow:0 18px 55px rgba(0,0,0,.22);
  --ui-canvas:#171f25;--ui-surface:#1d2830;--ui-soft:#202d36;
  --ui-sidebar:#1b252d;--ui-group:#2a363e;--ui-table-head:#26323a;
  --ui-stroke:#35444e;--ui-strong:#53646e;--ui-ink:#edf3f5;
  --ui-secondary:#b4c3ca;--ui-muted:#8198a4;--ui-accent:#5ca895;
  --ui-accent-hover:#73bba7;--ui-accent-bg:#28453d;
  --ui-success:#c1e9d2;--ui-success-bg:#25453a;
  --ui-warn:#f5d998;--ui-warn-bg:#4a3c24;
  --ui-error:#ffc9c4;--ui-error-bg:#4b3032;
  --ui-pause:#f7c69f;--ui-pause-bg:#553e2c;
  --ui-glass:rgba(30,43,53,.96);--ui-shadow:0 25px 80px rgba(0,0,0,.36);
  --ui-ring:rgba(92,168,149,.30);
}
html,body{margin:0;min-height:100%;background:var(--ui-canvas);color:var(--ui-ink)}
body{font-size:12px;line-height:1.4;letter-spacing:.005em;font-synthesis:none}
button,input,select,textarea{font:inherit;color:inherit}
button,select,input,textarea{transition:background-color .15s,border-color .15s,box-shadow .15s}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.47}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-ring);outline-offset:2px}
[hidden]{display:none!important}
/* Outer shell */
.app{grid-template-columns:188px minmax(0,1fr);min-height:100vh;background:var(--ui-canvas)}
.sidebar{background:var(--ui-sidebar);border-right:1px solid var(--ui-stroke);padding:18px 10px 13px;box-shadow:none;z-index:4}
.logo{padding:3px 8px 22px;display:block;margin:0}
.logoname{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:780;letter-spacing:-.05em;color:var(--ui-ink);text-transform:none;line-height:1.15}
.logoname::before{content:'Я';display:grid;place-items:center;flex:none;width:27px;height:27px;background:var(--ui-accent);color:#fff;border-radius:8px;font-size:15px;font-weight:820;letter-spacing:-.02em}
.logosub{font-size:10px;line-height:1.5;color:var(--ui-muted);letter-spacing:0;margin-top:5px;display:block}
.nav{gap:2px;display:grid}
.nav button{min-height:36px;border:0;border-radius:7px;padding:9px 10px;gap:9px;font-size:11.5px;color:var(--ui-secondary);font-weight:600;background:transparent;box-shadow:none;text-align:left}
.nav button:hover{background:var(--ui-surface);color:var(--ui-ink)}
.nav button.sel{background:var(--ui-surface);color:var(--ui-ink);font-weight:750;box-shadow:0 1px 4px rgba(25,42,53,.06)}
.nav button .svg{width:15px;height:15px;stroke-width:1.75}
.nav button .number{margin-left:auto;border:1px solid var(--ui-stroke);background:var(--ui-group);color:var(--ui-secondary);padding:0px 5px;min-width:18px;line-height:17px;text-align:center;font-size:10px;border-radius:5px}
.workday-side{border-top:1px solid var(--ui-stroke);margin-top:16px;padding:16px 5px 0;gap:7px}
.workday-side-title{font-size:11px;font-weight:730;letter-spacing:-.01em;color:var(--ui-ink)}
.workday-time{justify-content:flex-start;gap:8px;margin:6px 0 1px;font-size:21px;letter-spacing:-.06em;color:var(--ui-ink);font-variant-numeric:tabular-nums}
.workday-time span{font-weight:400;color:var(--ui-muted)}
.workday-lunch,.workday-break-note,.workday-late{color:var(--ui-muted);font-size:10px;line-height:1.4}
.workday-break-note{display:none}
.workday-side .btn{width:100%;justify-content:flex-start;gap:8px;padding:7px 9px;min-height:29px;margin:0;white-space:normal;text-align:left;font-size:10.5px;line-height:1.25}
.workday-side .workday-start-btn{width:100%;justify-content:center;text-align:center;min-height:40px;background:var(--ui-accent);border-color:var(--ui-accent);color:#fff;font-weight:720;box-shadow:none}
.workday-side .workday-start-btn:hover{background:var(--ui-accent-hover)}
.workday-side .workday-started,.workday-side .break-active,.overtime-inprogress{border:1px solid var(--ui-stroke);background:var(--ui-surface);color:var(--ui-secondary);border-radius:7px;padding:8px;font-size:10px;line-height:1.4}
.workday-side .btn:not(.workday-start-btn){background:var(--ui-surface);border-color:var(--ui-stroke);color:var(--ui-ink)}
.workday-side .btn:hover:not(:disabled){border-color:var(--ui-strong);background:var(--ui-group)}
.workday-side .overtime-btn:disabled{color:var(--ui-muted);background:var(--ui-soft)}
.sidebar-bitrix-link{margin-top:auto;padding:12px 7px 5px;border-top:1px solid var(--ui-stroke)}
.sidebar-bitrix-link a{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ui-secondary);text-decoration:none;padding:6px 4px}
.sidebar-bitrix-link a:hover{color:var(--ui-accent)}
.sidebar-theme-wrap{margin-top:0;padding:10px 6px 3px}
.sidebar-theme-button{border:0;min-height:31px;border-radius:7px;background:transparent;color:var(--ui-secondary);font-weight:560;font-size:11px;display:flex;align-items:center;gap:8px;width:100%;padding:7px 5px}
.sidebar-theme-button:hover{background:var(--ui-surface);color:var(--ui-ink)}
.sidebar-theme-button .theme-switch-track{margin-left:auto;flex:none;background:var(--ui-strong);border:1px solid var(--ui-stroke);width:28px;height:16px;border-radius:99px;display:flex;align-items:center;padding:2px}
.sidebar-theme-button .theme-switch-track i{width:10px;height:10px;display:block;background:var(--ui-surface);border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .18s}
html[data-yalka-theme="dark"] .sidebar-theme-button .theme-switch-track{background:var(--ui-accent)}
html[data-yalka-theme="dark"] .sidebar-theme-button .theme-switch-track i{transform:translateX(11px)}
.sidebar-footer{color:var(--ui-muted);padding:7px 5px 1px;font-size:10px;text-align:center}
.main{min-width:0;background:var(--ui-canvas)}
.topbar{background:transparent;border-bottom:1px solid var(--ui-stroke);height:auto;min-height:58px;padding:0 20px;gap:12px}
.breadcrumb{font-size:11px;letter-spacing:0;color:var(--ui-muted)}
.breadcrumb b{font-weight:720;color:var(--ui-secondary)}
.topright{gap:7px;flex-wrap:wrap}
.topright .select-user{background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:7px;max-width:200px;padding:7px 9px;color:var(--ui-secondary);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content{max-width:none;padding:13px 18px 32px;margin:0 auto}
.pagehead{margin:0 0 9px;align-items:center;gap:12px}
.pagehead-no-title{min-height:30px;justify-content:flex-end;margin:0 0 9px}
.headright{gap:7px}
.title{color:var(--ui-ink);letter-spacing:-.055em;font-size:22px;font-weight:750;margin:0 0 5px}
.subtitle{font-size:11px;color:var(--ui-muted);line-height:1.45}
/* Shared controls */
.btn{min-height:30px;padding:6px 10px;border:1px solid var(--ui-strong);background:var(--ui-surface);border-radius:7px;color:var(--ui-ink);font-size:11px;font-weight:630;line-height:1.3;box-shadow:none;white-space:nowrap}
.btn.small{min-height:27px;padding:5px 8px;border-radius:6px;font-size:10.5px}
.btn:hover:not(:disabled){background:var(--ui-soft);border-color:var(--ui-secondary)}
.btn.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}
.btn.primary:hover:not(:disabled){background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}
.btn.green{color:var(--ui-success);border-color:var(--ui-stroke);background:var(--ui-success-bg)}
.btn.warn{color:var(--ui-warn);border-color:var(--ui-stroke);background:var(--ui-warn-bg)}
.btn.danger{color:var(--ui-error);border-color:var(--ui-stroke);background:var(--ui-error-bg)}
.field,.control,.form-row input,.form-row select,.form-row textarea,.modal-card input,.modal-card select,.modal-card textarea{background:var(--ui-surface);border:1px solid var(--ui-strong);border-radius:7px;color:var(--ui-ink);font-size:11.5px;min-height:32px;padding:7px 10px;max-width:100%}
input::placeholder,textarea::placeholder{color:var(--ui-muted)}
input:focus,select:focus,textarea:focus{border-color:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-ring);outline:none}
select option{background:var(--ui-surface);color:var(--ui-ink)}
label,.form-label{color:var(--ui-secondary)}
/* Summary and alerts */
.metrics.metrics-wide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:4px 0 10px}
.metric,.metrics-wide .metric{display:flex;flex-direction:column;justify-content:space-between;min-height:76px;padding:10px 12px 10px;background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:9px;box-shadow:none}
.metric-name{font-size:10.5px;line-height:1.25;color:var(--ui-secondary);font-weight:620;letter-spacing:0}
.metric-val,.metrics-wide .metric-val{font-size:22px;font-weight:760;letter-spacing:-.06em;line-height:1.12;color:var(--ui-ink);margin:5px 0 0;font-variant-numeric:tabular-nums}
.metric-good{background:var(--ui-surface);border-color:var(--ui-stroke)}
.metric-good .metric-val{color:var(--ui-success)}
.metric-alert{background:var(--ui-surface);border-color:var(--ui-stroke)}
.metric-alert .metric-val{color:var(--ui-error)}
.metric-note{display:none}
.control-alert{border:0;border-radius:7px;background:var(--ui-error-bg);color:var(--ui-error);font-size:11px;min-height:32px;padding:7px 11px;display:flex;align-items:center;gap:7px;margin:8px 0;line-height:1.3}
.control-alert-code{font-size:10px;font-weight:720;background:transparent;border:1px solid currentColor;color:var(--ui-error);border-radius:5px;padding:2px 6px}
.announcement{border-radius:7px}
.free-engineers{border:0;background:transparent;box-shadow:none;padding:6px 0;margin:5px 0}
.free-engineers-heading{font-size:11px;color:var(--ui-ink);margin:0 0 6px;font-weight:730}
.free-engineers-heading span{font-size:10px;color:var(--ui-muted)}
.free-engineers-grid{gap:6px}
.free-engineer-tile{background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:6px;color:var(--ui-ink);padding:5px 8px;font-size:10.5px;max-width:260px;min-width:140px}
.free-engineer-tile small{color:var(--ui-muted);font-size:9px}
.theory-overview{display:flex;gap:9px;align-items:baseline;justify-content:flex-start;border:0;background:transparent;padding:5px 0;margin:7px 0 3px;color:var(--ui-secondary);flex-wrap:wrap;font-size:10.5px}
.theory-overview b{font-size:17px;font-weight:760;line-height:1.1;letter-spacing:-.04em;color:var(--ui-ink)}
.theory-overview span{font-size:10.5px;color:var(--ui-muted);font-weight:450}
.equipment-totals{gap:6px;margin:0 0 12px}
.equipment-total{background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:7px;box-shadow:none;padding:7px 8px;min-height:55px;min-width:0}
.equipment-total b{font-size:10px;font-weight:740;color:var(--ui-ink);line-height:1.15}
.equipment-theory{font-size:10.5px;color:var(--ui-ink);border:0;margin:0;padding:0 0 3px;font-weight:740;line-height:1.2}
.equipment-total span,.equipment-total small{color:var(--ui-muted);font-size:9px;line-height:1.2}
/* The three resource metrics form a restrained inline report, not another row of cards. */
@media(min-width:1181px){
 .metrics.metrics-wide .metric:nth-child(n+6){min-height:34px;border:0;border-bottom:1px solid var(--ui-stroke);border-radius:0;padding:6px 4px 7px;background:transparent;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;min-width:0}
 .metrics.metrics-wide .metric:nth-child(6){grid-column:1 / span 2}
 .metrics.metrics-wide .metric:nth-child(7){grid-column:3 / span 2}
 .metrics.metrics-wide .metric:nth-child(8){grid-column:5 / span 1}
 .metrics.metrics-wide .metric:nth-child(n+6) .metric-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.3px;color:var(--ui-muted);font-weight:500}
 .metrics.metrics-wide .metric:nth-child(n+6) .metric-val{white-space:nowrap;font-size:14px;flex:none;margin:0;font-weight:760;order:-1}
 .metrics.metrics-wide{row-gap:4px}
}

/* Real planner table: strictly contiguous spreadsheet grid */
.panel{border:0;box-shadow:none;background:transparent;border-radius:0;overflow:visible}
.toolbar{border:0;background:transparent;padding:0;margin:10px 0 8px;gap:7px;min-height:32px}
.toolbar .search{width:min(420px,100%);min-width:160px;flex:1;max-width:420px}
.toolbar .field{border:1px solid var(--ui-strong);background:var(--ui-surface);padding:7px 10px;min-height:32px}
.toolbar .note{color:var(--ui-muted);font-size:10px}
.only-mine-toggle{font-size:10.5px;color:var(--ui-secondary);gap:6px}
.only-mine-toggle input{accent-color:var(--ui-accent)}
.sheet-stages{display:block;padding:0;margin:0;background:var(--ui-surface)}
.sheet-grid{width:100%;background:var(--ui-surface);border:1px solid var(--ui-strong);border-radius:9px;overflow:hidden}
.planner-sheet{width:100%;min-width:0;max-width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;background:var(--ui-surface);color:var(--ui-ink);font-size:10.5px}
.planner-sheet thead{display:table-header-group}
.planner-sheet th{background:var(--ui-table-head);color:var(--ui-secondary);border:0;border-right:1px solid var(--ui-stroke);border-bottom:1px solid var(--ui-stroke);padding:7px 5px;font-size:9px;line-height:1.2;text-transform:none;letter-spacing:0;font-weight:730;text-align:left;vertical-align:middle}
.planner-sheet th:last-child{border-right:0}
.planner-sheet tbody.stagebox{display:table-row-group;background:transparent;margin:0;border:0;box-shadow:none;border-radius:0}
.planner-sheet tr[data-row-pid]{display:table-row;background:var(--ui-surface);border:0}
.planner-sheet tbody.stagebox tr[data-row-pid]>td{border:0;border-right:1px solid var(--ui-stroke);border-bottom:1px solid var(--ui-stroke);background:var(--ui-surface);padding:5px 5px;vertical-align:top;height:auto;line-height:1.3;color:var(--ui-ink)}
.planner-sheet tbody.stagebox tr[data-row-pid]>td:last-child{border-right:0}
.planner-sheet tr[data-row-pid]:hover>td,.planner-sheet tbody.stagebox tr[data-row-pid]:hover>td{background:var(--ui-soft)}
.planner-sheet tbody.stagebox tr[data-row-pid]>td.cproj{background:transparent;position:relative}
.planner-sheet .sheet-stage-row{display:table-row}
.planner-sheet .sheet-stage-row>td,.planner-sheet tbody.stagebox .sheet-stage-row>td{background:var(--ui-group);border:0;border-bottom:1px solid var(--ui-stroke);border-top:1px solid var(--ui-stroke);padding:5px 10px;line-height:1.2;color:var(--ui-ink)}
.sheet-stage-label{min-height:18px;gap:7px;display:flex;align-items:center;color:var(--ui-secondary);font-size:10px}
.sheet-stage-title{font-size:10px;font-weight:780;color:var(--ui-ink);letter-spacing:0;text-transform:uppercase}
.sheet-stage-count{min-width:17px;border:1px solid var(--ui-strong);background:var(--ui-surface);color:var(--ui-secondary);padding:0 5px;line-height:17px;border-radius:5px;font-size:9px;font-weight:740;text-align:center}
.sheet-stage-hint{margin-left:auto;color:var(--ui-muted);font-size:9px;font-weight:450}
.planner-sheet .sheet-empty-row td{background:var(--ui-surface);border-bottom:1px solid var(--ui-stroke);padding:9px 13px;font-size:10px;color:var(--ui-muted)}
/* A fixed TZ area leaves the next text aligned in all rows */
.planner-sheet .cproj{width:20%;max-width:20%}
.planner-sheet .csource{width:12%;max-width:12%}
.planner-sheet .cdate{width:7%;max-width:7%}
.planner-sheet .ccat{width:6.62%}
.planner-sheet .ccontrol{width:7.5%}
.planner-sheet .ckp{width:7.16%}
.planner-sheet .projectlabel{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:start;gap:6px;min-width:0}
.planner-sheet .tz-code-drag{width:105px;min-width:105px;max-width:105px;display:flex;gap:3px;min-height:22px;align-items:center;padding:2px 3px 2px 0;border-radius:5px;user-select:none}
.planner-sheet .tz-code-drag.is-draggable{cursor:grab;touch-action:pan-y}
.planner-sheet .tz-code-drag.is-draggable:hover{background:var(--ui-group)}
.planner-sheet .tz-code-drag.is-draggable:active{cursor:grabbing}
.planner-sheet .tz-drag-mark{font-size:11px;color:var(--ui-muted);line-height:1;flex:none}
.planner-sheet .tz-number{display:block;min-width:0;width:100%;font-weight:790;color:var(--ui-ink);font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0;text-align:left;border:0;background:transparent;letter-spacing:-.02em}
.planner-sheet .tz-number:hover{color:var(--ui-accent)}
.planner-sheet .project-main{min-width:0;display:flex;flex-direction:column;gap:3px}
.planner-sheet .tz-type-under{font-size:9px;color:var(--ui-secondary);font-weight:550}
.planner-sheet .review-note{font-size:9px;line-height:1.3;color:var(--ui-muted);margin-top:2px;max-height:34px;overflow:hidden;overflow-wrap:anywhere}
.planner-sheet .tz-progress{height:3px;overflow:hidden;margin:3px 0;background:var(--ui-group);border-radius:3px}
.planner-sheet .tz-progress-done{background:var(--ui-accent)}
.planner-sheet .tz-progress-work{background:#d5a348}
.planner-sheet .tz-progress-caption{font-size:8.5px;line-height:1.2;color:var(--ui-muted)}
.planner-sheet .correction-badge{background:var(--ui-warn-bg);color:var(--ui-warn);border:0;border-radius:4px;padding:2px 3px;font-size:9px;max-width:100%}
.planner-sheet .spec-ribbon{position:absolute;right:4px;top:4px;z-index:3;background:#26333d;color:#fff;font-size:8px;border-radius:3px;padding:2px 4px;letter-spacing:0}
.planner-sheet .manager-object-content{display:flex;align-items:baseline;gap:2px;flex-wrap:wrap;min-width:0;font-size:10px;line-height:1.25}
.planner-sheet .manager-surname{font-size:10px;font-weight:720;color:var(--ui-ink);white-space:nowrap}
.planner-sheet .object-label{font-size:9.5px;color:var(--ui-secondary);line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.planner-sheet .manager-slash{color:var(--ui-muted)}
.planner-sheet .placed-date{font-size:9px;color:var(--ui-secondary)}
.planner-sheet .project-theory{font-size:9px;color:var(--ui-muted);margin-top:5px}
.planner-sheet .sector-dot{width:7px;height:7px;min-width:7px;border-radius:50%}
/* Equipment cells: color belongs to status only */
.planner-sheet .cell{min-width:0;width:100%;min-height:55px;border:0;border-radius:0;background:transparent;color:var(--ui-ink);padding:5px 4px;display:flex;gap:3px;position:relative;text-align:left;line-height:1.2}
.planner-sheet .cell.todo{background:transparent}
.planner-sheet .cell.progress{background:var(--ui-warn-bg);color:var(--ui-warn)}
.planner-sheet .cell.paused{background:var(--ui-pause-bg);color:var(--ui-pause)}
.planner-sheet .cell.done{background:var(--ui-success-bg);color:var(--ui-success)}
.planner-sheet .cell-error{background:var(--ui-error-bg);color:var(--ui-error);border-color:transparent}
.planner-sheet .cell-fix-submitted{background:linear-gradient(90deg,var(--ui-success-bg) 50%,var(--ui-warn-bg) 50%)}
.planner-sheet .cell .celltop{font-size:10px;line-height:1.12;font-weight:780}
.planner-sheet .cell .cellstat{font-size:9px;line-height:1.25;color:inherit;opacity:.82;overflow-wrap:anywhere}
.planner-sheet .cell .estimate,.planner-sheet .cell .time-label,.planner-sheet .cell .part-inline-desc{font-size:8.5px;line-height:1.2;color:inherit;opacity:.76}
.planner-sheet .time-live{font-size:9px;color:inherit;font-weight:750}
.planner-sheet .celltools{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:auto;flex-wrap:wrap}
.planner-sheet .celltools .quick{border:1px solid var(--ui-strong);background:var(--ui-surface);color:var(--ui-secondary);border-radius:5px;padding:3px;min-width:21px;width:21px;height:21px;display:grid;place-items:center;box-shadow:none}
.planner-sheet .celltools .quick:hover{background:var(--ui-group);border-color:var(--ui-secondary);transform:none}
.planner-sheet .celltools .quick svg{height:13px;width:13px;stroke-width:1.7}
.planner-sheet .celltools .quick.run{color:var(--ui-accent);border-color:var(--ui-strong)}
.planner-sheet .celltools .quick.hold{color:var(--ui-warn)}
.planner-sheet .celltools .quick.finish{color:var(--ui-success)}
.planner-sheet .celltools .quick.gear{margin-left:2px;width:22px;height:22px;min-width:22px;padding:0;display:grid;place-items:center;background:var(--ui-surface);border-color:var(--ui-strong);color:var(--ui-secondary)}
.planner-sheet .celltools .quick.gear svg{width:15px;height:15px}
.planner-sheet .add-cat{font-size:9px;border:1px dashed var(--ui-strong);background:transparent;color:var(--ui-muted);border-radius:5px;padding:6px 2px;width:100%}
.planner-sheet .add-cat:hover{background:var(--ui-group);color:var(--ui-secondary)}
.planner-sheet .dash{font-size:12px;color:var(--ui-muted);text-align:center;padding:8px 0}
.planner-sheet .comment-toggle{display:block;width:100%;font-size:9px;text-align:left;font-weight:650;font-style:normal;line-height:1.2;background:var(--ui-group);color:var(--ui-secondary);border:0;border-radius:4px;padding:3px 5px;margin-top:3px;cursor:pointer}
.planner-sheet .comment-toggle.has-comments{background:var(--ui-warn-bg);color:var(--ui-warn)}
.planner-sheet .comment-toggle:hover{filter:brightness(.96)}
.inline-comments{padding:8px 9px;margin-top:5px;border:1px solid var(--ui-stroke);background:var(--ui-surface);color:var(--ui-ink);border-radius:6px}
.inline-comments-list{display:grid;gap:8px;max-height:230px;overflow:auto}
.inline-comment-item{border-bottom:1px solid var(--ui-stroke);padding-bottom:7px}
.inline-comment-head{display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between;align-items:baseline}
.inline-comment-head b{white-space:nowrap;font-size:10px;color:var(--ui-ink);max-width:none}
.inline-comment-head span{white-space:nowrap;color:var(--ui-muted);font-size:9px}
.inline-comment-note{font-size:10px;color:var(--ui-secondary);line-height:1.35;overflow-wrap:anywhere}
.inline-comment-input{background:var(--ui-surface);border:1px solid var(--ui-strong);border-radius:6px;font-size:10px;min-height:56px;width:100%;padding:6px}
.inline-comment-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px;justify-content:flex-end}
.inline-comment-actions .btn{font-size:9px;padding:4px 6px;min-height:25px}
.planner-sheet .auto-spec-badge{background:#26333d;color:#fff;border-radius:3px;font-size:8px;padding:2px 4px}
.planner-sheet .cell:has(.auto-spec-badge) .celltop{padding-right:28px}
.planner-sheet tr.dragging td{background:var(--ui-accent-bg);opacity:.65}
.planner-sheet tr.drop-before td{border-top:2px solid var(--ui-accent)}
.planner-sheet tr.drop-after td{border-bottom:2px solid var(--ui-accent)}
.tz-drag-ghost{border:1px solid var(--ui-strong);border-radius:7px;box-shadow:var(--ui-shadow);background:var(--ui-surface);color:var(--ui-ink);font-size:11px;padding:9px 11px}
/* Compact information hierarchy: detailed text remains in tooltips and cards. */
.planner-sheet .cell .cellstat{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:25px;overflow:hidden;word-break:normal}
.planner-sheet .correction-assignees{display:block;max-height:25px;overflow:hidden;border:0;border-left:2px solid var(--ui-warn);background:transparent;padding:1px 4px;margin:0;font-size:9px;line-height:1.2;color:var(--ui-secondary)}
.planner-sheet .correction-assignees span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planner-sheet .correction-assignees b{font-size:9px;color:var(--ui-secondary);font-weight:720}
.planner-sheet .cell .auto-warning{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.2;font-size:9px}
.planner-sheet .cell .celltools{min-height:20px;max-width:100%}
.planner-sheet .cell .comment-toggle{font-size:8.5px;padding:3px 4px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planner-sheet .cell .estimate,.planner-sheet .cell .time-label{display:inline;white-space:nowrap;font-size:8.3px}
.planner-sheet .cell .part-inline-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.planner-sheet .cell .rework-row{min-height:0;line-height:1.2;font-size:9px}
.planner-sheet .cell .rework-row small{font-size:8.5px}
.planner-sheet .cell .preassign-name{font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.planner-sheet .cell .quick.preassign-control{width:21px;height:21px;min-width:21px}
.planner-sheet .cell .quick.preassign-control svg{width:12px;height:12px}
.planner-sheet .cell:not(:has(.inline-comments)){min-height:55px}
.planner-sheet .cell :is(.lunch-marker,.break-marker){font-size:9px;line-height:1.2}

/* Tools occupy a single compact slot, never a second 25px row. */
.planner-sheet .cell{gap:2px;padding:4px 3px 22px;min-height:77px}
.planner-sheet .cell .cellstat{max-height:14px;-webkit-line-clamp:1;font-size:9px}
.planner-sheet .celltools{position:absolute;right:3px;bottom:3px;margin:0;display:flex;flex-wrap:nowrap;max-width:100%;min-height:0;gap:2px}
.planner-sheet .celltools .quick{width:18px;min-width:18px;height:18px;border-radius:4px;padding:2px}
.planner-sheet .celltools .quick svg{width:12px;height:12px}
.planner-sheet .celltools .quick.gear{width:19px;min-width:19px;height:19px;margin-left:0}
.planner-sheet .celltools .quick.gear svg{width:13px;height:13px}
.planner-sheet .celltools .quick.preassign-control{position:static;width:18px;min-width:18px;height:18px;padding:2px}
.planner-sheet .cell .comment-toggle{position:relative;width:100%;text-align:left;font-size:8.5px;padding:3px 3px;margin-top:auto;max-width:100%;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.planner-sheet .cell:has(.inline-comments){padding-bottom:22px;min-height:77px}
.planner-sheet .inline-comments{position:relative;z-index:3;overflow:visible}
.planner-sheet .cell .celltop{padding-right:0;font-size:10px}
.planner-sheet .cell .estimate,.planner-sheet .cell .time-label{font-size:8px;line-height:1.1}
.planner-sheet .cell .correction-assignees{max-height:13px}
.planner-sheet .cell .correction-assignees b{font-size:8.7px}
.planner-sheet .cell .auto-warning{font-size:8px;-webkit-line-clamp:1}

/* Dialogs and all other work areas */
.modal-wrap{position:fixed;inset:0;z-index:1000;background:rgba(24,37,48,.38);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:20px}
.modal-card{width:min(790px,calc(100vw - 36px));height:auto;max-height:calc(100vh - 36px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--ui-stroke);border-radius:13px;background:var(--ui-glass);color:var(--ui-ink);padding:20px;box-shadow:var(--ui-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.modal-top{position:sticky;top:-20px;background:var(--ui-glass);color:var(--ui-ink);padding:4px 0 10px;margin-bottom:11px;border-bottom:1px solid var(--ui-stroke);z-index:2;backdrop-filter:blur(20px)}
.modal-top .modal-close{border-radius:7px}
.modal-section,.allocation,.setting,.object-entry,.mine-control-item,.object-entry-body,.category-stat,.transfer-split-qty,.modal-card .notice{border:1px solid var(--ui-stroke);background:var(--ui-surface);color:var(--ui-ink);border-radius:8px;box-shadow:none}
.modal-section{padding:13px 14px;margin:10px 0}
.modal-section h3{font-size:11.5px;font-weight:740;color:var(--ui-ink);margin:0 0 10px}
.modal-section .control{background:var(--ui-soft);border-color:var(--ui-strong);border-radius:7px}
.modal-card .notice{border-radius:7px;background:var(--ui-group);padding:11px}
.modal-card .notice.warn,.reset-warning,.control-error-line,.qty-alert{background:var(--ui-warn-bg);color:var(--ui-warn);border-color:var(--ui-stroke);border-radius:7px}
.allocation{margin:5px 0;padding:9px}
.modal-card .compact,.history-entry small,.modal-card small{color:var(--ui-muted)}
.modal-card .history-entry{border-bottom:1px solid var(--ui-stroke)}
.modal-card a,.linklike{color:var(--ui-accent)}
.panel,.setting,.object-entry,.mine-control-item,.object-entry-body,.category-stat,.timesheet-scroll,.subtabs,.subtabs button,.role-task-row,.notice,.control-client-row,.control-client-list,.staff-error-row,.staff-errors-detail,.analysis-card,.history-entry,.filters,.project-card{color:var(--ui-ink)}
.setting,.object-entry,.mine-control-item,.object-entry-body,.category-stat,.control-client-row,.history-entry{background:var(--ui-surface);border-color:var(--ui-stroke)}
.subtabs,.toolbar,.mine-section,.mine-done,.history-entry{border-color:var(--ui-stroke)}
.control-status{background:var(--ui-group);color:var(--ui-secondary);border-radius:5px}
.control-status.ok{background:var(--ui-success-bg);color:var(--ui-success)}
.control-status.alert{background:var(--ui-warn-bg);color:var(--ui-warn)}
.control-error-line{border-color:var(--ui-stroke)}
.timesheet-scroll{background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:8px}
.timesheet th,.timesheet td{border-color:var(--ui-stroke)}
.timesheet thead th{background:var(--ui-table-head);color:var(--ui-secondary)}
.timesheet .timesheet-name{background:var(--ui-surface);color:var(--ui-ink)}
.timesheet th.ts-active-day,.timesheet td.ts-active-day{background:var(--ui-accent-bg);border-left-color:var(--ui-accent);border-right-color:var(--ui-accent)}
.object-entry>summary,.object-entry>summary span,.object-entry-body,.object-info{color:var(--ui-secondary)}
.object-entry>summary strong{color:var(--ui-ink)}
.object-entry-body{background:var(--ui-soft)}
.category-stat span{color:var(--ui-accent)}
/* Login is intentionally included in same design system */
.login-body{background:var(--ui-canvas);color:var(--ui-ink);font-size:14px}
.auth-panel{background:var(--ui-surface);border:1px solid var(--ui-stroke);border-radius:13px;box-shadow:var(--ui-shadow)}
.auth-brand,.auth-panel h1{color:var(--ui-ink)}
.auth-brand-icon{background:var(--ui-accent);border-radius:9px}
.auth-panel p,.auth-panel .auth-foot{color:var(--ui-secondary)}
.auth-panel .control{background:var(--ui-soft)}
.auth-panel .auth-error{background:var(--ui-error-bg);color:var(--ui-error);border-radius:7px}

/* Specificity normalization for legacy markup, including old TZ badges. */
.planner-sheet thead th.cproj,.planner-sheet thead th.csource,.planner-sheet thead th.cdate,.planner-sheet thead th.ccat,.planner-sheet thead th.ccontrol,.planner-sheet thead th.ckp{background:var(--ui-table-head);color:var(--ui-secondary)}
.planner-sheet .priority.tz-number,.planner-sheet .tz-code-drag .tz-number{display:block;flex:1;min-width:0;max-width:100%;width:100%;background:transparent;border:0;border-radius:0;box-shadow:none;padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--ui-ink);text-align:left;font-weight:780}
.metric-good .metric-name,.metric-alert .metric-name{color:var(--ui-secondary)}
.metric-good .metric-val{color:var(--ui-success)}
.metric-alert .metric-val{color:var(--ui-error)}
.topright .refresh-top,.topright .recalc-top,.topright .btn{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-stroke)}
.topright .refresh-top:hover,.topright .recalc-top:hover{background:var(--ui-group);color:var(--ui-ink)}
html[data-yalka-theme="dark"] .planner-sheet :is(.tz-number,.priority.tz-number){color:var(--ui-ink)}
html[data-yalka-theme="dark"] .planner-sheet th{color:var(--ui-secondary)}
html[data-yalka-theme="dark"] .planner-sheet .cell .cellstat{color:inherit}

/* Narrow screens: priority is read/write functionality, not compact desktop grid */
@media(max-width:1280px){
 .content{padding:12px 11px 26px}
 .app{grid-template-columns:172px minmax(0,1fr)}
 .planner-sheet .projectlabel{grid-template-columns:94px minmax(0,1fr);gap:4px}
 .planner-sheet .tz-code-drag{width:94px;min-width:94px;max-width:94px}
 .planner-sheet .tz-number{font-size:10px}
 .planner-sheet .cproj{width:20%}
 .planner-sheet .celltools{gap:2px}
}
@media(max-width:1030px){
 .app{grid-template-columns:166px minmax(0,1fr)}
 .metrics.metrics-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
 .planner-sheet,.planner-sheet tbody.stagebox,.planner-sheet tr,.planner-sheet tr[data-row-pid]{display:table-row}
 .planner-sheet tbody.stagebox{display:table-row-group}
 .planner-sheet thead{display:table-header-group}
 .sheet-grid{overflow-x:auto}
 .planner-sheet{min-width:1150px;table-layout:fixed}
 .sheet-stage-row>td{position:relative}
 .toolbar .search{min-width:170px}
}
@media(max-width:750px){
 .app{display:block}
 .sidebar{position:relative;top:auto;height:auto;min-height:0;padding:10px 10px 8px}
 .logo{padding:5px 5px 10px}
 .logosub{display:none}
 .nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}
 .nav button{width:auto;flex:none;min-height:31px;padding:7px 10px;white-space:nowrap}
 .workday-side{padding:10px 5px 0;gap:5px}
 .workday-side .btn{max-width:240px}
 .workday-time{font-size:18px}
 .sidebar-bitrix-link{margin-top:5px}
 .sidebar-theme-wrap{margin-top:5px}
 .sidebar-footer{padding-top:3px}
 .topbar{padding:8px 10px;min-height:44px;gap:6px;flex-wrap:wrap}
 .topright{gap:5px;width:100%}
 .topright .select-user{max-width:140px}
 .content{padding:12px 9px 26px}
 .metrics.metrics-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metric,.metrics-wide .metric{min-height:65px;padding:9px}
 .metric-val,.metrics-wide .metric-val{font-size:19px}
 .equipment-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .sheet-grid{overflow-x:auto}
 .planner-sheet{min-width:1090px;table-layout:fixed}
 .planner-sheet .projectlabel{grid-template-columns:100px minmax(0,1fr)}
 .planner-sheet .tz-code-drag{width:100px;min-width:100px;max-width:100px}
 .pagehead-no-title{justify-content:flex-start}
 .headright{width:100%;justify-content:flex-start}
 .modal-wrap{padding:8px}
 .modal-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:14px}
 .modal-top{top:-14px}
}

/* Small-view table rescue: do not inherit the obsolete v0.5 card layout.
   Desktop remains a single spreadsheet, on phones that spreadsheet scrolls
   within its own surface rather than breaking stage names into vertical text. */
@media(max-width:1030px){
 .sheet-grid{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .planner-sheet{display:table;width:1150px;min-width:1150px;table-layout:fixed;border-collapse:collapse}
 .planner-sheet thead{display:table-header-group}
 .planner-sheet tbody.stagebox{display:table-row-group;background:transparent;border:0;padding:0;margin:0;gap:0}
 .planner-sheet tr,.planner-sheet tbody.stagebox tr,.planner-sheet tr[data-row-pid]{display:table-row;border:0;overflow:visible;padding:0;background:transparent}
 .planner-sheet th,.planner-sheet td,.planner-sheet tbody.stagebox tr[data-row-pid]>td,.planner-sheet tbody.stagebox tr.sheet-stage-row>td{display:table-cell;min-width:0;max-width:none;box-sizing:border-box;vertical-align:top;height:auto;word-break:normal;overflow-wrap:normal}
 .planner-sheet td::before,.planner-sheet tbody.stagebox tr[data-row-pid]>td::before{content:none;display:none}
 .planner-sheet .cproj{width:20%;max-width:20%}
 .planner-sheet .csource{width:12%;max-width:12%}
 .planner-sheet .cdate{width:7%;max-width:7%}
 .planner-sheet .ccat{width:6.62%}
 .planner-sheet .ccontrol{width:7.5%}
 .planner-sheet .ckp{width:7.16%}
 .planner-sheet .sheet-stage-row>td{width:auto;white-space:normal}
 .planner-sheet .sheet-stage-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .planner-sheet .sheet-stage-title{white-space:nowrap}
 .planner-sheet .tz-code-drag{width:100px;min-width:100px;max-width:100px}
 .planner-sheet .projectlabel{grid-template-columns:100px minmax(0,1fr)}
}


/* YALKA 1.6.1 FINAL – polish pass */
:root{
  --blue:#0b5fae;
  --soft-blue:#eaf3fd;
  --ui-accent:#0b5fae;
  --ui-accent-hover:#094f92;
  --ui-accent-bg:#eaf3fd;
  --ui-ring:rgba(11,95,174,.22);
  --ui-sidebar:#f3f6f9;
  --ui-group:#eef3f7;
  --ui-table-head:#f7f9fb;
  --ui-canvas:#f8fafc;
  --ui-surface:#ffffff;
  --ui-soft:#fbfdff;
  --ui-stroke:#e1e8ef;
  --ui-strong:#ced9e4;
}
html[data-yalka-theme="dark"]{color-scheme:light}
.sidebar-theme-wrap,.sidebar-theme-button{display:none!important}
.logoname::before{background:var(--ui-accent);box-shadow:0 6px 16px rgba(11,95,174,.18)}
.nav button.sel{background:#fff;color:var(--ui-accent);box-shadow:0 8px 18px rgba(11,95,174,.08)}
.nav button .number,.metric-note .number{background:var(--ui-accent-bg);color:var(--ui-accent)}
.sidebar-bitrix-link a:hover,.linklike,.planner-sheet .tz-number:hover{color:var(--ui-accent)}
.btn.primary{background:var(--ui-accent);border-color:var(--ui-accent)}
.btn.primary:hover:not(:disabled){background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}
.topright .refresh-top{background:var(--ui-accent-bg);border-color:#c5d9ef;color:var(--ui-accent)}

/* Planner cell equalization and control spacing */
.planner-sheet tbody tr[data-row-pid] > td{vertical-align:stretch}
.planner-sheet tbody tr[data-row-pid] > td > .cell,
.planner-sheet tbody tr[data-row-pid] > td > .dash,
.planner-sheet tbody tr[data-row-pid] > td > .disabled-category{height:100%}
.planner-sheet .cell{display:flex;flex-direction:column;align-items:stretch;min-height:100%;height:100%;gap:4px;padding:6px 7px 7px}
.planner-sheet .cell .celltop{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.planner-sheet .cell .cellstat,.planner-sheet .cell .estimate,.planner-sheet .cell .time-label,.planner-sheet .cell .auto-warning,.planner-sheet .cell .part-inline-desc{max-width:100%}
.planner-sheet .celltools{position:static!important;display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:6px;min-height:24px;max-width:100%}
.planner-sheet .celltools .quick{width:22px;min-width:22px;height:22px;border-radius:6px;padding:0;display:grid;place-items:center}
.planner-sheet .celltools .quick svg{width:13px;height:13px}
.planner-sheet .celltools .quick.gear{width:22px;min-width:22px;height:22px;border-radius:6px;background:#f7fafc;border-color:#cfdbe7;color:#6a7c88}
.planner-sheet .celltools .quick.gear svg{width:14px;height:14px;stroke-width:1.9}
.planner-sheet .comment-toggle{order:99;display:block;width:100%;margin-top:auto!important;padding:5px 6px;border-radius:5px;font-size:9px;line-height:1.2;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.planner-sheet .comment-toggle.has-comments{background:#fff3bd;color:#7a6213;border:1px solid #ecd98e}
.planner-sheet .comment-toggle.is-empty{background:#f2f5f7;color:#738592;border:1px solid #dfe6ec}
.planner-sheet .inline-comments{position:absolute;left:0;right:auto;top:calc(100% + 4px);width:300px;max-width:min(360px,calc(100vw - 32px));border-radius:10px;padding:10px;background:#fff;box-shadow:0 20px 40px rgba(23,49,74,.14)}
.planner-sheet .inline-comment-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:3px}
.planner-sheet .inline-comment-head b{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
.planner-sheet .inline-comment-head span{flex:none;color:#8a98a4;font-size:9px}
.planner-sheet .inline-comment-note{font-size:10px;line-height:1.35;word-break:break-word;color:#30424d}
.planner-sheet .inline-comment-item{padding:6px 0;border-bottom:1px solid #edf2f5}
.planner-sheet .inline-comment-item:last-child{border-bottom:0}
.planner-sheet .inline-comment-input{border-radius:9px;min-height:72px}
.planner-sheet .inline-comment-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:8px}

/* Modal polish */
.modal-wrap{justify-content:center!important;align-items:center!important;padding:22px!important;background:rgba(26,42,56,.24)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important}
.modal-card{width:min(820px,calc(100vw - 40px));max-height:calc(100vh - 40px);border-radius:20px!important;background:rgba(255,255,255,.93)!important;border:1px solid rgba(214,225,236,.95)!important;box-shadow:0 28px 70px rgba(26,46,66,.16)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;padding:22px 22px 20px!important}
.modal-top{position:sticky;top:-22px;background:rgba(255,255,255,.90)!important;padding:12px 4px 14px!important;margin:0 0 14px!important;border-bottom:1px solid #e3eaf0!important;border-radius:14px 14px 0 0}
.modal-top > div{background:#fff;border:1px solid #e4ebf0;border-radius:14px;padding:12px 14px;flex:1}
.modal-title{margin:2px 0 4px}
.modal-sub{font-size:11px}
.modal-section,.allocation,.setting,.object-entry,.mine-control-item,.object-entry-body,.category-stat,.transfer-split-qty,.modal-card .notice{border-radius:14px!important}
.modal-card .control,.modal-card .field,.modal-card input,.modal-card select,.modal-card textarea{border-radius:12px!important;background:#fff}
.modal-card .btn.iconbtn{align-self:flex-start;border-radius:12px!important;background:rgba(255,255,255,.96)}

/* Remove dark-theme UI traces on mobile spacing */
.sidebar-footer{margin-top:8px}

@media (max-width: 860px){
  .planner-sheet .inline-comments{width:min(320px,calc(100vw - 24px))}
}


/* Yalka 1.6.2 refinements */
.sidebar{gap:12px}
.workday-side{display:grid;gap:10px;padding:14px;border:1px solid #d7e0e6;border-radius:18px;background:linear-gradient(180deg,#f8fbfd 0%,#f1f5f8 100%);box-shadow:0 8px 20px rgba(65,89,106,.06)}
.workday-side-title{font-size:14px;font-weight:800;color:#26475a;line-height:1.35}
.workday-time{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 10px;border-radius:14px;background:#fff;border:1px solid #dbe4ea;font-size:18px;color:#1f3d4f}
.workday-time b{font-size:20px;letter-spacing:-.02em}
.sidebar .workday-side .workday-start-btn,.sidebar .workday-side .lunch-plan-btn,.sidebar .workday-side .break-plan-btn,.early-finish-btn,.overtime-btn{min-height:52px!important;border-radius:14px!important;font-size:13px!important;padding:12px 14px!important;font-weight:760!important;box-shadow:0 1px 0 rgba(255,255,255,.55) inset}
.sidebar .workday-side .workday-start-btn{background:linear-gradient(180deg,#6f8f89 0%,#5f8379 100%)!important;border-color:#5e8378!important;color:#fff!important;justify-content:center!important}
.sidebar .workday-side .workday-start-btn:hover:not(:disabled){background:linear-gradient(180deg,#698b84 0%,#55786d 100%)!important}
.sidebar .workday-side .lunch-plan-btn,.sidebar .workday-side .break-plan-btn,.early-finish-btn,.overtime-btn{background:#fff!important;border-color:#d8e1e7!important;color:#365264!important}
.sidebar .workday-side .lunch-plan-btn:hover:not(:disabled),.sidebar .workday-side .break-plan-btn:hover:not(:disabled),.early-finish-btn:hover:not(:disabled),.overtime-btn:hover:not(:disabled){background:#f6fafc!important;border-color:#c4d2db!important}
.sidebar-footer{margin-top:auto;padding:12px 8px 4px;color:#8b99a3;font-size:12px;display:flex;align-items:flex-end;justify-content:center;min-height:48px}
.sidebar-footer span{margin-top:auto}
.planner-metrics .metric:nth-child(-n+5){min-height:106px}
.modal-top{overflow:visible!important}
.modal-top>div{border-radius:16px!important;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.65) inset}
.modal-card{overflow:auto}
.modal-inline-setting{margin:10px 0 12px;padding:12px 14px;border-radius:12px!important;background:#f7fafc!important}
.ts-birthday-cell{background:linear-gradient(180deg,rgba(252,243,214,.9) 0%,rgba(255,250,235,.82) 100%)!important}
.ts-mark.birthday-mark{border-color:#ebd39b!important;box-shadow:inset 0 0 0 1px rgba(239,200,122,.25)}
.timesheet-name .birthday-pill{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:#fff4cf;color:#8d6a10;font-size:9px;font-weight:800;vertical-align:middle}
.ts-name-birthday{background:#fffaf0}
.account-password{display:inline-block;padding:3px 7px;border-radius:8px;background:#f4f7fa;border:1px solid #dbe4ea;font-size:11px;color:#395262}
.kp-role-table td:last-child{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
@media(max-width:750px){.sidebar-footer{justify-content:flex-start;padding-left:14px}.workday-time{font-size:16px}.sidebar .workday-side .workday-start-btn,.sidebar .workday-side .lunch-plan-btn,.sidebar .workday-side .break-plan-btn,.early-finish-btn,.overtime-btn{min-height:48px!important;font-size:12px!important}}

/* YALKA 1.6.3 — coherent production refinements */
.sidebar{gap:0}
.sidebar .refined-workday{margin:18px 3px 8px!important;padding:13px!important;border:1px solid #dde5ed!important;background:#f8fafc!important;border-radius:13px!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;gap:9px!important}
.refined-workday .workday-side-title{font-size:11px!important;font-weight:780!important;color:#273e50!important;display:flex;justify-content:space-between;gap:6px;align-items:center;line-height:1.35}
.refined-workday .workday-side-title span{font-size:10px;color:#7c8c99;font-weight:600;white-space:nowrap}
.refined-workday .workday-time{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;display:flex;align-items:center;justify-content:flex-start;gap:7px;font-size:17px!important;color:#2c485d!important;min-height:30px}
.refined-workday .workday-time strong{font-weight:790;letter-spacing:-.035em}
.refined-workday .workday-time span{font-size:14px;color:#a6b4bf}
.refined-workday .workday-mini-status{font-size:10px;color:#7a8d9b;line-height:1.3;margin-top:-2px}
.sidebar .refined-workday .workday-start-btn{min-height:34px!important;height:auto!important;max-width:none!important;width:100%!important;border-radius:8px!important;padding:8px 9px!important;font-size:11px!important;font-weight:750!important;line-height:1.25;white-space:normal;display:flex;align-items:center;justify-content:center;gap:8px;background:#557c72!important;border:1px solid #557c72!important;color:#fff!important;box-shadow:none!important}
.sidebar .refined-workday .workday-start-btn:hover:not(:disabled){background:#456a60!important}
.sidebar .refined-workday .workday-started{border:1px solid #d8e6df;background:#f0f8f3;border-radius:8px;font-size:10px;padding:7px 8px;color:#446a57}
.sidebar .refined-workday .early-finish-btn{height:28px!important;min-height:28px!important;background:#fff!important;color:#53697a!important;border:1px solid #d9e3eb!important;border-radius:7px!important;padding:5px 8px!important;font-size:9.5px!important;font-weight:650!important;box-shadow:none!important}
.refined-workday .workday-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.refined-workday .side-action{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-height:34px;padding:8px 6px;border:1px solid #dfe6ed;border-radius:8px;background:#fff;color:#415e76;font-size:10px;font-weight:720;white-space:nowrap;line-height:1.2}
.refined-workday .side-action svg{width:13px;height:13px;flex:none;stroke:#6b889c}
.refined-workday .side-action:hover:not(:disabled){background:#eff6fb;border-color:#bfd3e4;color:#225d91}
.refined-workday .side-action:disabled{opacity:.43}
.refined-workday .workday-footnote{margin:0;color:#96a5b0;font-size:9px;line-height:1.4}
.refined-workday .break-active,.refined-workday .workday-lunch,.refined-workday .overtime-inprogress{font-size:10px;line-height:1.35;margin:0;padding:8px;border-radius:8px}
.refined-workday .lunch-now{font-size:10px;padding:5px 7px;border-radius:7px}
.sidebar .sidebar-undo{margin:0 4px 7px;padding:8px 10px;min-height:32px;display:flex;align-items:center;gap:8px;color:#718797;border:1px solid transparent;background:transparent;border-radius:8px;font-size:10px;font-weight:650;text-align:left;line-height:1.3}
.sidebar .sidebar-undo:hover{background:#edf3f9;border-color:#d5e3f0;color:#255a83}
.sidebar .sidebar-undo svg{width:14px;height:14px}
.sidebar .sidebar-footer{margin-top:auto!important;min-height:28px!important;font-size:10px!important;color:#a4aeb7!important;padding:8px 0 0!important;display:flex!important;align-items:end!important;justify-content:center!important}
/* Whole-row focus in live work, without destroying category colors */
.planner-sheet tr.tz-row-active>td{box-shadow:inset 0 2px 0 #a4c8b4,inset 0 -2px 0 #a4c8b4;background:#f0f7f1!important}
.planner-sheet tr.tz-row-active>td .cell{box-shadow:0 0 0 1px rgba(117,166,142,.10)}
.planner-sheet tr.tz-row-active>td:first-child{box-shadow:inset 3px 0 0 #78ad90,inset 0 2px 0 #a4c8b4,inset 0 -2px 0 #a4c8b4}
.tz-watch{border:0;background:transparent;color:#b9c7d1;font-size:16px;font-weight:800;display:grid;place-items:center;min-width:18px;width:18px;height:21px;padding:0;cursor:pointer;flex:none;line-height:1}
.tz-watch:hover,.tz-watch.active{color:#c79b39}
.projectlabel{gap:5px!important}
.watch-block{margin:0 0 18px;border:1px solid #e1e8ef;border-radius:12px;background:#fff;padding:12px;overflow:hidden}
.watch-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#2c4860;font-size:14px;font-weight:780;padding:2px 3px 12px}
.watch-head small{font-size:10px;font-weight:550;color:#8c9da8}
.watch-list{display:grid;gap:9px}
.watch-project{border:1px solid #e4eaf0;border-radius:10px;overflow:hidden}
.watch-meta{display:flex;gap:10px;align-items:center;background:#f7fafc;border-bottom:1px solid #e4eaf0;padding:7px 10px;font-size:11px}
.watch-meta span{flex:1;color:#728999;font-size:10px}
.watch-project .stagebox{border:0;border-radius:0}
.watch-project .stagehead{display:none}
.kp-multi-cell{padding:5px!important;gap:5px!important;min-height:80px}
.kp-multi-cell .kp-count{font-size:9px;font-weight:780;color:#5e7789}
.kp-offer{background:#f1f5f8;border:1px solid #dfe7ec;border-radius:7px;padding:5px 6px;display:grid;gap:4px;min-width:0}
.kp-offer.working{background:#fff4d8;border-color:#ecd69d}
.kp-offer.paused{background:#ffeddb;border-color:#ebcb9c}
.kp-offer.done{background:#e4f2e8;border-color:#bcd9c7}
.kp-offer .kp-offer-top b{display:block;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-offer small{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-offer .kp-offer-note{font-size:9px;line-height:1.3;color:#71808c;overflow-wrap:anywhere}
.kp-offer .celltools{margin:0!important;padding:0!important;min-height:20px!important}
.kp-offer .celltools:empty{display:none}
.kp-add{width:100%;font-size:9px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px dashed #bdd1e2;background:#f5faff;color:#376f96;border-radius:6px;padding:5px}
.kp-add svg{width:11px;height:11px}
.kp-add:hover{background:#e8f3fb}
.kp-archive-timer{font-size:9px;color:#8194a2}
.kp-modal-offers{display:grid;gap:7px;margin:10px 0}
.kp-modal-offer{padding:10px;border:1px solid #dde7ee;border-radius:9px;display:grid;gap:4px;background:#fff}
.kp-modal-offer span,.kp-modal-offer small{font-size:11px;color:#738798}
.workday-gate{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 20%,#f2f8fc,#f8fafc 65%);position:relative;padding:20px}
.gate-box{background:#fff;width:min(440px,100%);padding:34px;border:1px solid #dfe9f1;border-radius:18px;box-shadow:0 20px 70px rgba(64,98,121,.08);display:flex;flex-direction:column;align-items:stretch;gap:15px}
.gate-box h1{font-size:23px;color:#243e55;margin:0;letter-spacing:-.5px}
.gate-box p{font-size:12px;color:#788b9c;line-height:1.55;margin:0}
.gate-kicker{font-weight:780;letter-spacing:1.6px;color:#6d95b6;font-size:10px}
.gate-date{font-size:11px;color:#647f93;padding:10px;border-radius:9px;background:#f7fafc}
.gate-start{min-height:44px;background:#557c72!important;border-color:#557c72!important}
.gate-logout{background:transparent!important;border-color:transparent!important;color:#91a0ab!important}
.gate-copyright{position:absolute;bottom:23px;color:#a3b1bb;font-size:11px}
@media(max-width:780px){.refined-workday{margin:8px 0!important}.watch-head{flex-direction:column;align-items:flex-start}.workday-gate{padding:12px}.gate-box{padding:24px}}
.watch-cat-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
.watch-cat{display:flex;flex-direction:column;gap:3px;padding:9px 8px;border-right:1px solid #ebeff3;min-width:0}
.watch-cat:last-child{border-right:0}
.watch-cat b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#62798a}
.watch-cat span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#81929e}
.watch-cat.done{background:#eff8f1}.watch-cat.working{background:#fff7e5}.watch-cat.paused{background:#fff1e8}
@media(max-width:980px){.watch-cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.watch-cat:nth-child(4){border-right:0}}
@media(max-width:650px){.watch-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-cat:nth-child(2n){border-right:0}}
.leave-planned-list{display:grid;gap:6px;padding-top:14px;margin-top:14px;border-top:1px solid #e3eaf0}
.leave-planned-list>b{font-size:11px;color:#667b8c}
.leave-planned-list>div{display:flex;justify-content:space-between;align-items:center;padding:6px 7px;border-radius:7px;background:#f8fbfd;font-size:11px;color:#526e82}


/* Yalka 1.6.3.1 hotfix: preserve the left edge of the TZ, compact buttons,
   readable overlays. No changes to equipment/status colors. */
.planner-sheet tbody.stagebox tr[data-row-pid] > td.cproj {
  padding-left: 10px !important;
  position: relative;
}
.planner-sheet .projectlabel {
  display: grid !important;
  grid-template-columns: minmax(0, 104px) minmax(0, 1fr) !important;
  gap: 5px !important;
  align-items: start;
  min-width: 0;
}
.planner-sheet .tz-code-drag {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 104px !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 23px;
  gap: 0 !important;
  align-items: flex-start;
}
.planner-sheet .tz-code-drag .tz-number {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  font-weight: 820;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.planner-sheet .tz-drag-mark {display:none !important}
.planner-sheet td.cproj > .projectlabel > .tz-watch {
  position:absolute !important;
  top: 3px;
  right: 6px;
  margin: 0;
  padding: 0;
  width: 19px;
  height: 19px;
  min-width: 19px;
  border-radius: 5px;
  z-index: 4;
  background: rgba(255,255,255,.86);
  border: 1px solid transparent;
  line-height: 1;
}
.planner-sheet td.cproj.has-spec > .projectlabel > .tz-watch {top: 26px}
.planner-sheet td.cproj > .projectlabel > .tz-watch:hover {border-color:#e1d2a6;background:#fffaf0}
.planner-sheet .project-main {padding-right: 7px}

/* Keep the workday block inside the sidebar at every width. */
.sidebar .refined-workday {
  min-width: 0 !important;
  padding: 10px !important;
  gap: 7px !important;
  border-radius: 12px !important;
}
.refined-workday .workday-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 6px !important;
  width: 100%;
  min-width: 0;
}
.refined-workday .side-action {
  box-sizing:border-box !important;
  min-width:0 !important;
  width:100% !important;
  min-height:34px !important;
  padding:7px 6px !important;
  gap:5px !important;
  border-radius:7px !important;
  justify-content:center !important;
  white-space:nowrap !important;
  font-size:9.5px !important;
  line-height:1.2 !important;
  font-weight:680 !important;
  letter-spacing:-.015em;
}
.refined-workday .side-action > span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.refined-workday .side-action svg {width:12px !important;height:12px !important;flex:0 0 12px !important}
.refined-workday .side-action-wide {grid-column:1/-1;min-height:32px !important}
.sidebar .refined-workday .workday-start-btn {min-height:34px !important;max-width:100% !important;font-size:10.5px !important;line-height:1.2 !important;white-space:normal !important}
.refined-workday .workday-time {gap:5px!important;font-size:16px!important;white-space:nowrap}
.refined-workday .workday-time strong {font-size:16px!important}
.refined-workday .workday-mini-status {font-size:9px!important;line-height:1.35!important;overflow-wrap:anywhere}
.refined-workday .workday-footnote {font-size:9px!important}

/* Toasts stay sharp and visible above glass modals and their backdrop blur. */
#toast {position:fixed!important;inset:auto 20px 20px auto!important;z-index:12000!important;pointer-events:none!important;filter:none!important;backdrop-filter:none!important}
#toast .toast {position:relative!important;right:auto!important;bottom:auto!important;z-index:12001!important;max-width:min(410px,calc(100vw - 40px));box-shadow:0 18px 46px rgba(15,37,56,.28)}
/* Custom tooltip is rendered in body, never within the blurred backdrop. */
#yalka-hotfix-tooltip {position:fixed;z-index:12020;max-width:min(320px,calc(100vw - 30px));padding:7px 10px;border-radius:8px;border:1px solid #dae5ef;background:#fff;color:#34485a;box-shadow:0 12px 35px rgba(27,48,67,.18);font:500 11px/1.45 system-ui,sans-serif;pointer-events:none;white-space:normal;overflow-wrap:anywhere}
@media(max-width:780px){.refined-workday .workday-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.planner-sheet .projectlabel{grid-template-columns:minmax(0,100px) minmax(0,1fr)!important}}
/* Narrow sidebar: two compact vertically centred icon+text controls with no clipping. */
.refined-workday .workday-actions .side-action:not(.side-action-wide){
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  height:43px!important;
  min-height:43px!important;
  padding:5px 2px!important;
}
.refined-workday .workday-actions .side-action:not(.side-action-wide)>span{
  display:block;max-width:100%;min-width:0;
  font-size:9.5px!important;line-height:1.1!important;
  white-space:nowrap!important;
  overflow:visible!important;text-overflow:clip!important;
}


/* Yalka 1.6.3.3 – legible multiple assignees and aligned subtask controls. */
.planner-sheet tbody.stagebox tr[data-row-pid] > td:has(> .cell){
  vertical-align:top!important;
}
.planner-sheet tr[data-row-pid] td > .cell {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  overflow:visible!important;
}
/* Remove earlier one-line clamps, including the legacy 14px maximum. */
.planner-sheet tr[data-row-pid] .cellstat,
.planner-sheet tr[data-row-pid] .correction-assignees,
.planner-sheet tr[data-row-pid] .correction-assignees span,
.planner-sheet tr[data-row-pid] .auto-distribution,
.planner-sheet tr[data-row-pid] .auto-kind-line span {
  display:block!important;
  max-height:none!important;
  height:auto!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.planner-sheet tr[data-row-pid] .cellstat,
.planner-sheet tr[data-row-pid] .assignees-after-error {
  flex:0 0 auto;
  font-size:9px!important;
  line-height:1.3!important;
}
.planner-sheet tr[data-row-pid] .auto-distribution,
.planner-sheet tr[data-row-pid] .correction-assignees{display:grid!important;gap:3px}
.planner-sheet .assignee-lines{display:grid;gap:3px;width:100%;min-width:0}
.planner-sheet .assignee-line{
  display:flex;
  flex-wrap:wrap;
  column-gap:4px;
  row-gap:1px;
  align-items:baseline;
  min-width:0;
  padding:1px 0;
  border-bottom:1px solid rgba(109,134,147,.10);
}
.planner-sheet .assignee-line:last-child{border-bottom:0}
.planner-sheet .assignee-person,
.planner-sheet .assignee-detail{
  display:inline;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
.planner-sheet .assignee-person{font-weight:720;color:inherit}
.planner-sheet .assignee-detail{font-size:8.5px;opacity:.85}
/* Controls are pinned to the same baseline across the entire TZ row. */
.planner-sheet tr[data-row-pid] .cell .celltools{
  margin-top:auto!important;
  flex:0 0 auto!important;
  min-height:22px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
.planner-sheet tr[data-row-pid] .cell .comment-toggle{
  margin-top:4px!important;
  flex:0 0 auto!important;
  order:99!important;
}
/* Inline comment panels float above the grid and do not affect row height. */
.planner-sheet tr[data-row-pid] .cell .inline-comments{position:absolute!important}


/* Yalka 1.6.3.5 — verified active equipment and attendance metrics */
.equipment-totals.equipment-totals-triple{
 display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;
 margin:3px 0 14px;
}
.equipment-totals-triple .equipment-total-triple{
 display:flex;flex-direction:column;gap:8px;align-items:stretch;
 padding:10px;min-width:0;min-height:118px;
 background:var(--ui-surface,#fff);border:1px solid var(--ui-stroke,#dae2e8);
 border-radius:9px;
}
.equipment-total-triple .equipment-total-name{
 width:100%;font-size:11px;line-height:1.25;color:var(--ui-ink,#283943);
 font-weight:760;min-height:26px;letter-spacing:-.01em;
}
.equipment-total-triple .equipment-counts{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-height:64px;
}
.equipment-total-triple .equipment-stat{
 display:flex;flex-direction:column;align-items:flex-start;gap:4px;
 min-width:0;padding:0 6px;border-right:1px solid var(--ui-stroke,#dce4ea);
}
.equipment-total-triple .equipment-stat:first-child{padding-left:0}
.equipment-total-triple .equipment-stat:last-child{border-right:0;padding-right:0}
.equipment-total-triple .equipment-stat>span{
 font-size:9px;line-height:1.24;color:var(--ui-muted,#758593);
 overflow-wrap:anywhere;min-height:23px;
}
.equipment-total-triple .equipment-stat strong{
 font-size:15px;line-height:1.15;letter-spacing:-.025em;
 font-weight:770;color:var(--ui-ink,#283943);white-space:nowrap;
}
.equipment-total-triple .equipment-stat strong small{
 font-size:9px;font-weight:500;color:var(--ui-muted,#798995)
}
.equipment-total-triple .equipment-stat-done strong{color:#367d61}
.equipment-total-triple .equipment-stat-working strong{color:#a26c22}
.equipment-total-triple .equipment-stat-wait em{
 display:block;font-size:9px;font-style:normal;font-weight:650;
 line-height:1.2;color:#527b9c;white-space:nowrap;
}
.theory-overview small{
 font-size:10px;line-height:1.4;color:var(--ui-muted,#758593);
}
@media(max-width:1400px){
 .equipment-totals.equipment-totals-triple{grid-template-columns:repeat(4,minmax(0,1fr))}
 .equipment-total-triple .equipment-total-name{min-height:0}
}
@media(max-width:850px){.equipment-totals.equipment-totals-triple{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.equipment-totals.equipment-totals-triple{grid-template-columns:1fr}}


/* Yalka 1.6.3.6: link to discussion of a Bitrix-imported task.
   Kept below the manager/object line in the second table column. */
.planner-sheet td.manager-object .bitrix-task-chat,
.ptable td.manager-object .bitrix-task-chat {
 display:inline-flex;
 align-items:center;
 justify-content:flex-start;
 max-width:100%;
 min-height:24px;
 margin-top:7px;
 padding:4px 7px;
 gap:5px;
 border:1px solid #c9dced;
 border-radius:6px;
 background:#eff6fc;
 color:#286292;
 text-decoration:none;
 font-size:9px;
 font-weight:690;
 line-height:1.2;
 vertical-align:top;
 box-shadow:none;
 transition:background-color .12s ease,border-color .12s ease;
}
.planner-sheet td.manager-object .bitrix-task-chat:hover,
.ptable td.manager-object .bitrix-task-chat:hover{
 color:#164d7e;
 background:#e0effb;
 border-color:#9fbed7;
 text-decoration:none;
}
.planner-sheet td.manager-object .bitrix-task-chat:focus-visible,
.ptable td.manager-object .bitrix-task-chat:focus-visible{
 outline:2px solid #3181c1;
 outline-offset:2px;
}
.planner-sheet td.manager-object .bitrix-task-chat .svg,
.ptable td.manager-object .bitrix-task-chat .svg{
 width:12px;
 height:12px;
 flex:0 0 12px;
}
.planner-sheet td.manager-object .bitrix-task-chat > span:not(.bitrix-task-chat-out),
.ptable td.manager-object .bitrix-task-chat > span:not(.bitrix-task-chat-out){
 display:inline-block;
 min-width:0;
 white-space:normal;
 overflow-wrap:anywhere;
}
.bitrix-task-chat-out{
 color:#668ba8;
 font-size:11px;
 font-weight:700;
 flex:0 0 auto;
 line-height:1;
}

/* Ялка 1.6.3.7 | КП до завершения автоматики */
.kp-early-notice{background:#fff5d9;color:#735719;border:1px solid #e9d79f;border-radius:6px;padding:7px 8px;font-size:10px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.kp-early-notice.modal-kp-notice{font-size:12px;padding:10px 12px;margin-bottom:10px}
.kp-without-auto{display:inline-flex;align-items:center;width:fit-content;font-size:9px;font-weight:700;color:#855c16;background:#fff0c2;border:1px solid #edd89c;border-radius:5px;padding:3px 5px;line-height:1.3}
.kp-checkbox{display:flex;align-items:center;gap:9px;margin:12px 0;font-size:13px;font-weight:650;line-height:1.4;color:var(--text,#243746);cursor:pointer}
.kp-checkbox input{width:16px;height:16px;flex:0 0 auto;accent-color:#477aab;cursor:pointer}
.kp-archive-hold{font-size:10px;color:#477a67;font-weight:700;line-height:1.3}
.kp-supplement-btn{white-space:normal;text-align:center;line-height:1.25}
.kp-awaiting{min-height:56px!important;justify-content:space-between}
.kp-awaiting .kp-quiet{font-size:9px;text-align:left;padding:4px 2px;color:#9aaab4}
.kp-multi-cell .inline-comments{width:100%;min-width:0}
.kp-multi-cell .comment-toggle{margin-top:4px}

/* Yalka 1.6.3.10: expandable Bitrix task description under chat link. */
.planner-sheet td.manager-object .bitrix-task-note-wrap,
.ptable td.manager-object .bitrix-task-note-wrap{display:block;max-width:100%;margin-top:4px}
.planner-sheet td.manager-object .bitrix-task-note,
.ptable td.manager-object .bitrix-task-note{display:flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;min-height:24px;background:#f4f7f9;border:1px solid #d6e0e5;border-radius:6px;color:#526c7c;text-align:left;cursor:pointer;font-size:9px;line-height:1.2;font-weight:650}
.bitrix-task-note .svg{width:12px;height:12px;flex:0 0 12px}
.bitrix-task-note span:nth-child(2){min-width:0;flex:1}
.bitrix-task-note.no-note{color:#9ba9b1;background:#f9fafb}
.bitrix-task-note:hover{background:#eaf2f7;border-color:#b9cdd9}
.bitrix-task-note:focus-visible{outline:2px solid #3181c1;outline-offset:2px}
.planner-sheet td.manager-object .bitrix-task-note-content,
.ptable td.manager-object .bitrix-task-note-content{margin-top:4px;padding:7px 8px;max-width:100%;background:#fffdf7;border:1px solid #eadfca;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-size:10px;line-height:1.5;color:#4d5259;font-weight:400}
.bitrix-task-note-empty{font-size:9px;color:#9c9ea4}
