.mail-backdrop{z-index:60;background:#00000073;justify-content:center;align-items:flex-start;padding:48px 16px 16px;display:flex;position:fixed;inset:0}.mail-dialog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;width:min(1200px,100%);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 12px 40px #00000059}.mail-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px 18px;display:flex}.mail-head h2{font-size:18px;font-family:var(--font-display);margin:0;font-weight:400}.mail-consent{flex-direction:column;align-items:flex-start;gap:10px;padding:24px 18px;display:flex}.mail-columns{flex:1;grid-template-columns:minmax(280px,380px) minmax(0,1fr);min-height:0;display:grid}.mail-list{border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.mail-list form{border-bottom:1px solid var(--line);padding:10px}.mail-list input[type=search]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:6px 8px;font-size:13px}.mail-list>p{padding:0 12px}.mail-list ul{margin:0;padding:0;list-style:none;overflow-y:auto}.mail-list li button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-left:3px solid #0000;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.mail-list li button:hover{background:var(--accent-soft)}.mail-list li button.on{background:var(--bg);border-left-color:var(--ink)}.mail-from{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.mail-subject{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.mail-preview{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mail-used{color:var(--accent);font-size:11px}.mail-pick{flex-direction:column;gap:12px;padding:14px 18px;display:flex;overflow-y:auto}.mail-read{flex-direction:column;gap:4px;display:flex}.mail-text{white-space:pre-wrap;font:inherit;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);max-height:220px;margin:6px 0 0;padding:10px 12px;font-size:13px;overflow-y:auto}.mail-task{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.mail-task label{color:var(--muted);flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.mail-task label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:13px}.mail-task input:not([type=checkbox]),.mail-task textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;width:100%;padding:6px 8px;font-size:13px}.mail-task .search-select input{width:100%}.mail-task-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;display:grid}.mail-files{border:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.mail-files legend{color:var(--muted);margin-bottom:4px;padding:0;font-size:12px}@media (width<=800px){.mail-columns{grid-template-columns:1fr}.mail-list{border-right:0;border-bottom:1px solid var(--line);max-height:40vh}.mail-task-row{grid-template-columns:1fr}}.mail-to{border:1px solid var(--line-strong);border-radius:16px;align-self:flex-start;display:inline-flex;overflow:hidden}.mail-to button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 14px;font-size:13px}.mail-to button+button{border-left:1px solid var(--line-strong)}.mail-to button.on{background:var(--ink);color:var(--on-ink)}.mail-devops{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 12px;display:grid}.mail-devops .search-select input{width:100%}.estimates-page .page-head{align-items:flex-start}.estimates-page .page-head p{margin:4px 0 0}.est-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 8px;display:flex}.est-toolbar input[type=search],.est-toolbar select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:5px 8px}.est-toolbar input[type=search]{width:260px}.est-toolbar label.check{align-items:center;gap:6px;display:flex}.est-customer-filter{width:260px}.est-status{background:var(--menu-bg);color:var(--text);border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.est-status.sent{background:var(--warn-bg);color:var(--warn)}.est-status.approved{background:var(--ok-bg);color:var(--ok)}.est-status.rejected{background:var(--neg-bg);color:var(--neg)}.report.est-list{width:100%}.report.est-list thead th{text-align:left}.report.est-list tbody tr{cursor:pointer}.report.est-list tbody tr:hover>*{background:var(--accent-soft)}.report.est-list th .badge{margin-left:6px;font-weight:500}.est-form{max-width:920px}.est-fields{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:end;gap:10px 16px;display:grid}.est-fields label{color:var(--muted);flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.est-fields label.wide{grid-column:1/-1}.est-fields label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px;padding-bottom:7px;font-size:13px}.est-fields input:not([type=checkbox]),.est-fields select,.est-fields textarea,.est-description,.est-lists textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:6px 8px;font-size:13px}.est-fields .search-select-list{color:var(--text);font-size:13px;list-style:none}.est-form .row{margin:12px 0}.est-facts{max-width:920px;margin-top:12px}.est-head{flex-wrap:wrap;gap:16px}.est-title{flex:380px;min-width:0}.est-title-input{width:100%;font-family:var(--font-display);border-radius:var(--radius);color:var(--text);background:0 0;border:1px solid #0000;margin-left:-7px;padding:2px 6px;font-size:24px}.est-title-input:not([readonly]):hover{border-color:var(--line-strong)}.est-title-input:focus{border-color:var(--accent);background:var(--surface);outline:none}.est-title p{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.est-actions{flex-wrap:wrap;justify-content:flex-end}.est-actions select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:6px 8px}.est-dirty{margin:4px 0 0}.est-section{margin-top:24px}.est-section h3{border-bottom:1px solid var(--line);margin:0 0 8px;padding-bottom:6px;font-size:16px}.est-description{field-sizing:content;width:100%;max-width:920px;min-height:4lh}.report.est-sheet{width:100%;min-width:900px}.report.est-sheet thead th{text-align:left}.report.est-sheet thead th.num{text-align:right}.report.est-sheet td,.report.est-sheet th{white-space:normal;vertical-align:top;padding:4px 6px}.report.est-sheet tr.est-story>td{background:var(--emp-bg)}.report.est-sheet tr.est-task .est-c-title{padding-left:26px}.report.est-sheet tr.dragging>td{opacity:.45}.report.est-sheet input,.report.est-sheet textarea{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;padding:3px 5px}.report.est-sheet textarea{resize:vertical;field-sizing:content;min-height:1lh}.report.est-sheet input:not([readonly]):hover,.report.est-sheet textarea:not([readonly]):hover{border-color:var(--line-strong);background:var(--surface)}.report.est-sheet input:focus,.report.est-sheet textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}.report.est-sheet tr.est-story input{font-weight:600}.report.est-sheet input.bad,.est-percent input.bad{border-color:var(--neg);background:var(--neg-bg)}.report.est-sheet input.warn{border-color:var(--warn);background:var(--warn-bg)}.report.est-sheet .est-hours{text-align:right;font-variant-numeric:tabular-nums;width:64px}.report.est-sheet .est-est{font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:7px}.report.est-sheet tr.est-story .est-est{font-weight:600}.est-title-cell{align-items:baseline;gap:6px;display:flex}.est-kind{color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.est-why{margin:2px 5px}.report.est-sheet tr.est-criteria>td{background:var(--cap-bg)}.report.est-sheet tr.est-criteria textarea{border-color:var(--line-strong);background:var(--surface);min-height:3lh}.report.est-sheet tr.est-drop-end td{text-align:center;color:var(--muted);border:1px dashed var(--line-strong)}.report.est-sheet tfoot th{text-align:right;font-weight:500}.report.est-sheet tfoot td,.report.est-sheet tfoot th{border-top:0;padding:5px 6px}.report.est-sheet tfoot tr:first-child>*{border-top:2px solid var(--line-strong)}.report.est-sheet tfoot tr.est-total>*{border-top:1px solid var(--ink);font-size:15px;font-weight:700}.est-percent{white-space:nowrap}.est-percent input{text-align:right;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:52px;color:var(--text);font:inherit;padding:2px 4px}.est-percent input[readonly]{background:0 0;border-color:#0000}.est-add{margin:10px 0}.est-range{margin:8px 0 4px}.est-lists{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding-top:12px;display:grid}.est-lists label{flex-direction:column;gap:4px;font-weight:600;display:flex}.est-lists textarea{field-sizing:content;min-height:4lh;font-weight:400}.est-version-note{margin-top:24px}.est-delete{margin-top:8px}.report.est-refs{width:100%;max-width:1100px}.report.est-refs th{font-weight:400}.report.est-refs input{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;padding:3px 5px}.report.est-refs input:hover,.report.est-refs input:focus{border-color:var(--line-strong);background:var(--surface);outline:none}.report.est-refs tr.est-ref-off th,.report.est-refs tr.est-ref-off td{color:var(--muted)}.report.est-refs label.check{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.est-drop{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer;max-width:1100px;margin:8px 0;padding:14px;display:block}.est-drop.over,.est-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.est-link{gap:8px;max-width:1100px}.est-link input,.est-ai-bar input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:6px 8px;font-size:13px}.est-link input[type=url]{flex:2}.est-link input[type=text]{flex:3}.est-ai-bar{gap:8px;max-width:1100px}.est-ai-bar input{flex:1}.est-ai-note{max-width:1100px}.est-ai-note>p{margin:8px 0}.report.est-history{margin-top:6px}a.est-workitem{color:var(--accent);text-decoration:none}a.est-workitem:hover{text-decoration:underline}.report.est-sheet td .badge{margin:2px 5px;font-weight:500}.est-devops-proposals,.est-devops-result{max-width:1200px;margin-top:12px}.report.est-proposals{width:100%}.report.est-proposals td{vertical-align:top}.report.est-proposals p,.report.est-proposals ul{margin:4px 0}.est-pre{white-space:pre-wrap}.report.est-sheet tr.drop-before>td{box-shadow:inset 0 3px 0 var(--accent)}.report.est-sheet tr.drop-after>td{box-shadow:inset 0 -3px 0 var(--accent)}.report.est-sheet td.est-controls{white-space:nowrap;width:1%;padding:4px 2px 4px 4px}.est-controls-row{grid-template-columns:repeat(3,26px);grid-auto-rows:26px;place-items:center;display:grid}.est-controls-row .est-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;letter-spacing:-3px;padding-right:3px;font-size:18px}.est-controls-row .icon-btn{width:26px;height:26px;color:var(--muted);padding:0;font-size:18px}.est-controls-row .icon-btn:not(:disabled):hover{background:var(--hover-tint)}.est-controls-row .icon-btn:hover{color:var(--text)}.est-controls-row .icon-btn[aria-label=Fjern\ rækken]{order:-1}.est-controls-row .icon-btn[aria-label=Fjern\ rækken]:hover{color:var(--neg)}.estimates-page .icon-btn{visibility:visible}.report.est-sheet tr.est-command>td{background:var(--accent-soft)}.report.est-sheet tr.est-command form{gap:8px}.report.est-sheet tr.est-command input{border:1px solid var(--line-strong);background:var(--surface);flex:1}.est-controls-row .icon-btn.on{color:var(--text);background:var(--accent-soft)}.est-saved{color:var(--muted);text-align:right;min-width:140px;font-size:13px}.est-saved.not{color:var(--warn)}.est-proposals{flex-direction:column;gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.est-proposal{border:1px solid var(--line);border-radius:var(--radius-lg,6px);background:var(--bg);grid-template-columns:84px 1fr;align-items:start;gap:6px 12px;margin-left:28px;padding:10px 12px;display:grid}.est-proposal.story{background:var(--emp-bg);margin-left:0}.est-proposal .est-kind{padding-top:7px}.est-proposal label{color:var(--muted);text-align:left;flex-direction:column;grid-column:2;gap:3px;font-size:12px;display:flex}.est-proposal input,.est-proposal textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;padding:5px 8px;font-size:13px}.est-proposal textarea{field-sizing:content;resize:vertical;min-height:2lh;max-height:16lh}.est-proposal .est-proposal-title{font-weight:600}.estimates-page a.btn{text-decoration:none;display:inline-block}.est-toolbar .search-select input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:5px 26px 5px 8px}.est-fields .search-select input{width:100%}.report.est-list th,.report.est-list td{padding:8px 12px}.report.est-list tbody th a{font-weight:600;text-decoration:none}.report.est-list tbody th a:hover{text-decoration:underline}.est-head{align-items:center;gap:24px;margin-bottom:12px}.est-meta{align-items:center;gap:10px;margin:4px 0 0;display:flex}.est-meta .est-saved{text-align:left;min-width:0;font-size:12px}.est-meta .est-saved:before{content:"·";color:var(--muted);margin-right:10px}.est-total-figure{border-left:1px solid var(--line);flex-direction:column;align-items:flex-end;padding:6px 18px;display:flex}.est-total-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1}.est-total-value small{color:var(--muted);font-size:16px}.est-card,.estimates-page .est-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg,8px);margin-top:14px;padding:14px 18px}.estimates-page .est-section h3{border-bottom:0;margin:0 0 10px;padding-bottom:0;font-size:15px}.est-facts{flex-direction:column;gap:12px;max-width:none;display:flex}.est-facts-row{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=760px){.est-facts-row{grid-template-columns:1fr}}.est-description,.report.est-refs,.est-drop,.est-link,.est-ai-bar,.est-ai-note,.est-devops-proposals,.est-devops-result{max-width:none}.estimates-page .est-section .table-scroll{margin-top:0}.estimates-page .report.est-sheet{border:0}.report.est-sheet th.num,.report.est-sheet td.num{width:84px}.report.est-sheet .est-c-title{width:32%}.report.est-sheet .est-c-desc{width:auto}.report.est-sheet tfoot th{white-space:nowrap;text-align:right!important}.report.est-sheet tfoot td.num{vertical-align:middle}.est-why{cursor:help;color:var(--muted);padding:0 4px;font-size:14px}.est-why:hover,.est-why:focus{color:var(--accent);outline:none}.est-lists label>span:first-child{text-align:left}.est-lists label{text-align:left;align-items:stretch}.est-lists textarea{max-height:20lh;overflow:auto}@media (width<=900px){.est-lists{grid-template-columns:1fr}}.est-proposal-hours{text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:400}.est-proposal-source{color:var(--muted);grid-column:2;font-size:12px}.est-proposal-source summary{cursor:pointer;width:max-content}.est-proposal-source p,.est-proposal-source ul{margin:4px 0}.est-proposal-source[open]{border-left:2px solid var(--line-strong);padding-left:10px}.est-proposal-source[open] summary{margin-left:-10px}.est-status-filter{width:180px}.est-tasks-next{flex-wrap:wrap;align-items:flex-start;gap:12px 28px;display:flex}.est-tasks-way{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.est-tasks-way>b{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px}.est-board-pick{width:260px}.est-board-pick .search-select input{width:100%;padding-right:26px}.est-new-board{flex-basis:100%;max-width:1100px}.est-new-board>p{margin:0 0 6px}.est-status-filter .search-select input{width:100%}.est-tasks-done{margin:4px 0 0;font-size:13px}.tasks-menu{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex}.tasks-menu a{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px;font-weight:500;text-decoration:none}.tasks-menu a.on{color:var(--text);border-bottom-color:var(--ink)}.tasks-menu a:hover{color:var(--text)}.tasks-picker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.tasks-title{font-family:var(--font-display);margin:0 4px 0 0;font-size:22px;font-weight:400}.tasks-archived{flex-basis:100%;align-items:center;gap:12px;margin:0;display:flex}.tasks-lock{color:var(--muted);font-size:12px}.tasks-person{width:240px}.tasks-person .search-select input,.tasks-toolbar input[type=search],.tasks-toolbar select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:5px 8px;font-size:13px}.tasks-person .search-select input{padding-right:26px}.tasks-person-title{margin:0 0 10px;font-size:18px}.tasks-board-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-basis:100%;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 16px;padding:14px 18px;display:grid}.tasks-board-form label{color:var(--muted);text-align:left;flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.tasks-board-form label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:13px}.tasks-board-form input:not([type=radio]):not([type=checkbox]){border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:6px 8px;font-size:13px}.tasks-board-form fieldset{border:0;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:0;display:flex}.tasks-board-form legend{color:var(--muted);width:100%;margin-bottom:4px;padding:0;font-size:12px}.tasks-board-form .row,.tasks-board-form p{grid-column:1/-1;margin:0}.tasks-departments{flex-wrap:wrap;grid-column:1/-1;gap:6px 16px;display:flex}.tasks-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.tasks-toolbar input[type=search]{width:260px}.tasks-toolbar select{width:auto}.tasks-toolbar label.check{align-items:center;gap:6px;font-size:13px;display:flex}.tasks-columns{grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.tasks-error{grid-column:1/-1}.tasks-column{background:var(--emp-bg);border:1px solid var(--line);border-radius:var(--radius-lg);border-top:3px solid var(--line-strong);flex-direction:column;gap:8px;min-height:160px;padding:8px;display:flex}.tasks-column.inprogress{border-top-color:var(--accent)}.tasks-column.waiting{border-top-color:var(--warn)}.tasks-column.done{border-top-color:var(--ok-line)}.tasks-column.drop-end{box-shadow:inset 0 -3px 0 var(--accent)}.tasks-column>header{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.tasks-column h3{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:13px}.tasks-column .icon-btn{visibility:visible;color:var(--muted);font-size:18px}.tasks-column .icon-btn:hover{color:var(--text)}.tasks-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 1px 2px var(--shadow);flex-direction:column;gap:4px;padding:9px 10px;display:flex}.tasks-card[draggable=true]{cursor:grab}.tasks-card:hover,.tasks-card:focus-visible{border-color:var(--line-strong);box-shadow:0 2px 8px var(--shadow);outline:none}.tasks-card.dragging{opacity:.4}.tasks-card.drop-before{box-shadow:0 -3px 0 var(--accent)}.tasks-card-board{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.tasks-card-title{font-size:13px;font-weight:600;line-height:1.35}.tasks-card-waiting{color:var(--warn);font-size:12px}.tasks-card-meta{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.tasks-deadline.near{color:var(--warn);font-weight:600}.tasks-deadline.passed{color:var(--neg);font-weight:600}.tasks-chip{background:var(--menu-bg);border-radius:10px;padding:0 6px}.tasks-avatar{background:var(--ink);min-width:24px;height:24px;color:var(--on-ink);border-radius:12px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.tasks-new{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-lg);flex-direction:column;gap:6px;padding:8px;display:flex}.tasks-new input,.tasks-new select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:5px 8px;font-size:13px}.tasks-new .row{gap:8px}.tasks-panel{background:var(--surface);border-left:1px solid var(--line);width:min(520px,100vw);box-shadow:-8px 0 24px var(--shadow);z-index:30;padding:12px 20px 24px;position:fixed;top:48px;bottom:0;right:0;overflow-y:auto}.tasks-panel-head{align-items:center;gap:8px;display:flex}.tasks-form-title{width:100%;font-family:var(--font-display);border-radius:var(--radius);color:var(--text);background:0 0;border:1px solid #0000;margin-left:-7px;padding:2px 6px;font-size:22px}.tasks-form-title:hover{border-color:var(--line-strong)}.tasks-form-title:focus{border-color:var(--accent);outline:none}.tasks-form-grid{grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:10px;display:grid}.tasks-form-grid label,.tasks-label{color:var(--muted);text-align:left;flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.tasks-form-wide{grid-column:1/-1}.tasks-form-grid input,.tasks-form-grid select,.tasks-form-grid textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;width:100%;padding:6px 8px;font-size:13px}.tasks-form-grid textarea{field-sizing:content;resize:vertical;min-height:4lh}.tasks-form-grid .est-fields{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.tasks-props{flex-direction:column;gap:2px;margin-top:12px;display:flex}.tasks-props>label,.tasks-prop{min-height:34px;color:var(--muted);text-align:left;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:12px;font-size:13px;display:grid}.tasks-prop>:last-child{color:var(--text);padding-left:9px}.tasks-props input{border-radius:var(--radius);width:100%;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:13px}.tasks-props .search-select input{padding-right:26px}.tasks-props input:not(:disabled):hover{border-color:var(--line-strong);background:var(--surface)}.tasks-props input:focus{border-color:var(--accent);background:var(--surface);outline:none}.tasks-props .search-select-arrow{visibility:hidden}.tasks-props label:hover .search-select-arrow,.tasks-props .search-select:focus-within .search-select-arrow{visibility:visible}.tasks-props input[aria-invalid=true]{border-color:var(--neg);background:var(--neg-bg)}.deadline-picker{position:relative}.deadline-value{text-align:left;border-radius:var(--radius);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 8px;font-size:13px}.deadline-value.empty{color:var(--muted)}.deadline-value:hover,.deadline-value[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface)}.deadline-pop{z-index:25;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--shadow);display:flex;position:absolute;top:calc(100% + 4px);right:0}.deadline-month{padding:10px}.deadline-month header{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.deadline-month header b{text-transform:capitalize}.deadline-month header .link{color:var(--text);padding:2px 8px;font-size:14px}.deadline-days{grid-template-columns:repeat(7,32px);gap:2px;display:grid}.deadline-weekday{color:var(--muted);text-align:center;padding:2px 0;font-size:11px}.deadline-days button,.deadline-times button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:13px}.deadline-days button{font-variant-numeric:tabular-nums;height:30px}.deadline-days button.other{color:var(--muted)}.deadline-days button.today{box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:600}.deadline-days button:hover,.deadline-times button:hover{background:var(--emp-bg)}.deadline-days button.on,.deadline-times button.on{background:var(--ink);color:var(--on-ink)}.deadline-month footer{justify-content:space-between;margin-top:6px;font-size:13px;display:flex}.deadline-times{border-left:1px solid var(--line);flex-direction:column;gap:2px;width:92px;max-height:268px;padding:10px 6px;display:flex;overflow-y:auto}.deadline-times button{text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;padding:5px 8px}.tasks-estimate .row{align-items:center;gap:8px}.tasks-estimate-link{border:1px solid var(--line-strong);border-radius:var(--radius);padding:5px 10px;font-size:13px;text-decoration:none}.tasks-estimate-link:hover{border-color:var(--accent)}.tasks-saved{font-size:12px}.tasks-delete,.tasks-comments{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.tasks-comments h3{margin:0 0 8px;font-size:14px}.tasks-comment{border-bottom:1px solid var(--line);padding:6px 0}.tasks-comment p{margin:0}.tasks-comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px!important}.tasks-comment textarea,.tasks-comment-new textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;field-sizing:content;min-height:2lh;padding:6px 8px;font-size:13px}.tasks-comment-new{align-items:flex-end;gap:8px;margin-top:10px;display:flex}.est-linked-tasks{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;display:flex}.est-linked-task{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:2px 10px;text-decoration:none}.est-linked-task:hover{border-color:var(--accent)}@media (width<=900px){.tasks-columns{scroll-snap-type:x mandatory;grid-template-columns:repeat(4,minmax(240px,80vw))}.tasks-column{scroll-snap-align:start}.tasks-toolbar input[type=search]{width:100%}.tasks-form-grid,.tasks-form-grid .est-fields{grid-template-columns:1fr}}.tasks-who{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);grid-column:1/-1;padding:10px 12px}.tasks-who-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.tasks-who-people{flex-wrap:wrap;gap:6px;display:flex}.tasks-who-person{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:14px;padding:3px 10px;font-size:12px;transition:background .12s,border-color .12s,color .12s}.tasks-who-person:hover{border-color:var(--accent)}.tasks-who-person.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.tasks-who-person:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tasks-who-pick{grid-column:1/-1;gap:6px!important}.tasks-who-choice{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:16px;padding:4px 14px;font-size:13px;transition:background .12s,border-color .12s,color .12s}.tasks-who-choice:hover{border-color:var(--accent)}.tasks-who-choice.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.tasks-who-group{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;align-items:stretch;display:inline-flex;overflow:hidden}.tasks-who-group.some{border-color:var(--accent)}.tasks-who-group.on{border-color:var(--ink)}.tasks-who-group button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px}.tasks-who-group-name{padding:4px 8px 4px 14px}.tasks-who-group-name:disabled{cursor:default;color:var(--muted)}.tasks-who-group.on .tasks-who-group-name{background:var(--ink);color:var(--on-ink)}.tasks-who-group.some .tasks-who-group-name{background:var(--accent-soft)}.tasks-who-count{opacity:.7}.tasks-who-group-open{padding:4px 11px;line-height:1;border-left:1px solid var(--line-strong)!important;font-size:15px!important}.tasks-who-group-open:hover,.tasks-who-group-name:not(:disabled):hover{background:var(--accent-soft)}.tasks-who-group.on .tasks-who-group-name:hover{background:var(--ink)}.tasks-who-group.open .tasks-who-group-open{background:var(--ink);color:var(--on-ink)}.tasks-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:20px;display:grid}.tasks-main{min-width:0}.tasks-list{border-right:1px solid var(--line);max-height:calc(100vh - 120px);padding-right:14px;position:sticky;top:12px;overflow-y:auto}.tasks-list>header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tasks-list>header .btn{text-decoration:none}.tasks-list h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:12px;font-weight:600}.tasks-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.tasks-list li a{border-radius:var(--radius);color:var(--text);border-left:2px solid #0000;flex-direction:column;gap:1px;padding:6px 10px;text-decoration:none;display:flex}.tasks-list li a:hover{background:var(--accent-soft)}.tasks-list li a.on{background:var(--surface);border-left-color:var(--ink);font-weight:600}.tasks-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.tasks-list-lock{font-size:10px}.tasks-list-when{color:var(--muted);font-size:11px;font-weight:400}.tasks-list-archived{color:var(--muted);margin:12px 0 4px;font-size:12px}.tasks-list ul.archived a{opacity:.65}.tasks-main>.tasks-board-form{margin-top:4px}@media (width<=900px){.tasks-layout{grid-template-columns:1fr}.tasks-list{border-right:0;border-bottom:1px solid var(--line);max-height:none;padding:0 0 10px;position:static}.tasks-list ul{flex-flow:wrap}}.tasks-board-customer{color:var(--muted);border:1px solid var(--line);border-radius:12px;padding:2px 10px;font-size:13px}.tasks-list-when{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tasks-board-project{grid-column:span 2}.tasks-time{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:6px;margin-top:12px;padding-top:12px;display:flex}.tasks-time .register-task{flex-direction:column;gap:8px;width:100%;display:flex}.register-task-date{color:var(--muted);flex-direction:column;align-items:stretch;gap:3px;width:170px;font-size:12px;display:flex}.register-task-date input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:5px 8px;font-size:13px}.tasks-left{flex-direction:column;justify-content:flex-end;gap:3px;padding-bottom:6px;font-size:13px;display:flex}.tasks-over{color:var(--neg)}.tasks-chip.tasks-over{border-color:var(--neg)}.tasks-mail{color:var(--muted);margin:0 0 8px}.tasks-mail b{color:var(--text);font-weight:600}.tasks-files{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.tasks-files h4{margin:0 0 6px;font-size:14px}.tasks-files ul{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.tasks-files li{align-items:center;gap:8px;font-size:13px;display:flex}.tasks-files li .link:first-child{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.tasks-files-add{cursor:pointer;align-items:center;gap:8px;display:flex}.tasks-files-add input{display:none}.tasks-image{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);display:block;overflow:hidden}.tasks-image img{object-fit:contain;max-width:100%;max-height:260px;display:block}.tasks-image.loading{padding:10px 12px}.tasks-description{flex-direction:column;gap:4px;display:flex}.tasks-description textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;padding:6px 8px;font-size:13px}.tasks-description-view{border:1px solid var(--line);border-radius:var(--radius);cursor:text;padding:8px 10px;font-size:13px}.tasks-description-view:hover{border-color:var(--line-strong)}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol{margin:0 0 8px}.md ul,.md ol{padding-left:20px}.md h3,.md h4,.md h5{margin:10px 0 6px;font-size:14px}.md h3{font-size:15px}.md code{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:12px}.md .md-code{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 8px;padding:8px 10px;overflow-x:auto}.md .md-code code{background:0 0;border:0;padding:0}.md .tasks-image{margin:4px 0;display:inline-block}@media (width<=640px){.tasks-props>label,.tasks-prop{grid-template-columns:96px minmax(0,1fr);gap:8px}}@font-face{font-family:Austin News Deck;src:url(/assets/austin-news-deck-roman-BJ_953d2.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Austin News Deck;src:url(/assets/austin-news-deck-italic-6TTTwJzG.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Campton;src:url(/assets/campton-light-HE9o5JEM.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Campton;src:url(/assets/campton-light-italic-D3nj4808.woff2)format("woff2");font-weight:300 400;font-style:italic;font-display:swap}@font-face{font-family:Campton;src:url(/assets/campton-book-BBaD55G5.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Campton;src:url(/assets/campton-medium-DR0ZVXuM.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Campton;src:url(/assets/campton-bold-DHdWgcOr.woff2)format("woff2");font-weight:600 700;font-style:normal;font-display:swap}:root{--hv-black:#000;--hv-near-black:#191919;--hv-white:#fff;--hv-light:#f0f0f0;--hv-mid:#999;--hv-dark:#757575;--hv-warm:#796e61;--font-display:"Austin News Deck", Georgia, "Times New Roman", serif;--font-body:"Campton", system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#f5f4f2;--surface:#fff;--text:#191919;--muted:#5f5c58;--line:#e7e4df;--line-strong:#cfcac2;--accent:#6b6155;--accent-soft:#f2eee8;--neg:#c62828;--neg-bg:#fdecec;--pos:#1b7f4a;--warn:#8a5800;--warn-bg:#fdf3dc;--now:#f7f3ea;--emp-bg:#f6f4f1;--cap-bg:#faf9f7;--ink:var(--hv-near-black);--on-ink:#fff;--ink-hover:#3a3a3a;--on-neg:#fff;--subtle:var(--hv-dark);--warm:var(--hv-warm);--menu-bg:#efedea;--menu-hover:#ffffffb3;--shadow:#1919191f;--hover-tint:#19191909;--row-hover:#faf8f5;--own-row:#f6f3ee;--ok:#1a6e47;--ok-bg:#e6f4ec;--ok-line:#1a8f5c;--sk-a:#ecebe8;--sk-b:#f4f3f1;--rl-heading:var(--hv-white);--rl-map:var(--hv-light);--rl-mid:var(--hv-mid);--rl-sum:var(--hv-warm);--on-rl-mid:var(--hv-near-black);--on-rl-sum:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius:4px;--radius-lg:6px;--w-no:80px;--w-name:260px;--w-bill:44px;--w-resp:72px;--w-week:48px;font-family:var(--font-body);color:var(--text);background:var(--bg);font-size:13px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141312;--surface:#1d1c1a;--text:#ecebe8;--muted:#aaa59e;--line:#2f2d2a;--line-strong:#46433f;--accent:#c9bba8;--accent-soft:#2a2622;--neg:#f07a7a;--neg-bg:#3b1f1f;--pos:#5cc596;--warn:#e6b65e;--warn-bg:#3a2e14;--now:#26231d;--emp-bg:#232120;--cap-bg:#1a1917;--ink:#ecebe8;--on-ink:#191919;--ink-hover:#fff;--on-neg:#1d1c1a;--subtle:#9a958f;--warm:#c4b29b;--menu-bg:#191816;--menu-hover:#ffffff0f;--shadow:#00000080;--hover-tint:#ffffff0d;--row-hover:#24221f;--own-row:#2a2621;--ok:#6fd1a3;--ok-bg:#16291f;--ok-line:#2fae74;--sk-a:#24221f;--sk-b:#2e2b28;--rl-heading:var(--surface);--rl-map:#262422;--rl-mid:#4a4845;--on-rl-mid:#f5f4f2;--bi-grid:#2f2d2a}:root[data-theme=dark] .topbar h1.brand img{filter:invert()}h1,h2{font-family:var(--font-display);letter-spacing:0;font-weight:400}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select{font:inherit;color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}.app{flex-direction:column;height:100vh;display:flex}main{flex-direction:column;flex:1;min-height:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:24px;height:48px;padding:0 16px;display:flex}.topbar h1{white-space:nowrap;margin:0;font-size:19px;font-weight:400}.topbar h1.brand{align-items:center;gap:14px;display:flex}.topbar h1.brand img{width:auto;height:18px;display:block}.tabs{gap:2px;height:100%;display:flex}.tabs a{color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 14px;text-decoration:none;display:flex}.tabs a:hover{color:var(--text)}.tabs a.on{color:var(--text);border-bottom-color:var(--ink);font-weight:600}.spacer{flex:1}.topbar-menu{display:contents}.menu-toggle{display:none}@media (width<=1100px){.topbar{justify-content:space-between;position:relative}.menu-toggle{border-radius:var(--radius);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-right:-8px;display:inline-flex}.menu-toggle:hover{background:var(--emp-bg)}.topbar-menu{z-index:60;background:var(--surface);border-bottom:1px solid var(--line);max-height:calc(100vh - 48px);box-shadow:0 10px 24px var(--shadow);flex-direction:column;display:none;position:absolute;top:48px;left:0;right:0;overflow-y:auto}.topbar.menu-open .topbar-menu{display:flex}.topbar-menu .tabs{flex-direction:column;height:auto;padding:6px 0}.topbar-menu .tabs a{border-bottom:0;border-left:3px solid #0000;padding:12px 16px}.topbar-menu .tabs a.on{border-left-color:var(--ink)}.topbar-menu .tabs a.status-red.on{border-left-color:var(--bi-critical)}.topbar-menu .spacer{display:none}.topbar-menu .user{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin:0;padding:12px 16px}}label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}select,input[type=search]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:4px 8px}input[type=search]{width:220px;max-width:100%}.muted{color:var(--muted)}.error{color:var(--neg)}.pad{padding:16px}.strong{font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums}.center{text-align:center}.neg{color:var(--neg)}.pos{color:var(--pos)}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.link:hover{text-decoration:underline}.badge{letter-spacing:.02em;vertical-align:1px;border-radius:4px;margin:0 4px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.badge.closed{background:var(--neg-bg);color:var(--neg)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.planning{flex-direction:column;flex:1;min-height:0;display:flex}.toolbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}.toolbar-status{white-space:nowrap;flex:1 1 0;justify-content:flex-end;align-items:center;gap:16px;min-width:0;display:flex;overflow:hidden}.toolbar-status>*{flex-shrink:0}.toolbar-status>.status-message{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.save{border-radius:10px;padding:2px 8px;font-size:12px}.save.saving{color:var(--muted)}.save.saved{color:var(--pos)}.save.failed{color:var(--neg);background:var(--neg-bg)}.grid-scroll{background:var(--surface);outline:none;flex:1;overflow:auto}.grid{border-collapse:separate;border-spacing:0}.grid th,.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);height:26px;padding:0 6px}.grid thead th{z-index:3;background:var(--surface);border-bottom:1px solid var(--line-strong);text-align:left;height:38px;font-weight:600;position:sticky;top:0}.grid thead th.week{text-align:center;min-width:var(--w-week);width:var(--w-week);line-height:1.2}.grid thead th .date{color:var(--muted);font-size:10px;font-weight:400}.grid .sticky{z-index:2;position:sticky}.grid thead .sticky{z-index:4}.grid .c-no,.grid .c-span{left:0}.grid .c-no{min-width:var(--w-no);max-width:var(--w-no)}.grid .c-name{left:var(--w-no);min-width:var(--w-name);max-width:var(--w-name)}.grid .c-bill{left:calc(var(--w-no) + var(--w-name));min-width:var(--w-bill);max-width:var(--w-bill)}.grid .c-resp{left:calc(var(--w-no) + var(--w-name) + var(--w-bill));min-width:var(--w-resp);max-width:var(--w-resp);border-right:1px solid var(--line-strong)}.grid .c-span{border-right:1px solid var(--line-strong);text-align:left}.grid .now,.grid thead th.now{background:var(--now)}.r-employee th,.r-employee td{background:var(--emp-bg);border-top:8px solid var(--bg);height:30px}.r-employee th{font-size:13.5px;font-weight:650}.r-capacity th,.r-capacity td,.r-free th,.r-free td{background:var(--cap-bg)}.r-capacity th,.r-free th{color:var(--muted);font-weight:500}.r-free td{font-weight:600}.r-holiday td.holiday,.r-holiday .name{color:var(--muted)}.r-free td.neg{background:var(--neg-bg);color:var(--neg)}.r-free td.pos{color:var(--pos)}.r-capacity td.computed{color:var(--muted);font-style:italic}.r-add td{border-bottom-color:var(--line-strong)}td.edit{cursor:cell}td.edit.active{box-shadow:inset 0 0 0 2px var(--ink);background:var(--accent-soft)}.cell-input{width:calc(var(--w-week) - 4px);text-align:right;background:var(--surface);font-variant-numeric:tabular-nums;border:0;outline:none;height:22px;padding:0 4px}.r-line.closed .name{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.r-line.closed .name .badge{text-decoration:none}.name-cell{align-items:center;gap:2px;display:flex}.name-cell .name{text-overflow:ellipsis;flex:1;overflow:hidden}.icon-btn{cursor:pointer;color:var(--muted);visibility:hidden;background:0 0;border:0;border-radius:4px;padding:0 4px;font-size:14px;line-height:1}.r-line:hover .icon-btn,.icon-btn.armed{visibility:visible}.icon-btn:hover{color:var(--neg)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:disabled:hover{color:var(--muted)}.r-line .c-name[draggable=true]{cursor:grab}.grid tr.dragged>*{opacity:.45}.grid tr.drop-above>*{box-shadow:inset 0 2px 0 var(--ink)}.grid tr.drop-below>*{box-shadow:inset 0 -2px 0 var(--ink)}.icon-btn.armed{color:var(--on-neg);background:var(--neg);padding:2px 6px;font-size:11px}.resp{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0}.resp.override{color:var(--warn);font-weight:600}.resp-input{border:1px solid var(--accent);text-transform:uppercase;border-radius:3px;width:100%;padding:0 3px}.picker{position:relative}.picker input{border:1px solid var(--accent);border-radius:4px;width:100%;padding:2px 6px}.picker-results{z-index:10;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:440px;max-height:280px;box-shadow:0 6px 20px var(--shadow);margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;overflow:auto}.picker-results li{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:5px 10px;overflow:hidden}.picker-results li.hl,.picker-results li:hover{background:var(--accent-soft)}.picker-results .num{text-align:left;min-width:72px;color:var(--muted);display:inline-block}.add{font-size:12px}.page{padding:16px 24px;overflow:auto}.page h2{margin:4px 0;font-size:24px}.table-scroll{margin-top:12px;overflow:auto}.report{border-collapse:collapse;background:var(--surface);border:1px solid var(--line)}.report th,.report td{border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 12px}.report thead th{background:var(--emp-bg);text-align:center;border-bottom:1px solid var(--line-strong);font-weight:600}.report tbody th{text-align:left;font-weight:500}.report tfoot th,.report tfoot td{border-top:2px solid var(--line-strong);font-weight:650}.user{align-items:center;gap:8px;margin-left:8px;display:flex}.user-name{font-weight:500}.theme-toggle{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:12px;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--ink)}.badge.role{background:var(--menu-bg);color:var(--ink)}.center-screen{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:460px;padding:28px 32px}.card h1{margin:0 0 12px;font-size:28px}.card p{line-height:1.5}.row{flex-wrap:wrap;gap:8px;display:flex}.btn{border-radius:var(--radius);background:var(--ink);color:var(--on-ink);cursor:pointer;border:0;padding:7px 14px;font-weight:500}.btn:not(:disabled):hover{background:var(--ink-hover)}.btn.secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.btn.secondary:not(:disabled):hover{background:var(--emp-bg)}.toolbar label select+select{margin-left:-2px}.presets{gap:12px;display:inline-flex}.grid thead th .year-label{color:var(--ink);font-size:10px;font-weight:700}.grid .year-start{border-left:2px solid var(--ink)}.grid-scroll.loading{opacity:.6;transition:opacity .15s}.page-head{align-items:center;gap:24px;display:flex}.page h3{margin:24px 0 4px;font-size:15px}.sync-actions{margin:12px 0}.btn:disabled{opacity:.5;cursor:default}.sync-result{margin:8px 0 16px}.sync-created td:first-child{color:var(--pos);font-weight:600}.sync-deactivated td:first-child,.sync-conflict td:first-child{color:var(--neg);font-weight:600}.report tr.inactive td{color:var(--muted)}.small{font-size:11px}.warn-text{color:var(--warn)}.picker-panel{z-index:1000;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:460px;box-shadow:0 6px 20px var(--shadow)}.picker-panel .picker-results{width:auto;box-shadow:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;max-height:320px;margin:0;position:static}.picker-closed{padding:6px 10px;font-size:12px}.picker-count{padding:4px 10px;font-size:11px}.picker-results li.taken{color:var(--muted);cursor:default}.picker-results li.taken:hover{background:0 0}.picker-results .badge{background:var(--emp-bg);color:var(--muted)}.picker-results .badge.closed{background:var(--neg-bg);color:var(--neg)}.picker-results .badge.hidden-badge{background:var(--accent-soft);color:var(--accent)}.r-employee .badge{cursor:help;font-weight:600}.icon-btn{font-size:11px}.grid td.soft{color:var(--muted);font-style:italic}.grid td.hard{font-weight:700}.grid td.edit.selected{background:color-mix(in srgb, var(--accent) 28%, var(--surface))}.legend{cursor:help;font-size:12px}.selection-sum{white-space:nowrap;font-size:13px}.cell-sample{text-align:right;border:1px solid var(--line);min-width:22px;padding:0 4px;display:inline-block}.cell-sample.soft{color:var(--muted);font-style:italic}.cell-sample.hard{font-weight:700}.grid td.has-comment{position:relative}.grid td.has-comment:after{content:"";border-style:solid;border-width:0 7px 7px 0;border-color:transparent var(--warm) transparent transparent;position:absolute;top:0;right:0}.comment-box{z-index:1000;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:320px;box-shadow:0 8px 24px var(--shadow);padding:10px 12px}.comment-title{margin-bottom:6px;font-size:12px;font-weight:600}.comment-box textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;font:inherit;padding:6px 8px}.comment-text{white-space:pre-wrap;margin:4px 0}.comment-meta{margin:4px 0;font-size:11px}.comment-actions{align-items:center;margin-top:6px}.popup-clipboard{gap:14px;margin-top:6px;font-size:12px}.small-btn{padding:3px 10px;font-size:12px}.popup-row{align-items:end;gap:12px;margin-bottom:8px;display:flex}.popup-hours{flex-direction:column;align-items:flex-start;gap:2px;font-size:12px}.popup-hours input{border:1px solid var(--line-strong);border-radius:var(--radius);text-align:right;font-variant-numeric:tabular-nums;width:80px;padding:4px 8px}.popup-label{margin:4px 0 2px;font-size:12px;display:block}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);cursor:pointer;color:var(--muted);border:0;padding:5px 14px;font-size:12px;font-weight:600}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button:disabled{opacity:.45;cursor:default}.segmented.history button{padding:3px 10px;font-size:14px}.segmented button.soft.on{background:var(--emp-bg);color:var(--text);font-style:italic}.segmented button.hard.on{background:var(--ink);color:var(--on-ink)}.segmented button:disabled{cursor:default}.present{align-items:center;gap:4px;display:inline-flex}.present-user{background:var(--ink);min-width:26px;height:26px;color:var(--on-ink);letter-spacing:.02em;border-radius:13px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.segmented.groups button.on{background:var(--ink);color:var(--on-ink)}.r-employee .emp-group{margin-left:8px;font-weight:400}:root{--bi-billable:#2a78d6;--bi-nonbillable:#eb6834;--bi-absence:#1baf7a;--bi-sickness:#eda100;--bi-newbizz:#4a3aa7;--bi-critical:#d03b3b;--bi-grid:#ecebe8}.bi .bi-filters{background:0 0;border:0;padding:8px 0}.bi input[type=date]{border:1px solid var(--line-strong);border-radius:var(--radius);padding:3px 6px}.swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.swatch.billable{background:var(--bi-billable)}.swatch.nonbillable{background:var(--bi-nonbillable)}.swatch.absence{background:var(--bi-absence)}.swatch.sickness{background:var(--bi-sickness)}.swatch.newbizz{background:var(--bi-newbizz)}.bi .missing,.bi td.missing{color:var(--bi-critical);font-weight:600}.stat-row{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;margin:8px 0 16px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:2px;font-size:28px;font-weight:400}.stat-note{font-size:12px}.stat.critical .stat-value{color:var(--bi-critical)}.bi-chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0 0 16px;padding:12px 14px}.bi-chart figcaption{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:8px;display:flex}.chart-title{font-weight:600}.legend-row{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend-row .missing{font-size:12px}.expected-key{background:var(--text);vertical-align:-2px;width:2px;height:12px;margin-right:5px;display:inline-block}.chart-grid{--name-w:190px;--value-w:110px}.chart-axis{height:16px;margin:0 var(--value-w) 2px var(--name-w);color:var(--muted);font-size:11px;position:relative}.chart-axis span{font-variant-numeric:tabular-nums;position:absolute;transform:translate(-50%)}.chart-row{align-items:center;height:22px;display:flex}.chart-name{width:var(--name-w);text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0 8px 0 0;font-size:12px;overflow:hidden}.chart-name:hover{color:var(--accent);text-decoration:underline}.seg{cursor:pointer}.seg:hover{filter:brightness(1.08)}.legend-sort{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:1px 8px;font-size:12px}.legend-sort:hover{border-color:var(--line-strong);color:var(--text)}.legend-sort.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft);font-weight:600}.chart-track{flex:1;align-items:center;height:100%;display:flex;position:relative}.gridline{background:var(--bi-grid);width:1px;position:absolute;top:0;bottom:0}.stack{gap:2px;height:14px;display:flex;position:relative}.seg{min-width:1px}.seg:last-child{border-radius:0 4px 4px 0}.seg.billable{background:var(--bi-billable)}.seg.nonbillable{background:var(--bi-nonbillable)}.seg.absence{background:var(--bi-absence)}.seg.sickness{background:var(--bi-sickness)}.seg.newbizz{background:var(--bi-newbizz)}.seg.unregistered,.swatch.unregistered{background:repeating-linear-gradient(135deg, var(--bi-critical) 0 2px, var(--neg-bg) 2px 5px);box-shadow:inset 0 0 0 1px var(--bi-critical)}.expected-mark{background:var(--text);width:2px;box-shadow:0 0 0 1px var(--surface);margin-left:-1px;position:absolute;top:2px;bottom:2px}.chart-value{width:var(--value-w);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;padding-left:8px;font-size:12px}.chart-tip{z-index:1000;pointer-events:none;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 6px 18px var(--shadow);min-width:190px;padding:8px 10px;font-size:12px;position:fixed}.chart-tip div{align-items:center;gap:4px;display:flex}.chart-tip .num{margin-left:auto}.chart-tip .tip-sum{border-top:1px solid var(--line);margin-top:4px;padding-top:4px;font-weight:600}.bi-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.bi-table th.sorted{color:var(--accent)}.bi-table tr.clickable{cursor:pointer}.bi-table tr.clickable:hover td,.bi-table tr.clickable:hover th,.bi-table tr.selected td,.bi-table tr.selected th{background:var(--accent-soft)}.bi-detail{margin-top:16px}.bi-detail-cols{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.bi-settings{margin-top:20px}.bi-settings summary{cursor:pointer;color:var(--accent)}.bi-group{color:var(--text);gap:6px;padding:2px 0;display:flex}.sync-status{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.bi-shell{flex:1;min-height:0;display:flex}.bi-menu{background:var(--menu-bg);border-right:1px solid var(--line);flex:none;width:200px;padding:12px 0;overflow:auto}.bi-menu h3{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);margin:0 0 4px;padding:0 16px;font-size:11px;font-weight:650}.bi-menu a{color:var(--ink);border-left:3px solid #0000;padding:6px 16px;text-decoration:none;display:block}.bi-menu a.on{background:var(--surface);border-left-color:var(--warm);font-weight:600}.bi-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.banner{border-radius:var(--radius);background:var(--emp-bg);margin:8px 0;padding:8px 12px}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.error{background:var(--neg-bg)}.banner.publish-bar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.banner.publish-bar ul{margin:4px 0 0;padding-left:18px}.banner.publish-bar .btn{flex:none}.banner.running{background:var(--accent-soft);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.sync-buttons th{width:1%}.sync-buttons th .btn{text-align:left;min-width:140px}.sync-buttons input[type=date]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:3px 6px}.sync-buttons input[type=date]:disabled{opacity:.5}.data-page .report td.wrap,.data-page .report td .wrap{white-space:normal;max-width:420px}.report td.wrap{white-space:normal}.run-log tr.clickable{cursor:pointer}.run-log tr.clickable:hover td{background:var(--emp-bg)}.run-log tr.run-error td{border-top:0;padding-top:0;font-size:12px}.run-detail{background:var(--cap-bg);padding:8px 12px 12px}.report.compact th,.report.compact td{padding:3px 10px}.bi-head{flex-wrap:wrap;align-items:flex-end;gap:24px;margin-bottom:12px;display:flex}.bi-head h2{margin:0 0 4px}.date-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:8px 12px;display:flex}.date-bar label{flex-direction:column;align-items:flex-start;gap:2px;font-size:11px}.date-bar select,.date-bar input[type=date],.employees input,.project-picker input,.employee-types input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:4px 8px;font-size:13px}.dashboard-controls{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0;display:flex}.barsel-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);padding:18px 20px;overflow:auto}.barsel-dialog::backdrop{background:#00000073}.barsel-dialog .barsel-who{text-align:left;align-items:flex-start;margin-bottom:14px}.barsel-dialog .barsel-who select{min-width:260px;padding:6px 8px;font-size:14px}.barsel-dialog .register-barsel{margin:0}.check-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin:0;padding:6px 12px 8px}.check-list legend{color:var(--subtle);text-transform:uppercase;letter-spacing:.05em;padding:0 4px;font-size:11px;font-weight:650}.check-list label{color:var(--text);cursor:pointer;padding:2px 0;display:flex}.check-list-all{gap:10px;margin-bottom:2px;font-size:11px;display:flex}.check-list.inline{flex-wrap:wrap;align-items:center;gap:4px 14px;display:flex}.check-list.inline .check-list-all{margin:0 6px 0 0}.filter-menu{position:relative}.filter-menu summary{cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:6px 10px;list-style:none}.filter-menu summary:after{content:" ▾";color:var(--muted)}.filter-menu[open] .check-list{z-index:20;min-width:240px;max-height:360px;box-shadow:0 6px 20px var(--shadow);position:absolute;top:calc(100% + 4px);left:0;overflow:auto}.report.loading,.pie-layout.loading{opacity:.6;transition:opacity .15s}.report.tree th{font-weight:400}.report.tree .depth-0 th{font-weight:600}.report.tree .tree-label{text-align:left}.report.tree tr.none th{color:var(--muted);font-style:italic}.tree-toggle{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:0;padding:0}.tree-toggle span{width:12px;color:var(--muted);display:inline-block}.tree-leaf{padding-left:16px}.pie-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.pie{flex:none;position:relative}.pie .slice{stroke:var(--surface);stroke-width:2px;cursor:pointer;outline:none;transition:opacity .15s}.pie .slice:focus-visible{stroke:var(--ink);stroke-width:3px}.pie .slice.dim{opacity:.45}.chart-tooltip{pointer-events:none;z-index:10;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 4px 14px var(--shadow);white-space:nowrap;padding:6px 10px;font-size:12px;position:absolute}.swatch{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.check-list.legend{min-width:320px}.legend-item{grid-template-columns:12px 1fr 80px 44px;align-items:center;gap:8px;min-width:300px;margin-left:6px;display:inline-grid}.section-head{align-items:center;gap:16px;margin-top:20px;display:flex}.section-head h3{align-items:center;gap:8px;margin:0;display:flex}.project-picker{position:relative}.project-picker input{width:340px}.project-picker .picker-results{z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:520px;max-height:360px;box-shadow:0 6px 20px var(--shadow);margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;overflow:auto}.print-head h3{margin:0 0 2px}.print-head{margin-bottom:8px}.spec-table td.wrap{white-space:normal;max-width:560px}.print-only{display:none}.employees .initials-input{text-transform:uppercase;width:64px}.employees tr.missing td,.employees tr.missing th{background:var(--warn-bg)}.employee-types ul{flex-wrap:wrap;gap:6px 16px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.employee-types form{gap:8px;display:flex}@media (width<=640px){select,input,textarea{max-width:100%}.page{padding:16px}.page .report:not(.table-scroll>.report){max-width:100%;display:block;overflow-x:auto}.legend-item,.check-list.legend{min-width:0}.chart-grid{--name-w:110px;--value-w:76px}.btn,select,input[type=search],input[type=text],input[type=date],input[type=number],input:not([type]){min-height:36px}.page-head{flex-wrap:wrap;gap:8px 16px}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-value{font-size:21px}.mon-bars{flex-wrap:wrap;display:flex}.planning{overflow-y:auto}.planning .grid-scroll{flex:none;height:calc(100dvh - 48px)}.planning .grid{--w-no:0px;--w-bill:0px;--w-resp:0px;--w-name:150px}.grid .c-no,.grid .c-bill,.grid .c-resp{border-right:0;padding:0;font-size:0}.grid .c-no>*,.grid .c-bill>*,.grid .c-resp>*{display:none}.planning .grid .c-span{white-space:normal;max-width:var(--w-name)}.planning .grid .emp-group{display:none}}@media print{.topbar,.bi-menu,.date-bar,.no-print,.dashboard-controls{display:none!important}.app,main,.bi-shell,.bi-content,.page{background:#fff;height:auto;padding:0;display:block;overflow:visible}body{background:#fff}.print-only{display:block}.report{border:0;width:100%}.report thead{display:table-header-group}.report tr{break-inside:avoid}@page{size:A4 portrait;margin:15mm}}.report tfoot th{text-align:left}.report tr.missing td{background:var(--warn-bg)}.type-input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:130px;padding:3px 6px}.report input[type=date]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:3px 6px}.report.structure tr.type-Overskrift th,.report.finance tr.type-Overskrift th,.report.budget tr.type-Overskrift th{text-transform:none;padding-top:14px;font-weight:700}.report.finance tr.type-SumMap th,.report.finance tr.type-SumFra th,.report.finance tr.type-SumInterval th,.report.finance tr.type-SumArt th,.report.budget tr.type-SumMap th,.report.budget tr.type-SumFra th,.report.budget tr.type-SumInterval th,.report.budget tr.type-SumArt th,.report.finance tr.type-SumMap td,.report.finance tr.type-SumFra td,.report.finance tr.type-SumInterval td,.report.finance tr.type-SumArt td{font-weight:600}.report.finance tr.type-SumFra td,.report.finance tr.type-SumArt td{border-top:1px solid var(--line-strong)}.report.finance tr.type-Kpi th,.report.finance tr.type-Kpi td,.report.budget tr.type-Kpi th,.report.budget tr.type-Kpi td{color:var(--subtle);font-style:italic}.report.finance tr.account th,.report.finance tr.account td{color:var(--muted);font-size:12px;font-weight:400}.report.finance th.group{text-align:center;border-bottom:1px solid var(--line)}.report .gap{background:var(--bg);border:0;width:16px;padding:0}.report td.diff.better{color:var(--ink)}.report td.diff.worse{color:var(--warm);font-weight:600}.report tr.check-line th,.report tr.check-line td{font-size:12px;font-weight:400}.finance-section h3{margin-top:20px}.structure .actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.structure .actions .icon{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:4px;padding:0 6px}.structure .actions .icon:disabled{opacity:.3;cursor:default}.link.danger{color:var(--neg)}.editor-row td{background:var(--cap-bg)}.line-editor{padding:8px 0}.line-editor .fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.line-editor label{flex-direction:column;align-items:flex-start;gap:2px;font-size:11px}.line-editor label.check{flex-direction:row;align-items:center;font-size:13px}.line-editor input,.line-editor select,.signs select,.budget-page select,.copy-budget select,.copy-budget input{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:4px 8px;font-size:13px}.line-editor .formula input{width:360px;font-family:ui-monospace,monospace}.inline-checks{border:0;gap:10px;margin:0;padding:0;display:flex}.inline-checks legend{color:var(--muted);padding:0;font-size:11px}.add-line{margin-top:8px}.signs{margin-top:24px}.signs .row label{flex-direction:column;align-items:flex-start;font-size:11px}.import-box{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface);margin:12px 0;padding:12px 16px}.import-box h3{margin-top:0}.import-rows{background:var(--cap-bg);max-height:320px;padding:8px;font-size:12px;overflow:auto}.bulk-bar{z-index:5;background:var(--accent-soft);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex;position:sticky;top:0}.report.accounts tr.review td,.report.accounts tr.review th{background:var(--emp-bg)}.report.accounts select{max-width:340px}.report.budget td.cell{padding:1px 2px}.report.budget input.amount{text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;width:84px;padding:3px 4px}.report.budget input.amount:hover{border-color:var(--line-strong);background:var(--surface)}.report.budget input.amount:focus{border-color:var(--accent);background:var(--surface);outline:none}.report.budget input.amount.bad{border-color:var(--neg);background:var(--neg-bg)}.report.budget tr.calc td{color:var(--subtle)}.copy-budget{margin-top:24px}.copy-budget .row{flex-wrap:wrap;align-items:center}.copy-budget input.pct{width:56px}.report select.warn{border-color:var(--warn)}.missing-economic{margin-top:24px}.report td.overdue{color:var(--warm);font-weight:600}.report.debtors tr.items>td{background:var(--cap-bg);padding:6px 12px 10px 36px}.report.cards input,.norm-page input,.norm-page select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:3px 6px}.norm-page input.hours{text-align:right;width:52px}.norm-page section{margin-top:20px}.calendars{flex-wrap:wrap;gap:16px;margin:8px 0;display:flex}.calendar-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:320px;padding:10px 14px}.calendar-card h4{margin:0 0 6px}.calendar-card ul{max-height:280px;margin:0 0 8px;padding:0;list-style:none;overflow:auto}.calendar-card li{padding:2px 0}.calendar-card .date{min-width:130px;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.tabs a .status-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-right:7px}.tabs a.status-green .status-dot{background:var(--ok-line)}.tabs a.status-yellow .status-dot{background:var(--bi-sickness)}.tabs a.status-red .status-dot{background:var(--bi-critical)}.tabs a.status-red{color:var(--bi-critical)}.tabs a.status-red.on{border-bottom-color:var(--bi-critical)}.tabs a .status-hours{white-space:pre;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.monitor-page .page-head{align-items:flex-start}.monitor-page .page-head p{margin:4px 0 0}.mon-status{white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.mon-dot{background:var(--line-strong);border-radius:50%;flex:none;width:9px;height:9px}.mon-status.up .mon-dot{background:var(--ok-line)}.mon-status.down{color:var(--neg)}.mon-status.down .mon-dot{background:var(--neg);box-shadow:0 0 0 3px var(--neg-bg)}.mon-status.warning{color:var(--warn)}.mon-status.warning .mon-dot{background:var(--warn)}.mon-status.unknown,.mon-status.paused{color:var(--muted);font-weight:500}.mon-bars{vertical-align:middle;gap:2px;display:inline-flex}.mon-bar{background:var(--line);border-radius:2px;width:6px;height:18px}.mon-bar.up{background:var(--ok-line)}.mon-bar.warning{background:var(--warn)}.mon-bar.down{background:var(--neg)}.mon-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 8px;display:flex}.mon-toolbar input[type=search]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:260px;color:var(--text);padding:5px 8px}.mon-toolbar .segmented button.on{background:var(--ink);color:var(--on-ink)}.mon-codes{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.mon-codes .row{align-items:center;gap:12px}.mon-codes label.other{flex-direction:row;align-items:center;gap:6px}.mon-codes label.other input{width:110px}.mon-toolbar select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:5px 8px}.report.mon-sites{width:100%}.report.mon-sites tr.mon-site>th{align-items:center;gap:6px;font-weight:600;display:flex}.report.mon-sites tr.mon-site>th .badge{font-weight:500}.report.mon-sites .mon-fold{text-align:left;width:16px;padding:0}.report.mon-sites tr.mon-check>th{padding-left:34px;font-weight:400}.report.mon-sites tr.mon-check>*{background:var(--cap-bg)}.mon-url{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.mon-settings{margin-top:28px}.mon-departments{flex-wrap:wrap;gap:6px 18px;display:flex}.mon-form{max-width:920px}.mon-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;display:grid}.mon-form label{color:var(--muted);flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.mon-form label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:13px}.mon-form input:not([type=checkbox]),.mon-form select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:6px 8px;font-size:13px}.mon-check-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 10px;padding:10px 14px 14px;display:flex}.mon-check-form legend{padding:0 4px;font-size:12px;font-weight:600}.mon-check-form label.wide{flex:100%}.mon-check-form input[type=number]{width:80px}.mon-form .row{margin:12px 0}.mon-form .search-select-list{color:var(--text);font-size:13px;list-style:none}.mon-error{color:var(--neg)}.report.mon-channels td.row{white-space:nowrap;gap:10px}.mon-channel-form{margin:8px 0}.mon-channel-form .mon-fields .wide{grid-column:span 2}.mon-toolbar label.check{align-items:center;gap:6px;display:flex}.mon-trend{text-align:center;cursor:help;width:10px;font-size:10px;display:inline-block}.mon-trend.same{color:var(--muted)}.mon-trend.up{color:var(--neg)}.mon-trend.down{color:var(--ok-line)}.mon-report-error{color:var(--warn);cursor:help}.mon-report h4{margin:18px 0 6px}.mon-runtime{flex-wrap:wrap;gap:8px 28px;margin:8px 0 12px;display:flex}.mon-runtime dt{color:var(--muted);font-size:12px}.mon-runtime dd{margin:0}.monitor-page .report tbody tr:not(.mon-group):hover>*{background:var(--accent-soft)}.monitor-page .report tbody tr:not(.mon-group):hover>:first-child{box-shadow:inset 3px 0 0 var(--accent)}.mon-section{margin-top:28px}.mon-section-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px;padding-bottom:6px;display:flex}.mon-section-head h3{margin:0;font-size:16px}.mon-section-head p{margin:0}.mon-section .table-scroll{margin-top:0}.mon-section .bi-chart{margin:0}.monitor-page .mon-section .report{width:100%}.monitor-page .report thead th{text-align:left}.monitor-page .report thead th.num{text-align:right}.mon-subhead{align-items:baseline;gap:10px;margin:22px 0 8px;font-size:13px;display:flex}.mon-report .stat-row,.mon-report .bi-chart{margin-top:12px}.mon-runtime-line{flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;display:flex}.mon-runtime-line>span{white-space:nowrap}.mon-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:0;display:grid}.mon-facts>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:8px 12px}.mon-facts dt{color:var(--muted);font-size:11px}.mon-facts dd{flex-wrap:wrap;align-items:baseline;gap:6px;margin:2px 0 0;font-weight:600;display:flex}.mon-parts{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.mon-part{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:8px 12px;display:flex}.mon-part.warning{border-color:var(--warn);background:var(--warn-bg)}.mon-part.down{border-color:var(--neg);background:var(--neg-bg)}.mon-part-head{align-items:center;gap:4px;display:flex}.mon-part-head .spacer{flex:1}.mon-part-name{font-weight:600}.mon-part-why{color:var(--ink)}.mon-errors-cell{align-items:flex-end;gap:8px;display:inline-flex}.mon-spark{align-items:flex-end;gap:1px;height:18px;display:inline-flex}.mon-spark-bar{background:var(--line-strong);border-radius:1px;width:3px;height:8%}.mon-spark-bar.none{background:0 0}.mon-spark.spike .mon-spark-bar{background:var(--muted)}.mon-spark-bar.hot{background:var(--neg)!important}.mon-detail summary{cursor:pointer;color:var(--muted)}.mon-detail pre{white-space:pre;background:var(--surface);border:1px solid var(--line);border-radius:6px;max-height:320px;margin:6px 0 0;padding:8px;font-size:11px;overflow:auto}.report.mon-top code,.report.mon-jobs code{white-space:pre-wrap;word-break:break-word;font-size:12px}.report.mon-sites tr.mon-group>th{background:var(--emp-bg);text-transform:uppercase;letter-spacing:.04em;padding-top:10px;font-size:12px;font-weight:700}.bi-shell{--bi-internal:#e87ba4;--bi-grid:#ebe8e3;--bi-other:#8a8984;color:var(--text);background:var(--bg)}:root[data-theme=dark] .bi-shell{--bi-grid:#2f2d2a;--bi-other:#9a9893}.bi-shell .small{font-size:12px}.bi-shell p.muted.small,.bi-shell .footnote{max-width:90ch;margin:12px 0 0;font-size:13px;line-height:1.5}.bi-shell .link:disabled{color:var(--muted);cursor:default;text-decoration:none}.bi-shell a{color:var(--accent)}.bi-shell a.btn{color:var(--on-ink);text-decoration:none;display:inline-block}.bi-shell a.btn.secondary{color:var(--text)}.bi-shell select,.bi-shell input[type=search],.bi-shell input[type=date]{border-color:var(--line-strong);min-height:30px}.bi-shell .badge.key{background:var(--accent-soft);color:var(--accent);margin-left:6px}.bi-menu{background:var(--menu-bg);flex-direction:column;width:216px;padding:14px 0 8px;transition:width .15s;display:flex}.bi-menu-section{margin-bottom:18px}.bi-menu h3{color:var(--muted);margin-bottom:6px;padding:0 18px}.bi-menu a{color:var(--ink);align-items:center;gap:10px;padding:7px 18px 7px 15px;font-size:13px;display:flex}.bi-menu a:hover{background:var(--menu-hover)}.bi-menu a.on{background:var(--surface);border-left-color:var(--warm)}.bi-icon{color:var(--muted);flex:none}.bi-menu a.on .bi-icon{color:var(--ink)}.bi-menu-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.menu-dot{background:var(--bi-critical);width:7px;height:7px;box-shadow:0 0 0 2px var(--menu-bg);border-radius:50%;flex:none;margin-left:auto}.bi-menu-fold{cursor:pointer;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:10px;margin-top:auto;padding:8px 18px;font-size:12px;display:flex}.bi-menu-fold:hover{color:var(--text)}.bi-shell.folded .bi-menu{width:52px}.bi-shell.folded .bi-menu h3{visibility:hidden;height:0;margin:0}.bi-shell.folded .bi-menu-section{border-top:1px solid var(--line);margin-bottom:10px;padding-top:6px}.bi-shell.folded .bi-menu-section:first-child{border-top:0}.bi-shell.folded .bi-menu a{padding:8px 0 8px 15px;position:relative}.bi-shell.folded .bi-menu-label{display:none}.bi-shell.folded .menu-dot{position:absolute;top:6px;left:30px}.bi-shell.folded .bi-menu-fold{padding-left:20px}.bi-content>.page{width:100%;max-width:1480px;padding:20px 28px 32px;overflow:visible}.bi-shell .bi-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 24px;margin:0 0 12px;display:flex}.bi-title h2{margin:0;font-size:28px;line-height:1.15}.bi-description{color:var(--muted);max-width:80ch;margin:3px 0 0;line-height:1.45}.bi-head-side{flex-wrap:wrap;align-items:center;gap:16px;padding-top:4px;font-size:12px;display:flex}.freshness{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;font-size:12px;display:inline-flex}.freshness-running{color:var(--text);align-items:center;gap:6px;display:inline-flex}.bi-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin-bottom:16px;padding:4px 0 14px;display:flex}.bi-toolbar>label{flex-direction:column;align-items:flex-start;gap:3px;font-size:12px}.bi-toolbar>label.inline{color:var(--text);flex-direction:row;align-self:center;align-items:center;font-size:13px}.bi-toolbar .check-list.inline{background:0 0;border:0;padding:0}.bi-toolbar .check-list.inline legend{float:left;margin-right:10px;padding:0}.bi-toolbar .project-picker label{flex-direction:column;align-items:flex-start;gap:3px;font-size:12px}.bi-toolbar .actions{align-self:center;align-items:center;gap:14px;display:inline-flex}.bi-shell .dashboard-controls{align-items:center;margin-bottom:14px}.bi-shell .toolbar-row{margin:0}.bi-shell .date-bar{background:0 0;border:0;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:0;display:flex}.bi-shell .date-bar label{color:var(--muted);flex-direction:column;align-items:flex-start;gap:3px;font-size:12px}.bi-shell .date-bar select,.bi-shell .date-bar input[type=date]{padding:4px 8px;font-size:13px}.bi-shell .segmented.presets{background:var(--surface);align-self:flex-end}.bi-shell .segmented.presets button{color:var(--text);min-height:30px;padding:5px 12px;font-size:13px;font-weight:500}.bi-shell .segmented.presets button:hover{background:var(--emp-bg)}.bi-shell .segmented.presets button.on{background:var(--ink);color:var(--on-ink)}.bi-shell .stat-row{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;margin:0 0 16px}.bi-shell .stat{border-radius:var(--radius-lg);flex-direction:column;gap:2px;min-height:96px;padding:14px 16px 12px;display:flex;position:relative}.bi-shell .stat-label{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.bi-shell .stat-label .swatch{margin:0}.bi-shell .stat-value{font-variant-numeric:lining-nums;font-size:28px;font-weight:400;line-height:1.2}.bi-shell .stat-note{color:var(--muted);font-size:12px}.bi-shell .stat.critical .stat-value{color:var(--bi-critical)}.bi-shell .stat.warning .stat-value{color:var(--warn)}.bi-shell .stat .sparkline{margin-top:auto;padding-top:6px}.bi-shell a.stat{color:inherit;text-decoration:none;transition:border-color .15s}.bi-shell a.stat:hover{border-color:var(--ink)}.bi-shell a.stat:after{content:"›";color:var(--muted);font-size:16px;position:absolute;top:10px;right:14px}.sparkline{width:100%;height:30px;display:block;position:relative}.sparkline svg{width:100%;height:100%;display:block;overflow:visible}.spark-zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 2}.spark-dot{width:6px;height:6px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin:-3px 0 0 -3px;position:absolute}.bi-shell .bi-chart{border-radius:var(--radius-lg);min-width:0;margin:0 0 16px;padding:14px 16px 12px}.bi-shell .bi-chart figcaption{gap:6px 20px;margin-bottom:12px}.bi-shell .chart-title{font-size:14px;font-weight:600}.chart-actions{gap:12px;margin-left:auto;display:inline-flex}.chart-flip{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-width:26px;height:24px;color:var(--muted);cursor:pointer;padding:0 6px;font-size:14px;line-height:1}.chart-flip:hover{color:var(--text)}.chart-flip.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.chart-note{color:var(--muted);margin:8px 0 0;font-size:12px}.legend-entry{align-items:center;gap:5px;display:inline-flex}.legend-entry .swatch{margin:0}.line-key{border-radius:1px;width:14px;height:2px;display:inline-block}.chart-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:0 16px;display:grid}.chart-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:0 16px;display:grid}.chart-tip{min-width:200px;max-width:280px;line-height:1.5}.chart-tip b{margin-bottom:2px;display:block}.chart-tip>div>span:nth-child(2){flex:1}.chart-tip .swatch{margin:0 4px 0 0}.plot{grid-template-columns:auto minmax(0,1fr);grid-template-rows:var(--plot-h) auto;column-gap:8px;padding-top:6px;display:grid}.plot-y{min-width:36px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;position:relative}.plot-y span{white-space:nowrap;position:absolute;right:0;transform:translateY(50%)}.plot-area{position:relative}.plot-grid{background:var(--bi-grid);height:1px;position:absolute;left:0;right:0}.plot-grid.zero{background:var(--line-strong)}.plot-slots{display:flex;position:absolute;inset:0}.plot-slots .slot{flex:1;min-width:0;position:relative}.plot-slots .slot.clickable{cursor:pointer}.plot-slots .slot:hover{background:var(--hover-tint)}.plot-slots .slot.dim .bars{opacity:.45}.plot-slots .slot.selected{background:var(--accent-soft)}.plot-x{color:var(--muted);grid-column:2;padding-top:4px;font-size:11px;display:flex}.plot-x span{white-space:nowrap;flex:1;justify-content:center;min-width:0;display:flex;overflow:visible}.bars{width:min(64%,56px);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.bars.grouped{width:min(76%,72px)}.col-seg{box-sizing:border-box;min-height:1px;position:absolute;left:0;right:0}.col-seg.gap-below{border-bottom:2px solid var(--surface)}.col-seg.gap-above{border-top:2px solid var(--surface)}.col-seg.end-up{border-radius:3px 3px 0 0}.col-seg.end-down{border-radius:0 0 3px 3px}.col-seg.unregistered{background:repeating-linear-gradient(135deg, var(--bi-critical) 0 2px, var(--neg-bg) 2px 5px);box-shadow:inset 0 0 0 1px var(--bi-critical)}.col-marker{background:var(--text);height:2px;box-shadow:0 0 0 1px var(--surface);margin-bottom:-1px;position:absolute;left:-12%;right:-12%}.plot-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.plot-lines .crosshair{stroke:var(--line-strong);stroke-width:1px}.line-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);pointer-events:none;border-radius:50%;margin:-4px 0 0 -4px;position:absolute}.line-dot.on{width:10px;height:10px;margin:-5px 0 0 -5px}.bar-list{--value-w:120px}.bar-list .chart-axis{margin-left:var(--name-w)}.bar-list .chart-name{width:var(--name-w)}.bar-list .chart-name.static{cursor:default}.bar-list .chart-name.static:hover{color:inherit;text-decoration:none}.bar-list .chart-row{height:24px}.bar-list .chart-row.selected .chart-name{font-weight:650}.bar-list .chart-value{width:var(--value-w)}.bi-shell .chart-name{color:var(--text);font-size:12px}.bi-shell .chart-name:hover{color:var(--accent)}.share-track{background:var(--emp-bg);border-radius:4px;gap:2px;height:28px;display:flex;overflow:hidden}.share-track .seg{cursor:default}.share-track .seg:last-child{border-radius:0 4px 4px 0}.share-empty{flex:1}.share-legend{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;margin-top:10px;display:grid}.share-item{flex-direction:column;gap:1px;font-size:12px;display:flex}.share-label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.share-label .swatch{margin:0}.share-value{font-size:15px;font-weight:600}.diverging{flex-direction:column;gap:2px;display:flex}.div-row{grid-template-columns:minmax(120px,220px) 1fr 130px;align-items:center;gap:10px;height:26px;display:grid}.div-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.div-track{height:14px;position:relative}.div-zero{background:var(--line-strong);width:1px;position:absolute;top:-6px;bottom:-6px;left:50%}.div-bar{position:absolute;top:0;bottom:0}.div-bar.up{border-radius:0 3px 3px 0;left:50%}.div-bar.down{border-radius:3px 0 0 3px;right:50%}.div-value{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12px}.div-value.worse{color:var(--bi-critical);font-weight:600}.meter{background:var(--emp-bg);width:56px;height:6px;box-shadow:inset 0 0 0 1px var(--line);vertical-align:middle;border-radius:3px;margin-right:8px;display:inline-block;overflow:hidden}.meter>span{background:var(--bi-billable);border-radius:3px;height:100%;display:block}.meter.warning>span{background:var(--bi-sickness)}.meter.critical>span{background:var(--bi-critical)}.cell-bar{vertical-align:middle;width:64px;height:6px;margin-right:10px;display:inline-block}.cell-bar>span{background:var(--bi-billable);border-radius:0 3px 3px 0;height:100%;display:block}.bi-shell .table-scroll{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-height:calc(100vh - 150px);margin-top:0}.bi-shell .table-scroll>.report{border:0;width:100%}.bi-shell .report th,.bi-shell .report td{padding:7px 12px}.bi-shell .report thead th{z-index:2;background:var(--emp-bg);color:var(--text);font-size:12px;font-weight:600;position:sticky;top:0}.bi-shell .report.finance thead th,.bi-shell .report.tree thead th,.bi-shell .report.bi-table thead th,.bi-shell .report.debtors thead th{text-align:right}.bi-shell .report thead tr:nth-child(2) th{top:31px}.bi-shell .report thead th:first-child,.bi-shell .report thead th.tree-label,.bi-shell .report thead th.left{text-align:left}.bi-shell .report thead th.group{text-align:center}.bi-shell .table-scroll .report thead th:first-child{z-index:3;left:0}.bi-shell .table-scroll .report tbody th:first-child,.bi-shell .table-scroll .report tfoot th:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.bi-shell .table-scroll .report tfoot th,.bi-shell .table-scroll .report tfoot td{background:var(--cap-bg);z-index:1;position:sticky;bottom:0}.bi-shell .table-scroll .report tfoot th:first-child{z-index:2}.bi-shell .report tbody tr:hover>th,.bi-shell .report tbody tr:hover>td{background:var(--row-hover)}.bi-shell .report td .zero,.bi-shell .report td.zero{color:var(--line-strong)}.bi-shell .report tr.type-Overskrift{--rl-bg:var(--rl-heading)}.bi-shell .report tr:is(.type-Map,.type-MapYtd){--rl-bg:var(--rl-map)}.bi-shell .report tr:is(.type-SumMap,.type-Kpi){--rl-bg:var(--rl-mid);--rl-fg:var(--on-rl-mid)}.bi-shell .report tr:is(.type-SumFra,.type-SumInterval,.type-SumArt,.type-SumArtYtd){--rl-bg:var(--rl-sum);--rl-fg:var(--on-rl-sum)}.bi-shell .report tbody tr[class*=type-]>:not(.gap),.bi-shell .table-scroll .report tbody tr[class*=type-]>th:first-child{background:var(--rl-bg)}.bi-shell .report tbody tr[class*=type-]:hover>:not(.gap){box-shadow:inset 0 0 0 999px var(--hover-tint)}.bi-shell .report tbody tr:is(.type-SumMap,.type-Kpi,.type-SumFra,.type-SumInterval,.type-SumArt,.type-SumArtYtd)>:is(th,td,td.diff.better,td.diff.worse),.bi-shell .report tbody tr:is(.type-SumMap,.type-Kpi,.type-SumFra,.type-SumInterval,.type-SumArt,.type-SumArtYtd)>td :is(*,.zero){color:var(--rl-fg)}.bi-shell .report.finance tr.type-Overskrift>th{padding-top:16px;font-size:13px}.bi-shell .report td.diff.better{color:var(--text)}.bi-shell .report td.diff.worse{color:var(--bi-critical);font-weight:600}.bi-shell .report td.overdue{color:var(--bi-critical)}.bi-shell .report .gap{background:var(--surface);border-left:1px solid var(--line)}.bi-shell .finance-section h3,.bi-shell .section-title{margin:22px 0 8px;font-size:15px}.bi-shell .report tr.highlight>th,.bi-shell .report tr.highlight>td{background:var(--accent-soft)}.bi-shell .report .report.compact{width:100%}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);margin:0 0 16px;padding:40px 24px}.empty-state h3{font-family:var(--font-display);margin:0 0 6px;font-size:22px;font-weight:400}.empty-state p{color:var(--muted);max-width:60ch;margin:0 auto;line-height:1.5}.empty-action{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.bi-shell .banner{border-radius:var(--radius-lg);margin:0 0 14px;padding:10px 14px}.bi-shell .banner.error{color:var(--neg);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.skeleton .sk-block{background:linear-gradient(90deg, var(--sk-a) 0%, var(--sk-b) 50%, var(--sk-a) 100%);border-radius:var(--radius-lg);background-size:200% 100%;animation:1.4s ease-in-out infinite sk}.sk-tile{height:96px}.sk-chart{height:220px;margin-bottom:16px}.sk-table{height:280px}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton .sk-block{animation:none}}.bi-shell .bi .missing,.bi-shell td.missing{color:var(--bi-critical);font-weight:600}.bi-shell .legend-sort.on{border-color:var(--ink);background:var(--surface)}.manager-picker{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 14px;display:flex}.manager-picker .segmented{flex-wrap:wrap}.back-link{margin:0 0 12px}.filter-chips{margin:-4px 0 12px}.filter-chip{border:1px solid var(--ink);background:var(--surface);cursor:pointer;border-radius:16px;padding:3px 12px;font-size:12px}.filter-chip:hover{background:var(--emp-bg)}.project-overview-table h3{margin:8px 0;font-size:15px}.bi-shell .report tr.clickable{cursor:pointer}.bi-shell .report tr.clickable .link{text-align:left;font-weight:500}.bi-shell .segmented button{color:var(--text);padding:4px 12px;font-size:12px;font-weight:500}.bi-shell .segmented button.on{background:var(--ink);color:var(--on-ink)}.pie-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.bi-shell .pie-layout{align-items:center}.bi-shell .check-list.legend{border:0;flex:1;min-width:0;padding:0}.bi-shell .legend-item{grid-template-columns:12px minmax(0,1fr) 72px 40px;min-width:260px}.legend-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-section{margin-bottom:8px}.overview-section>.section-title:first-child{margin-top:8px}.bi-shell .section-head{margin:20px 0 10px}@media print{.bi-toolbar,.freshness,.bi-menu-fold,.chart-actions{display:none!important}.bi-shell .table-scroll{border:0;max-height:none;overflow:visible}.bi-shell .report thead th,.bi-shell .table-scroll .report tbody th:first-child,.bi-shell .table-scroll .report tfoot th,.bi-shell .table-scroll .report tfoot td{position:static}.bi-chart,.stat{break-inside:avoid}.bi-content>.page{max-width:none;padding:0}}.timereg .bi-toolbar{align-items:flex-end}.timereg .bi-toolbar label.date{flex-direction:column;align-items:flex-start;gap:3px;font-size:12px}.timereg .view-switch{margin-right:8px}.timereg .view-switch button{min-height:30px;padding:6px 16px;font-size:13px;font-weight:600}.timereg .view-switch button.on{background:var(--ink);color:var(--on-ink)}.timereg .segmented.presets{background:var(--surface)}.timereg .segmented.presets button{min-height:30px;padding:5px 12px;font-size:13px}.timereg-switches{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-4px 0 16px;display:flex}.timereg-switches label.check{color:var(--text);font-size:13px}.timereg-switches .segmented button:disabled{opacity:.5}.timereg-status{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:0 0 16px;padding:12px 16px;display:flex}.timereg-status strong{font-size:18px;font-weight:600}.timereg-status.ok{border-left-color:var(--ok-line)}.timereg-status.ok strong{color:var(--ok)}.timereg-status.short{border-left-color:var(--bi-critical)}.timereg-status.short strong{color:var(--bi-critical)}.timereg-details{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.timereg-details .report{background:var(--surface);width:auto;min-width:240px}.timereg-calendar{border-collapse:separate;border-spacing:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:4px}.timereg-calendar thead th{color:var(--muted);text-align:center;padding:2px 4px;font-size:11px;font-weight:600}.timereg-calendar th.week{color:var(--muted);text-align:left;white-space:nowrap;padding-right:6px;font-size:12px;font-weight:600}.timereg-calendar td{vertical-align:top;padding:0}.cal-day{text-align:left;background:var(--bg);cursor:default;border-radius:6px;flex-direction:column;width:72px;min-height:52px;padding:4px 6px;line-height:1.2;display:flex}.cal-day .cal-date{color:var(--muted);font-size:11px}.cal-day .cal-hours{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.cal-day .cal-norm{color:var(--muted);font-size:11px}.cal-day.ok{background:var(--ok-bg)}.cal-day.ok .cal-hours{color:var(--ok)}.cal-day.short{background:var(--neg-bg);box-shadow:inset 0 0 0 1px var(--bi-critical)}.cal-day.short .cal-hours{color:var(--bi-critical)}.cal-day.none{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.timereg-calendar td.week-sum{vertical-align:middle;white-space:nowrap;padding:0 8px;font-size:12px;font-weight:600}.timereg-calendar td.week-sum.ok{color:var(--ok)}.timereg-calendar td.week-sum.short{color:var(--bi-critical)}@media (width<=640px){.timereg-calendar{border-spacing:2px;width:100%;padding:2px}.timereg-calendar th.week{white-space:normal;padding-right:2px;font-size:11px}.cal-day{width:auto;min-width:0;min-height:44px;padding:3px 4px}.cal-day .cal-hours{font-size:13px}.timereg-calendar td.week-sum{white-space:normal;padding:0 2px;font-size:11px}.timereg-details .report{width:100%;min-width:0}.timereg-details .report th{white-space:normal}}.timereg-strip{gap:4px;display:inline-flex}.tr-mark{cursor:default;border-radius:4px;flex-direction:column;align-items:center;min-width:26px;padding:2px 3px;font-size:13px;font-weight:600;line-height:1.1;display:inline-flex}.tr-mark .tr-day{color:var(--muted);font-size:10px;font-weight:500}.tr-mark.ok{background:var(--ok-bg);color:var(--ok)}.tr-mark.short{background:var(--neg-bg);color:var(--bi-critical)}.tr-mark.none{color:var(--line-strong)}.timereg-table tr.detail-row>td{background:var(--bg);padding:12px 14px 16px}.timereg-table .expander{width:14px;color:var(--muted);display:inline-block}.timereg-table tr.own>th,.timereg-table tr.own>td{background:var(--own-row)}.timereg-table .badge.you{background:var(--ink);color:var(--on-ink);margin-left:8px;font-size:10px}.bi-shell .timereg-table .timereg-calendar thead th,.bi-shell .timereg-table .timereg-calendar tbody tr>th,.bi-shell .timereg-table .timereg-calendar tbody tr>td{text-align:center;background:0 0;border:0;padding:0;position:static}.bi-shell .timereg-table .timereg-calendar thead th{padding:2px 4px}.bi-shell .timereg-table .timereg-calendar tbody tr>th.week{text-align:left;padding-right:6px}.bi-shell .timereg-table .timereg-calendar tbody tr>td.week-sum{text-align:left;padding:0 8px}.bi-shell .timereg-table .timereg-details .report{width:auto}button.cal-day{font:inherit;color:inherit;cursor:pointer;border:0}button.cal-day:hover{box-shadow:inset 0 0 0 2px var(--line-strong)}button.cal-day.short:hover{box-shadow:inset 0 0 0 2px var(--bi-critical)}button.cal-day.selected,button.cal-day.selected:hover{box-shadow:inset 0 0 0 2px var(--ink)}button.cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.register-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:20px;padding:16px}.register-day h3{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px;font-size:16px;display:flex}.register-day .register-date{font-weight:600;display:inline-block}.register-day .register-date:first-letter{text-transform:uppercase}.register-day h4{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:600}.register-columns{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.register-columns.with-devops{grid-template-columns:minmax(0,300px) minmax(0,1fr) minmax(0,380px)}@media (width<=1280px){.register-columns.with-devops{grid-template-columns:minmax(0,300px) minmax(0,1fr)}.register-columns.with-devops .register-devops-panel{grid-column:1/-1}}@media (width<=760px){.register-columns,.register-columns.with-devops{grid-template-columns:minmax(0,1fr)}}.register-form.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.register-devops-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:8px;min-width:0;padding:12px;display:flex}.register-devops-panel h4{margin:0}.register-devops-panel select,.register-devops-panel input{color:var(--text);border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:6px 8px;font-size:14px}.devops-tasks{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;min-height:120px;max-height:360px;overflow-y:auto}.devops-tasks p{margin:0;padding:10px}.devops-tasks ul{flex-direction:column;gap:2px;margin:0;padding:4px;list-style:none;display:flex}.devops-task-link{color:var(--muted);border-radius:4px;padding:0 3px;text-decoration:none}.devops-task-link:hover,.devops-task-link:focus-visible{color:var(--text);background:var(--bg)}.devops-tasks li{align-items:stretch;gap:2px;display:flex}.devops-task-open{color:var(--muted);border-radius:5px;align-items:center;padding:0 8px;font-size:14px;text-decoration:none;display:flex}.devops-task-open:hover,.devops-task-open:focus-visible{background:var(--bg);color:var(--text)}.devops-tasks li button{min-width:0;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:5px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:6px 8px;display:flex}.devops-tasks li button:hover,.devops-tasks li button:focus-visible{background:var(--bg)}.devops-tasks li button.on{background:var(--ink);color:var(--on-ink)}.devops-task-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.devops-task-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.devops-tasks li button.on .devops-task-meta{color:color-mix(in srgb, var(--on-ink) 75%, transparent)}.register-calendar p{margin:0 0 8px}.register-events{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.register-events li{background:var(--bg);border-radius:6px;grid-template-columns:82px minmax(0,1fr) 28px;align-items:center;gap:6px;padding:5px 6px;font-size:13px;display:grid}.register-events .event-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.register-events .event-subject{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.register-events li.private .event-subject{color:var(--muted);font-style:italic}.register-events li.done{opacity:.7}.register-events .event-done{color:var(--ok);text-align:center;font-weight:600}.register-events .event-add{background:var(--ink);width:26px;height:26px;color:var(--on-ink);cursor:pointer;border:0;border-radius:6px;font-size:16px;line-height:1}.register-events .event-add:disabled{opacity:.35;cursor:default}.register-forms{flex-direction:column;align-items:flex-start;gap:12px;min-width:0;display:flex}.register-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:8px;width:100%;max-width:560px;padding:12px;display:flex}.register-form.editing{border-color:var(--ink)}.register-form label{color:var(--muted);flex-direction:column;align-items:stretch;gap:3px;font-size:12px;display:flex}.register-form select,.register-form input{color:var(--text);border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;width:100%;min-width:0;padding:6px 8px;font-size:14px}.register-form input[aria-invalid=true]{border-color:var(--bi-critical)}.register-field{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.search-select{position:relative}.search-select input{text-overflow:ellipsis;padding-right:26px}.search-select input::placeholder{color:var(--muted)}.search-select-arrow{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.search-select-list{z-index:20;background:var(--surface);border:1px solid var(--line-strong);max-height:320px;box-shadow:0 6px 20px var(--shadow);color:var(--text);border-radius:6px;margin:0;padding:4px;font-size:14px;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.search-select-group{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:6px 8px 2px;font-size:11px;font-weight:600}.search-select-option{cursor:pointer;border-radius:4px;padding:6px 8px}.search-select-option.active{background:var(--emp-bg)}.search-select-option.selected{font-weight:600}.search-select-empty{color:var(--muted);padding:8px}.register-row{gap:8px;display:flex}.register-field-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.register-field-head .register-chip{margin-left:4px;padding:1px 8px}.register-row .register-hours{flex:none;width:90px}.register-row .register-text{flex:1}.register-actions{gap:8px;display:flex}.register-entries{width:100%;margin-top:16px}.bi-shell .register-entries th,.bi-shell .register-entries td{text-align:left}.bi-shell .register-entries .num{text-align:right;width:70px}.register-entries td:last-child{width:1%}.register-entry-actions{white-space:nowrap;text-align:right}.register-entry-actions .link+.link{margin-left:12px}.link.danger{color:var(--bi-critical);font-weight:600}.register-day h3 .register-close{margin-left:auto;font-size:13px;font-weight:500}.bi-shell .register-entries tr.register-day-row>th,.bi-shell .register-entries tr.register-day-row>td{background:var(--bg);padding-top:8px;font-weight:600}.register-entries tr.register-day-row .link{font-weight:600}.register-entries tr.register-day-row .link:first-letter{text-transform:uppercase}.register-period h3 .muted{font-weight:400}.register-entries .register-sum{color:var(--text);font-variant-numeric:tabular-nums;margin-left:8px;font-size:14px;font-weight:700}.register-quick{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;display:flex}.register-quick>span{margin-right:2px}.register-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:220px;padding:3px 10px;font-size:12px;overflow:hidden}.register-chip:hover{border-color:var(--ink)}.register-chip.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.register-day h3 .register-holiday-open{margin-left:auto;padding:4px 12px;font-size:13px}.register-day h3 .register-holiday-open+.register-close{margin-left:12px}.holiday-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:12px;display:flex}.holiday-controls input{color:var(--text);border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;padding:6px 8px;font-size:14px}.holiday-controls .holiday-count input{width:80px}.holiday-controls .segmented button{min-height:30px;padding:5px 12px;font-size:13px}.register-holiday .holiday-days{width:auto;min-width:360px;margin-bottom:12px}.bi-shell .register-holiday .holiday-days th,.bi-shell .register-holiday .holiday-days td{text-align:left}.bi-shell .register-holiday .holiday-days .num{text-align:right;padding-right:14px}.register-holiday .holiday-days tr.off th,.register-holiday .holiday-days tr.off td{color:var(--muted)}.register-holiday .holiday-days tr.done th{color:var(--muted);text-decoration:line-through}.holiday-calendar{margin-bottom:12px}.holiday-calendar label.check{color:var(--text);align-items:center;gap:6px;display:inline-flex}.register-holiday .banner ul{margin:6px 0 8px 18px;padding:0}.holiday-list{flex-direction:column;gap:6px;margin:0 0 12px;display:flex}.holiday-line{border-radius:var(--radius);background:var(--bg);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 12px;display:flex}.holiday-line .link{margin-left:8px}@media (width<=640px){.bi-shell{flex-direction:column}.bi-shell.folded .bi-menu{border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none;flex-direction:row;flex:none;width:auto;padding:0 4px;overflow:auto hidden}.bi-shell .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bi-shell .stat{min-height:0;padding:10px 12px}.bi-shell .stat-value{font-size:21px}.bi-shell.folded .bi-menu-section{border-top:0;flex:none;margin:0;padding:0;display:flex}.bi-shell.folded .bi-menu h3{display:none}.bi-shell.folded .bi-menu-section+.bi-menu-section{border-left:1px solid var(--line);margin-left:4px;padding-left:4px}.bi-shell.folded .bi-menu a{border-bottom:3px solid #0000;border-left:0;flex:none;padding:12px 10px}.bi-shell.folded .bi-menu a.on{border-bottom-color:var(--warm)}.bi-shell.folded .bi-menu a.on .bi-menu-label{display:inline}.bi-shell.folded .menu-dot{left:26px}.bi-content>.page{padding:16px 16px 28px}.bi-title h2{font-size:22px}.bi-shell .chart-grid,.bi-shell .bar-list{--name-w:110px;--value-w:76px}.bi-shell .legend-item,.bi-shell .check-list.legend{min-width:0}.bi-shell .bar-list .chart-row{flex-wrap:wrap;height:auto;padding:3px 0}.bi-shell .bar-list .chart-name{width:100%;padding:0}.bi-shell .bar-list .chart-track{height:14px}.bi-shell .bar-list .chart-axis{display:none}.bi-shell .div-row{grid-template-columns:minmax(0,100px) minmax(0,1fr) 84px;gap:6px}}
