.planning-page,.planning-overlay{--bg:#f8fafc;--ink:#1e293b;--surface:#ffffff;--surface-2:#f1f5f9;--muted:#526174;--muted-strong:#526174;--equipment-fill:#e0f2fe;--equipment-border:#075985;--material-fill:#fef3c7;--material-border:#854d0e;--resource-ink:#172033;--fact-planned:#15803d;--fact-changed:#a16207;--grid:#cbd5e1;--accent:#1d4ed8;--accent-text:#1d4ed8;--accent-fill:#1d4ed8;--accent-on-fill:#ffffff;--accent-soft:#eff6ff;--ink-field:#1e293b;--on-ink:#ffffff;--on-ink-muted:#cbd5e1}@media screen{:root[data-theme=dark] .planning-page,:root[data-theme=dark] .planning-overlay{--equipment-fill:#163c55;--equipment-border:#7dd3fc;--material-fill:#493c18;--material-border:#fde68a;--resource-ink:#f8fafc;--bg:#0f172a;--ink:#e2e8f0;--surface:#172033;--surface-2:#1e293b;--muted:#a6b4c7;--muted-strong:#a6b4c7;--grid:#526174;--fact-planned:#4ade80;--fact-changed:#facc15;--accent:#93c5fd;--accent-text:#93c5fd;--accent-fill:#1d4ed8;--accent-on-fill:#ffffff;--accent-soft:#1e3a5f}}.planning-page,.planning-overlay{font-family:Octo Onest,sans-serif;--panel:var(--surface);--border:var(--grid);--text:var(--ink);color:var(--ink)}.planning-page{padding:12px;max-width:100%;font-size:13px;color:var(--text)}.planning-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.planning-heading h2{font-size:18px;margin:0}.planning-objects{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,160px));gap:10px}.planning-object{border:1px solid var(--border);border-radius:8px;padding:12px 10px;min-height:68px;cursor:pointer;font:inherit;font-weight:600;text-align:left;color:#172033;overflow-wrap:anywhere}.planning-range{display:flex;align-items:center;gap:12px;margin-bottom:10px}.planning-range span{font-variant-numeric:tabular-nums}.planning-table-scroll{max-width:100%;overflow:auto;max-height:calc(100dvh - 210px);border:1px solid var(--border);border-radius:8px;background:var(--panel)}.planning-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.planning-table th,.planning-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;vertical-align:middle;max-width:260px;overflow-wrap:anywhere}.planning-table thead{position:sticky;top:0;z-index:3;background:var(--panel)}.planning-table th{font-weight:600;text-align:center;background:var(--panel)}.planning-col-0{min-width:40px}.planning-col-1{min-width:220px}.planning-col-2{min-width:38px}.planning-col-3,.planning-col-4{min-width:125px}.planning-col-5{min-width:64px}.planning-col-6{min-width:80px}.planning-col-7{min-width:130px}.planning-col-8,.planning-col-9{min-width:86px}.planning-week-head{min-width:124px}.planning-table .planning-name{position:sticky;left:0;z-index:1;background:var(--panel);box-shadow:2px 0 3px #0001}.planning-text-button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left;padding:0;white-space:normal}.planning-text-button:disabled{opacity:1;cursor:default}.planning-work-name{font-weight:700}.planning-quantity{text-align:right;font-variant-numeric:tabular-nums}.planning-note{white-space:pre-wrap}.planning-archive{border:0;background:none;color:var(--muted);cursor:pointer;margin-left:6px}.planning-table .planning-week-cell{padding:0;position:relative}.planning-week-target{position:relative;display:block;width:100%;min-height:50px;border:0;background:transparent;cursor:pointer;color:inherit}.planning-week-target:disabled{cursor:default}.planning-week-target:hover:not(:disabled){background:#64748b12}.planning-line{position:absolute;top:12px;height:24px;border-radius:8px;border:1px solid #33415530;box-sizing:border-box;color:#14243a;font-size:10px;line-height:22px;white-space:nowrap;overflow:hidden;min-width:2px}.planning-line span{padding:0 3px}.planning-add{display:flex;align-items:center;gap:12px}.planning-add-work{font-weight:700}.planning-hint{color:var(--muted);font-size:12px;margin:10px 0}.planning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:12px}.planning-dialog{width:480px;max-width:100%;max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);padding:16px;box-shadow:0 12px 50px #0004}.planning-dialog-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.planning-dialog h3{margin:0 0 10px;font-size:16px}.planning-dialog label{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:13px}.planning-dialog input,.planning-dialog select,.planning-dialog textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.planning-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.planning-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.planning-week-picker{display:flex;align-items:center;justify-content:space-between}.planning-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:10px 0}.planning-days .btn{padding:6px 1px;font-size:12px}.planning-periods{padding:0;list-style:none}.planning-periods li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}@media (max-width:600px){.planning-page{padding:8px}.planning-heading h2{font-size:16px}.planning-dialog{padding:12px}.planning-table-scroll{max-height:calc(100dvh - 185px)}.planning-table .planning-name{min-width:140px;max-width:160px}.planning-col-1{min-width:140px}}.planning-tech-name{font-style:italic;text-align:right;width:100%}.planning-add-tech{font-style:italic;margin-left:auto}.planning-supplies{display:flex;flex-direction:column;gap:3px;padding:6px;font-size:11px}.planning-supplies span{white-space:nowrap}.planning-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.planning-keypad .btn{font-size:18px;min-height:38px}.planning-import{margin:0 0 10px}.estimate-dialog{width:1100px}.estimate-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:0 10px}.estimate-preview{max-width:100%;max-height:45dvh;overflow:auto;border:1px solid var(--border)}.estimate-preview table{border-collapse:collapse;font-size:12px;min-width:850px;width:100%}.estimate-preview th{position:sticky;top:0;background:var(--panel);z-index:1}.estimate-preview td,.estimate-preview th{padding:5px;border:1px solid var(--border)}.estimate-preview input,.estimate-preview select{margin:0;padding:5px;font-size:14px;min-width:58px}.estimate-preview td:nth-child(3){min-width:260px}.estimate-preview td:last-child{min-width:160px;max-width:240px}.estimate-preview small{display:block;color:var(--muted);font-size:10px}.estimate-warning{background:#fff4cf}.estimate-preview input[type=checkbox]{min-width:0;width:18px;height:18px}.planning-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.planning-fact-legend{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.planning-week-target{min-height:68px}.planning-line{top:9px;height:22px}.planning-fact-target{position:absolute;top:34px;height:12px;padding:0;border:0;background:transparent;cursor:pointer}.planning-fact-target span{display:block;height:3px;background:var(--planning-fact-color);width:100%}.planning-fact-as_planned{--planning-fact-color:#15803d}.planning-fact-changed{--planning-fact-color:#a16207}.planning-fact-target:hover span,.planning-fact-target:focus-visible span{height:5px}.planning-fact-issue{position:absolute;top:48px;left:2px;font:inherit;font-size:9px;color:var(--muted);border:0;background:transparent;padding:0;cursor:pointer;white-space:nowrap}.planning-fact-detail{white-space:pre-wrap}.planning-match{width:720px}.planning-match-items{max-height:50dvh;overflow:auto}.planning-match-item{padding:10px 0;border-bottom:1px solid var(--border)}.planning-match-item small{display:block;margin-top:4px;color:var(--muted)}.planning-heading{justify-content:flex-start;flex-wrap:wrap}.planning-object{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}.planning-object strong{font-size:14px;font-weight:700}.planning-object span{font-size:12px;white-space:nowrap}.planning-object-add{font-size:28px;background:var(--panel);color:var(--text)}.planning-table th,.planning-table td{padding:3px 5px;text-align:center;max-width:220px;line-height:1.25}.planning-table .planning-name{text-align:left}.planning-table th[class^=planning-col-]{min-width:0;white-space:nowrap}.planning-table th.planning-col-1{min-width:200px;white-space:normal;text-align:left}.planning-table .planning-note{max-width:180px}.planning-week-head{min-width:76px;white-space:nowrap;font-size:11px}.planning-week-target{min-height:36px}.planning-line{top:4px;height:15px;line-height:13px;font-size:9px}.planning-fact-target{top:21px;height:12px}.planning-fact-issue{top:31px}.planning-week-cell:has(.planning-fact-issue) .planning-week-target{min-height:44px}.planning-month{position:relative;padding-inline:32px!important}.planning-month-add{position:absolute;top:0;bottom:0;border:0;background:transparent;color:inherit;font:inherit;font-size:20px;cursor:pointer;width:28px}.planning-month-left{left:0}.planning-month-right{right:0}.planning-kind{display:inline-block;border:1px solid var(--border);border-radius:5px;padding:1px 4px;font:inherit}.planning-kind-R{font-weight:700}.planning-kind-T{font-style:italic}.planning-quantity{text-align:center}@media (max-width:600px){.planning-object strong{font-size:13px}.planning-table th.planning-col-1{min-width:140px}.planning-week-target{min-height:44px}.planning-month-add{min-width:32px}.planning-table td{padding:3px}.planning-object{min-height:80px}}.planning-cell-edit{font:inherit;color:inherit;background:transparent;border:0;padding:4px 1px;min-width:32px;min-height:28px;cursor:pointer;white-space:inherit;width:100%}.planning-cell-edit:disabled{opacity:1;cursor:default}.planning-cell-edit:empty:before{content:"·";color:var(--muted)}.planning-date-field{margin:12px 0;border:0;padding:0}.planning-date-field legend{font-weight:600;margin-bottom:6px}.planning-checkbox{flex-direction:row!important;align-items:center}.planning-checkbox input{width:auto}.planning-days .btn{min-height:44px}.planning-dialog:focus-visible,.planning-page button:focus-visible,.planning-overlay button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.planning-table button:hover:not(:disabled){background:var(--bg)}.planning-add{flex-wrap:wrap;gap:3px;max-width:220px}.planning-add>span{width:100%;font-size:11px}.planning-add .btn{font-size:11px;padding:4px}.planning-add-tech{margin:0}.planning-inline-row input,.planning-inline-row select{font:inherit;width:100%;min-width:68px;box-sizing:border-box;border:1px solid var(--border);border-radius:3px;padding:5px;background:var(--panel);color:var(--text)}.planning-inline-row .planning-name input{min-width:150px}.planning-quantity-input{position:relative}.planning-calculator{position:absolute;top:100%;left:0;width:220px;background:var(--panel);border:1px solid var(--border);padding:6px;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;box-shadow:0 4px 16px #0002}.planning-calculator .btn{min-height:36px;padding:4px}.planning-tools{align-items:center}.planning-page{background:var(--bg);min-height:calc(100dvh - 90px);font-family:Octo Onest,sans-serif}.planning-object strong{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.planning-overlay{font-family:Octo Onest,sans-serif}.planning-page .btn,.planning-overlay .btn{color:var(--ink);background:var(--surface);border-color:var(--grid)}.planning-page .btn-primary,.planning-overlay .btn-primary{color:var(--accent-on-fill);background:var(--accent-fill)}.planning-page .btn[aria-pressed=true],.planning-overlay .btn[aria-pressed=true]{background:var(--accent-fill);color:var(--accent-on-fill)}.planning-date-field{min-width:0}.planning-overlay .planning-dialog-title{align-items:flex-start}.planning-kind-button{background:none;color:inherit;cursor:pointer}.planning-object-add:focus-visible{outline:2px solid var(--accent)}.planning-hint,.planning-fact-legend{color:var(--muted-strong)}@media (max-width:600px){.planning-cell-edit{min-height:36px}.planning-inline-row input,.planning-inline-row select{font-size:16px}.planning-overlay .planning-fields{gap:0 8px}.planning-page .planning-tools .gpr-view-switch{width:auto;order:0}.planning-object{min-width:0}.planning-calculator{left:auto;right:0}.planning-add{flex-wrap:nowrap}.planning-add>span{display:none}.planning-add .btn{padding:4px 2px;font-size:10px}.planning-add{gap:2px}}@media (prefers-reduced-motion:reduce){.planning-page *,.planning-overlay *{scroll-behavior:auto;transition:none;animation:none}}.planning-fact-as_planned{--planning-fact-color:var(--fact-planned)}.planning-fact-changed{--planning-fact-color:var(--fact-changed)}.planning-table th.planning-col-1{position:sticky;left:0;z-index:5;background:var(--panel)}.planning-page .btn:hover:not(:disabled),.planning-overlay .btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.planning-page .btn-primary:hover:not(:disabled),.planning-overlay .btn-primary:hover:not(:disabled){background:var(--accent-fill);color:var(--accent-on-fill)}.planning-page,.planning-overlay{color-scheme:light}@media screen{:root[data-theme=dark] .planning-page,:root[data-theme=dark] .planning-overlay{color-scheme:dark}}.planning-database-page{min-height:calc(100dvh - 110px);background:var(--bg);font-size:14px}.planning-catalog-intro{max-width:70ch;color:var(--muted);margin:0 0 20px;line-height:1.5}.planning-catalog-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.planning-catalog-filters label,.planning-catalog-edit label{display:flex;flex-direction:column;gap:6px;font-weight:600;min-width:0}.planning-catalog-filters label:first-child{flex:1;max-width:560px;min-width:min(100%,240px)}.planning-database-page input,.planning-database-page select{min-height:44px;width:100%;font:inherit;border:1px solid var(--border);border-radius:6px;padding:8px;background:var(--panel);color:var(--text)}.planning-database-page .btn{min-height:44px}.planning-catalog-count{color:var(--muted);margin:0 0 8px}.planning-catalog-table{border-collapse:collapse;width:100%;background:var(--panel);table-layout:fixed;text-align:left}.planning-catalog-table th,.planning-catalog-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.planning-catalog-table thead{background:var(--surface-2)}.planning-catalog-table th:first-child{width:48%}.planning-catalog-table th:nth-child(2){width:12%}.planning-catalog-table th:nth-child(3){width:18%}.planning-catalog-table tbody th{font-weight:400}.planning-catalog-table tbody .planning-kind-R{font-weight:700}.planning-catalog-table tbody .planning-kind-T{font-style:italic}.planning-catalog-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.planning-catalog-edit{display:grid;grid-template-columns:minmax(0,1fr) 120px 170px;gap:12px}.planning-catalog-edit .planning-catalog-actions{grid-column:1/-1}.planning-catalog-empty{padding:20px 0;color:var(--muted)}.planning-catalog-confirm{position:sticky;bottom:8px;padding:16px;border:1px solid var(--border);background:var(--panel);color:var(--ink)}.planning-catalog-confirm p{margin:0 0 12px}@media (max-width:600px){.planning-catalog-table tr{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.65fr) minmax(0,1fr)}.planning-catalog-table th,.planning-catalog-table td{width:auto!important;padding:10px 6px;font-size:14px}.planning-catalog-table thead .planning-catalog-actions-heading{display:none}.planning-catalog-table .planning-catalog-actions{grid-column:1/-1;padding-top:0}.planning-catalog-table .planning-catalog-edit-cell{grid-column:1/-1}.planning-catalog-edit{grid-template-columns:1fr 1fr}.planning-catalog-edit label:first-child{grid-column:1/-1}.planning-catalog-filters label{width:100%}}.planning-table{table-layout:fixed;min-width:0}.planning-table th,.planning-table td{box-sizing:border-box;padding:6px 5px}.planning-table .planning-name{width:200px;min-width:200px;max-width:200px}.planning-text-button,.planning-cell-edit{min-height:0;padding:0;line-height:1.25;overflow-wrap:anywhere}.planning-table .planning-week-head{width:80px;min-width:80px;max-width:80px}.planning-week-target{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;overflow:visible}.planning-line{top:50%;transform:translateY(-50%);height:20px;line-height:20px;border:0;border-radius:5px;font-size:11px;pointer-events:none;z-index:1;overflow:hidden;text-align:left}.planning-line span{padding:0 5px}.planning-row-has-fact{height:42px}.planning-row-has-fact .planning-line{transform:none;top:4px}.planning-fact-target{top:auto;bottom:3px;height:12px;z-index:2}.planning-fact-issue{top:auto;bottom:0;z-index:2;background:var(--panel)}.planning-table .planning-current-week{background:var(--accent-soft);box-shadow:inset 1px 0 var(--accent),inset -1px 0 var(--accent)}.planning-table th.planning-current-week{color:var(--accent-text);font-weight:700}.planning-delete-row{cursor:pointer}.planning-delete-row:hover td{background:var(--accent-soft)}.planning-delete-row button{pointer-events:none}@media (max-width:600px){.planning-table .planning-name{width:140px;min-width:140px;max-width:140px}.planning-line{height:18px;line-height:18px;font-size:10px}}.planning-table tbody .planning-name{z-index:4}.planning-table thead{z-index:6}.planning-table th.planning-col-1{z-index:7}.planning-week-target:has(.planning-supplies){position:relative;height:auto}.planning-table{--planning-name-width:200px;--planning-meta-width:1124px}.planning-editable-cell{position:relative;overflow:visible}.planning-editable-cell .planning-cell-edit{min-width:0;width:100%;text-align:inherit;white-space:pre-wrap}.planning-cell-control{position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:10;min-width:0}.planning-cell-control input,.planning-cell-control select,.planning-cell-control textarea{display:block;width:100%;height:100%;min-width:0;padding:0 2px;box-sizing:border-box;font:inherit;border:1px solid var(--accent);border-radius:3px;background:var(--panel);color:var(--text)}.planning-cell-control textarea{resize:none}.planning-cell-control .planning-quantity-input{height:100%}.planning-cell-active{z-index:5!important}.planning-calculator-shell{position:fixed;z-index:1100;min-height:0;padding:0;background:transparent;width:240px}.planning-calculator-shell .planning-calculator{position:static;width:240px;box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:6px}.planning-calculator-shell .btn{min-width:0;min-height:40px;white-space:nowrap}.planning-calc-cancel{grid-column:2/3;font-size:12px}.planning-calc-done{grid-column:3/5;font-size:14px}.planning-delete-row button{pointer-events:auto}@media (max-width:600px){.planning-table{--planning-name-width:140px;--planning-meta-width:1064px}.planning-cell-control input,.planning-cell-control select,.planning-cell-control textarea{font-size:16px}}.planning-database-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.planning-database-tabs [aria-selected=true]{background:var(--accent-fill);color:var(--accent-on-fill)}.planning-catalog-columns th:first-child{width:45%}.planning-catalog-columns th:nth-child(2){width:23%}.planning-catalog-columns th:nth-child(3){width:14%}.planning-catalog-resources th:first-child,.planning-catalog-units th:first-child{width:60%}.planning-catalog-resources th:nth-child(2),.planning-catalog-units th:nth-child(2){width:20%}.planning-catalog-columns input,.planning-catalog-columns select{box-sizing:border-box;min-width:0;font-size:14px}.planning-catalog-works .planning-catalog-name{font-weight:700}.planning-unit-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.planning-unit-form label{display:flex;flex-direction:column;gap:6px;min-width:0}.planning-catalog-columns .planning-catalog-actions{gap:4px}.planning-catalog-columns .planning-catalog-actions .btn{padding:6px}@media (max-width:600px){.planning-catalog-works tr{grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) minmax(0,.8fr)}.planning-catalog-resources tr,.planning-catalog-units tr{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.planning-catalog-columns select{font-size:16px;padding:5px 1px}.planning-unit-form label{width:100%}.planning-catalog-columns .planning-catalog-actions{padding:4px 6px 10px}}.planning-add{flex-wrap:wrap}.planning-add .btn{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:0}.planning-table th,.planning-table td{padding:3px 4px}.planning-table th[class^=planning-col-]{white-space:normal}.planning-table .planning-cell-edit{padding:1px 0}.planning-table .planning-row-number{padding:0}.planning-table .planning-quantity .planning-cell-edit{white-space:nowrap}.planning-row-select{display:block;width:100%;min-height:28px;padding:3px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.planning-table .planning-row-selected>td{background:var(--accent-soft);box-shadow:inset 0 1px var(--accent),inset 0 -1px var(--accent)}.planning-row-selected .planning-row-select{color:var(--accent-text);font-weight:700}.planning-catalog-table.planning-catalog-columns{width:auto;max-width:100%;table-layout:auto}.planning-catalog-columns th,.planning-catalog-columns td{padding:3px 6px;vertical-align:middle;line-height:1.25}.planning-catalog-table.planning-catalog-columns th{width:auto;max-width:none}.planning-catalog-table.planning-catalog-columns th:first-child{width:var(--catalog-name-width);max-width:var(--catalog-name-width)}.planning-catalog-table.planning-catalog-works th:nth-child(2){width:var(--catalog-type-width)}.planning-catalog-table.planning-catalog-works th:nth-child(3),.planning-catalog-table.planning-catalog-resources th:nth-child(2),.planning-catalog-table.planning-catalog-units th:nth-child(2){width:var(--catalog-unit-width)}.planning-catalog-table.planning-catalog-columns th.planning-catalog-actions-heading{width:145px}.planning-catalog-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:var(--catalog-name-width)}.planning-catalog-units td .planning-catalog-name-text{max-width:var(--catalog-unit-width)}.planning-catalog-columns input,.planning-catalog-columns select{min-height:28px;height:28px;padding:2px 4px;font-size:inherit;line-height:1.25}.planning-catalog-works select{width:var(--catalog-type-width);max-width:100%}.planning-catalog-works td:nth-child(3) select,.planning-catalog-resources select{width:var(--catalog-unit-width);max-width:100%}.planning-catalog-columns td.planning-catalog-actions{display:table-cell;white-space:nowrap}.planning-catalog-columns .planning-catalog-actions .btn,.planning-unit-form .btn{min-height:28px;padding:3px 6px;line-height:1.25;font-size:inherit}.planning-catalog-columns .planning-catalog-actions .btn+.btn{margin-left:4px}.planning-unit-form{gap:8px}.planning-unit-form input{min-height:28px;padding:3px 6px}.planning-database-tabs,.planning-catalog-filters{margin-bottom:10px}@media (max-width:600px){.planning-catalog-table.planning-catalog-columns{width:100%;table-layout:fixed}.planning-catalog-columns th,.planning-catalog-columns td{padding:3px 4px}.planning-catalog-columns .planning-catalog-name-text{max-width:100%}.planning-catalog-columns input,.planning-catalog-columns select{width:100%;min-height:36px;height:36px;font-size:16px}.planning-catalog-columns td.planning-catalog-actions{display:flex;padding:2px 4px 5px}.planning-catalog-columns .planning-catalog-actions .btn{min-height:36px;padding:5px 8px}.planning-row-select{min-height:44px}}.planning-picker-options{position:fixed;z-index:1300;min-height:0;padding:4px;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--grid);border-radius:6px;box-sizing:border-box}.planning-picker-options button{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:44px;padding:8px;font:inherit;border:0;background:transparent;color:inherit;cursor:pointer}.planning-picker-options button[aria-selected=true]{background:var(--accent-soft)}.planning-entity-heading{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;align-items:center}.planning-dialog output{padding:8px 0;font-weight:600}.planning-calendar{margin:10px 0;min-width:0;font-size:13px}.planning-calendar-trigger{display:block;width:100%;margin-top:5px;min-height:44px}.planning-calendar-panel{padding:6px 0;grid-column:1/-1}.planning-fields:has(.planning-calendar-panel){grid-template-columns:1fr}.planning-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:8px 0;text-align:center}.planning-calendar-grid .btn{padding:4px 0;min-width:0;min-height:44px;font-size:14px}.planning-calendar-grid button[data-outside=true]{color:var(--muted)}.planning-line{border:1px solid;pointer-events:none;text-overflow:ellipsis}.planning-supplies{display:flex;flex-direction:column;gap:3px;padding:4px 2px}.planning-supplies>span{display:block;border:1px solid var(--material-border);border-radius:6px;background:var(--material-fill);color:var(--resource-ink);padding:3px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.planning-supplies-T>span{background:var(--equipment-fill);border-color:var(--equipment-border)}.planning-line{display:flex;align-items:center}.planning-line-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-line-dates{flex:none}.planning-table th[class^=planning-col-]:not(.planning-col-1){white-space:nowrap}.planning-table th,.planning-table td{padding:1px 4px}.planning-row-select{min-height:22px;padding:1px 0}.planning-table{--planning-fill:20px}.planning-table .planning-line{top:calc(50% - var(--planning-fill)/2);bottom:auto;height:var(--planning-fill);transform:none;line-height:1.2}.planning-table tbody td.planning-short-cell{white-space:nowrap}.planning-table tbody td.planning-short-cell .planning-cell-edit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-table .planning-row-has-fact{height:34px}.planning-table .planning-row-has-fact .planning-line{top:4px}.planning-table .planning-fact-target{bottom:1px;height:7px;display:flex;align-items:flex-end}.planning-table .planning-row-has-fact:has(.planning-fact-issue){height:42px}.planning-table .planning-row-has-fact:has(.planning-fact-issue) .planning-fact-target{bottom:12px}.planning-table .planning-fact-issue{bottom:0;line-height:11px}.planning-table .planning-week-target:has(.planning-supplies){position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.planning-table .planning-supplies{position:absolute;top:calc(50% - var(--planning-fill)/2);height:var(--planning-fill);left:0;right:0;display:flex;flex-direction:row;gap:2px;padding:0;font-size:11px}.planning-table .planning-supplies>span{flex:1 1 0;min-width:0;display:flex;align-items:center;padding:0 4px;border-radius:5px;white-space:nowrap;overflow:hidden;line-height:1.2}.planning-supply-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-inline-row td{padding:1px 2px}.planning-inline-row input,.planning-inline-row select{height:24px;padding:1px 4px;text-overflow:ellipsis}.planning-inline-row select{padding-right:18px}.planning-inline-actions{display:flex;gap:4px;align-items:center}.planning-inline-actions .btn{min-height:24px;padding:1px 8px;font-size:12px;line-height:1.2;white-space:nowrap}@media (max-width:600px){.planning-row-select{min-height:32px}.planning-table{--planning-fill:22px}.planning-table .planning-row-has-fact{height:36px}.planning-table .planning-row-has-fact:has(.planning-fact-issue){height:46px}.planning-table .planning-line,.planning-table .planning-supplies{font-size:10px}.planning-inline-row input,.planning-inline-row select{height:32px}.planning-inline-actions .btn{min-height:32px}}.planning-table .planning-line.planning-draggable{pointer-events:auto;cursor:grab}.planning-table .planning-supplies>span.planning-draggable{position:relative;cursor:grab}.planning-draggable{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.planning-draggable:before,.planning-draggable:after{content:"";position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:2}.planning-draggable:before{left:0}.planning-draggable:after{right:0}.planning-drag-ghost{position:fixed;z-index:60;pointer-events:none;border:2px dashed var(--accent);border-radius:5px;background:var(--accent-soft);opacity:.85}.planning-drag-tip{position:fixed;z-index:61;pointer-events:none;max-width:250px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font-size:12px;line-height:1.3;box-shadow:0 4px 14px #0000002e}.planning-drag-tip-error{border-color:#dc2626;color:#dc2626}.planning-table td.planning-term{white-space:nowrap;text-align:center}.planning-table-scroll{position:relative}.planning-link-layer{position:absolute;top:0;left:0;z-index:2;pointer-events:none;overflow:visible}.planning-link-line{fill:none;stroke-width:1;stroke-dasharray:3 2;stroke-linejoin:round}.planning-anchor-plus{display:grid;gap:4px;margin-top:4px;padding-top:4px;border-top:1px dashed var(--border);font-size:12px;color:var(--muted)}.planning-anchor-plus-value{display:flex;align-items:center;gap:6px;color:var(--text)}.planning-anchor-plus-value output{min-width:110px;text-align:center;font-weight:600}.planning-anchor-keypad{display:grid;grid-template-columns:repeat(3,44px);gap:3px}.planning-anchor-keypad .btn{min-width:0;padding:4px 0}.planning-table .planning-line:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.planning-anchor-graph{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--muted)}.planning-link-menu,.planning-anchor-picker{position:fixed;z-index:1200;max-width:min(320px,calc(100vw - 16px));padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:0 6px 24px #0003;font-size:13px;box-sizing:border-box}.planning-link-menu strong{display:block;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-link-menu-actions{display:flex;flex-wrap:wrap;gap:4px}.planning-link-list{list-style:none;margin:8px 0 0;padding:0;max-height:140px;overflow:auto}.planning-link-list li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0;font-size:12px}.planning-anchor-picker p{margin:0 0 6px}.planning-anchor-days{display:flex;flex-wrap:wrap;gap:3px;max-height:150px;overflow:auto}.planning-anchor-days .btn{min-width:30px;padding:4px 6px}.planning-anchor-days .planning-anchor-edge{font-weight:600}.planning-anchor-picker .planning-actions{margin-top:6px}.planning-link-picking .planning-line.planning-draggable{cursor:crosshair}.planning-table .planning-line.planning-link-source{outline:2px solid var(--accent);outline-offset:1px}.planning-link-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}.planning-day-calendar{touch-action:none;user-select:none;-webkit-user-select:none}.planning-day-months{display:flex;gap:16px;flex-wrap:wrap}.planning-day-months .multi-date-picker{flex:1 1 240px;min-width:240px}.planning-day-month-title{font-weight:600;text-align:center;margin-bottom:4px}.planning-day-calendar .day-cell{color:var(--ink);min-height:34px}.planning-day-calendar .day-cell-label{color:var(--muted)}.planning-day-calendar .planning-day-off{color:#b91c1c}.planning-day-calendar .day-cell-selected{background:var(--accent-fill);color:var(--accent-on-fill)}.planning-day-calendar .day-cell-today{box-shadow:inset 0 0 0 2px var(--accent)}.planning-day-calendar .day-cell-blank{visibility:hidden}.planning-day-calendar .week-calendar-title{color:var(--ink)}.planning-day-summary{margin:8px 0;color:var(--muted)}.planning-row-days{margin:8px 0}:root[data-theme=dark] .planning-day-calendar .planning-day-off{color:#fca5a5}.planning-row-select{cursor:grab}.planning-table tr.planning-row-dragging>td{opacity:.55}.planning-table tr.planning-row-drop-before>td{box-shadow:inset 0 2px var(--accent)}.planning-table tr.planning-row-drop-after>td{box-shadow:inset 0 -2px var(--accent)}.planning-column-chooser{position:relative;display:inline-block}.planning-column-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:220px;padding:8px 10px;background:var(--surface);color:var(--ink);border:1px solid var(--grid);border-radius:8px;box-shadow:0 8px 24px #0003;display:grid;gap:4px}.planning-column-menu .planning-checkbox{display:flex;align-items:center;gap:6px;white-space:nowrap}.planning-column-note{margin:4px 0 0;font-size:12px;color:var(--muted);white-space:normal}.planning-executors{text-align:left!important}.planning-executor-badges{display:flex;flex-wrap:wrap;gap:2px}.planning-executor-badge{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:14px;padding:0 5px;border-radius:7px;border:1px solid #0002}.planning-executor-trigger{width:100%;min-height:24px}.planning-executor-popover{z-index:1000;padding:10px;background:var(--surface);color:var(--ink);border:1px solid var(--grid);border-radius:10px;box-shadow:0 10px 30px #0004;display:grid;gap:8px}.planning-executor-title{font-weight:700}.planning-executor-types{display:flex;flex-direction:column;gap:6px}.planning-executor-types .btn{display:flex;justify-content:space-between}.planning-executor-count{font-weight:700;color:var(--accent-text)}.planning-executor-popover .pick-checklist{list-style:none;margin:0;padding:0;display:grid;gap:2px}.planning-executor-popover .pick-check-item label{display:flex;align-items:center;gap:6px;cursor:pointer;padding:3px 2px}.planning-executor-popover .swatch{width:12px;height:12px;border-radius:3px;flex:none}@media (max-width:600px){.planning-day-months .multi-date-picker{min-width:100%}.planning-day-calendar .day-cell{min-height:40px}}.planning-page.planning-executor-popover{min-height:0;padding:10px;background:var(--surface)}@media (max-width:600px){.planning-column-menu{position:fixed;top:auto;left:8px;right:8px;min-width:0;margin-top:4px}}.planning-table .planning-month-add{top:50%;bottom:auto;transform:translateY(-50%);width:20px;height:20px;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--grid);border-radius:5px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1}.planning-table .planning-month-add:hover{border-color:var(--accent);color:var(--accent-text)}.planning-table .planning-month-left{left:4px}.planning-table .planning-month-right{right:4px}.planning-link-menu .planning-link-menu-actions .btn{min-height:0;height:auto;padding:0 8px;line-height:1.2}.planning-link-menu .planning-link-delete{min-height:0;width:20px;height:20px;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.planning-table{--planning-fill:26px}.planning-table .planning-line{flex-direction:column;align-items:stretch;justify-content:center;line-height:1.1;font-size:9px}.planning-table .planning-line>span{padding:0 4px}.planning-table .planning-line-name{flex:none;font-weight:600}.planning-table .planning-line-dates{display:flex;justify-content:space-between;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-table .planning-line-dates>span{padding:0}.planning-table .planning-row-has-fact{height:40px}.planning-table .planning-row-has-fact:has(.planning-fact-issue){height:50px}.planning-table th.planning-month{height:26px}.planning-table .planning-row-select{min-height:28px}:is(:root,:root[data-theme=dark]) .planning-day-calendar .day-cell-selected.planning-day-off{color:var(--accent-on-fill);text-decoration:underline}@media (min-width:601px){.planning-dialog:has(.planning-day-months>.multi-date-picker+.multi-date-picker){width:640px}}@media (max-width:600px){.planning-table{--planning-fill:28px}.planning-table .planning-row-has-fact{height:42px}.planning-table .planning-row-has-fact:has(.planning-fact-issue){height:52px}.planning-table th.planning-month{height:30px}.planning-table .planning-row-select{min-height:32px}.planning-table .planning-month-add{width:22px;height:22px;min-width:0}}.planning-view-switch .btn{min-width:64px}.planning-table.planning-fact-view .planning-week-target:disabled{cursor:default}.planning-fact-view-hint{color:var(--muted-strong)}.planning-table th.planning-col-1,.planning-executors,.planning-executor-trigger{text-align:center!important}.planning-executor-badges{justify-content:center}.planning-executor-create{display:grid;gap:8px;min-width:0}.planning-executor-create input{width:100%;box-sizing:border-box}.planning-link-list li>span{flex:1;min-width:0}.planning-link-edit{flex:none;font-size:11px;padding:2px 4px}.planning-executor-create .color-grid{grid-template-columns:repeat(12,minmax(0,1fr));width:100%;min-width:0;box-sizing:border-box;padding:4px}.planning-executor-create .color-swatch{width:100%;height:16px}:root{--planning-tooltip-bg:#f8fafc;--planning-tooltip-ink:#0f172a;--planning-tooltip-border:#cbd5e1}.planning-work-tooltip{position:fixed;z-index:1400;max-width:min(320px,calc(100vw - 16px));box-sizing:border-box;padding:8px 10px;background:var(--planning-tooltip-bg);color:var(--planning-tooltip-ink);border:1px solid var(--planning-tooltip-border);border-radius:8px;box-shadow:0 4px 16px #0002;font-size:12px;pointer-events:none;overflow-wrap:anywhere}.planning-work-tooltip strong{display:block;margin-bottom:3px}.planning-link-menu{max-height:calc(100dvh - 16px);overflow:auto}.planning-link-menu strong{white-space:normal}.planning-table .planning-line{pointer-events:auto}.planning-work-tooltip{max-height:calc(100dvh - 16px);overflow:hidden}.planning-scale{display:flex;align-items:center;gap:8px;font-size:12px;max-width:100%;color:var(--ink)}.planning-scale input{width:180px;max-width:42vw;accent-color:var(--accent-fill);cursor:pointer}.planning-scale output{width:4ch;font-variant-numeric:tabular-nums}.planning-scale input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.planning-table .planning-week-head{width:var(--planning-week-width,80px);min-width:var(--planning-week-width,80px);max-width:var(--planning-week-width,80px);box-sizing:border-box;overflow:hidden}.planning-scale-compact .planning-week-head>span{display:block;font-size:10px}.planning-scale-compact .planning-week-head>.planning-week-separator{display:none}.planning-fact-view .planning-supply-text{visibility:hidden}.planning-link-menu .planning-link-edit{min-height:0;height:20px;line-height:1;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.planning-weekend-layer .planning-overlay{z-index:1700}.planning-topbar,.planning-topbar-left,.planning-topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.planning-topbar{justify-content:space-between;margin-bottom:8px}.planning-topbar-right{margin-left:auto}.planning-display-tools{margin-bottom:8px;align-items:center}.planning-scale-group{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}.planning-display-chooser{position:relative}.planning-display-menu{position:absolute;z-index:30;left:0;top:calc(100% + 4px);padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 6px 20px #0002;width:300px;max-width:calc(100vw - 32px);box-sizing:border-box}.planning-display-menu>div{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:4px 0}.planning-display-menu label{display:flex;gap:6px;align-items:center}@media (max-width:600px){.planning-topbar-left,.planning-topbar-right{gap:5px}.planning-topbar-right{margin-left:0}.planning-scale-group{flex-wrap:wrap}.planning-topbar .btn{padding:4px 7px;font-size:11px}.planning-display-tools{gap:6px}.planning-display-menu .btn{font-size:11px}.planning-heading{margin-bottom:8px}.planning-table-scroll{max-height:calc(100dvh - 245px)}}.planning-month{position:relative;padding-left:28px!important;padding-right:52px!important}.planning-month-collapse,.planning-month-expand-prev{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--border);border-radius:3px;background:var(--panel);color:var(--ink);width:22px;height:22px;padding:0;cursor:pointer;font-size:14px;z-index:3}.planning-month-collapse{right:26px}.planning-month-expand-prev{left:2px}.planning-month-collapsed{padding:0!important;overflow:visible}.planning-month-collapsed>span,.planning-week-compressed.planning-week-head>span{display:none}.planning-month-collapsed .planning-month-collapse{right:7px}.planning-month-collapsed .planning-month-add{display:none}.planning-table .planning-week-compressed{padding:0!important;min-width:0;border-left:0;border-right:0;background:var(--surface-2)}.planning-week-compressed .planning-supply-text{visibility:hidden}.planning-table .planning-week-cell{border-right:0;box-shadow:inset -1px 0 var(--border)}.planning-table .planning-week-compressed{box-shadow:none}.planning-export{position:relative}.planning-export-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:50;display:flex;flex-direction:column;gap:6px;padding:10px;width:240px;max-width:calc(100vw - 32px);box-sizing:border-box;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0002}.planning-export-menu>a{color:var(--accent-text);overflow-wrap:anywhere}.planning-export-menu .btn{text-align:left}@media (max-width:600px){.planning-export-menu{left:0;right:auto}}.planning-heading-tools{align-items:center;gap:8px 12px}.planning-heading-tools h2{white-space:nowrap}.planning-heading-tools .planning-topbar{flex:1 1 auto;margin-bottom:0}.planning-month-collapse{right:3px}.planning-table .planning-month-right{right:28px}.planning-link-menu{max-width:min(440px,calc(100vw - 16px))}.planning-link-menu strong{margin-bottom:2px}.planning-link-menu-term{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-bottom:6px}.planning-link-list{max-height:none;overflow:visible}.planning-link-list li{padding:1px 0;line-height:1.25}@media (max-width:600px){.planning-heading-tools h2{white-space:normal;flex-basis:100%}.planning-link-menu{font-size:12px}.planning-link-list li{font-size:11px}}.planning-table thead th[class*=planning-col-]:not(.planning-col-1){position:relative}.planning-col-resize{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:6;touch-action:none}.planning-col-resize:after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:2px;border-radius:1px;background:transparent}.planning-col-resize:hover:after,.planning-col-resizing .planning-col-resize:after{background:var(--accent,#3b82f6)}.planning-table-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.planning-table tbody td:not(.planning-week-cell){overflow-wrap:anywhere}.planning-table thead th[class*=planning-col-]{overflow-wrap:anywhere}.planning-table .planning-month-remove{position:absolute;top:50%;transform:translateY(-50%);width:22px;height:22px;min-width:0;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--grid);border-radius:5px;background:var(--surface);color:var(--ink);font-size:15px;line-height:1;cursor:pointer;z-index:3}.planning-table .planning-month-remove:hover{border-color:#dc2626;color:#dc2626}.planning-table .planning-month-remove-left{left:30px}.planning-table .planning-month-remove-right{right:53px}.planning-table .planning-month-removable:not(.planning-month-collapsed){padding-left:54px!important;padding-right:78px!important}@media (max-width:600px){.planning-col-resize{right:-6px;width:12px}}.planning-line.planning-line-chain{outline:2px dashed var(--accent,#3b82f6);outline-offset:1px;opacity:.85}.planning-note-buttons{display:flex;gap:4px;justify-content:center;align-items:center}.planning-note-row{font-size:12px;font-weight:600;color:var(--muted,#64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-task-date{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted,#64748b)}.planning-task-date input{font:inherit;padding:4px;border:1px solid var(--border);border-radius:4px;background:var(--panel);color:var(--text)}.planning-task-badge{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:4px;background:#fee2e2;color:#991b1b;font-size:11px}.planning-page .btn-danger,.planning-dialog .btn-danger{border-color:#dc2626;color:#dc2626}.planning-dialog .btn-danger:not(:disabled):hover{background:#dc2626;color:#fff}.planning-delete-list{margin:0 0 8px;padding-left:20px}.planning-approval{display:inline-flex;align-items:center;border:2px solid;border-radius:8px;padding:4px 10px;font-weight:600}.planning-approval-approved{border-color:#16a34a;color:#15803d}.planning-approval-editing{border-color:#eab308;color:#a16207;animation:planning-approval-pulse 1.6s ease-in-out infinite}@keyframes planning-approval-pulse{0%,to{box-shadow:0 0 #eab3088c}50%{box-shadow:0 0 0 4px #eab30800}}:root[data-theme=dark] .planning-approval-approved{color:#4ade80}:root[data-theme=dark] .planning-approval-editing{color:#facc15}@media (prefers-reduced-motion:reduce){.planning-approval-editing{animation:none}}.planning-table.planning-fact-view .planning-line{justify-content:flex-start}.planning-line-name-pale{opacity:.6;font-size:9px;line-height:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planning-fact-line{position:absolute;top:50%;height:calc(var(--planning-fill,20px)/2);z-index:2;pointer-events:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.planning-fact-fill{background:var(--planning-fact-color)}.planning-fact-fill.is-start{border-bottom-left-radius:5px}.planning-fact-fill.is-end{border-bottom-right-radius:5px}.planning-fact-gap{background:transparent;border-top:1.5px solid var(--planning-fact-color);border-bottom:1.5px solid var(--planning-fact-color)}.planning-fact-date{font-size:8px;line-height:1;color:#fff;padding:0 2px;white-space:nowrap}.planning-fact-date-end{margin-left:auto}.planning-scale-compact .planning-fact-date{font-size:7px}.planning-page .btn.planning-approval,.planning-page .btn.planning-approval[aria-pressed=true]{background:var(--surface)}.planning-page .btn.planning-approval-approved{border-color:#16a34a;color:#15803d}.planning-page .btn.planning-approval-editing{border-color:#eab308;color:#a16207}:root[data-theme=dark] .planning-page .btn.planning-approval-approved{color:#4ade80}:root[data-theme=dark] .planning-page .btn.planning-approval-editing{color:#facc15}.planning-object-card{position:relative;display:flex;min-width:0}.planning-object-card>.planning-object{width:100%;padding-top:32px}.planning-object-remove{position:absolute;top:2px;right:2px;width:30px;height:30px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:20px;cursor:pointer}.planning-object-remove:hover{background:var(--surface-2)}.planning-sort-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.planning-sort-tools label{display:flex;align-items:center;gap:6px}.planning-sort-tools select{max-width:180px}.planning-saved-order.is-saved{background:#dcfce7;color:#14532d;border-color:#16a34a}.planning-saved-order.is-restore{background:#ffedd5;color:#7c2d12;border-color:#f97316}.planning-table .planning-inline-week{padding:0}.planning-inline-week-track{position:relative;min-height:26px;width:100%}.planning-inline-week-track .planning-line{pointer-events:none;top:1px;border-color:var(--ink)}.planning-line-preview{outline:1px dashed var(--ink);outline-offset:-3px}.planning-inline-action-row .planning-inline-actions{position:sticky;left:0;width:max-content;max-width:100%}@media (max-width:600px){.planning-inline-week-track{min-height:34px}.planning-inline-week-track .planning-line{top:5px}}.planning-table .planning-line.planning-line-pale{border-width:2px;box-shadow:0 1px 2px #0003}.planning-table .planning-line.planning-line-short{align-items:center;padding:0}.planning-table .planning-line.planning-line-short .planning-line-name{display:none}.planning-table .planning-line.planning-line-short .planning-line-dates{flex-direction:column;align-items:center;justify-content:center;gap:0;font-size:8px;line-height:1.05;font-weight:600}.planning-table .planning-line.planning-line-short>span{padding:0 1px}.planning-page .planning-input-toggle,.planning-heading-export{display:none}@media (max-width:600px){.planning-heading-tools h2{flex:1 1 0;flex-basis:0;min-width:0}.planning-heading-export{display:block;margin-left:auto}.planning-heading-tools .planning-topbar{flex-basis:100%}.planning-tools-export,.planning-page .planning-optimize,.planning-page .planning-input-switch{display:none}.planning-page .planning-input-toggle{display:inline-flex}.planning-topbar{flex-direction:column;align-items:stretch;gap:5px}.planning-topbar-left,.planning-topbar-right{flex-wrap:wrap}.planning-page .planning-topbar .planning-view-switch{width:auto;order:0;flex:0 0 auto}.planning-page .planning-heading .btn,.planning-page .planning-display-tools .btn{padding:3px 7px;font-size:11px;line-height:16px;min-height:24px;min-width:0;flex:0 0 auto;width:auto;white-space:nowrap}.planning-page .planning-display-tools{gap:5px;margin-bottom:6px}.planning-page .plan-filter-button{gap:4px}.planning-sort-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.planning-display-tools .planning-sort-tools{display:contents}.planning-sort-tools select{font-size:11px;padding:3px 2px;min-height:24px;max-width:104px}.planning-display-tools .plan-filter-summary:not(.is-active){display:none}.planning-scale-group{margin-left:0}}.notifications-page{--ink:#1e293b;--muted:#526174;--grid:#cbd5e1;--accent:#1d4ed8;--danger:#b91c1c;--paper:#f8fafc;background:var(--paper);min-height:calc(100dvh - 120px);max-width:740px;margin:0 auto;padding:24px 18px 48px;color:var(--ink);font:14px/1.5 Octo Onest,sans-serif}.notifications-page h2{font-size:24px;margin:0 0 6px}.notifications-page h3{font-size:17px;margin:0 0 10px}.notifications-page p{margin:8px 0}.notifications-lead,.notifications-hint{color:var(--muted)}.notifications-status{min-height:21px;color:var(--ink)}.notifications-device{padding:20px 0;border-block:1px solid var(--grid)}.notifications-page .btn{min-height:44px;margin:8px 0}.notifications-options{border:0;margin:24px 0 0;padding:0;min-width:0}.notifications-options legend{font-size:17px;font-weight:600;padding:0}.notifications-option{display:flex;align-items:flex-start;gap:12px;padding:12px 0;cursor:pointer;border-bottom:1px solid var(--grid)}.notifications-option input{margin:3px 0 0;width:20px;height:20px;flex:none;accent-color:var(--accent)}.notifications-page :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.notifications-error{color:var(--danger)}.push-target-row>td{outline:2px solid var(--accent);outline-offset:-2px}.push-planning-target:focus{outline:none}@media (max-width:600px){.notifications-page{padding:18px 12px 36px}.notifications-page h2{font-size:21px}}@media screen{:root[data-theme=dark] .notifications-page{--ink:#e2e8f0;--muted:#a6b4c7;--grid:#526174;--accent:#93c5fd;--danger:#fca5a5;--paper:#0f172a}}.personal-octo{--font-display: "Octo Onest", "Octo Onest", "Helvetica Neue", Arial, sans-serif;--font-body: "Octo Onest", "Octo Onest", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--w-display: 600;--tr-display: -.03em;--tr-h2: -.025em;--lh-display: 1;--radius: 10px;--radius-sm: 6px;--radius-button: 8px;--case-eyebrow: uppercase;--tr-eyebrow: .08em;--bg: #f6f7f9;--surface: #ffffff;--surface-2: #eceff3;--ink: #0b0d12;--muted-strong: #353b47;--muted: #555d6b;--line: #dfe3ea;--line-strong: #c5cbd5;--ink-field: #0b0d12;--on-ink: #eef1f6;--on-ink-muted: #aab2c0;--accent: #1f5eff;--accent-fill: #1f5eff;--accent-on-fill: #ffffff;--accent-text: #1a4fd6;--accent-soft: #e3ebff;--field-1: #eceff3;--field-1-ink: #0b0d12;--field-2: #e3ebff;--field-2-ink: #0b0d12;--field-3: #0b0d12;--field-3-ink: #eef1f6;--octo-send-fill:#166534;--octo-send-ink:#ffffff;--octo-error: #a11b28}@media screen{:root[data-theme=dark] .personal-octo:not([data-theme=light]),body[data-theme=dark] .personal-octo:not([data-theme=light]),.personal-octo[data-theme=dark]{--bg: #0b0d12;--surface: #12151c;--surface-2: #171b24;--ink: #eef1f6;--muted-strong: #c6ccd8;--muted: #97a0b0;--line: rgba(238, 241, 246, .09);--line-strong: rgba(238, 241, 246, .18);--ink-field: #05060a;--on-ink: #eef1f6;--on-ink-muted: #a3acbb;--accent: #7c9dff;--accent-fill: #7c9dff;--accent-on-fill: #0b0d12;--accent-text: #94b0ff;--accent-soft: rgba(124, 157, 255, .14);--field-1: #171b24;--field-1-ink: #eef1f6;--field-2: #1a2340;--field-2-ink: #eef1f6;--field-3: #05060a;--field-3-ink: #eef1f6;--octo-send-fill:#86efac;--octo-send-ink:#052e16;--octo-error: #ffb4bb}}.personal-octo{--octo-bg: var(--bg);--octo-surface: var(--surface);--octo-surface-2: var(--surface-2);--octo-ink: var(--ink);--octo-muted: var(--muted);--octo-line: var(--line);--octo-accent: var(--accent);--octo-accent-fill: var(--accent-fill);--octo-accent-on-fill: var(--accent-on-fill);--octo-shadow: rgba(0,0,0,.18);--octo-scrim: rgba(0,0,0,.28)}@font-face{font-family:Octo Onest;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/onest-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Octo Onest;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/onest-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.personal-octo{font-family:Octo Onest,sans-serif;font-size:14px;line-height:1.35;color:var(--octo-ink)}.personal-octo *{box-sizing:border-box}.personal-octo button,.personal-octo textarea,.personal-octo select{font:inherit}.personal-octo button{min-height:44px;cursor:pointer;color:var(--octo-ink);background:var(--octo-surface);border:1px solid var(--octo-line);border-radius:6px;padding:8px 12px}.personal-octo button:disabled{cursor:default;opacity:.65}.personal-octo :focus-visible{outline:3px solid var(--octo-accent);outline-offset:3px}.octo-launcher{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:950;display:flex;gap:8px;align-items:center}.personal-octo .octo-entry{display:flex;align-items:center;gap:9px;padding:12px 18px;border:0;border-radius:28px;background:var(--octo-accent-fill);color:var(--octo-accent-on-fill);min-height:52px;box-shadow:0 4px 18px var(--octo-shadow)}.octo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:var(--octo-scrim);display:flex;align-items:flex-end;justify-content:flex-end;padding:8px}.octo-dialog{width:100%;max-width:470px;height:min(780px,calc(100dvh - 16px));display:flex;flex-direction:column;overflow:hidden;background:var(--octo-surface);border:1px solid var(--octo-line);border-radius:14px;box-shadow:0 12px 48px var(--octo-shadow)}.octo-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;background:var(--octo-bg);flex:none}.octo-heading h2{margin:0;font-size:24px;line-height:1.2;font-weight:650;letter-spacing:-.02em}.octo-heading p{margin:6px 0 0;font-size:14px;color:var(--octo-muted)}.personal-octo .octo-close{display:grid;place-items:center;min-width:44px;padding:0;background:transparent;border:0}.octo-tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--octo-line);flex:none}.personal-octo .octo-tabs button{flex:1;padding:12px 4px;border:0;border-radius:0;font-size:15px;border-bottom:3px solid transparent;background:transparent}.personal-octo .octo-tabs button[aria-pressed=true]{border-bottom-color:var(--octo-accent);font-weight:650}.octo-transcript,.octo-notes-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px}.octo-empty{padding:20px 0;color:var(--octo-muted)}.octo-empty h3,.octo-notes-intro h3{color:var(--octo-ink);font-size:21px;margin:0 0 10px;line-height:1.3}.octo-empty p,.octo-notes-intro p{margin:0 0 16px}.octo-message{padding:9px 0;border-bottom:1px solid var(--octo-line);overflow-wrap:anywhere}.octo-message-user{margin-left:24px}.octo-message strong{color:var(--octo-muted);font-size:14px}.octo-message p{margin:6px 0;white-space:pre-wrap}.octo-message small{font-size:14px;color:var(--octo-muted)}.octo-composer{flex:none;padding:16px 20px;border-top:1px solid var(--octo-line);background:var(--octo-bg)}.octo-composer label,.octo-note form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.personal-octo textarea{display:block;margin:6px 0 0;width:100%;min-height:64px;max-height:160px;resize:vertical;border:1px solid var(--octo-line);border-radius:6px;padding:10px 12px;font-size:16px;line-height:1.35;background:var(--octo-surface);color:var(--octo-ink)}.personal-octo textarea::placeholder{color:var(--octo-muted);opacity:1}.octo-composer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.octo-composer-bottom span{font-size:13px;color:var(--octo-muted)}.personal-octo .octo-primary{background:var(--octo-accent-fill);color:var(--octo-accent-on-fill);border:0;font-weight:600}.octo-notes{list-style:none;padding:0;margin:12px 0 0}.octo-note{padding:12px 0;border-top:1px solid var(--octo-line)}.octo-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.octo-note-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--octo-muted)}.octo-note-meta label{display:flex;align-items:center;gap:8px}.personal-octo select{min-height:44px;padding:5px;color:var(--octo-ink);background:var(--octo-surface);border:1px solid var(--octo-line);border-radius:6px;max-width:140px}.octo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.octo-delete-confirm{background:var(--octo-surface-2);padding:12px;margin-top:12px}.octo-error{color:var(--octo-error);margin:0;padding:10px 20px;font-size:14px}@media (min-width:760px){.octo-backdrop{padding:24px}.octo-dialog{height:min(780px,calc(100dvh - 48px))}}@media (max-height:500px){.octo-heading{padding:10px 16px}.octo-heading p{display:none}.octo-composer{padding:8px 16px}.personal-octo textarea{min-height:48px}}@media (prefers-reduced-motion:no-preference){.personal-octo button{transition:background-color .12s ease}.personal-octo button:hover:not(:disabled){filter:brightness(.94)}}.personal-octo[data-desktop=true] .octo-backdrop{pointer-events:none;background:transparent}.personal-octo[data-desktop=true] .octo-dialog{pointer-events:auto;max-width:none;max-height:calc(100dvh - 16px)}.personal-octo[data-desktop=true] .octo-heading{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.personal-octo[data-desktop=true] .octo-entry{touch-action:none;cursor:grab}.octo-font-control{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--octo-muted);cursor:default}.octo-font-control input{width:100px;accent-color:var(--octo-accent)}.octo-font-control output{white-space:nowrap}.octo-message p,.octo-note>p{font-size:calc(14px * var(--octo-font-scale,1))}.personal-octo textarea{font-size:calc(16px * var(--octo-font-scale,1))}.octo-note{padding:4px 0}.octo-note-meta{gap:4px}.octo-note .octo-actions{margin-top:3px;gap:4px}.personal-octo .octo-note .octo-actions button,.personal-octo .octo-note-meta select{min-height:22px;padding:2px 5px;line-height:1.2}.personal-octo .octo-note-meta select{font-size:13px}.personal-octo .octo-dispatch{background:var(--octo-send-fill);color:var(--octo-send-ink);border:0;font-weight:600}.octo-send-confirm{flex:none;background:var(--octo-surface-2);padding:10px 20px;border-top:1px solid var(--octo-line)}.octo-send-confirm p{margin:0}.personal-octo .octo-resize{position:absolute;right:1px;bottom:1px;min-height:20px;width:20px;padding:0;border:0;background:transparent;cursor:nwse-resize;touch-action:none}.personal-octo[data-desktop=true] .octo-composer-bottom{padding-right:10px}.octo-notes-composer .octo-composer-bottom{flex-wrap:nowrap;gap:6px}.personal-octo .octo-composer-bottom .octo-dispatch{font-size:13px;padding-inline:6px;white-space:nowrap}.personal-octo .octo-notes-composer .octo-composer-bottom .octo-primary{padding-inline:6px;white-space:nowrap}:root{--s5-today-ink: #000;--s5-today-leaf: #bbf7d0;--s5-today-edge: #86efac;--s5-paper: #ffffff;--s5-graphite: #1e293b;--s5-grid: #cbd5e1;--s5-blueprint: #1d4ed8;--s5-selection: #eff6ff}.history-page{--history-paper: #ffffff;--history-ink: #1e293b;--history-blueprint: #e8eef5;--history-plan-blue: #1d4ed8;--history-warning-ink: #b91c1c}.app-header{--chrome-surface:#ffffff;--chrome-ink:#1e293b;--chrome-muted:#526174;--chrome-grid:#cbd5e1;--chrome-soft:#f1f5f9;--chrome-accent:#1d4ed8;--chrome-alert:#b91c1c;--chrome-on-alert:#ffffff;--chrome-shadow:#00000026}@media screen{:root[data-theme=dark] .app-header{--chrome-surface:#172033;--chrome-ink:#e2e8f0;--chrome-muted:#a6b4c7;--chrome-grid:#526174;--chrome-soft:#1e293b;--chrome-accent:#93c5fd;--chrome-alert:#fca5a5;--chrome-on-alert:#172033}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f1f5f9;color:#1e293b}.center-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px;text-align:center}.login-screen{height:auto;padding:24px 16px}.login-screen h1{font-size:2rem;margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:8px;width:280px;text-align:left;background:#fff;padding:16px;border-radius:10px;border:1px solid #e2e8f0}.auth-form h3{margin:0 0 4px}.auth-form input{padding:8px;border-radius:6px;border:1px solid #cbd5e1;font-size:14px}.btn-link{border:none;background:none;color:#2563eb;cursor:pointer;font-size:13px;padding:4px 0;text-align:left}.btn-link:hover{text-decoration:underline;background:none}.form-notice{color:#16a34a;font-size:13px;margin:4px 0}.auth-hint{color:#64748b;font-size:13px;line-height:1.4;margin:2px 0 4px}@media (max-width: 420px){.auth-form{width:100%;max-width:320px}.login-screen>p{max-width:320px}}.auth-alt-options{display:flex;gap:8px;margin-top:4px}.demo-mode-box{margin-top:18px;padding-top:14px;border-top:1px dashed #cbd5e1;text-align:center}.btn-demo{background:#f0fdf4;border-color:#16a34a;color:#15803d;font-weight:600}.btn-demo:hover{background:#dcfce7}.demo-mode-hint{font-size:12px;color:#64748b;margin:8px 0 0}.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e2e8f0}.admin-user-email{font-size:12px;color:#64748b}.admin-user-actions{display:flex;gap:6px;flex:none}.role-permission-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:#334155;white-space:nowrap}.btn{padding:8px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;font-size:14px;text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.btn:hover{background:#f8fafc}.btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-danger-outline{border-color:#ef4444;color:#ef4444}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:var(--demo-banner-h, 0px);z-index:10}.demo-mode-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;padding:8px 16px;background:#fef3c7;border-bottom:1px solid #f59e0b;color:#92400e;font-size:13px;font-weight:600;position:sticky;top:0;z-index:11}.btn-demo-exit{background:#fff;border-color:#92400e;color:#92400e;font-weight:600}.btn-demo-exit:hover{background:#fffbeb}.demo-persona-picker{display:flex;align-items:center;gap:7px;font-size:12px}.demo-persona-picker select{min-width:210px;padding:7px 9px;border:1px solid #d97706;border-radius:8px;background:#fff;color:#78350f;font:inherit}.btn-demo-save{background:#92400e;border-color:#92400e;color:#fff;font-weight:600}.btn-demo-save:hover{background:#78350f}.app-header h1{font-size:1.25rem;margin:0}.app-header-title{display:flex;align-items:center;gap:24px;min-width:0;flex:1 1 auto}.app-header-title h1{flex:none}.header-brand{display:flex;flex-direction:column;min-width:0}.header-brand h1{white-space:nowrap}.brand-logo{width:24px;height:24px;vertical-align:-4px;margin-right:6px}.header-brand span{margin-top:3px;margin-left:30px;max-width:253px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.75rem}.header-identity{position:relative;min-width:0;max-width:min(34vw,440px);display:flex;flex-direction:column;justify-content:center;line-height:1.18}.header-identity:hover:after,.header-identity:focus-visible:after{content:attr(data-full-text);position:absolute;top:calc(100% + 8px);left:0;width:max-content;max-width:min(420px,calc(100vw - 24px));padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e293b;box-shadow:0 8px 24px #0f172a24;font-size:.78rem;font-weight:500;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;z-index:30}.header-identity:focus-visible{outline:2px solid #2563eb;outline-offset:3px;border-radius:3px}.header-identity-primary,.header-identity-secondary{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-identity-primary{color:#334155;font-size:.92rem;font-weight:600}.header-identity-status{color:#64748b;font-weight:500}.header-identity-secondary{margin-top:3px;color:#64748b;font-size:.75rem;text-align:center}.header-owner-identity{padding-left:9px;border-left:2px solid #cbd5e1}.header-owner-identity .header-identity-secondary{color:#7c3aed;font-weight:600}.header-actions{display:flex;align-items:center;gap:10px}.header-actions>.btn,.header-actions>.week-select{height:35px}.feedback-modal textarea{width:100%;resize:vertical;margin-top:6px}.feedback-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;color:#64748b;font-size:.82rem}.feedback-close-btn,.feedback-submit-btn{flex:1 1 0}.feedback-compose-note{flex:none;text-align:center}.feedback-list{margin-top:22px;border-top:1px solid #e2e8f0;padding-top:14px}.feedback-entry{padding:12px 0;border-bottom:1px solid #e2e8f0}.feedback-entry>div{display:flex;justify-content:space-between;gap:12px}.feedback-entry time{color:#64748b;font-size:.78rem}.feedback-entry p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 720px){.admin-user-row{align-items:stretch;flex-direction:column}.admin-user-actions{flex-wrap:wrap;width:100%}.admin-user-actions select{flex:1 1 100%}.feedback-entry>div{flex-direction:column;gap:3px}}.btn-requests-alert{background:#fee2e2;border-color:#dc2626;color:#991b1b;animation:requests-blink 1.2s ease-in-out infinite}@keyframes requests-blink{0%,to{opacity:1}50%{opacity:.55}}.week-select{padding:0 10px;height:35px;box-sizing:border-box;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:14px;color:inherit}main{padding:8px 20px 60px}.platform-owner-main{width:100%;max-width:860px;min-width:0;margin:24px auto;display:grid;gap:18px}.platform-owner-main h2{margin:0}.platform-owner-main .invite-copy-row{max-width:760px}.platform-section{display:grid;gap:12px;min-width:0}.platform-section+.platform-section{border-top:1px solid #cbd5e1;padding-top:22px}.platform-feedback-list{display:grid;gap:8px;align-items:start}.platform-feedback-entry{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #f59e0b;border-radius:9px;padding:9px 10px;min-width:0;height:max-content}.platform-feedback-entry.state-read{border-left-color:#64748b}.platform-feedback-entry.state-resolved{border-left-color:#16a34a;opacity:.8}.platform-feedback-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px}.platform-feedback-meta time{margin-left:auto;color:#64748b;font-size:.78rem}.platform-feedback-entry p{margin:7px 0;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.platform-feedback-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}.platform-feedback-actions .btn{min-height:30px;padding:4px 9px}.platform-load-more{justify-self:start}.btn-message-inbox{position:relative}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:6px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700}.platform-inbox-modal{width:min(440px,94vw);max-height:88vh;overflow:auto}.platform-inbox-heading,.platform-inbox-filters{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.platform-feedback-entry.is-unread{border-left-color:#2563eb;background:#eff6ff}@media (max-width: 520px){.platform-inbox-modal{width:94vw;padding:12px}.platform-feedback-meta{align-items:flex-start;gap:3px 8px}.platform-feedback-meta time{width:100%;margin-left:0}.platform-feedback-actions{flex-wrap:wrap}}.settings-modal{width:min(760px,92vw);max-width:none}.settings-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.settings-copy{display:grid;gap:4px;min-width:0}.settings-copy strong,.settings-copy small{overflow-wrap:anywhere;white-space:normal}.settings-section{min-width:0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.settings-section h4{margin:0 0 4px;font-size:14px;color:#334155}.settings-list{display:grid;gap:0}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid #e2e8f0;cursor:pointer}.modal .settings-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center}.settings-row:last-child{border-bottom:0}.settings-copy{display:grid;gap:4px}.settings-copy small{color:#64748b;line-height:1.35}.settings-row input{width:42px;height:22px;grid-column:2;grid-row:1;justify-self:end;accent-color:#2563eb}@media (max-width: 700px){.settings-sections{grid-template-columns:1fr;gap:10px}.settings-section .settings-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center}.settings-row input{grid-column:2;grid-row:1;justify-self:end}}.platform-owner-table-wrap{width:100%;max-width:100%;overflow-x:auto}.platform-owner-table-wrap .roles-table{min-width:460px}.board-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;min-width:0}.board-title-text{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.board-title-dates{white-space:nowrap}.board-title-actions{display:inline-flex;flex:none;gap:4px}.board-week-nav{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;cursor:pointer;font-size:24px;line-height:1}.board-week-nav:hover{background:#f8fafc}.board-week-nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.board-week-nav:disabled{opacity:.55;cursor:wait}.read-only-badge{display:inline-block;margin-left:12px;padding:2px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:12px;font-weight:500;vertical-align:middle}.board-grid{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:6px;align-items:start}.weekend-column{display:flex;flex-direction:column;gap:6px}.day-column{background:#e2e8f0;border-radius:10px;display:flex;flex-direction:column;min-height:400px}.day-column-compact{min-height:190px}.day-column-header{padding:3px 12px;align-items:center;font-weight:600;display:flex;justify-content:space-between;border-bottom:1px solid #cbd5e1;border-radius:10px 10px 0 0}.day-date{color:#64748b;font-weight:400}.day-column-today{background:#bfdbfe}.day-column-today .day-column-header{background:#93c5fd}.day-column-today .day-date{color:#1d4ed8;font-weight:600}.day-column-body{flex:1;padding:5px;display:flex;flex-direction:column;gap:5px;transition:background .15s;border-radius:0 0 10px 10px}.day-column-body.drop-target{background:#dbeafe}@media (min-width: 951px),(min-width: 801px) and (min-height: 501px),(min-width: 801px) and (orientation: portrait){.board-title{position:sticky;top:var(--app-header-h, 60px);z-index:9;background:#f1f5f9;padding-top:8px}.board-scroll-area{height:calc(100vh - var(--app-header-h, 60px) - var(--board-title-h, 54px));overflow-y:auto;overflow-x:auto}.day-column-header{position:sticky;top:0;z-index:2;background:transparent;--day-header-bg: #e2e8f0}.day-column-header:before,.day-column-header:after{content:"";position:absolute;z-index:-1;pointer-events:none}.day-column-header:before{left:0;right:0;top:0;height:10px;background:#f1f5f9}.day-column-header:after{top:0;right:0;bottom:0;left:0;border-radius:10px 10px 0 0;background:var(--day-header-bg)}.day-column-today .day-column-header{background:transparent;--day-header-bg: #93c5fd}}.day-free-executors{padding:8px 10px 10px;border-top:1px solid #cbd5e1}.day-free-executors-label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin-bottom:5px}.day-free-executors-list{display:flex;flex-wrap:wrap;gap:4px}.free-executor-chip{font-size:11px;line-height:1;padding:3px 6px;border-radius:5px;display:flex;align-items:center;gap:4px;white-space:nowrap}.day-free-executors-empty{font-size:12px;color:#94a3b8;font-style:italic}.day-status-blocks{border-top:1px solid #cbd5e1;padding:4px 10px;display:flex;flex-direction:column;gap:2px}.day-status-block{display:flex;align-items:center;gap:6px;min-height:22px}.day-status-block-label{flex:none;white-space:nowrap;font-size:9px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.01em;line-height:1.2}.day-status-add-btn{flex:none;width:18px;height:18px;line-height:1;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:13px;cursor:pointer;padding:0}.day-status-add-btn:hover{background:#f1f5f9}.day-status-block-list{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.day-status-block-empty{font-size:12px;color:#cbd5e1}.status-chip{font-size:11px;line-height:1;padding:3px 4px 3px 6px;border-radius:5px}.status-chip-remove{border:none;background:none;color:#94a3b8;cursor:pointer;font-size:13px;line-height:1;padding:0 0 0 2px}.status-chip-remove:hover{color:#dc2626}.object-card{background:#fff;border-radius:8px;border:2px solid #64748b;overflow:hidden;transition:box-shadow .15s}.object-card.drop-target{outline:2px dashed #2563eb;outline-offset:2px}.object-card-header{padding:2px 10px;min-height:18px;color:#fff;font-weight:600;display:flex;align-items:center;gap:8px}.drag-dots{opacity:.7;font-size:10px;line-height:1}.object-name{cursor:text;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-card-creator{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;background:#ffffff40;border-radius:10px;padding:2px 8px}.object-card-control-label{flex:none;font-size:10px;line-height:1.1;padding:1px 5px;border-radius:4px;background:#ffffff47;white-space:nowrap}.object-card-delete-btn{flex:none;width:16px;height:16px;line-height:1;border:none;border-radius:50%;background:#ffffff40;color:#fff;cursor:pointer;font-size:10px;padding:0;display:flex;align-items:center;justify-content:center}.object-card-delete-btn:hover{background:#ffffff73}.delete-confirm-popover{z-index:1002;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:10px 12px;width:220px;max-width:calc(100vw - 16px)}.delete-confirm-label{display:block;font-size:13px;color:#1e293b;margin-bottom:8px}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.rename-popover{z-index:1003;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:10px 12px;width:260px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;gap:8px}.rename-popover-label{font-size:12px;color:#64748b}.rename-popover-input{font:inherit;font-size:14px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;width:100%;box-sizing:border-box}.rename-popover-actions{display:flex;justify-content:flex-end;gap:8px}.toast-host{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:calc(100vw - 32px)}.toast-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:10px 12px;width:320px;max-width:100%}.toast-item-message{flex:1;font-size:13px;color:#1e293b}.toast-item-close{flex:none;border:none;background:none;color:#94a3b8;cursor:pointer;font-size:13px;line-height:1;padding:2px}.toast-item-close:hover{color:#475569}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.toast-host{top:8px;right:8px;left:8px}.toast-item{width:100%}}.object-name-input{flex:1;min-width:0;font:inherit;font-weight:600;color:#1e293b;background:#fff;border:1px solid #fff;border-radius:4px;padding:2px 6px}.object-card-body{padding:8px;display:flex;flex-direction:column;gap:6px}.object-card-body.drop-target{background:#eff6ff}.work-row{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border-radius:6px;padding:6px;border:1px solid #e2e8f0}.work-row.drop-target{border-color:#2563eb;background:#eff6ff}.work-row.dragging{opacity:.4}.work-row.work-row-approved{border-color:#16a34a}.work-row.work-row-rejected{background:#fca5a5;border-color:#dc2626}@keyframes work-row-focus-pulse{0%,to{outline-color:#1d4ed8;box-shadow:0 0 0 4px #2563eb47,0 0 18px #2563eb73}50%{outline-color:#93c5fd;box-shadow:0 0 0 1px #2563eb14,0 0 2px #2563eb1f}}.work-row.work-row-focused{outline:4px solid #1d4ed8;outline-offset:2px;animation:work-row-focus-pulse .8s ease-in-out 6}@media (prefers-reduced-motion: reduce){.work-row.work-row-focused{animation:none;outline-color:#1e40af;box-shadow:0 0 0 4px #1e40af4d}}.work-row-control{background:color-mix(in srgb,var(--control-color, #f8dddd) 72%,#fff);border-color:color-mix(in srgb,var(--control-color, #f8dddd) 55%,#64748b);box-shadow:inset 4px 0 var(--control-color, #f8dddd)}.work-row-control .work-text-chip{background:#ffffffb8;font-weight:400;font-style:italic}.work-row-main{display:flex;align-items:flex-start;gap:6px}.work-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;container-type:inline-size}.work-field-meta{display:grid;grid-template-columns:fit-content(40%) minmax(0,1fr) max-content;align-items:start;gap:3px;width:100%}.work-field-meta>.work-type-picker-row{display:flex;align-items:center;min-height:22px}.work-field-meta>.work-author-caption{align-self:start}.work-field-meta>.work-approval-slot{align-self:center}.work-field-meta-no-type{grid-template-columns:minmax(0,1fr) max-content}.work-field-meta-no-type .work-approval-slot{grid-column:2}.work-approval-slot{grid-column:3;display:flex;justify-content:flex-end;min-width:0}.work-author-caption{display:inline-flex;align-items:center;min-width:0;overflow-wrap:anywhere;font-size:11px;line-height:16px;padding:2px 3px;border-radius:4px;border:1px solid transparent;color:#64748b}button.work-author-button{background:none;font-family:inherit;text-align:left;cursor:pointer;text-decoration:none}button.work-author-button:hover,button.work-author-button:focus-visible{border-color:currentColor}@media (pointer: coarse){.object-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.object-card input,.object-card textarea,.object-card select{-webkit-user-select:text;user-select:text}}@container (max-width: 240px){.work-field-meta{grid-template-columns:minmax(0,1fr)}.work-author-caption{grid-column:1;grid-row:2}.work-approval-slot{grid-column:1;grid-row:3}.work-field-meta-no-type .work-author-caption{grid-row:1}.work-field-meta-no-type .work-approval-slot{grid-column:1;grid-row:2}}.work-approval-badge{flex:none;display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:16px;padding:2px 6px;border-radius:4px;border:1px solid transparent;white-space:nowrap;justify-self:end}.work-approval-badge-btn{border:1px solid transparent;cursor:pointer;font-family:inherit}.work-approval-badge-btn:hover{filter:brightness(.92)}.approval-menu-popover{z-index:1002;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:6px;width:190px;display:flex;flex-direction:column;gap:2px}.approval-menu-option{display:flex;align-items:center;gap:8px;text-align:left;background:none;border:none;border-radius:5px;padding:6px 8px;font-size:13px;color:#1e293b;cursor:pointer}.approval-menu-option:hover:not(:disabled){background:#f1f5f9}.approval-menu-option:disabled{color:#94a3b8;cursor:default;font-weight:600}.approval-menu-dot{width:9px;height:9px;border-radius:50%;flex:none}.row-handle{color:#94a3b8;font-size:11px}.work-text-chip{flex:1;font-size:13px;padding:3px 6px;border-radius:4px;cursor:pointer;background:#fff;border:1px dashed #cbd5e1;min-width:0;overflow-wrap:anywhere}.work-text-input{flex:1;min-width:0;font-size:13px;padding:3px 6px;border-radius:4px;border:1px solid #2563eb}.work-row-executors-line{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.work-row-executors{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.work-comments{position:relative;flex-shrink:0}.work-comments-trigger{display:flex;align-items:center;justify-content:center;gap:3px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:5px;padding:3px 5px}.work-comments-trigger:hover{background:#f1f5f9;color:#64748b}.work-comments-trigger-active{color:#fff;background:#2563eb}.work-comments-trigger-active:hover{background:#1d4ed8;color:#fff}.work-comments-badge{font-size:11px;line-height:1;font-weight:600}.work-comments-popover{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;z-index:1002}.work-comments-list{overflow-y:auto;max-height:220px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.work-comments-empty{color:#94a3b8;font-size:13px;padding:4px 0}.work-comment{border-bottom:1px solid #f1f5f9;padding-bottom:6px}.work-comment:last-child{border-bottom:none;padding-bottom:0}.work-comment-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#94a3b8;margin-bottom:2px}.work-comment-author{font-weight:600;color:#475569}.work-comment-text{font-size:13px;color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere}.work-comments-form{display:flex;flex-direction:column;gap:6px}.work-comments-form textarea{resize:vertical;font:inherit;font-size:13px;padding:6px 8px;border-radius:6px;border:1px solid #cbd5e1;min-height:44px}.work-note{position:relative;flex-shrink:0}.work-note-trigger{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:5px;padding:3px 5px}.work-note-trigger:hover{background:#f1f5f9;color:#64748b}.work-note-trigger-active{background:#facc15;color:#713f12}.work-note-trigger-active:hover{background:#eab308;color:#713f12}.work-note-popover{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;gap:8px;z-index:1002;box-sizing:border-box}.work-note-title{font-size:12px;font-weight:600;color:#475569}.work-note-text{font-size:13px;color:#1e293b;white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto;max-height:220px}.work-note-empty{color:#94a3b8}.work-note-form{display:flex;flex-direction:column;gap:6px}.work-note-form textarea{resize:vertical;font:inherit;font-size:13px;padding:6px 8px;border-radius:6px;border:1px solid #cbd5e1;min-height:72px}.work-note-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.work-comments-form-actions{display:flex;justify-content:flex-end;gap:6px}.work-comments-trigger.work-comments-trigger-mention-seen,.work-comments-trigger.work-comments-trigger-mention-unseen{background:#dc2626;color:#fff}.work-comments-trigger.work-comments-trigger-mention-seen:hover,.work-comments-trigger.work-comments-trigger-mention-unseen:hover{background:#b91c1c;color:#fff}.work-comments-trigger-mention-unseen{animation:work-mention-blink 1s ease-in-out infinite}@keyframes work-mention-blink{0%,to{background:#dc2626}50%{background:#fecaca;color:#991b1b}}@media (prefers-reduced-motion: reduce){.work-comments-trigger-mention-unseen{animation:none;outline:2px solid #fecaca}}.work-comment-mention-wrap{position:relative;display:flex;flex-direction:column}.work-comment-mention-wrap textarea{width:100%;box-sizing:border-box}.work-comment-mention-list{position:absolute;left:0;right:0;bottom:calc(100% + 4px);background:#fff;border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 6px 18px #0f172a24;display:flex;flex-direction:column;max-height:168px;overflow-y:auto;z-index:2}.work-comment-mention-option{border:none;background:transparent;text-align:left;font:inherit;font-size:13px;padding:6px 8px;cursor:pointer;color:#1e293b}.work-comment-mention-option:hover,.work-comment-mention-option:focus-visible{background:#eff6ff}.work-comment-mention{color:#1d4ed8;font-weight:600}.work-comment-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.work-comment-action-link{background:none;border:none;padding:0;font-size:11px;color:#64748b;cursor:pointer}.work-comment-action-link:hover{color:#2563eb;text-decoration:underline}.work-comment-action-danger{color:#dc2626}.work-comment-action-danger:hover{color:#b91c1c}.work-comment-confirm-label{font-size:11px;color:#64748b}.work-comment-edit-input{width:100%;resize:vertical;font:inherit;font-size:13px;padding:6px 8px;border-radius:6px;border:1px solid #cbd5e1;min-height:40px;margin:2px 0 4px}.work-comment-actions .btn{padding:3px 10px;font-size:12px}.executor-chip{font-size:11px;line-height:1;padding:3px 6px;border-radius:5px;display:flex;align-items:center;gap:4px;white-space:nowrap}.add-executor-btn{border:1px dashed #cbd5e1;background:transparent;border-radius:12px;width:22px;height:22px;line-height:1;color:#64748b;cursor:pointer;font-size:13px}.add-executor-btn:hover{background:#f1f5f9}.add-executor-btn-empty{width:auto;height:auto;padding:3px 8px;border-radius:12px;font-size:12px;white-space:nowrap}.work-row-approval{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.status-badge{font-size:11px;padding:2px 6px;border-radius:10px;background:#e2e8f0;color:#475569}.status-badge.status-approved{background:#dcfce7;color:#166534}.status-badge.status-rejected{background:#fee2e2;color:#991b1b}.status-badge.status-needs-estimate{background:#fef3c7;color:#92400e}.status-badge.status-pending{background:#fef9c3;color:#854d0e}.status-badge.status-reapproval{background:#ffedd5;color:#9a3412}.status-badge.status-customer{background:#fef08a;color:#713f12;box-shadow:inset 0 0 0 1px #ca8a04}.btn-reset-status.btn-customer-status{background:#fde047;color:#713f12;border-color:#a16207;font-weight:700}.btn-reset-status.btn-customer-status:hover{filter:brightness(.94)}@keyframes status-blink-yellow-kf{0%,to{background-color:#eab308;color:#422006}50%{background-color:#fef9c3;color:#713f12}}.status-blink-yellow{animation:status-blink-yellow-kf 1s ease-in-out infinite}@keyframes status-blink-orange-kf{0%,to{background-color:#f97316}50%{background-color:#ffedd5}}.status-blink-orange{animation:status-blink-orange-kf 1s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.status-blink-yellow{animation:none;background-color:#eab308!important;color:#422006!important}}.btn-approve,.btn-reject,.btn-reset-status{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:2px 6px;font-size:11px;cursor:pointer}.btn-approve:hover{border-color:#16a34a;color:#16a34a}.btn-reject:hover{border-color:#dc2626;color:#dc2626}.btn-approve:disabled,.btn-reject:disabled{opacity:.4;cursor:default}.btn-reset-status{padding:2px 5px}.chip-clear{background:transparent;border:none;color:inherit;cursor:pointer;font-size:12px;line-height:1;padding:0;opacity:.8}.chip-clear:hover{opacity:1}.add-row-btn,.add-card-btn{border:1px dashed #cbd5e1;background:transparent;border-radius:6px;padding:6px;color:#64748b;cursor:pointer;font-size:12px}.add-row-btn:hover,.add-card-btn:hover{background:#f1f5f9}.add-card-split{display:flex;gap:0}.add-card-split .add-card-btn{flex:1 1 0;min-width:0;white-space:nowrap}.add-card-split .add-card-btn-work{border-radius:6px 0 0 6px;border-right-style:solid}.add-card-split .add-card-btn-control{border-radius:0 6px 6px 0;border-left:0}.context-menu{position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:4px;min-width:220px;z-index:1000;max-height:70vh;overflow-y:auto}.context-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:8px 10px;cursor:pointer;font-size:13px;border-radius:6px}.context-menu-item:hover{background:#f1f5f9}.context-menu-divider{height:1px;background:#e2e8f0;margin:4px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:center;justify-content:center;z-index:1001}.modal{position:relative;background:#fff;border-radius:10px;padding:20px;min-width:320px;max-width:90vw;max-height:80vh;overflow-y:auto;box-sizing:border-box}.modal-wide{min-width:480px;width:640px}.resize-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.resize-handle{position:absolute;pointer-events:auto}.resize-handle-n,.resize-handle-s{left:8px;right:8px;height:8px;cursor:ns-resize}.resize-handle-e,.resize-handle-w{top:8px;bottom:8px;width:8px;cursor:ew-resize}.resize-handle-n{top:-4px}.resize-handle-s{bottom:-4px}.resize-handle-e{right:-4px}.resize-handle-w{left:-4px}.resize-handle-ne,.resize-handle-nw,.resize-handle-se,.resize-handle-sw{width:14px;height:14px}.resize-handle-ne{top:-4px;right:-4px;cursor:nesw-resize}.resize-handle-nw{top:-4px;left:-4px;cursor:nwse-resize}.resize-handle-se{bottom:-4px;right:-4px;cursor:nwse-resize}.resize-handle-sw{bottom:-4px;left:-4px;cursor:nesw-resize}@media (hover: none),(pointer: coarse){.resize-handles{display:none}}.modal-resizable{display:flex;flex-direction:column;overflow:hidden}.modal-resizable>form,.modal-resizable>.modal-resizable-body{min-height:0;overflow-y:auto;flex:1 1 auto}.modal h3{margin-top:0}.modal label{display:block;margin-bottom:12px;font-size:13px;color:#475569}.modal input:not([type=checkbox]):not([type=radio]):not([type=color]),.modal select{width:100%;padding:8px;margin-top:4px;border-radius:6px;border:1px solid #cbd5e1;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.modal .work-note-field textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:8px;border-radius:6px;border:1px solid #cbd5e1;font:inherit;font-size:14px;resize:vertical;min-height:64px}.modal .work-note-field textarea[readonly]{background:#f8fafc;color:#64748b}.modal-col-create>.work-note-field{flex-basis:100%}.modal-actions-left{justify-content:flex-start}.modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:start}.modal-col{min-width:0}.modal-col-create{display:flex;flex-wrap:wrap;gap:0 20px;align-content:flex-start}.modal-col-create>*{flex:1 1 260px;min-width:220px}.modal-actions-full{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px}@media (max-width: 720px){.modal-columns{grid-template-columns:1fr;gap:0}.modal-wide{width:90vw}}.form-conflict{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px}.form-success{color:#16a34a;font-size:13px;margin:4px 0 10px}.pick-check-item-conflict{border-color:#dc2626;background:#fef2f2}.pick-check-item-partial{border-color:#e2e8f0;background:#f8fafc}.pick-check-item-partial .pick-name{color:#94a3b8}.pick-check-partial-hint{margin-left:auto;font-size:11px;color:#64748b;white-space:nowrap}.executor-hours-form{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.executor-hours-row{display:flex;flex-direction:column;gap:3px}.executor-hours-label{font-size:11px;line-height:1.3;color:#475569}.executor-hours-row input{width:100%;box-sizing:border-box;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.roles-modal{width:min(780px,94vw);max-width:none}.roles-modal h3{margin-bottom:8px}.roles-invites{margin-bottom:14px}.roles-invites h4{margin:0 0 6px}.roles-invites .btn{margin-bottom:8px}.roles-table-wrap{max-height:60vh;overflow:auto;border:1px solid #e2e8f0;border-radius:6px}.roles-table{border-collapse:collapse;width:100%;font-size:13px}.roles-table th,.roles-table td{padding:7px 8px;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}.roles-table thead th{background:#f8fafc;position:sticky;top:0;z-index:1}.roles-table-sticky{position:sticky;left:0;background:#fff;z-index:2}.roles-table thead .roles-table-sticky{z-index:3}.roles-table th.roles-table-perm-head{width:110px;max-width:110px;white-space:normal;font-weight:600;color:#475569;font-size:12px;line-height:1.3;text-align:center}.roles-table-perm-cell{text-align:center}.roles-table-perm-cell input[type=checkbox]{width:22px;height:22px;cursor:pointer}.roles-table-input{width:170px!important;padding:6px;border-radius:6px;border:1px solid #cbd5e1;font-size:13px}.roles-name-edit{display:flex;flex-direction:column;gap:4px;margin-bottom:2px}.roles-name-input{width:170px!important;font-weight:600}.roles-admin-badge{display:inline-block;margin-top:2px;font-size:11px;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.03em}.roles-owner-badge{display:inline-block;margin-top:2px;font-size:11px;font-weight:700;color:#fff;background:#7c3aed;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.roles-owner-status{display:inline-block;padding:6px;font-weight:600;color:#7c3aed}.roles-delete-btn{padding:5px 10px;font-size:12px;white-space:nowrap}.roles-legend{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:4px 24px}.roles-legend-item{font-size:12px;color:#475569;flex:1 1 260px;min-width:220px}.roles-legend-item strong{color:#1e293b}.gpr-page{padding:16px 0 0;min-height:calc(100vh - var(--app-header-h, 60px));display:flex;flex-direction:column}.gpr-header{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:14px}.gpr-title{margin:0}.gpr-month-nav{display:flex;align-items:center;gap:8px}.gpr-month-label{font-weight:600;min-width:150px;text-align:center}.gpr-table-wrap{--gpr-num-w: 28px;--gpr-name-w: 564px;--gpr-day-w: 27px;height:calc(100vh - var(--app-header-h, 60px) - 74px);min-height:360px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.gpr-grid{display:grid;grid-template-columns:var(--gpr-columns);width:100%;min-width:1402px;align-items:stretch}.gpr-calendar-head{position:sticky;top:0;z-index:8;background:#f8fafc;border-bottom:1px solid #cbd5e1}.gpr-head-label{display:flex;align-items:center;justify-content:center;gap:4px;padding:3px 2px;min-height:30px;background:#e8eef5;color:#334155;font-size:9px;line-height:1.05;font-weight:700;overflow-wrap:anywhere}.gpr-col-num{display:flex;align-items:center;justify-content:center;position:sticky;left:0;z-index:2;background:#fff;text-align:center}.gpr-col-name{display:flex;align-items:center;position:sticky;left:var(--gpr-num-w);z-index:2;width:var(--gpr-name-w);padding:4px 10px;background:#fff;line-height:1.25;white-space:normal;overflow-wrap:break-word;word-break:normal}.gpr-calendar-head .gpr-col-num,.gpr-calendar-head .gpr-col-name{z-index:7;background:#e8eef5}.gpr-calendar-head .gpr-col-num,.gpr-calendar-head .gpr-col-name{font-size:13px}.gpr-calendar-head .gpr-col-num{white-space:normal}.gpr-name-head-text{flex:1;text-align:center;line-height:1.05}.gpr-col-day{min-width:0;text-align:center;padding:2px 1px}.gpr-day-weekday{font-size:14px;color:#64748b;font-weight:600}.gpr-day-num{font-size:18px;font-weight:600}.gpr-day-off{background:#fff0f0;color:#a33a3a}.gpr-day-off .gpr-day-weekday{color:#b45353}.gpr-week-start{border-left:0}.gpr-today{background:#bfdbfe;box-shadow:inset 1px 0 #93c5fd,inset -1px 0 #93c5fd}.gpr-calendar-head .gpr-today{background:#93c5fd;color:#1d4ed8}.gpr-day-off.gpr-today{background:color-mix(in srgb,#bfdbfe 72%,#fff0f0)}.gpr-object-block{width:100%;min-width:1402px;margin:0 0 10px;border:0;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--object-color) 32%,#dbe3ec),0 1px 2px #0f172a0d}.gpr-object-heading{box-sizing:border-box;width:100%;margin:0;padding:0;border-radius:9px 9px 0 0;font-size:14px;font-weight:700}.gpr-object-heading-text{display:block;position:sticky;left:0;z-index:4;width:fit-content;max-width:420px;padding:3px 10px}.gpr-row{min-height:0;font-size:13px;border-top:1px solid #edf1f5}.gpr-free-workers-row{position:sticky;bottom:0;z-index:5;min-width:1402px;border-top:2px solid #94a3b8;background:#f1f5f9;font-size:13px;font-weight:700}.gpr-free-workers-row>*{display:flex;align-items:center;justify-content:center;min-height:36px;border-right:1px solid #e2e8f0}.gpr-free-workers-row .gpr-col-name{justify-content:flex-start}.gpr-free-workers-row .gpr-col-num,.gpr-free-workers-row .gpr-col-name{background:#f1f5f9;z-index:6}.gpr-free-workers-count{display:flex;width:calc(100% - 4px);height:calc(100% - 6px);min-height:22px;padding:0;border:0;align-items:center;justify-content:center;border-radius:6px;background:#e2e8f0;color:#1e293b;font:inherit;font-weight:700;cursor:pointer}.gpr-free-workers-count:hover,.gpr-free-workers-count:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.gpr-free-workers-modal{width:300px;max-width:94vw}.gpr-free-workers-title{margin:0 0 8px;font-size:14px}.gpr-free-workers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:40vh;overflow-y:auto}.gpr-free-workers-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;background:#f8fafc;color:#1e293b;font-size:13px}.gpr-free-workers-item .swatch{width:12px;height:12px;border-radius:3px;flex:none}.gpr-object-block .gpr-row>.gpr-col-num{border-left:1px solid color-mix(in srgb,var(--object-color) 42%,#cbd5e1)}.gpr-object-block .gpr-row>.gpr-col-name{border-right:1px solid color-mix(in srgb,var(--object-color) 30%,#dbe3ec)}.gpr-object-block .gpr-row:last-child>*{border-bottom:1px solid color-mix(in srgb,var(--object-color) 32%,#dbe3ec)}.gpr-object-block .gpr-row:last-child>.gpr-col-num{border-left:1px solid color-mix(in srgb,var(--object-color) 32%,#dbe3ec);border-bottom-left-radius:9px}.gpr-object-block .gpr-row:last-child>.gpr-col-day:last-child{border-right:1px solid color-mix(in srgb,var(--object-color) 32%,#dbe3ec);border-bottom-right-radius:9px}.gpr-cell-empty{min-height:25px}.gpr-cell-filled,.gpr-cell-empty{display:flex;align-items:center;justify-content:center}.gpr-worker-day{display:flex;width:calc(100% - 4px);min-height:19px;height:calc(100% - 6px);padding:0;border:0;align-items:center;justify-content:center;border-radius:6px;color:#fff;font-size:10px;font-weight:700;box-shadow:inset 0 0 0 1px #ffffff59;cursor:pointer}.gpr-worker-day-approved{background:var(--gpr-badge-color)}.gpr-worker-day-unapproved{background:color-mix(in srgb,var(--gpr-badge-color) 24%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gpr-badge-color) 38%,#cbd5e1)}.gpr-worker-day:hover,.gpr-worker-day:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.gpr-worker-day-zero.gpr-worker-day-approved{background:var(--gpr-badge-color);color:#fff}.gpr-worker-day-zero.gpr-worker-day-unapproved{background:color-mix(in srgb,var(--gpr-badge-color) 16%,#fff);color:#475569}.gpr-worker-day-count-hidden:after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.gpr-worker-day-external{padding:1px 2px;font-size:8px;font-weight:600;line-height:1.05;overflow:hidden;text-overflow:ellipsis;word-break:break-word;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;align-content:center}.gpr-cell-modal{width:460px}.gpr-cell-empty-state{color:#64748b;font-size:13px}.gpr-cell-prompt{margin-bottom:8px;color:#475569;font-size:13px}.gpr-card-selector{display:flex;flex-direction:column;gap:6px}.gpr-card-selector-item{display:flex;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#1e293b;text-align:left;cursor:pointer}.gpr-card-selector-item:hover{background:#eff6ff;border-color:#93c5fd}.gpr-card-selector-item strong{white-space:nowrap;color:#475569}.gpr-card-preview{margin-top:10px}.gpr-executor-marker{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.gpr-approval-status{display:inline-flex;align-items:center;width:fit-content;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.gpr-approval-status-approved{background:#dcfce7;color:#166534}.gpr-approval-status-pending{background:#fef9c3;color:#854d0e}.gpr-approval-status-reapproval{background:#ffedd5;color:#9a3412}.gpr-approval-status-rejected{background:#fee2e2;color:#991b1b}.gpr-approval-status-needs_estimate{background:#fef3c7;color:#92400e}.gpr-approval-status-customer{background:#fef08a;color:#713f12;box-shadow:inset 0 0 0 1px #ca8a04}.gpr-work-label{font-size:13px;line-height:1.2;overflow-wrap:break-word;word-break:normal}.control-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.control-card-title-row h3{margin:0}.control-color-row{display:grid;grid-template-columns:repeat(12,20px);gap:2px;padding:5px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;overflow-x:auto}.help-modal{width:min(760px,94vw)}.help-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.help-heading h3{margin:0}.help-content{overflow-wrap:anywhere}.help-content h4{margin:14px 0 4px}.help-content p{margin:0 0 8px;line-height:1.45;color:#475569}.help-content ul{margin:4px 0 10px;padding-left:22px;color:#475569}.help-editor{display:grid;gap:8px;margin-top:12px}.help-editor textarea{width:100%;min-height:320px;resize:vertical;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:13px/1.45 monospace}.help-editor-meta{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:12px}.help-actions{flex-wrap:wrap}.week-calendar{min-width:280px}.week-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.week-calendar-title{font-weight:600}.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;border-radius:6px;cursor:pointer}.week-row-labels{cursor:default;margin-bottom:4px}.week-row:hover .day-cell:not(.day-cell-label){background:#dbeafe}.week-row-current .day-cell:not(.day-cell-label){background:#eff6ff;border-color:#93c5fd}.week-row-current:hover .day-cell:not(.day-cell-label){background:#bfdbfe}.day-cell{border:1px solid transparent;background:none;padding:6px 0;text-align:center;font-size:13px;border-radius:4px;cursor:pointer}.day-cell-label{color:#64748b;font-weight:600;cursor:default}.day-cell-outside{color:#94a3b8}.day-cell-today{font-weight:700;box-shadow:inset 0 0 0 2px #2563eb}.day-cell-selected{background:#2563eb;color:#fff;font-weight:700}.day-cell-selected:hover{background:#1d4ed8}.multi-date-picker{min-width:280px}.multi-date-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}.multi-date-row-labels{margin-bottom:4px}.form-error{color:#dc2626;font-size:13px;margin:4px 0 10px}.add-executor-popover-title{font-weight:600;font-size:13px;color:#1e293b;margin-bottom:8px}.add-executor-popover-submit{margin:6px 0;width:100%}.add-executor-popover-actions{display:flex;gap:6px;margin:6px 0}.add-executor-popover-actions .add-executor-popover-submit{margin:0;flex:1}.add-executor-popover-save{flex:1}.assignee-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.assignee-picker-ok{margin-left:auto;min-width:58px}.inline-create-form{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:8px}.inline-create-form input:not([type=color]){padding:8px;border-radius:6px;border:1px solid #cbd5e1;font-size:14px}.move-executor-toggle{margin-top:8px;width:100%}.move-executor-list{max-height:320px}.move-executor-item{cursor:default;flex-wrap:wrap}.move-executor-item:hover{background:none}.move-executor-location{font-size:12px;color:#b45309;white-space:nowrap}.move-executor-free{font-size:12px;color:#16a34a;white-space:nowrap}.move-executor-btn{flex:none;padding:4px 10px;font-size:13px}.color-grid{display:grid;grid-template-columns:repeat(12,20px);gap:2px;padding:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;width:fit-content;min-width:fit-content}.color-swatch{width:20px;height:20px;border-radius:3px;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}.color-swatch.occupied{box-shadow:inset 0 2px 4px #00000073,inset 0 -1px #ffffff40}.color-swatch.selected{border:2px solid #1e293b}.color-swatch-picker{position:relative;display:inline-block}.work-type-picker-field,.field-picker{display:block;width:100%}.work-type-field-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px;margin-top:4px;border-radius:6px;border:1px solid #cbd5e1;font-size:14px;background:#fff;cursor:pointer;text-align:left}.work-type-field-trigger .swatch{flex:none}.work-type-field-text{flex:1;min-width:0;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-type-field-caret{flex:none;color:#64748b;font-size:11px}.work-type-picker-row{flex:none;max-width:100%;align-self:flex-start}.work-type-row-trigger{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;border:1px dashed #cbd5e1;background:#fff;color:#64748b;font-size:11px;line-height:16px;cursor:pointer;max-width:100%}.work-type-row-trigger .swatch{flex:none;width:10px;height:10px;border-radius:50%}.work-type-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swatch-trigger{width:28px;height:28px;border-radius:6px;border:1px solid #cbd5e1;cursor:pointer;padding:0}.color-swatch-popover{position:absolute;top:32px;left:0;z-index:50;box-shadow:0 8px 24px #00000026;border-radius:6px}.work-type-popover{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px;min-width:220px}.work-type-popover-portal{z-index:1002}.object-popover{width:280px;box-sizing:border-box}.object-popover .pick-list{max-height:none;overflow:visible}.object-popover .pick-list:last-child{margin-bottom:0}.work-entry{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;margin-bottom:12px;background:#f8fafc}.work-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.work-entry-title{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.work-entry-remove{padding:2px 6px;font-size:12px}.add-work-entry-btn{margin-bottom:12px}.picker-field{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-bottom:10px}.picker-field-compact-label{gap:2px}.picker-field-compact-label>.picker-field-label{margin-bottom:0}.picker-field-compact-label .work-type-field-trigger{margin-top:0}.picker-field-label{flex:none;font-size:13px;color:#475569;font-weight:600}.picker-field-group{display:flex;flex-direction:column;align-items:stretch;margin-bottom:10px}.picker-field-group .picker-field-label{margin-bottom:6px}.picker-field-group .picker-field{margin-bottom:8px}.picker-field-group .picker-field:last-child{margin-bottom:0}.pick-checklist{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.pick-check-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:6px;cursor:pointer;font-size:14px}.pick-check-item:hover{background:#f8fafc}.pick-check-item input[type=checkbox]{flex:none;width:16px;height:16px;margin:0}.pick-check-item .swatch{flex:none}.pick-check-item .pick-name{flex:1;min-width:0}.pick-list{list-style:none;padding:0;margin:0 0 12px;max-height:300px;overflow-y:auto}.pick-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;margin-bottom:6px;cursor:pointer;font-size:14px}.pick-item:hover{background:#f8fafc}.pick-item-selected{border-color:#2563eb;background:#eff6ff}.swatch{width:14px;height:14px;border-radius:4px;display:inline-block}.dictionaries-title{margin:4px 0 8px}.dictionaries-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dictionaries-header .dictionaries-title{margin:0}.dict-row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.dict-row-actions .btn{height:38px;box-sizing:border-box;padding:0 12px;display:inline-flex;align-items:center}.dictionaries-divider{border:none;border-top:1px solid #e2e8f0;margin:0 0 10px}.dictionaries{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.dict-table{flex:1 1 320px;max-width:420px}.dict-table-wide{flex:1 1 480px;max-width:840px}.dict-table table{width:100%;border-collapse:collapse;margin-bottom:10px}.dict-table td{padding:6px 4px}.dict-color-static{display:inline-block;width:22px;height:22px;border-radius:5px;border:1px solid rgba(15,23,42,.15);vertical-align:middle}.dict-name-static{color:#1e293b;overflow-wrap:anywhere}.dict-table td:nth-child(2){width:100%}.dict-table td.dict-row-actions{width:auto}.dict-table input[type=text],.dict-table input:not([type]){width:100%;height:38px;padding:6px;border:1px solid #e2e8f0;border-radius:6px}.dict-add-form{display:flex;gap:8px;align-items:center}.dict-add-form input:not([type=color]){flex:1;height:38px;padding:8px;border-radius:6px;border:1px solid #cbd5e1}.dict-table .swatch-trigger,.dict-add-form .swatch-trigger{width:38px;height:38px;border-radius:8px}.dict-table-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.dict-table-heading h3{margin:0}.dict-clear-btn{font-size:12px;padding:4px 10px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.app-header{padding:10px 12px;gap:8px}.app-header h1{font-size:1.05rem}.app-header-title{gap:6px;min-width:0}.header-identity{max-width:none;flex:1 1 auto;line-height:1.12}.header-identity-primary{font-size:.78rem}.header-identity-secondary{margin-top:2px;font-size:.68rem}.header-owner-identity{padding-left:6px}.mobile-header-actions{position:relative;flex:none;display:flex;align-items:center;gap:6px}.platform-owner-app .header-actions{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.mobile-primary-nav{padding:7px 10px;font-size:13px;font-weight:600;white-space:nowrap}.mobile-menu-toggle{position:relative;width:40px;height:40px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:20px;line-height:1;cursor:pointer}.mobile-menu-toggle-alert{border-color:#dc2626;animation:requests-blink 1.2s ease-in-out infinite}.mobile-menu-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.mobile-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:240px;max-width:calc(100vw - 24px);max-height:calc(100vh - 90px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #00000026;padding:8px;display:flex;flex-direction:column;gap:4px}.mobile-menu-select{width:100%;margin:0 0 2px;height:auto}.mobile-menu-item{display:block;width:100%;text-align:left;padding:9px 10px;border:none;border-radius:6px;background:none;color:#1e293b;font-size:14px;cursor:pointer}.mobile-menu-item:hover{background:#f1f5f9}main{padding:8px 10px 40px}.mobile-day-pager{display:flex;flex-direction:column;gap:8px}.mobile-date-strip{display:flex;gap:4px;padding:6px 0;position:sticky;top:var(--app-header-h, 60px);z-index:9;background:#f1f5f9}.mobile-date-chip{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer}.mobile-date-chip-day{font-size:11px;font-weight:600;text-transform:uppercase}.mobile-date-chip-date{font-size:11px}.mobile-date-chip-today{border-color:#93c5fd;color:#1d4ed8}.mobile-date-chip-active{background:#2563eb;border-color:#2563eb;color:#fff}.mobile-day-viewport .day-column{min-height:0;width:100%}.mobile-day-viewport .day-column-compact{min-height:0}.object-card-header{font-size:14px}.work-text-chip{font-size:13px}.work-field-meta,.work-author-caption,.work-type-row-name{font-size:11px}.work-approval-badge,.work-approval-badge-btn{font-size:10px;font-weight:600;line-height:1.4}.status-badge,.executor-chip{font-size:11px}.day-column-header{font-size:13px}.board-title{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin:0 0 6px;min-width:0}.board-title-text{flex:0 1 auto;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.board-week-nav{width:28px;height:28px;font-size:22px}.read-only-badge{flex:none;margin-left:0;padding:2px 8px;font-size:10px}.mobile-day-frame{overflow:hidden;transition:height .16s ease}.mobile-day-viewport{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.mobile-day-viewport::-webkit-scrollbar{display:none}.mobile-day-slide{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always}.roles-modal{min-width:0;width:96vw;max-width:96vw}.modal{padding:14px}.roles-table-wrap{max-height:65vh}.roles-table{font-size:12px}.roles-table th,.roles-table td{padding:6px}.roles-table-input{width:128px!important;font-size:12px;padding:5px}.gpr-page{padding:10px 12px}.gpr-header{gap:8px}.gpr-month-label{min-width:120px;font-size:13px}.gpr-title{font-size:18px}.gpr-table-wrap{--gpr-num-w: 28px;--gpr-name-w: 94px;--gpr-day-w: 25px;max-height:calc(100vh - var(--app-header-h, 60px) - 118px)}.gpr-grid,.gpr-object-block{min-width:897px}.gpr-col-name{padding:3px 5px;overflow-wrap:anywhere;word-break:break-word}.gpr-calendar-head .gpr-col-num,.gpr-calendar-head .gpr-col-name{font-size:9px}.gpr-object-heading,.gpr-row,.gpr-work-label{font-size:13px}.gpr-day-weekday{font-size:10px}.gpr-day-num,.gpr-free-workers-row{font-size:13px}.demo-mode-banner{align-items:stretch}.demo-persona-picker{width:100%;justify-content:center;flex-wrap:wrap}.demo-persona-picker select{min-width:0;max-width:100%}.gpr-cell-modal{width:94vw;min-width:0}.dictionaries{gap:14px}.dict-table{flex:1 1 100%;max-width:100%}.dict-table h3{font-size:14px;margin:6px 0}.dict-table td{padding:4px 3px}.dict-table input[type=text],.dict-table input:not([type]){height:32px;font-size:12px;padding:4px}.dict-table .swatch-trigger,.dict-add-form .swatch-trigger{width:30px;height:30px}.dict-row-actions{gap:4px}.dict-row-actions .btn{padding:4px 6px;font-size:11px}.dict-clear-btn{font-size:11px;padding:3px 8px}.dict-add-form{flex-wrap:wrap;gap:6px}.dict-add-form input:not([type=color]){height:32px;font-size:12px;padding:6px}.dictionaries-title{font-size:16px}.modal-wide{min-width:0;width:96vw;max-width:96vw}.modal-columns{grid-template-columns:1fr;gap:0}.context-menu{min-width:200px;max-width:calc(100vw - 16px);font-size:13px}.context-menu-item{padding:10px}}.history-page{padding:16px 0 0}.history-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px}.history-title{margin:0}.history-month-select-header{min-width:170px}.history-drive-btn:disabled{opacity:.55;cursor:not-allowed}.history-table-wrap{--gpr-num-w: 28px;--gpr-name-w: 420px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px}.history-table-wrap .gpr-grid,.history-table-wrap .gpr-object-block{min-width:0}.history-worker-head{display:flex;align-items:center;justify-content:center;padding:4px 6px;min-height:30px;background:#e8eef5;border-left:1px solid #cbd5e1;text-align:center}.history-worker-cell{display:flex;align-items:center;justify-content:center;min-width:0;text-align:center;padding:2px 4px;border-left:1px solid #edf1f5;font-size:13px}.history-worker-badge{display:inline-flex;align-items:center;max-width:100%;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-total-row{font-weight:700;background:#f8fafc;border-top:2px solid #cbd5e1}.history-total-row .history-worker-cell{border-left:1px solid #dbe3ec}.history-grand-total-row{position:sticky;bottom:0;font-weight:700;background:#eef2f7;border-top:2px solid #94a3b8}.history-grand-total-row .history-worker-cell{border-left:1px solid #cbd5e1}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.history-table-wrap{--gpr-num-w: 24px;--gpr-name-w: 130px;max-height:calc(100vh - var(--app-header-h, 60px) - 130px)}.history-worker-head,.history-table-wrap .gpr-calendar-head .gpr-col-num,.history-table-wrap .gpr-calendar-head .gpr-col-name{font-size:10px}.history-worker-badge{font-size:10px;padding:2px 6px}.history-worker-cell{font-size:12px}}.platform-versions-modal{width:min(680px,94vw);max-height:88vh;overflow:auto}.platform-versions-list{display:grid;gap:10px;margin-top:10px}.platform-version-entry{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fff;min-width:0}.platform-version-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.platform-version-head time{color:#64748b;font-size:.78rem}.platform-version-title{margin:4px 0 6px;color:#1e293b;font-weight:600}.platform-version-items{margin:0 0 6px;padding-left:18px;color:#475569;font-size:.84rem;display:grid;gap:2px}.platform-version-commit{margin:0;color:#94a3b8;font-size:.72rem;font-family:monospace;overflow-wrap:anywhere;word-break:break-all}.drive-config-block{display:grid;gap:10px}.drive-checklist{margin:0;padding-left:20px;display:grid;gap:6px;color:#475569;font-size:.88rem}.drive-checklist code,.drive-config-block code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-size:.82rem;overflow-wrap:anywhere}.drive-redirect{-webkit-user-select:all;user-select:all;font-weight:600}.drive-folder-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.drive-folder-row input{flex:1 1 320px;padding:8px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px}.history-drive-hint{margin:4px 0 0}.audit-modal .audit-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.audit-filter-select{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.audit-stats-hint{color:#64748b;font-size:.78rem}.audit-groups{max-height:60vh;overflow-y:auto;display:grid;gap:6px}.modal-resizable-body .audit-groups{max-height:none;overflow-y:visible}.audit-day-group{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.audit-day-heading{width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8fafc;border:none;font-size:.82rem;font-weight:600;color:#334155;cursor:pointer;text-align:left}.audit-day-toggle{color:#94a3b8;width:10px}.audit-day-count{margin-left:auto;color:#94a3b8;font-weight:400;font-size:.76rem}.audit-day-table{width:100%;border-collapse:collapse;font-size:.78rem}.audit-day-table td{padding:3px 10px;border-top:1px solid #f1f5f9;color:#475569;vertical-align:top}.audit-time{white-space:nowrap;color:#94a3b8;font-family:monospace}.audit-actor{white-space:nowrap;font-weight:500;color:#1e293b}.audit-action-type{white-space:nowrap;color:#64748b}.audit-responsible{white-space:nowrap;color:#94a3b8}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.audit-day-table,.audit-day-table tbody,.audit-day-table tr{display:block}.audit-day-table tr{padding:4px 10px;border-top:1px solid #f1f5f9}.audit-day-table td{display:block;padding:0;border-top:none;white-space:normal}}.history-drive-result{margin:6px 0 0}.plan-filter{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:14px;font-weight:400}.plan-filter-button{flex:none;height:30px;padding:0 11px}.plan-filter-summary{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#64748b;font-size:11px;line-height:16px}.plan-filter-summary.is-active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:600}.plan-filter-popover{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:min(920px,calc(100vw - 40px));max-height:min(440px,70vh);overflow-y:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 12px 30px #0f172a2e;padding:10px;color:#1e293b;text-align:left}.plan-filter-popover.is-resizable{display:flex;flex-direction:column;overflow:hidden}.plan-filter-popover.is-resizable .plan-filter-sections{flex:1 1 auto;min-height:0;overflow-y:auto;align-items:start}.plan-filter-popover.is-resizable .plan-filter-section{max-height:none;overflow:visible}.plan-filter-actions{display:flex;align-items:center;gap:7px;padding-bottom:9px;border-bottom:1px solid #e2e8f0}.plan-filter-actions .btn{min-height:30px;padding:5px 11px}.plan-filter-all{margin-right:auto}.plan-filter-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:9px}.plan-filter-section{min-width:0;max-height:330px;overflow-y:auto;margin:0;padding:0 8px 0 0;border:0}.plan-filter-section+.plan-filter-section{padding-left:10px;border-left:1px solid #e2e8f0}.plan-filter-section legend{width:100%;margin-bottom:5px;color:#334155;font-size:13px;font-weight:700}.plan-filter-option{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 3px;cursor:pointer;font-size:12px}.plan-filter-option input{flex:none}.plan-filter-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpr-month-nav .plan-filter{margin-left:2px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.board-title{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:1px;line-height:1.05}.board-title:after{content:"";order:4;flex-basis:100%;height:0}.board-title-text{display:contents}.board-title-label{order:1;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-title .board-view{order:2}.board-title-dates{order:5;color:#64748b;font-size:13px;font-weight:600}.board-title-actions{order:6;align-self:center}.board-title .plan-filter{display:contents}.board-title .plan-filter-button{order:3}.board-title .plan-filter-summary{align-self:center;max-width:90px}.board-title .read-only-badge{order:8}.plan-filter-popover{position:fixed;top:calc(var(--app-header-h, 60px) + 8px);right:8px;bottom:8px;left:8px;width:auto;max-height:none;overflow-y:auto}.plan-filter-sections{grid-template-columns:1fr;gap:12px}.plan-filter-section{max-height:none;overflow:visible;padding-right:0}.plan-filter-section+.plan-filter-section{padding-top:10px;padding-left:0;border-top:1px solid #e2e8f0;border-left:0}.plan-filter-option{min-height:36px;font-size:13px}.gpr-month-nav{flex-wrap:wrap}.gpr-month-nav .plan-filter{flex:1 1 100%}}.platform-help-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.platform-help-controls label{display:flex;flex-direction:column;gap:6px;flex:1 1 240px;min-width:0}.platform-help-controls select{width:100%;min-width:0;min-height:44px}.platform-help-controls>button{min-height:44px}.board-return{flex:none}.dict-table{min-width:0}.dict-table tr{display:grid;grid-template-columns:38px minmax(0,1fr) 110px;align-items:stretch}.dict-table td{min-width:0;padding:3px}.dict-table td:nth-child(2),.dict-table td.dict-row-actions{width:auto}.dict-name-field{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:6px;border:1px solid var(--s5-grid);border-radius:6px;resize:none;overflow:hidden;text-align:left;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:20px;color:var(--s5-graphite);background:var(--s5-paper)}.dict-table td.dict-row-actions{display:grid;grid-template-rows:1fr 1fr;gap:0}.dict-row-actions .btn{width:100%;height:auto;min-height:22px;padding:0 4px;justify-content:center;font-size:11px}.dict-add-form .dict-name-field{flex:1}.gpr-page .gpr-grid>.gpr-col-day{border-right:1px solid var(--s5-grid)}.gpr-page .gpr-grid>.gpr-week-start{border-left:1px solid var(--s5-grid)}.work-type-row-trigger{padding-left:0}.plan-filter{flex-wrap:wrap}.plan-filter-selection,.plan-filter-badges{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}.plan-filter-selection{flex:1}.plan-filter-selection .plan-filter-summary.is-active{display:none}.plan-filter-badge{max-width:240px;padding:3px 7px;border-radius:5px;color:var(--s5-blueprint);background:var(--s5-selection);font-size:12px;line-height:18px;overflow-wrap:anywhere}.plan-filter-clear{flex:none}.plan-filter-sections{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.plan-filter-section{max-height:none;overflow:visible}.plan-filter-option span{white-space:normal;overflow:visible;overflow-wrap:anywhere}.dict-name-field:focus-visible,.board-return:focus-visible,.plan-filter .btn:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:2px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.board-return,.mobile-primary-nav{min-height:44px}.plan-filter-button,.plan-filter-clear{height:28px;min-height:28px;padding:0 7px}.dict-table tr{grid-template-columns:32px minmax(0,1fr) 104px}.dict-name-field{font-size:14px}.plan-filter-badges{display:none}.plan-filter-selection .plan-filter-summary.is-active{display:block}.board-title .plan-filter-selection{order:7;margin-left:auto;justify-content:flex-end}.plan-filter-sections{grid-template-columns:1fr}.plan-filter-option{min-height:44px}}.history-table-wrap{width:fit-content;max-width:100%}.history-table-canvas{display:grid;grid-template-columns:var(--gpr-columns);width:max-content}.history-table-canvas>.gpr-grid,.history-table-canvas>.gpr-object-block,.history-table-canvas .gpr-object-block>.gpr-grid{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;width:auto;min-width:0}.history-table-canvas .gpr-object-heading{grid-column:1 / -1}.history-table-canvas .gpr-col-name{width:auto;min-width:0}.history-worker-head{padding:4px 8px}.history-worker-cell{min-width:44px}.history-categories{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.history-category-btn{color:var(--history-ink);background:var(--history-paper)}.history-category-btn[aria-pressed=true]{background:var(--history-blueprint);font-weight:700;border-color:var(--history-plan-blue)}.history-page :focus-visible{outline:3px solid var(--history-plan-blue);outline-offset:2px}.history-category-note{margin-block:8px}.history-category-note.form-error{color:var(--history-warning-ink)}.audit-modal{--audit-paper: #ffffff;--audit-graphite: #1e293b;--audit-muted: #475569;--audit-grid: #e2e8f0;--audit-band: #f8fafc;--audit-blueprint: #1d4ed8;background:var(--audit-paper);color:var(--audit-graphite)}.audit-modal .audit-day-group{border:0;border-radius:0;border-top:1px solid var(--audit-grid)}.audit-modal .audit-day-heading{min-height:44px;background:var(--audit-band);color:var(--audit-graphite);font-size:14px}.audit-modal .audit-day-toggle,.audit-modal .audit-day-count,.audit-modal .audit-stats-hint{color:var(--audit-muted)}.audit-modal .audit-filter-select{min-height:44px;max-width:100%}.audit-modal .audit-day-table{display:table;width:100%;font-size:16px;line-height:1.5}.audit-modal .audit-day-table tbody{display:table-row-group}.audit-modal .audit-day-table tr{display:table-row}.audit-modal .audit-day-table td{display:table-cell;padding:8px 10px;border-top:1px solid var(--audit-grid);color:var(--audit-graphite)}.audit-modal .audit-day-table .audit-time{width:3.5em;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--audit-muted)}.audit-modal .audit-phrase{overflow-wrap:anywhere}.audit-modal .audit-phrase strong{font-weight:700}.audit-modal :focus-visible{outline:3px solid var(--audit-blueprint);outline-offset:2px}.audit-modal .modal-actions .btn{min-height:44px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.audit-modal .audit-day-table td{padding:8px 4px}.audit-modal .audit-day-table tr{border:0;padding:0}.audit-modal .audit-time{font-size:14px}}.board-week-nav svg,.board-return-arrow{width:18px;height:18px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.board-return{display:inline-flex;align-items:center;justify-content:center;gap:5px}.week-current{background:var(--s5-selection);color:var(--s5-graphite);font-weight:700}.board-title-actions{align-items:center}.board-today{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 10px;font-size:13px;font-weight:600;color:var(--s5-today-ink);background:var(--s5-today-leaf);border:1px solid var(--s5-today-edge);border-radius:8px;cursor:pointer}.board-today:disabled{opacity:.55;cursor:wait}.board-today:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:2px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.board-title-actions{align-items:center}.board-today{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 7px;font-size:12px;font-weight:600;color:var(--s5-today-ink);background:var(--s5-today-leaf);border:1px solid var(--s5-today-edge);border-radius:6px;cursor:pointer}.board-today:disabled{opacity:.55;cursor:wait}.board-today:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:2px}}.nav-arrow{width:18px;height:18px;display:block;margin:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.work-row-approval:empty{display:none}.work-row-executors-line,.work-row-executors{align-items:flex-end}.dict-name-field{min-height:22px;padding:0 6px}.dict-table tr{grid-template-columns:28px minmax(0,1fr) 110px}.dict-table .color-swatch-picker{height:100%}.dict-table .swatch-trigger{width:22px;height:100%;min-height:22px;border-radius:4px}.dict-add-form .swatch-trigger{width:22px;height:22px;border-radius:4px}.dict-row-actions .btn{min-height:11px;padding:0 3px;font-size:10px;line-height:9px;border-radius:3px}.dict-add-form>.btn{height:22px;min-height:22px;padding:0 6px;font-size:11px}.dict-table .swatch-trigger,.dict-table .color-swatch-picker{display:block}.dict-table tr{grid-template-columns:28px minmax(0,1fr) max-content}.dict-table td.dict-row-actions{display:flex;gap:4px;align-items:stretch;justify-content:flex-end}.dict-row-actions .btn{width:auto;height:auto;min-height:22px;padding:0 6px;font-size:11px;line-height:1;border-radius:4px}.plan-filter-option{min-height:0;padding:2px 3px;line-height:1.25}.plan-filter-option input{margin:0;width:14px;height:14px}.plan-filter-executor-groups .plan-filter-section{padding:0;border:0;margin:6px 0 0}.plan-filter-executor-groups legend{font-size:12px}.plan-filter-status-group{margin-top:10px;padding-top:8px;border-top:1px solid #e2e8f0}.plan-filter-status-group .plan-filter-section{padding:0;border:0;margin:0;max-height:none;overflow:visible}@media (min-width: 951px),(min-width: 801px) and (min-height: 501px),(min-width: 801px) and (orientation: portrait){.plan-filter-section legend{font-size:15px}.plan-filter-option{font-size:14px;gap:8px}.plan-filter-option input{width:15px;height:15px}.plan-filter-executor-groups legend{font-size:14px}}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.plan-filter-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.plan-filter-section+.plan-filter-section{padding-top:0;border-top:0}.plan-filter-sections>.plan-filter-section:nth-child(n+3){padding-top:10px;border-top:1px solid #e2e8f0}.plan-filter-option{min-height:36px;font-size:13px}.plan-filter-sections:has(>.plan-filter-section:only-child){grid-template-columns:1fr}}.work-approval-slot{align-items:center;gap:4px}.work-row-executors-line{min-width:0}.work-row-executors{position:relative;flex:1;min-width:0;flex-wrap:nowrap}.executor-chip-slot{flex:none;max-width:100%}.executor-chip-slot .executor-chip{max-width:100%;overflow:hidden}.executor-chip-measure{position:absolute;visibility:hidden;pointer-events:none}.executor-more{flex:none;border:1px solid #cbd5e1;border-radius:5px;padding:3px 5px;font:inherit;font-size:11px;line-height:1;background:#f8fafc;color:#334155;cursor:pointer;white-space:nowrap}.executor-more-popover{position:fixed;z-index:1800;display:flex;flex-direction:column;gap:4px;width:280px;max-width:calc(100vw - 16px);max-height:min(320px,50vh);overflow:auto;padding:8px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 4px 16px #0f172a26}.executor-more-popover .executor-chip{white-space:normal;overflow-wrap:anywhere}@media (max-width: 700px){.platform-owner-app .app-header{flex-wrap:wrap}.platform-owner-app .header-actions{flex:0 0 100%;min-width:0;width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.platform-owner-app .header-actions>.btn{flex:none;white-space:nowrap}}.board-view{position:relative;display:inline-flex;flex:none;font-size:14px;font-weight:400}.board-view .btn:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:2px}.board-view-menu{position:absolute;z-index:80;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;gap:2px;min-width:150px;padding:5px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 12px 30px #0f172a2e}.board-view-option{display:block;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--s5-graphite);font:inherit;font-size:14px;text-align:left;cursor:pointer;white-space:nowrap}.board-view-option:hover{background:#f1f5f9}.board-view-option.is-active{background:var(--s5-selection);color:var(--s5-blueprint);font-weight:600}.board-view-option:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:-2px}.work-row-brief-line{display:flex;align-items:center;gap:4px;min-width:0}.work-row-brief-line .work-text-chip{flex:1 1 auto;min-width:0}.work-status-letter{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:20px;padding:0;border:1px solid transparent;border-radius:5px;font-family:inherit;font-size:12px;font-weight:700;line-height:1}.work-status-letter-btn{cursor:pointer}.work-status-letter-btn:hover{filter:brightness(.92)}.work-status-letter-btn:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:1px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.board-view-option{min-height:40px}.board-view-menu{left:auto;right:0}.board-title-label{font-size:14px}.work-status-letter{width:24px;height:22px}}.work-type-row-trigger-typed{padding:1px 6px;border-style:solid;font-weight:600}.work-type-row-trigger-typed:hover{filter:brightness(.94)}.work-row-brief-line{align-items:flex-start}.work-row-brief-line .work-text-chip{flex:1 1 0}.work-brief-side{flex:none;display:flex;align-items:center;gap:4px;min-height:22px}.work-brief-initials{padding:2px 1px;font-weight:600;white-space:nowrap}.work-brief-top,.work-brief-bottom{flex:none;display:flex;align-items:center;gap:4px}.work-brief-top:empty,.work-brief-bottom:empty{display:none}.work-row-brief-line.is-multiline .work-brief-side{flex-direction:column;align-items:flex-end;gap:2px}.work-row-brief-line.is-multiline .work-brief-side{align-items:center}.work-row-brief-line .work-brief-side .work-brief-bottom{gap:0}.work-row-brief-line .work-brief-side .work-brief-bottom .work-note-trigger{padding-left:3px;padding-right:1px}.work-row-brief-line .work-brief-side .work-brief-bottom .work-comments-trigger{padding-left:1px;padding-right:3px}.work-note-comments{display:flex;align-items:center;gap:0;flex:none}.work-note-comments .work-note-trigger{padding-left:3px;padding-right:1px}.work-note-comments .work-comments-trigger{padding-left:1px;padding-right:3px}.btn.btn-today{color:var(--s5-today-ink);background:var(--s5-today-leaf);border-color:var(--s5-today-edge);font-weight:600}.btn.btn-today:hover{background:#86efac}.btn.btn-today:disabled{opacity:.55}.work-approval-badge.work-approval-badge-two-line{white-space:normal;text-align:center;line-height:12px;padding-top:2px;padding-bottom:2px}@keyframes status-heartbeat-kf{0%,40%,to{transform:scale(1)}10%{transform:scale(1.07)}20%{transform:scale(1)}30%{transform:scale(1.05)}}.status-heartbeat{animation:status-heartbeat-kf 1.6s ease-in-out infinite;transform-origin:center}@media (prefers-reduced-motion: reduce){.status-heartbeat{animation:none}}.work-row-approval{gap:4px}.work-row-approval .btn-approve,.work-row-approval .btn-reject{padding:2px 6px;font-weight:600}.object-card-header>.object-name{flex:0 1 auto;margin-right:auto}.object-card-header>.object-name:has(+.object-card-add-btn){margin-right:0}.object-card-add-btn{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:auto;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#ffffff38;color:inherit;cursor:pointer}.object-card-add-btn:before{content:"";position:absolute;top:-8px;right:-6px;bottom:-8px;left:-6px}.object-card-add-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.object-card-add-btn:hover{background:#ffffff6b}.object-card-add-btn:focus-visible{outline:2px solid #fff;outline-offset:1px;box-shadow:0 0 0 4px var(--s5-blueprint)}.object-card-add-menu{min-width:160px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gpr-view-switch{display:inline-flex}.gpr-view-switch .btn{border-radius:0;font-size:14px;font-weight:400}.gpr-view-switch .btn:first-child{border-radius:6px 0 0 6px}.gpr-view-switch .btn:last-child{margin-left:-1px;border-radius:0 6px 6px 0}.gpr-view-switch .btn[aria-pressed=true]{position:relative;background:var(--s5-selection);color:var(--s5-blueprint);font-weight:600}.gpr-table-wrap-executors{--gpr-name-w: 240px}.gpr-executor-section{--object-color: #94a3b8}.gpr-executor-heading{background:#e8eef5;color:#1e293b}.gpr-executor-section-toggle{position:sticky;left:0;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px 4px 10px;border:0;border-radius:9px 0 0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.gpr-executor-section-toggle:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:-2px}.gpr-executor-chevron{flex:none;transition:transform .15s ease}.gpr-executor-section-toggle[aria-expanded=false] .gpr-executor-chevron{transform:rotate(-90deg)}.gpr-executor-section-count{min-width:22px;padding:0 6px;border-radius:999px;background:#fff;color:#475569;font-size:12px;font-weight:600;line-height:18px;text-align:center}.gpr-executor-empty{position:sticky;left:0;width:max-content;max-width:100vw;box-sizing:border-box;margin:0;padding:8px 12px}.gpr-executor-row>.gpr-col-name{gap:6px}.gpr-executor-name-cell{cursor:pointer}.gpr-executor-name-cell:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:-2px}.gpr-executor-row.is-selected>.gpr-col-num,.gpr-executor-row.is-selected>.gpr-col-name,.gpr-executor-row.is-selected>.gpr-col-day,.gpr-col-day.gpr-day-picked{background-image:linear-gradient(#2563eb29,#2563eb29)}.gpr-executor-row.is-selected>.gpr-col-name{box-shadow:inset 3px 0 #2563eb;font-weight:600}.gpr-calendar-head .gpr-day-head{cursor:pointer}.gpr-calendar-head .gpr-day-head:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:-2px}.gpr-calendar-head .gpr-day-picked{background-image:linear-gradient(#2563eb47,#2563eb47);color:#1e3a8a}.gpr-executor-grip{flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:22px;margin-left:-4px;padding:0;border:0;border-radius:4px;background:transparent;color:#94a3b8;fill:currentColor;cursor:grab;touch-action:none}.gpr-executor-grip:hover,.gpr-executor-grip:focus-visible{color:#475569;background:#f1f5f9;outline:none}.gpr-executor-row.is-dragging{position:relative;z-index:4;box-shadow:0 4px 14px #0f172a2e}.gpr-executor-row.is-dragging .gpr-executor-grip{cursor:grabbing;color:#2563eb}.gpr-name-with-note{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0}.gpr-name-main{display:flex;align-items:center;gap:4px;min-width:0}.gpr-name-main>:first-child{flex:1 1 auto;min-width:0}.gpr-note-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:#facc15;color:#713f12;cursor:pointer}.gpr-note-toggle:hover,.gpr-note-toggle.is-open{background:#eab308}.gpr-note-toggle:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:1px}.gpr-name-note{display:block;padding:4px 6px;border-radius:5px;background:#fef9c3;color:#422006;font-size:12px;font-weight:400;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere}.gpr-executor-swatch{flex:none;width:10px;height:10px;border-radius:3px}.gpr-executor-bar{position:relative;z-index:1;align-self:center;display:flex;align-items:center;min-width:0;height:20px;margin:2px 1px;padding:0 5px;border:0;border-radius:5px;background:var(--gpr-badge-color);font:inherit;font-size:11px;font-weight:600;line-height:20px;cursor:pointer;overflow:hidden}.gpr-executor-bar.is-unapproved{background:color-mix(in srgb,var(--gpr-badge-color) 24%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gpr-badge-color) 45%,#cbd5e1)}.gpr-executor-bar-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpr-executor-bar:hover,.gpr-executor-bar:focus-visible{outline:2px solid var(--s5-blueprint);outline-offset:1px;z-index:3}.gpr-executor-absent{background:repeating-linear-gradient(135deg,#e2e8f0 0,#e2e8f0 3px,#f8fafc 3px,#f8fafc 7px)}.gpr-executor-modal{width:460px;max-width:94vw;padding:0;overflow:hidden}.gpr-executor-modal-head{display:flex;flex-direction:column;gap:2px;padding:10px 14px}.gpr-executor-modal-object{font-weight:700}.gpr-executor-modal-name{font-size:13px;opacity:.9}.gpr-executor-modal-days{list-style:none;margin:0;padding:10px 14px 0;display:grid;gap:10px;max-height:50vh;overflow-y:auto}.gpr-executor-modal-date{margin-bottom:4px;color:#64748b;font-size:12px;font-weight:600}.gpr-executor-modal-work{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:4px 0;border-top:1px solid #edf1f5;font-size:13px}.gpr-executor-modal-text{overflow-wrap:anywhere}.gpr-executor-modal .modal-actions{padding:10px 14px 14px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.gpr-view-switch{order:3;width:100%}.gpr-view-switch .btn{flex:1;min-height:36px;font-size:13px}.gpr-executor-bar{height:18px;padding:0 3px;font-size:10px;line-height:18px}.gpr-executor-modal-work{grid-template-columns:minmax(0,1fr) auto}.gpr-executor-modal-work .btn{grid-column:1 / -1;min-height:40px}}.gpr-col-num{box-shadow:inset -1px 0 var(--s5-grid)}.gpr-num-head{flex-direction:column;gap:0;line-height:1.05}@media (min-width: 951px),(min-width: 801px) and (min-height: 501px),(min-width: 801px) and (orientation: portrait){.gpr-table-wrap,.history-table-wrap{--gpr-num-w: 34px}.gpr-calendar-head .gpr-col-num{color:#64748b;font-size:14px;font-weight:600}.gpr-calendar-head .gpr-col-name{color:inherit;font-size:18px;font-weight:600}}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.gpr-table-wrap{--gpr-name-w: var(--gpr-name-fit, 94px)}.gpr-table-wrap .gpr-col-name{overflow-wrap:normal;word-break:normal}}.history-page{display:flex;flex-direction:column;height:calc(100dvh - var(--app-header-h, 60px));min-height:0;box-sizing:border-box}.history-top{flex:none}.history-page.is-condensed .history-top{display:none}.history-page.is-condensed{padding-top:8px}.history-table-wrap{flex:0 1 auto;align-self:flex-start;min-height:0;max-height:none;margin-bottom:12px}.history-table-wrap .gpr-calendar-head{position:sticky;top:0;z-index:8}.history-worker-badge{border:0;font-family:inherit;line-height:1.3;cursor:pointer}.history-worker-badge.is-draggable{cursor:grab;touch-action:none}.history-worker-head.is-dragging{position:relative;z-index:9;opacity:.85}.history-worker-head.is-dragging .history-worker-badge{cursor:grabbing;box-shadow:0 4px 12px #0f172a40}.history-worker-badge:focus-visible{outline:2px solid var(--history-plan-blue);outline-offset:2px}.history-worker-head.is-highlighted{background:#dbeafe;box-shadow:inset 2px 0 var(--history-plan-blue),inset -2px 0 var(--history-plan-blue)}.history-worker-head.is-highlighted .history-worker-badge{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--history-plan-blue)}.history-worker-cell.is-highlighted{background:#eff6ff;box-shadow:inset 2px 0 var(--history-plan-blue),inset -2px 0 var(--history-plan-blue);font-weight:700}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.history-page{padding-bottom:0}.history-table-wrap{max-height:none}}@media (orientation: landscape) and (max-height: 500px) and (max-width: 950px){.mobile-day-pager-multi .mobile-day-slide{flex:0 0 calc(100% / 3);width:calc(100% / 3);padding:0 3px;box-sizing:border-box;scroll-snap-stop:normal}.mobile-day-pager-multi .mobile-day-slide.is-active .day-column{box-shadow:0 0 0 2px var(--s5-accent, #2563eb)}.app.app-chrome-hidden .app-header,.app.app-chrome-hidden .demo-mode-banner{display:none}.demo-mode-banner{flex-wrap:nowrap;align-items:center;gap:8px;padding:4px 10px;font-size:12px}.demo-mode-banner>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-persona-picker{width:auto;flex:none;flex-wrap:nowrap}.demo-persona-picker>span{display:none}.demo-persona-picker select{max-width:190px;padding:4px 6px}.demo-mode-banner .btn{flex:none;padding:4px 8px;font-size:12px}.app-header{padding-top:6px;padding-bottom:6px}.header-identity{flex:0 1 auto}.history-page{height:auto}.history-table-wrap{max-height:calc(100dvh - var(--app-header-h, 0px) - 8px)}.modal{max-height:calc(100dvh - 16px);overflow-y:auto}}.history-btn-short{display:none}.history-categories{margin:4px 0 8px}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.history-title{font-size:16px;flex:1 1 100%}.history-header{gap:6px;margin-bottom:6px}.history-header>.btn,.history-header>.history-month-select-header,.history-categories .history-category-btn{height:32px;min-height:32px;padding:0 8px;font-size:12px;box-sizing:border-box;white-space:nowrap}.history-month-select-header{min-width:0;flex:1 1 120px;max-width:190px}.history-btn-long{display:none}.history-btn-short{display:inline}.history-categories{flex-wrap:nowrap;gap:6px;margin:0 0 6px}.history-categories .history-category-btn{flex:1 1 auto;min-width:0;padding:0 6px}.history-categories-row{margin:0 0 6px;gap:6px}.history-categories-row .history-categories{flex:1 1 100%}}.work-note-trigger.work-note-trigger-date{background:#dc2626;color:#fff}.work-note-trigger.work-note-trigger-date:hover{background:#b91c1c;color:#fff}.work-note-trigger-blink{animation:work-mention-blink 1s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.work-note-trigger-blink{animation:none;outline:2px solid #fecaca}}.work-note-choice{display:flex;flex-direction:column;gap:6px}.work-note-choice .btn{justify-content:flex-start;text-align:left}.work-note-choice .work-note-choice-date{border-color:#dc2626;color:#b91c1c}.date-note-backdrop{align-items:flex-start;padding-top:8vh;z-index:1003}.date-note-window{width:420px;display:flex;flex-direction:column;gap:10px}.date-note-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.date-note-head h3{margin:0;font-size:16px}.date-note-close{padding:2px 10px;font-size:18px;line-height:1}.date-note-work{font-size:13px;color:#475569}.date-note-item{border:1px solid #fecaca;background:#fef2f2;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.date-note-item.is-done{border-color:#e2e8f0;background:#f8fafc}.date-note-item.is-done .work-note-text{color:#64748b;text-decoration:line-through}.date-note-meta{font-size:12px;color:#64748b}.date-note-hint{font-size:13px;color:#64748b;margin:0}.date-note-calendar{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.date-note-calendar-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px}.date-note-calendar-head .btn{padding:2px 10px}.date-note-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.date-note-calendar-weekday{font-size:11px;color:#94a3b8;text-align:center}.date-note-calendar-day{border:1px solid transparent;background:transparent;border-radius:5px;padding:6px 0;font:inherit;font-size:13px;color:#94a3b8;cursor:default}.date-note-calendar-day.is-work{background:#dbeafe;color:#1e3a8a;font-weight:600}.date-note-calendar-day.is-today{border-color:#64748b}.date-note-calendar-day:not(:disabled){cursor:pointer}.date-note-calendar-day.is-work:not(:disabled):hover{background:#2563eb;color:#fff}.date-note-calendar-day.is-selected{background:#2563eb;color:#fff}.date-note-calendar-day.is-work:disabled{opacity:.55}@media (max-width: 640px){.date-note-window{width:calc(100vw - 24px);min-width:0;max-height:84vh}.date-note-backdrop{padding-top:4vh}}.fact-as_planned{--fact-color: #16a34a;--fact-bg: #dcfce7}.fact-changed{--fact-color: #ca8a04;--fact-bg: #fef9c3}.fact-not_done{--fact-color: #dc2626;--fact-bg: #fee2e2}.fact-moved{--fact-color: #2563eb;--fact-bg: #dbeafe}.fact-button-pending{border-color:#f59e0b}.fact-button-alert{background:#fee2e2;border-color:#dc2626;color:#991b1b;animation:requests-blink 1.2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.fact-button-alert{animation:none;outline:2px solid #fecaca}}.fact-backdrop{align-items:flex-start;padding-top:5vh}.fact-window{width:760px;max-height:88vh;display:flex;flex-direction:column;gap:10px}.fact-body{display:flex;flex-direction:column;gap:10px}.fact-window.modal-resizable .fact-footer{bottom:0}.fact-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fact-head h3{margin:0;font-size:17px}.fact-weeknav{display:flex;align-items:center;gap:8px}.fact-weeknav .btn{padding:2px 12px}.fact-weeklabel{font-weight:600}.fact-weeks{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}.fact-week-chip{border:1px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:2px 10px;font:inherit;font-size:12px;cursor:pointer}.fact-week-chip.is-overdue{border-color:#dc2626;color:#991b1b;background:#fef2f2}.fact-week-chip.is-current{font-weight:700;box-shadow:0 0 0 1px currentColor}.fact-hint{margin:0;font-size:13px;color:#475569}.fact-muted{font-size:12px;color:#64748b}.fact-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.fact-filters select{height:32px;border-radius:8px;border:1px solid #cbd5e1;padding:0 8px;background:#fff}.fact-check{display:inline-flex;align-items:center;gap:4px;font-size:13px}.fact-list{display:flex;flex-direction:column;gap:12px}.fact-day h4{margin:0 0 6px;font-size:14px;color:#334155}.fact-item{border:1px solid #e2e8f0;border-left:4px solid var(--fact-color, #cbd5e1);background:var(--fact-bg, #fff);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.fact-item.is-overdue{border-color:#fca5a5;border-left-color:#dc2626}.fact-item.has-error{box-shadow:0 0 0 2px #fca5a5}.fact-item-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.fact-object{display:inline-block;font-size:11px;font-weight:600;line-height:20px;padding:0 6px;border-radius:5px;background:#e2e8f0;color:#0f172a}.fact-work{font-weight:600}.fact-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;color:#475569}.fact-executor-chip{display:inline-flex}.fact-item-responsible{margin-left:4px}.fact-state{font-size:13px;color:#0f172a;white-space:pre-wrap}.fact-state.is-rejected{color:#991b1b}.fact-overdue{font-size:12px;color:#b91c1c;font-weight:600}.fact-form{display:flex;flex-direction:column;gap:8px}.fact-outcomes{display:flex;flex-wrap:wrap;gap:6px}.fact-outcome{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer}.fact-outcome.is-active.fact-outcome-as_planned{background:#dcfce7;border-color:#16a34a}.fact-outcome.is-active.fact-outcome-changed{background:#fef9c3;border-color:#ca8a04}.fact-outcome.is-active.fact-outcome-not_done{background:#fee2e2;border-color:#dc2626}.fact-outcome.is-active.fact-outcome-moved{background:#dbeafe;border-color:#2563eb}.fact-outcome.is-active{font-weight:600}.fact-changes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}.fact-executors{display:flex;flex-direction:column;gap:6px}.fact-executors-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fact-executors-panel{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.fact-executors-categories{display:flex;flex-direction:column;gap:6px}.fact-moved-date{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.fact-moved-date .date-note-calendar{width:260px;max-width:100%}.fact-new-work{display:flex;flex-direction:column;gap:4px;font-size:13px}.fact-new-work input,.fact-executors-search{height:30px;border:1px solid #cbd5e1;border-radius:6px;padding:0 8px}.fact-executors-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;background:#fff}.fact-date{display:flex;align-items:center;gap:8px;font-size:13px}.fact-date input{height:30px;border:1px solid #cbd5e1;border-radius:6px;padding:0 6px}.fact-explanation{display:flex;flex-direction:column;gap:4px;font-size:13px}.fact-explanation textarea,.fact-reject textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font:inherit;resize:vertical}.fact-error{font-size:12px;color:#b91c1c}.fact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.fact-reject{display:flex;flex-direction:column;gap:6px}.fact-footer{position:sticky;bottom:-20px;background:#fff;border-top:1px solid #e2e8f0;padding:10px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.fact-stats-scroll{overflow-x:auto}.fact-stats-table{border-collapse:collapse;width:100%;font-size:13px}.fact-stats-table th,.fact-stats-table td{border:1px solid #e2e8f0;padding:4px 6px;text-align:right;white-space:nowrap}.fact-stats-table th[scope=row],.fact-stats-table thead th:first-child{text-align:left}.fact-stats-table thead th{background:#f1f5f9;font-weight:600}.fact-stats-table thead th[class^=fact-],.fact-stats-table td[class^=fact-]{background:var(--fact-bg)}.fact-stats-table tfoot th,.fact-stats-table tfoot td{font-weight:700;background:#f8fafc}.fact-stats-subhead{margin:6px 0 0;font-size:14px}.fact-stats-toggle{border:none;background:none;font:inherit;font-weight:600;cursor:pointer;padding:4px 0;text-align:left}.fact-stats-deviations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.fact-stats-deviations li{display:grid;grid-template-columns:84px minmax(0,1fr) 120px;gap:2px 8px;border-left:4px solid var(--fact-color);background:var(--fact-bg);border-radius:4px;padding:4px 8px;font-size:13px}.fact-stats-reason{grid-column:2 / -1;color:#334155;white-space:pre-wrap}.fact-stats-outcome{font-weight:600}.history-categories-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0}.history-categories-row .history-categories{margin:0}.history-fact-bar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0;font-size:13px}.history-fact-unconfirmed{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:3px 8px}.history-fact-legend{display:inline-flex;flex-wrap:wrap;gap:6px}.fact-swatch{border:2px solid var(--fact-color);border-radius:4px;padding:0 6px;font-size:12px}.history-worker-cell.fact-as_planned,.history-worker-cell.fact-changed,.history-worker-cell.fact-not_done,.history-worker-cell.fact-moved{box-shadow:inset 0 0 0 2px var(--fact-color)}.history-worker-cell{position:relative}.fact-unconfirmed-mark{position:absolute;top:0;right:2px;font-size:10px;font-weight:700;color:#b45309}.fact-unconfirmed-tag{display:inline-block;margin-left:0;font-size:11px;color:#92400e;background:#fef3c7;border-radius:4px;padding:0 5px;white-space:nowrap;vertical-align:middle}.history-table-canvas .gpr-col-name:has(.fact-unconfirmed-tag){flex-wrap:wrap;column-gap:6px;row-gap:2px}.gpr-cell-fact-as_planned{--fact-color: #16a34a;--fact-bg: #dcfce7}.gpr-cell-fact-changed{--fact-color: #ca8a04;--fact-bg: #fef9c3}.gpr-cell-fact-not_done{--fact-color: #dc2626;--fact-bg: #fee2e2}.gpr-cell-fact-moved{--fact-color: #2563eb;--fact-bg: #dbeafe}.gpr-worker-day.gpr-badge-unconfirmed{border-radius:999px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--gpr-badge-color) 62%,#334155) 0,color-mix(in srgb,var(--gpr-badge-color) 62%,#334155) 1.5px,color-mix(in srgb,var(--gpr-badge-color) 30%,#fff) 1.5px,color-mix(in srgb,var(--gpr-badge-color) 30%,#fff) 4.5px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gpr-badge-color) 70%,#334155);color:#0f172a!important;text-shadow:0 0 2px #fff,0 0 2px #fff}.gpr-worker-day.gpr-badge-confirmed{background:var(--gpr-badge-color);box-shadow:none}.gpr-worker-day.gpr-badge-not-done,.gpr-worker-day.gpr-badge-unconfirmed.gpr-badge-not-done{box-shadow:inset 0 0 0 2px #dc2626}@media (max-width: 800px),(orientation: landscape) and (max-height: 500px) and (max-width: 950px){.fact-window{width:calc(100vw - 16px);min-width:0;max-height:90vh;padding:14px}.fact-backdrop{padding-top:2vh}.fact-footer{bottom:-14px}.fact-footer .btn{width:100%}.fact-stats-deviations li{grid-template-columns:1fr}.fact-stats-reason{grid-column:auto}}.platform-awaiting-email{margin-left:8px;padding:1px 6px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:12px;white-space:nowrap}.btn.date-note-alert-btn{display:inline-flex;align-items:center;gap:3px;padding:0 8px;min-height:30px;background:#dc2626;border-color:#b91c1c;color:#fff;animation:work-mention-blink 1s ease-in-out infinite}.btn.date-note-alert-btn:hover{background:#b91c1c;color:#fff}.date-note-alert-count{font-size:12px;font-weight:700;line-height:1}@media (prefers-reduced-motion: reduce){.btn.date-note-alert-btn{animation:none;outline:2px solid #fecaca}}@media (min-width: 951px),(min-width: 801px) and (min-height: 501px),(min-width: 801px) and (orientation: portrait){.header-actions>.btn{padding-left:10px;padding-right:10px}}.work-note-popover{overflow-y:auto}.work-note-choice{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;margin-top:10px}.work-note-choice .btn{flex:1;padding:6px 8px;white-space:nowrap}.work-note-all-dates h4,.date-note-embedded h4{margin:8px 0;font-size:13px}.work-note-all-dates{border-top:1px solid var(--border,#d1d5db);margin-top:10px;padding-top:4px}.date-note-embedded .date-note-item{margin:6px 0;padding:8px 0}.date-note-embedded .work-note-actions{flex-wrap:wrap}.missing-executor-badge{display:inline-block;font:inherit;font-size:11px;font-weight:600;line-height:1.25;color:#fff;background:#b91c1c;border:1px solid #991b1b;border-radius:5px;padding:3px 6px;white-space:nowrap;transform-origin:center}button.missing-executor-badge{cursor:pointer}.work-row-missing-executor{margin:3px 0 0}@keyframes missing-executor-heartbeat{0%,38%,to{transform:scale(1)}12%,26%{transform:scale(1.035)}19%{transform:scale(1)}}@media (prefers-reduced-motion:no-preference){.missing-executor-badge{animation:missing-executor-heartbeat 1.8s ease-in-out infinite}}.executor-hours-trigger{font:inherit;color:inherit;border:0;background:transparent;padding:0;cursor:pointer;text-align:inherit}.executor-hours-trigger:disabled{color:inherit;opacity:1;cursor:default}.executor-hours-trigger:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:3px}@media (min-width:769px){.app-header-title{flex:0 0 270px;gap:12px}.header-actions{flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}.header-actions>.btn{flex:none;white-space:nowrap}}@media (max-width:768px){.app-header-title{display:grid;gap:2px}.header-brand h1{font-size:16px}.header-brand span{margin-left:0}.header-identity{flex-direction:row;justify-content:flex-start;align-items:baseline;gap:4px}.header-identity-primary{font-size:11px;min-width:0;flex:1}.header-identity-secondary{font-size:10px;white-space:nowrap;margin-top:0;flex:none}}.user-action-controls{display:flex;align-items:center;gap:3px;flex:none}.user-action-controls .btn{display:flex;align-items:center;gap:4px;font-size:11px;padding:4px 5px;min-height:30px}.user-action-controls svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.user-action-controls .btn:disabled{opacity:.45;cursor:default}.app-header-navigation{display:grid;grid-template-columns:minmax(210px,1fr) auto;gap:10px;background:var(--chrome-surface);color:var(--chrome-ink);border-color:var(--chrome-grid);font-family:Octo Onest,sans-serif}.app-header-navigation .app-header-title{display:flex;flex:auto;gap:12px;min-width:0}.app-header-navigation .header-identity{flex:0 1 auto;max-width:260px;align-items:flex-start}.app-header-navigation .header-identity-primary{color:var(--chrome-ink)}.app-header-navigation .header-identity-secondary,.app-header-navigation .header-brand span{color:var(--chrome-muted);text-align:left}.app-header-navigation .header-actions,.header-shortcuts,.header-main-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.header-main-actions{position:relative;flex-wrap:nowrap}.app-header .header-actions .btn:not(.fact-button-alert):not(.fact-button-pending):not(.date-note-alert-btn),.app-header .header-actions .week-select,.app-header .mobile-menu-toggle{color:var(--chrome-ink);background:var(--chrome-surface);border:1px solid var(--chrome-grid)}.app-header .header-actions .btn:not(.fact-button-alert):not(.fact-button-pending):not(.date-note-alert-btn):hover:not(:disabled),.app-header .mobile-menu-item:hover{background:var(--chrome-soft)}.app-header .mobile-menu-toggle{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:36px;padding:6px 8px;border-radius:6px;cursor:pointer;font:inherit}.mobile-menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.app-header .mobile-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:260px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px);overflow-y:auto;background:var(--chrome-surface);color:var(--chrome-ink);border:1px solid var(--chrome-grid);border-radius:8px;box-shadow:0 8px 24px var(--chrome-shadow);padding:6px;display:flex;flex-direction:column;gap:2px}.app-header .mobile-menu-item{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:40px}.app-header .mobile-menu-badge{position:absolute;top:-5px;right:-5px;padding:0 4px;min-width:18px;height:18px;line-height:18px;border-radius:12px;background:var(--chrome-alert);color:var(--chrome-on-alert);font-size:11px}.app-header .mobile-menu-toggle-alert{border-color:var(--chrome-alert)}.app-header button:focus-visible,.app-header select:focus-visible{outline:2px solid var(--chrome-accent);outline-offset:2px}.app-header-navigation .header-actions{justify-content:flex-end}@media (max-width:1100px) and (min-width:801px){.app-header-navigation{grid-template-columns:1fr}.app-header-navigation .header-actions{justify-content:flex-start}}@media (max-width:800px),(orientation:landscape) and (max-height:500px) and (max-width:950px){.app-header-navigation{grid-template-columns:minmax(0,1fr) auto;padding:6px 10px;gap:4px 6px}.app-header-navigation .app-header-title,.app-header-navigation .header-actions{display:contents}.app-header-navigation .header-brand{grid-row:1;grid-column:1;min-width:0}.app-header-navigation .header-brand h1{font-size:16px}.app-header-navigation .brand-logo{width:20px;height:20px}.app-header-navigation .header-brand span{display:block;font-size:10px;margin:0;max-width:130px}.app-header-navigation .header-identity{grid-row:2;grid-column:1/-1;display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:4px;max-width:none;margin:0}.app-header-navigation .header-identity-primary{flex:0 1 auto;font-size:11px}.app-header-navigation .header-identity-secondary{flex:none;font-size:11px;margin:0}.header-main-actions{grid-row:1;grid-column:2;gap:4px}.header-shortcuts{grid-row:3;grid-column:1/-1;gap:5px}.header-shortcuts .btn{font-size:12px;padding:5px 8px;min-height:32px}.app-header .header-main-actions .btn.mobile-primary-nav{font-size:12px;padding:5px;min-height:36px;white-space:nowrap}.app-header .mobile-menu-toggle{width:36px;min-width:36px;height:36px;padding:5px}.menu-toggle-label{display:none}.header-main-actions .user-action-controls{margin:0;gap:2px}.header-main-actions .user-action-controls .btn{min-width:30px;min-height:36px;padding:5px}.header-main-actions .user-action-controls .btn span{display:none}}@media (prefers-reduced-motion:reduce){.app-header *{animation:none!important;transition:none!important}}.work-row .work-text-chip{padding:0 6px;line-height:14px}.work-row .work-schedule-chip{font-weight:700;cursor:default}.work-schedule-inline{display:block;font-weight:700}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.modal-title-row h3{margin:6px 0 0;flex:none}.modal-title-object{flex:0 1 340px;min-width:0;margin:0}@media (max-width: 600px){.modal-title-row{flex-wrap:wrap}.modal-title-object{flex:1 1 100%}}.schedule-work-line{display:flex;gap:8px;align-items:stretch}.schedule-work-line select{flex:1 1 auto;min-width:0}.schedule-outside-btn{flex:none;white-space:nowrap}.schedule-outside-btn.is-active{border-color:#2563eb;background:#dbeafe;color:#1e3a8a}@media (max-width: 600px){.schedule-work-line{flex-direction:column}}:root[data-theme=dark] .schedule-outside-btn.is-active{background:#1e3a8a;color:#dbeafe;border-color:#60a5fa}.gpr-executor-absent{display:flex;align-items:flex-start;justify-content:center}.gpr-absence-mark{font-size:10px;font-weight:700;color:#b91c1c;line-height:1;padding-top:2px}.work-fact-comment{font-size:12px;color:#b91c1c;background:#fef2f2;border-radius:4px;padding:1px 6px;margin-top:2px;overflow-wrap:anywhere}.fact-reasons{display:flex;flex-direction:column;gap:4px;margin:6px 0}.fact-reason{text-align:left;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:5px 8px;cursor:pointer;font:inherit}.fact-reason.is-active{border-color:#dc2626;background:#fef2f2;color:#991b1b;font-weight:600}.fact-replacement,.fact-absences{display:flex;flex-direction:column;gap:6px;border:1px dashed #cbd5e1;border-radius:6px;padding:8px;margin:4px 0}.fact-replacement label{display:flex;flex-direction:column;gap:2px;font-size:13px}.fact-replacement-head{font-weight:600;font-size:13px}.fact-absence-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fact-absence-kinds{display:flex;flex-wrap:wrap;gap:4px}.fact-absence-kind.is-active{border-color:#dc2626;background:#fee2e2;color:#991b1b}.fact-replace{display:flex;flex-direction:column;gap:4px}.fact-new-executor{display:flex;gap:6px;margin-top:6px}.fact-new-executor input{flex:1;min-width:0}.fact-schedule-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;border:1px solid #93c5fd;background:#eff6ff;border-radius:6px;padding:6px 8px;margin-top:6px;font-size:13px}.fact-schedule-end.is-finished{border-color:#86efac;background:#f0fdf4}.work-item-compact.modal-wide{width:340px;min-width:0;max-width:calc(100vw - 16px);max-height:88vh}.work-item-compact .modal-col-create{display:flex;flex-direction:column;gap:0}.work-item-compact .modal-col-create>*{flex:none;min-width:0;width:100%;box-sizing:border-box}.work-item-compact .modal-title-object{margin-bottom:12px}.work-item-compact .modal-columns{grid-template-columns:minmax(0,1fr)}.work-item-compact .multi-date-picker{min-width:0}.work-item-compact .multi-date-row .day-cell{min-height:24px;height:24px;padding:2px}.work-item-compact .modal h3{flex:none}.schedule-work-line select{width:100%;min-width:0}.schedule-outside-option{background:#e2e8f0;color:#475569}.fact-reasons{width:max-content;max-width:100%;align-items:stretch}.fact-reason{white-space:normal}.fact-outcome.is-active.fact-outcome-rescheduled{background:#dbeafe;border-color:#2563eb}.fact-actual-dates{max-width:620px}.fact-delay{display:flex;flex-wrap:wrap;gap:8px}.fact-delay>label{flex-basis:100%}.status-changed-pulse{animation:work-changed-pulse 1.2s ease-in-out infinite}@keyframes work-changed-pulse{50%{box-shadow:0 0 0 3px #fca5a5;filter:brightness(1.25)}}@media (prefers-reduced-motion:reduce){.status-changed-pulse{animation:none;outline:2px solid #dc2626}}.work-revision-popover{width:min(420px,calc(100vw - 24px));max-height:min(480px,60vh);overflow:auto;padding:12px;box-sizing:border-box}.work-revision-entry{font-size:13px;white-space:normal;overflow-wrap:anywhere}.work-revision-entry time{color:var(--text-muted,#64748b)}
