:root{--bg:#f4f5f7;--card:#fff;--card-2:#f8f9fb;--fg:#1f2328;--muted:#626b76;--line:#dfe3e8;--line-strong:#c4cad2;--accent:#1f6feb;--accent-fg:#fff;--accent-soft:color-mix(in srgb, var(--accent) 10%, transparent);--ok:#1a7f37;--warn:#9a6700;--bad:#cf222e;--nav-bg:#1d2330;--nav-fg:#c9d1de;--nav-active:#2d3648;--radius:6px;--shadow:0 1px 2px #10182814;--shadow-lift:0 4px 12px #10182824;--control:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12151b;--card:#1a1f27;--card-2:#1f252e;--fg:#e6e9ee;--muted:#98a1ad;--line:#2a313c;--line-strong:#3a4350;--accent:#5b9dff;--accent-fg:#0b1220;--ok:#4cc38a;--warn:#e3b341;--bad:#ff7b72;--nav-bg:#0e1218;--nav-fg:#b4bdca;--nav-active:#1f2733;--shadow:0 1px 2px #0006;--shadow-lift:0 4px 12px #00000080}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:14px/20px system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{margin:0;line-height:1.3}h1{font-size:20px}h2{margin:4px 0 12px;font-size:18px}h3{margin:16px 0 8px;font-size:14px}section h2{margin:20px 0 8px}p{color:var(--muted);margin:0 0 10px}a{color:var(--accent)}small,.small{font-size:12px}.muted{color:var(--muted);font-size:13px}.ok{color:var(--ok)}.bad{color:var(--bad)}.wait{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;font-weight:600}input,select,textarea{height:var(--control);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--fg);font:inherit;padding:4px 10px}textarea{resize:vertical;height:auto;padding:8px 10px}input[type=checkbox],input[type=radio]{width:16px;height:auto;accent-color:var(--accent)}input[type=color]{width:40px;padding:2px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input:disabled,select:disabled,textarea:disabled{background:var(--card-2);color:var(--muted)}::placeholder{color:var(--muted);opacity:.8}button{height:var(--control);border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;margin:0;padding:0 14px;font-weight:600;display:inline-flex}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--card);color:var(--fg);border-color:var(--line-strong)}button.secondary:hover:not(:disabled){background:var(--card-2);filter:none}button.compact{height:28px;padding:0 10px;font-size:13px}button.link{height:auto;color:var(--accent);background:0 0;border:0;padding:0 2px;font-weight:400}button.link:hover{filter:none;text-decoration:underline}.app-shell{grid-template-columns:216px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav-bg);height:100vh;color:var(--nav-fg);flex-direction:column;padding:12px 8px;display:flex;position:sticky;top:0;overflow-y:auto}.brand-mark{color:#fff;letter-spacing:.01em;align-items:center;gap:8px;padding:4px 10px 14px;font-size:16px;font-weight:700;display:flex}.brand-mark span{background:var(--accent);width:24px;height:24px;color:var(--accent-fg);border-radius:6px;place-items:center;font-size:13px;display:grid}.sidebar nav.tabs{border:0;flex-direction:column;gap:2px;margin:0;display:flex}.sidebar nav.tabs button{width:100%;height:34px;color:var(--nav-fg);background:0 0;border:0;justify-content:flex-start;padding:0 10px;font-weight:500}.sidebar nav.tabs button:hover{background:var(--nav-active);filter:none;color:#fff}.sidebar nav.tabs button.active{background:var(--nav-active);color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar nav.tabs svg,.sidebar-foot svg{flex:none}.sidebar-foot{border-top:1px solid #ffffff14;margin-top:auto;padding:12px 10px 4px;font-size:13px}.sidebar-foot strong{color:#fff;text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-foot .role{color:var(--nav-fg);font-size:12px}.sidebar-foot button{width:100%;color:var(--nav-fg);background:0 0;border-color:#fff3;justify-content:flex-start;margin-top:10px}.sidebar-foot label{color:var(--nav-fg);align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:12px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topbar h1{font-size:16px}.topbar .spacer{flex:1}.menu-button{display:none}main{width:100%;margin:0 auto;padding:20px 24px 48px}main.wide{max-width:1240px}main.narrow{max-width:480px;padding-top:48px}main.narrow h1{color:var(--fg);margin-bottom:4px;font-size:22px}.page{width:100%;max-width:1240px;margin:0 auto;padding:20px 24px 48px}.portal-bar{background:var(--nav-bg);color:#fff;align-items:center;gap:12px;height:52px;padding:0 24px;display:flex}.portal-bar .spacer{flex:1}.portal-bar .muted{color:var(--nav-fg)}.portal-bar button{color:#fff;background:0 0;border-color:#ffffff40}.warn-banner,.banner{border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 9%, var(--card));color:var(--fg);margin:0 0 12px;padding:10px 14px}.banner ul{margin:8px 0;padding:0;list-style:none}.banner li{border-top:1px solid var(--line);padding:8px 0}.banner li:first-child{border-top:0}.banner .actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.banner p{color:var(--fg);margin:6px 0 0}.excuse{grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin-top:8px;display:grid}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:4px 0 10px;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.filters label.check{flex-direction:row;align-items:center;font-size:13px}.filters input:not([type=checkbox]),.filters select{min-width:150px}.check{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.quick{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.subtabs{background:var(--card-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:12px;padding:3px;display:flex}.subtabs button{height:28px;color:var(--muted);background:0 0;border-color:#0000;padding:0 12px;font-weight:500}.subtabs button.active{background:var(--card);color:var(--fg);border-color:var(--line);box-shadow:var(--shadow)}.weeknav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 12px;display:flex}table{border-collapse:collapse;width:100%}table.week,table.report,table.wall,table.issue-table{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}table.week th,table.week td,table.report th,table.report td,table.issue-table th,table.issue-table td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px}table.week thead th,table.report thead th,table.issue-table thead th,table.wall thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:var(--card-2);font-size:12px;font-weight:600}table.week tbody tr,table.report tbody tr[style*=pointer],table.issue-table tbody tr{cursor:pointer}table.week tbody tr:hover,table.report tbody tr:hover,table.issue-table tbody tr:hover{background:var(--accent-soft)}table.week tr.selected{background:color-mix(in srgb, var(--accent) 14%, transparent)}table.week tr.off td:first-child{color:var(--muted)}table.week tfoot td{background:var(--card-2);border-bottom:0;font-weight:600}table.report td:not(:first-child),table.report th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}table.report td:nth-child(2){text-align:left}td.warn{color:var(--warn);font-weight:600}td.bar{width:28%}td.bar .fill{background:var(--accent);border-radius:3px;height:6px;display:block}.tag{border:1px solid var(--line);color:var(--muted);background:var(--card-2);border-radius:999px;margin-left:8px;padding:0 8px;font-size:12px}.scroll{overflow-x:auto}tr.overrun td:first-child{border-left:3px solid var(--bad)}tr.archived-row{opacity:.55}table.issue-table .chips{margin-left:6px;display:inline-flex}table.issue-table th,table.issue-table td{text-align:left!important}.timer,.entry-form,.entries,.week-approval,details.absences,details.state-editor,.import-box,.pending-weeks,ul.status,.summary div,.attachment,.client-box,.client-panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.timer{margin:0 0 14px;padding:8px 12px}.timer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timer-row select{flex:180px;min-width:0}.timer-clock{font-variant-numeric:tabular-nums;font-size:20px}.entry-form{margin-top:8px;padding:14px 16px}.entry-form h3{margin:0 0 6px}.entry-form label{color:var(--muted);margin:10px 0 0;font-size:12px;display:block}.entry-form select,.entry-form input,.excuse select,.excuse input{width:100%;margin-top:3px;display:block}.entry-form .row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.entry-form button[type=submit]{margin-top:14px}#day-panel{margin-top:20px}#day-panel h2{margin:0 0 8px;font-size:16px}.entries{margin:0 0 12px;padding:0;list-style:none}.entries li{border-top:1px solid var(--line);grid-template-columns:60px 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.entries li:first-child{border-top:0}.summary{grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;display:grid}.summary div{padding:12px 16px}.summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;display:block}.summary strong{font-variant-numeric:tabular-nums;font-size:24px}.downloads{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}ul.status{margin:20px 0 0;padding:0;list-style:none}ul.status li{justify-content:space-between;gap:12px;padding:10px 14px;display:flex}ul.status li+li{border-top:1px solid var(--line)}details.absences,details.state-editor,.client-panel{margin:14px 0;padding:8px 14px}details summary{cursor:pointer;font-weight:600}.import-box,.pending-weeks{margin-top:24px;padding:12px 14px}.import-box h3,.pending-weeks h3{margin:0 0 6px}.warnings{color:var(--muted);padding-left:18px;font-size:13px}.week-approval{margin:6px 0 12px;padding:8px 12px}.week-approval p{margin:4px 0}.week-approval.REJECTED{border-color:var(--bad)}.week-approval.APPROVED{border-color:var(--ok)}.pending-weeks{border-color:var(--warn);margin-top:0;margin-bottom:14px}.client-box{box-shadow:none;border-style:dashed;padding:10px 12px}.chips{flex-wrap:wrap;gap:4px;margin:2px 0 6px;display:flex}.chip{color:#fff;border:1px solid #0000;border-radius:999px;padding:0 8px;font-size:12px;line-height:18px;display:inline-block}.chips.big .chip{cursor:pointer;background:0 0;height:auto;padding:3px 12px;font-size:13px;font-weight:500}.chips.big .chip.on{color:#fff}.prio{margin-left:6px;font-weight:700}.prio-URGENT{color:var(--bad)}.due{margin-bottom:4px;font-size:12px}.board-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:4px;display:flex}.board{grid-template-columns:none;grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;align-items:stretch;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.column{background:color-mix(in srgb, var(--line) 45%, var(--bg));border:1px solid var(--line);border-radius:8px;min-height:120px;padding:8px}.column.droppable{outline:2px dashed var(--line-strong)}.column h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:2px 4px 10px;font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);margin-bottom:8px;padding:8px 10px}.card:hover{box-shadow:var(--shadow-lift);border-color:var(--line-strong)}.card-key{color:var(--muted);font-size:12px;font-weight:600}.card-title{word-break:break-word;margin:2px 0 6px;font-weight:500}.card-meta{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.card select{width:100%;height:26px;padding:0 6px;font-size:12px}.card.rotting{border-color:var(--bad)}.card.archived{opacity:.55}.crm-board{align-items:start}.issue-detail .field{color:var(--muted);margin:12px 0;font-size:12px;display:block}.issue-detail .field input:not([type=checkbox]),.issue-detail .field textarea{width:100%;margin-top:3px;display:block}.issue-detail .field input:not([type=checkbox]){height:38px;font-size:18px;font-weight:600}.issue-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.issue-main{grid-area:1/1;min-width:0}.issue-side{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-area:1/2;padding:12px 14px}.issue-side .filters{flex-direction:column;align-items:stretch;gap:10px;margin:0 0 12px}.issue-side .filters label,.issue-side .filters .spent{width:100%}.issue-side .filters input:not([type=checkbox]),.issue-side .filters select{width:100%;min-width:0}.issue-side .field{margin:10px 0}.issue-side .client-box{margin-bottom:10px}.issue-main .field:first-child{margin-top:0}.issue-detail .inline{color:var(--fg);margin-top:8px;display:block}.spent strong{margin-top:8px;display:block}.issue-detail>h2{margin-top:12px}.comments{margin:0 0 12px;padding:0;list-style:none}.comments li{border-bottom:1px solid var(--line);padding:8px 0}.comments li.done{opacity:.6}.comment-body{white-space:pre-wrap;word-break:break-word;color:var(--fg);margin-top:2px}details.history{margin:12px 0}.issue-admin{border-top:1px solid var(--line);margin-top:16px;padding-top:4px}ul.checklist{margin:6px 0;padding:0;list-style:none}ul.checklist li{padding:3px 0}ul.checklist li.done label{opacity:.65;text-decoration:line-through}progress.checklist-progress{width:100%;height:6px;accent-color:var(--accent)}.field-filter{gap:6px;display:inline-flex}.custom-fields input,.custom-fields select{width:100%}ul.state-list,ul.field-list{margin:8px 0;padding:0;list-style:none}ul.state-list li,ul.field-list li{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}ul.state-list input:not([type=color]),ul.field-list textarea{flex:180px;min-width:0}.drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;padding:4px 2px;font-size:18px;line-height:1}.drag-handle:active{cursor:grabbing}ul.state-list li.drop-before{box-shadow:0 -2px 0 var(--accent)}ul.state-list li.drop-after{box-shadow:0 2px 0 var(--accent)}.issue-time{margin:16px 0}.attachment-list{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.attachment{box-shadow:none;align-items:flex-start;gap:12px;padding:8px;display:flex}.attachment img{cursor:zoom-in;border-radius:4px;max-width:120px;max-height:90px}.attachment-meta{word-break:break-word;flex-direction:column;gap:2px;min-width:0;display:flex}.file-button{height:var(--control);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);cursor:pointer;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.file-button:hover{background:var(--card-2)}.lightbox{z-index:50;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lightbox>div{background:var(--card);border-radius:8px;max-width:100%;max-height:100%;padding:12px;overflow:auto}.lightbox img{max-width:100%;max-height:75vh;margin:0 auto 8px;display:block}.annotator-tools{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.annotator-tools button.active{outline:2px solid var(--accent)}.annotator-canvas{touch-action:none;border:1px solid var(--line);cursor:crosshair;border-radius:4px;max-width:100%;height:auto}table.wall{min-width:720px}table.wall th,table.wall td{border:1px solid var(--line);text-align:center;padding:7px 10px;font-size:13px}table.wall tbody th{text-align:left;white-space:nowrap}table.wall small{color:var(--muted);font-weight:400}table.wall td button.link{margin:2px auto 0;font-size:12px;display:block}.s-ok,.s-made_up{background:color-mix(in srgb, var(--ok) 14%, transparent)}.s-incomplete,.s-none{background:color-mix(in srgb, var(--warn) 20%, transparent)}.s-excused{background:color-mix(in srgb, var(--accent) 16%, transparent)}.s-strike{background:color-mix(in srgb, var(--bad) 22%, transparent);font-weight:600}.s-voided{background:color-mix(in srgb, var(--muted) 18%, transparent);text-decoration:line-through}.s-off,.s-pending{color:var(--muted)}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin:12px 0;padding:0;font-size:12px;list-style:none;display:flex}.legend span{vertical-align:-2px;border:1px solid var(--line);border-radius:3px;width:14px;height:14px;margin-right:6px;display:inline-block}table.absence-grid{border-collapse:collapse;font-size:12px}table.absence-grid th,table.absence-grid td{border:1px solid var(--line);text-align:center;min-width:24px;padding:3px 5px}table.absence-grid th.who{text-align:left;white-space:nowrap;background:var(--card);padding:3px 10px;position:sticky;left:0}table.absence-grid .off{background:color-mix(in srgb, var(--line) 55%, transparent)}table.absence-grid td.abs{color:#fff;font-weight:700}table.absence-grid td.abs-VACATION{background:#2a7ab0}table.absence-grid td.abs-SICK{background:#c0392b}table.absence-grid td.abs-UNPAID{background:#7f8c8d}table.absence-grid td.abs-OTHER{background:#8e6bb0}.saved-reports{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.saved-reports select{flex:220px;min-width:0}.notify-toggle{font-size:12px}main.full{max-width:none}main.narrow{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:10px;margin-top:12vh;padding:28px 28px 24px}main.narrow button{width:100%;height:38px;margin:16px 0 4px}@media (width<=900px){.issue-layout{grid-template-columns:1fr}.issue-main,.issue-side{grid-column:1}.issue-side{grid-row:1}.issue-main{grid-row:2}.app-shell{grid-template-columns:1fr}.sidebar{z-index:30;width:240px;transition:transform .15s;position:fixed;transform:translate(-100%)}.app-shell.open .sidebar{box-shadow:var(--shadow-lift);transform:none}.app-shell.open:after{content:"";z-index:20;background:#00000059;position:fixed;inset:0}.menu-button{width:36px;padding:0;display:inline-flex}.topbar,.portal-bar{padding:0 12px}main,.page{padding:14px 12px 40px}.notify-toggle{display:none}}@media (width<=640px){.entry-form .row,.excuse,.summary{grid-template-columns:1fr}td.bar{display:none}.board{scroll-snap-type:x mandatory;grid-auto-columns:78vw}.column{scroll-snap-align:start}.crm-board{scroll-snap-type:x mandatory;grid-template-columns:repeat(8,78vw)!important}.filters input:not([type=checkbox]),.filters select{width:100%;min-width:0}.filters label{flex:140px}}.call-dialog{width:min(480px,92vw)}.phone-link{white-space:nowrap}@media (width<=640px){.call-dialog .quick button{flex:45%}}.assistant{flex-direction:column;height:100%;min-height:0;display:flex}.assistant[hidden]{display:none}.assistant-panel{z-index:40;background:var(--bg);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(620px,100vw - 40px);height:min(82vh,820px);padding:14px;display:none;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 40px #00000047}.assistant-panel.open{display:flex}.assistant-fab{z-index:40;border-radius:50%;place-items:center;width:56px;height:56px;padding:0;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 20px #0000004d}.fab-badge{background:var(--bad,#d33);color:#fff;text-align:center;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:12px;line-height:20px;position:absolute;top:-4px;right:-4px}.profile-link{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.settings{gap:14px;max-width:760px;display:grid}.settings .card{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:14px 16px}.settings h3,.settings h4{margin:0 0 8px}.assistant-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.assistant-head select{flex:220px;min-width:0}.chat-log{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow-y:auto}.chat-empty ul{margin:6px 0 0;padding-left:18px}.chat-msg{flex-direction:column;flex-shrink:0;max-width:85%;display:flex}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;padding:8px 12px;line-height:1.45}.chat-msg.user .chat-bubble{background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:4px}.chat-msg.assistant .chat-bubble{background:var(--card-2);border:1px solid var(--line);border-bottom-left-radius:4px}.approval-card{white-space:pre-wrap;border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));border-left:4px solid var(--warn);background:color-mix(in srgb, var(--warn) 7%, var(--card));border-radius:8px;margin-top:6px;padding:10px 12px}.approval-title{margin-bottom:2px;font-weight:700}.approval-card .quick{margin:8px 0 0}.chat-input{align-items:flex-end;gap:8px;margin-top:10px;display:flex}.chat-input textarea{flex:1;min-height:44px}@media (width<=900px){.chat-msg{max-width:95%}.assistant-panel{border-radius:0;width:100vw;height:100dvh;padding:10px;inset:0}}.approval-list{gap:8px;margin:0 0 10px;display:grid}.breakdown{gap:8px;margin:10px 0 18px;display:grid}.breakdown details{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 10px}.breakdown details details{background:var(--card-2);margin-top:6px}.breakdown summary{cursor:pointer;align-items:baseline;gap:8px;display:flex}.breakdown .bd-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.breakdown .bd-issues{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.breakdown table.report{margin:6px 0 2px}.breakdown .bd-count{margin-left:8px;font-size:12px}.breakdown .bd-total{margin-left:auto}.client-pdf{border:1px solid var(--line);background:var(--card);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;padding:10px 12px;display:flex}.client-pdf select{min-width:220px}.billing-board{grid-template-columns:repeat(7,minmax(210px,1fr))}.billing-board .card select{width:100%;margin-top:6px}.dialog-backdrop{z-index:50;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--bg);border:1px solid var(--line);border-radius:12px;width:min(760px,100%);max-height:90vh;padding:16px 18px;overflow-y:auto;box-shadow:0 12px 40px #0000004d}.dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-head h2{margin:0}.bill-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:2px 0;display:flex}.bill-head{border-bottom:1px solid var(--line);margin-top:8px;font-weight:700}.bill-person{margin-top:4px;padding-left:8px;font-weight:600}.bill-task{padding-left:24px;font-size:13px}.bill-history{gap:4px;margin:0;padding:0;list-style:none;display:grid}.client-schedule{cursor:default}@media (width<=900px){.billing-board{scroll-snap-type:x mandatory;grid-template-columns:repeat(7,78vw)!important}}.idea-card{border-left-color:var(--accent)}.add-client{cursor:default}.add-client .hit{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.import-job{margin:10px 0}.import-job-head{justify-content:space-between;gap:8px;display:flex}progress.import-progress{width:100%;height:10px;accent-color:var(--accent)}.width-toggle{padding:4px 9px;font-size:16px;line-height:1}h1.crumbs{flex-wrap:wrap;align-items:baseline;display:flex}h1.crumbs a{color:inherit;text-decoration:none}h1.crumbs a:hover{text-decoration:underline}h1.crumbs .crumb-sep{color:var(--muted);align-items:center;margin:0 6px;display:inline-flex}h1.crumbs>span{align-items:center;display:inline-flex}.profile-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.icon-button{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px;display:inline-flex}.icon-button:hover,.icon-button.active{opacity:1;background:#ffffff1f}.time-dock{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;margin-bottom:12px}.time-dock>summary{cursor:pointer;padding:8px 12px;font-weight:600}.time-dock .entry-form{box-shadow:none;border:0;margin:0;padding:0 12px 12px}.assistant-head{flex-wrap:nowrap}p.usage-line{margin:-4px 0 8px}.assistant-head .icon-only{padding:6px 9px;line-height:1}.card.prio-bar{border-left-style:solid;border-left-width:4px}.card.prio-bar-URGENT{border-left-color:var(--bad)}.card.prio-bar-HIGH{border-left-color:#e8833a}.card.prio-bar-NORMAL{border-left-color:var(--accent)}.card.prio-bar-LOW{border-left-color:var(--line-strong)}.prio-HIGH{color:#c2590a}.prio-LOW{color:var(--muted)}.card.overdue{outline:2px solid var(--bad);outline-offset:-1px;border-color:var(--bad)}.deal-facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:10px 0 14px;display:grid}.deal-facts .fact{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.deal-facts .fact .muted{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.deal-facts .fact strong{font-size:15px}.deal-facts .fact select{width:100%}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}.pager-nav{align-items:center;gap:8px;display:inline-flex}.pager-size{align-items:center;gap:6px;font-size:13px;display:inline-flex}.pager-size select{width:auto}.onboarding{width:min(520px,100%)}.onboarding-steps{color:var(--muted);gap:8px;margin:10px 0 14px;padding:0;font-size:13px;list-style:none;display:flex}.onboarding-steps li{border:1px solid var(--line);border-radius:999px;padding:3px 10px}.onboarding-steps li.current{color:var(--fg);border-color:var(--accent);font-weight:600}.onboarding-steps li.done{color:var(--fg);background:color-mix(in srgb, var(--accent) 10%, var(--card))}.onboarding-summary{padding:0;list-style:none}.link-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.link-row:first-of-type{border-top:0}.status-dot{background:var(--line-strong);border-radius:50%;width:10px;height:10px;display:inline-block}.status-dot.ok{background:#2da44e}.nav-badge{background:var(--bad);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.sidebar nav.tabs button{align-items:center;gap:8px;display:flex}ul.decision-list{gap:10px;padding:0;list-style:none;display:grid}li.decision{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);border-left-width:4px;padding:10px 14px}li.decision.module-CRM{border-left-color:#8250df}li.decision.module-CEG{border-left-color:var(--accent)}li.decision.module-SZAMLAZAS{border-left-color:#1a7f37}li.decision.module-EGYEB{border-left-color:var(--line-strong)}li.decision.focused{outline:2px solid var(--accent);outline-offset:1px}.decision-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.decision-head .decision-link{margin-left:auto;text-decoration:none}.decision-text{white-space:pre-wrap;margin:4px 0}.module-tag{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--line-strong);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.module-tag.module-CRM{background:#8250df}.module-tag.module-CEG{background:var(--accent)}.module-tag.module-SZAMLAZAS{background:#1a7f37}.file-preview{flex-direction:column;width:min(1000px,100%);height:min(90vh,900px);display:flex}.file-preview .dialog-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-preview .dialog-head .quick{flex-shrink:0}.preview-frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:1;width:100%;margin-top:8px}.preview-docx{border-radius:var(--radius);background:#e9ecef;flex:1;margin-top:8px;overflow:auto}.preview-docx .docx-wrapper{background:0 0!important;padding:12px!important}.preview-docx section.docx{box-shadow:0 1px 6px #00000040;margin-bottom:12px!important}.preview-text{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;flex:1;margin:8px 0 0;padding:12px;font:13px/18px ui-monospace,Menlo,Consolas,monospace;overflow:auto}a.button-link{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);height:28px;color:var(--fg);align-items:center;padding:0 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}a.button-link:hover{background:var(--card-2)}button.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line-strong))}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 10%, var(--card))}ul.deleted-list{gap:8px;padding:0;list-style:none;display:grid}ul.deleted-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}form.quick-add{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px;display:flex}form.quick-add input:first-child{flex:260px;min-width:0}form.quick-add input[inputmode]{width:140px}button.add-card{border:1px dashed var(--line-strong);width:100%;height:26px;color:var(--muted);opacity:.8;background:0 0;font-size:16px;font-weight:400}button.add-card:hover:not(:disabled){opacity:1;background:var(--card);color:var(--fg);filter:none}form.column-add{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);gap:6px;padding:6px;display:grid}form.column-add input{width:100%}.timeline-filters{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:12px;display:flex}.timeline-filters label{align-items:center;gap:6px;display:inline-flex}.chips.big .chip[aria-pressed=false]{color:var(--muted);border-color:var(--line-strong);background:0 0}.chips.big .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}ol.timeline-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}li.timeline-day{z-index:2;color:var(--muted);background:var(--bg);padding:6px 2px 2px;font-size:13px;font-weight:600;position:sticky;top:0}li.timeline-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);border-left-width:4px;padding:8px 12px;position:relative}li.timeline-item.kind-mail{border-left-color:var(--accent)}li.timeline-item.kind-issue{border-left-color:#1a7f37}li.timeline-item.kind-crm{border-left-color:#8250df}li.timeline-item.kind-project{border-left-color:#bf8700}.timeline-more{justify-content:center;padding:14px 0;display:flex}.event-head,.mail-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.event-type{background:var(--card-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:11px;font-weight:600;line-height:18px}.event-type.type-issue{color:#1a7f37;border-color:color-mix(in srgb, #1a7f37 40%, var(--line))}.event-type.type-crm{color:#8250df;border-color:color-mix(in srgb, #8250df 40%, var(--line))}.event-type.type-project{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, var(--line))}.event-title{overflow-wrap:anywhere;font-weight:500}.event-summary{color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.mail-time{margin-left:auto}.mail-card.needs-attention{background:color-mix(in srgb, var(--warn) 8%, var(--card));border-radius:var(--radius);margin:-8px -12px;padding:8px 12px}.mail-dir{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.mail-card.out .mail-dir{color:var(--muted)}button.link.mail-subject{text-align:left;height:auto;color:var(--fg);overflow-wrap:anywhere;padding:0;font-weight:600}.mail-summary{border-left:3px solid var(--line-strong);background:var(--card-2);border-radius:0 var(--radius) var(--radius) 0;margin:4px 0;padding:4px 8px}.mail-tags{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}.mail-tag{border:1px solid var(--line);background:var(--card-2);color:var(--muted);border-radius:999px;align-items:center;gap:2px;padding:0 8px;font-size:12px;line-height:20px;display:inline-flex}.mail-tag a{color:var(--accent);text-decoration:none}.mail-tag.handling-warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, var(--line));background:color-mix(in srgb, var(--warn) 10%, var(--card));font-weight:600}.mail-tag.handling-ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, var(--line))}.mail-tag.cat-TASK,.mail-tag.cat-LEAD{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));font-weight:600}.mail-tag.cat-URGENT{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 45%, var(--line));font-weight:700}.mail-tag .detach{min-width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:2px;padding:0}.mail-tag .detach:hover{color:var(--bad)}.mail-open{border-top:1px dashed var(--line);margin-top:6px;padding-top:6px}pre.mail-body{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);max-height:420px;margin:6px 0;padding:8px 10px;font:13px/19px system-ui,-apple-system,Segoe UI,sans-serif;overflow:auto}.mail-actions{flex-wrap:wrap;align-items:center;margin-top:6px}.mail-actions label{align-items:center;gap:6px;display:inline-flex}.move-row{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.move-row select{max-width:100%}.pending-strip{border:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 6%, var(--card));margin-bottom:16px;padding:8px 12px 2px}.pending-strip h3{margin:0 0 8px;font-size:14px}.overdue-section h3{margin:14px 0 6px;font-size:14px}ul.overdue-list,ul.ignore-list,ul.dropped-list,ul.member-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}ul.overdue-list li,ul.ignore-list li,ul.dropped-list li,ul.member-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere;padding:6px 10px}ul.dropped-list li{justify-items:start;gap:2px;display:grid}.ignore-add{flex-wrap:wrap;gap:8px;margin:6px 0 10px;display:flex}.ignore-add input{flex:220px;min-width:0}table.plain-table{border-collapse:collapse;margin:4px 0 10px}table.plain-table td{border-bottom:1px solid var(--line);padding:3px 14px 3px 0}table.plain-table td.num{text-align:right;padding-right:0}.member-panel ul.member-list li{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}@media (width<=720px){.timeline-filters{gap:6px 10px}li.timeline-item{padding:8px 10px}.mail-card.needs-attention{margin:-8px -10px;padding:8px 10px}.mail-time{margin-left:0}pre.mail-body{max-height:320px}}.mail-tag.flag-tag{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--line));background:color-mix(in srgb, var(--bad) 7%, var(--card));font-weight:600}.thread-summary{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:4px 0 6px;padding:4px 8px}.suggestion-editor{border:1px dashed var(--line-strong);border-radius:var(--radius);margin:6px 0;padding:4px 8px}.suggestion-editor summary{cursor:pointer;font-weight:500}.suggestion-editor .row{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:6px 0;display:flex}.suggestion-editor .reason{color:var(--muted);font-size:12px}.progress-bar{vertical-align:middle;background:var(--card-2);border:1px solid var(--line);border-radius:999px;width:140px;height:8px;display:inline-block;overflow:hidden}.progress-bar>span{background:var(--accent);height:100%;display:block}ul.backfill-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}ul.backfill-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 10px;display:flex}
