:root{color:#18211d;font-synthesis:none;--bg:#f3f6f4;--surface:#fff;--surface2:#f7f9f8;--text:#18211d;--muted:#65736b;--line:#dce5df;--brand:#176b4c;--brand2:#e1f2e9;--blue:#2563eb;--blue-bg:#eaf1ff;--green:#15803d;--green-bg:#e7f6eb;--amber:#9a6700;--amber-bg:#fff7dc;--preparation-bg:#fff4d6;--preparation-text:#3d3218;--shadow:0 8px 28px #19372a14;background:#f3f6f4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb40}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;font-size:clamp(1.65rem,4vw,2.2rem)}h2{font-size:1.05rem}small{color:var(--muted)}button:not(.brand,.mobile-menu,.icon-btn,.day-head,.block-row,.month-day,.empty-slot,.notes-preview){background:var(--brand);color:#fff;border:0;border-radius:9px;min-height:42px;padding:.72rem 1rem;font-weight:650}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}label{color:var(--muted);gap:.38rem;font-size:.84rem;font-weight:650;display:grid}input,select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:.7rem .75rem}textarea{resize:vertical}.positive,.green-text{color:var(--green)!important}.negative{color:#a53b3b!important}[data-theme=dark]{--bg:#111714;--surface:#1a231e;--surface2:#202b25;--text:#edf4ef;--muted:#a7b6ad;--line:#34423a;--brand:#39a777;--brand2:#233c30;--blue-bg:#1f2b48;--green-bg:#1c3927;--amber-bg:#3a311b;--preparation-bg:#3a3019;--preparation-text:#fff2cc;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){[data-theme=system]{--bg:#111714;--surface:#1a231e;--surface2:#202b25;--text:#edf4ef;--muted:#a7b6ad;--line:#34423a;--brand:#39a777;--brand2:#233c30;--blue-bg:#1f2b48;--green-bg:#1c3927;--amber-bg:#3a311b;--preparation-bg:#3a3019;--preparation-text:#fff2cc;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media print{header,aside,.actions,.mobile-menu,.day-actions,.approve-week,.privacy,.toast,.note-card.no-print{display:none!important}.app-shell{display:block!important}main{padding:0!important}.week-grid{display:block!important}.day-card{break-inside:avoid;margin-bottom:10px}.month-grid,.metrics,.year-table{box-shadow:none!important}body{color:#000;background:#fff}}.app-shell{grid-template:"header header"64px"aside main"1fr/220px 1fr;min-height:100vh;display:grid}header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;grid-area:header;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.brand{background:0 0;border:0;align-items:center;gap:10px;font-size:1rem;display:flex}.brand span,.logo{background:var(--brand);color:#fff;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.year-picker{align-items:center;gap:10px;margin-left:auto;display:flex}.year-picker small{font-size:.7rem}.year-picker select{width:auto;padding:.45rem 2rem .45rem .6rem}.mobile-menu{background:0 0;border:0;font-size:1.4rem;display:none}aside{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;grid-area:aside;height:calc(100vh - 64px);padding:18px 12px;display:flex;position:sticky;top:64px}nav{gap:5px;display:grid}nav button{text-align:left;align-items:center;gap:12px;display:flex;color:var(--muted)!important;background:0 0!important;padding:.74rem .85rem!important}nav button span{text-align:center;width:22px;font-size:1.15rem}nav button.active{background:var(--brand2)!important;color:var(--brand)!important}.more-nav{display:none!important}.privacy{color:var(--muted);margin-top:auto;padding:12px;font-size:.72rem;line-height:1.5}main{grid-area:main;width:100%;max-width:1540px;margin:0 auto;padding:32px}.page-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.page-title h1{margin:.15rem 0 0}.page-title small{text-transform:capitalize}.actions{flex-wrap:wrap;gap:8px;display:flex}.hero-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px;display:grid}.today-card,.balance-card,.metric,.settings-card,.report-grid article,.category-summary,.template-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}.today-card{padding:20px}.card-head{justify-content:space-between;display:flex}.balance-card{flex-direction:column;justify-content:center;padding:24px;display:flex}.balance-card strong{margin:.5rem 0;font-size:2.1rem}.balance-card span,.metric span{color:var(--muted);font-size:.75rem}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.metric{box-shadow:none;flex-direction:column;padding:16px;display:flex}.metric strong{margin-top:.35rem;font-size:1.22rem}.metric.green{border-left:3px solid var(--green)}.metric.amber{border-left:3px solid #d09b2c}.empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:26px;display:flex}.empty.big{background:var(--surface);border:1px dashed var(--line);border-radius:14px;min-height:240px}.block-row{background:var(--blue-bg);text-align:left;width:100%;color:var(--text);border:0;border-radius:8px;grid-template-columns:4px 100px 1fr auto 22px;align-items:center;gap:10px;margin:6px 0;padding:10px;display:grid}.block-row>i{border-radius:8px;height:100%}.block-row.approved{background:var(--green-bg)}.block-row.approved>b{color:var(--green)}.block-name{min-width:0;font-weight:650}.block-name small{white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.block-time{font-variant-numeric:tabular-nums;font-size:.86rem}.week-summary{grid-template-columns:repeat(4,1fr) auto;gap:10px;margin-bottom:14px;display:grid}.approve-week{align-self:stretch}.week-grid{grid-template-columns:repeat(5,minmax(210px,1fr));align-items:start;gap:12px;padding-bottom:10px;display:grid;overflow-x:auto}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-height:260px;overflow:hidden}.day-card.today{border:2px solid var(--brand)}.day-head{text-align:left;width:100%;color:var(--text);background:0 0;border:0;justify-content:space-between;padding:14px;display:flex}.day-head h2{text-transform:capitalize;margin:.2rem 0}.day-head>div:last-child{align-items:center;gap:8px;display:flex}.status-dot{background:#cbd5cf;border-radius:50%;width:9px;height:9px;display:inline-block}.status-dot.planned{background:var(--blue)}.status-dot.approved{background:var(--green)}.status-dot.partial{background:linear-gradient(90deg,var(--green) 50%,var(--blue) 50%)}.day-blocks{padding:0 9px}.day-blocks .block-row{grid-template-columns:3px 1fr 22px;gap:7px}.day-blocks .block-row .block-name,.day-blocks .block-row>span:nth-of-type(3){grid-column:2}.day-blocks .block-row .block-time{font-size:.75rem}.empty-slot{border:1px dashed var(--line);width:100%;color:var(--muted);background:0 0;border-radius:8px;padding:25px}.day-actions{border-top:1px solid var(--line);gap:6px;margin-top:10px;padding:10px;display:flex}.day-actions button{flex:1;color:var(--muted)!important;background:0 0!important;min-height:32px!important;padding:.35rem!important}.special{background:var(--amber-bg);color:var(--amber);border-radius:6px;margin:0 10px 8px;padding:6px 8px;font-size:.73rem;font-weight:650;display:block}.special.schoolHoliday{color:#7440a1;background:#f3eafd}.special.large{margin:0 0 12px;padding:10px}.special small{display:block}.notes-preview{color:var(--muted);background:0 0;border:0;padding:8px 12px;font-size:.75rem}.compact .day-card{min-height:auto}.compact .block-row{padding:6px}.month-grid{background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.weekday{background:var(--surface2);text-align:center;color:var(--muted);padding:10px;font-size:.75rem}.month-day{background:var(--surface);text-align:left;min-height:110px;color:var(--text);border:0;flex-direction:column;gap:7px;padding:10px;display:flex}.month-day>span{justify-content:space-between;align-items:center;display:flex}.month-day strong{color:var(--brand);margin-top:auto}.month-day small{white-space:nowrap;text-overflow:ellipsis;background:var(--amber-bg);border-radius:4px;width:100%;padding:4px;overflow:hidden}.month-day.muted{opacity:.42}.month-day.today>span:first-child{color:var(--brand);font-weight:800}.year-table{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:14px}th:first-child{text-align:left;text-transform:capitalize}thead th{color:var(--muted);background:var(--surface2);font-size:.72rem}.view-toggle{gap:6px;display:flex}.view-toggle button.active{background:var(--brand);color:#fff}.category-summary{max-width:720px;margin-top:18px;padding:20px}.category-group{margin-top:18px}.category-group h3{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:8px;display:flex}.category-line{grid-template-columns:180px 80px 1fr;align-items:center;gap:12px;margin:10px 0;display:grid}.category-summary i,.chips i{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}progress{width:100%;accent-color:var(--brand)}.overlay{z-index:50;background:#06120c7a;justify-content:flex-end;display:flex;position:fixed;inset:0}.day-panel{background:var(--surface);width:min(760px,100%);height:100%;padding:22px;overflow:auto;box-shadow:-20px 0 40px #00000029}.panel-head{justify-content:space-between;align-items:start;margin-bottom:16px;display:flex}.panel-head h2{text-transform:capitalize;font-size:1.35rem}.icon-btn{background:var(--surface2);width:38px;height:38px;color:var(--text);border:0;border-radius:50%;font-size:1.4rem}.panel-totals{grid-template-columns:1fr 1fr;gap:10px;display:grid}.section-head{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.section-head h2,.section-head h3{margin:0}.editable-row{grid-template-columns:1fr 38px;align-items:center;gap:6px;display:grid}.editable-row .danger{color:#b94242}.full{width:100%;margin-top:10px}.hint{color:var(--muted);font-size:.75rem}.note-card{border:1px solid var(--line);cursor:pointer;border-radius:9px;margin:8px 0;padding:12px}.note-card span{float:right;color:var(--muted);font-size:.75rem}.note-card p{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.dialog{background:var(--surface);border-radius:14px;gap:14px;width:min(450px,100% - 24px);max-height:calc(100vh - 24px);margin:auto;padding:22px;display:grid;overflow:auto}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check{align-items:center;gap:8px;display:flex}.check input{width:auto}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.toast{z-index:80;color:#fff;box-shadow:var(--shadow);background:#17231d;border-radius:10px;align-items:center;gap:16px;padding:12px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast button{text-decoration:underline;background:0 0!important;min-height:0!important;padding:.3rem!important}.report-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.report-grid article{padding:22px}.report-grid p,.settings-card p{color:var(--muted);font-size:.88rem;line-height:1.5}.report-total{gap:20px;margin:18px 0;display:flex}.report-total span{color:var(--muted);flex-direction:column;font-size:.8rem;display:flex}.report-total b{color:var(--text);font-size:1.1rem}.template-layout{grid-template-columns:320px 1fr;gap:18px;display:grid}.settings-card{align-content:start;gap:14px;padding:20px;display:grid}.template-card{grid-template-columns:1fr 140px 170px auto;align-items:end;gap:12px;margin-bottom:10px;padding:16px;display:grid}.template-card h3{margin:0 0 5px}.template-card span{color:var(--muted);font-size:.8rem}.settings-grid{grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;display:grid}.switch{border-bottom:1px solid var(--line);color:var(--text);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.switch span{flex-direction:column;display:flex}.switch input{width:20px;height:20px}.worktype-group h3{margin:4px 0 8px;font-size:.9rem}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips span{background:var(--surface2);border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:.8rem}.inline-form{grid-template-columns:minmax(120px,1fr) minmax(140px,auto) auto;gap:8px;display:grid}.saved-item{background:var(--surface2);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:9px;font-size:.78rem;display:flex}.saved-item>span{flex-direction:column;gap:3px;display:flex}.saved-item small{color:var(--muted)}.special-day-list{gap:6px;max-height:280px;display:grid;overflow:auto}.special-day-list .icon-btn{width:30px;height:30px}.setup{place-items:center;min-height:100vh;padding:20px;display:grid}.setup-card{background:var(--surface);border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow);border-radius:18px;gap:15px;padding:32px;display:grid}.setup-card .logo{margin-bottom:4px}.setup-card h1{margin:-10px 0 0}.setup-card p{color:var(--muted)}.report-builder{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:block}.report-builder>aside{background:0 0;border:0;gap:9px;max-width:620px;height:auto;padding:0;display:grid;position:static}.report-preview{min-width:0;display:none}.report-download-actions{grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 8px;display:grid}.report-table-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto}.report-tabs{gap:0;margin-bottom:0;display:flex}.report-tabs button{border-radius:10px 10px 0 0}@media print{body{color:#000!important;background:#fff!important}.app-shell{display:block!important}.app-shell>header,.app-shell>aside,.page-title,.report-tabs,.report-builder>aside,.toast{display:none!important}main{max-width:none!important;padding:0!important;display:block!important}.report-builder{background:#fff!important;border:0!important;padding:0!important;display:block!important}.report-preview{color:#000!important;display:block!important}.report-preview .actions{display:none!important}.report-preview .section-head{margin:0 0 12px!important}.report-total{border:1px solid #bbb;grid-template-columns:repeat(3,1fr);padding:10px;gap:10px!important;display:grid!important}.report-table-wrap{border:0!important;overflow:visible!important}.report-preview table{font-size:9pt;min-width:0!important}.report-preview th,.report-preview td{white-space:normal!important;color:#000!important;padding:5px!important}.report-preview tr{break-inside:avoid}.report-preview thead{display:table-header-group}.report-preview .warning{color:#5c4200!important;background:#fff!important;border-color:#888!important}.report-group{break-inside:avoid;border-bottom:1px solid #ddd;grid-template-columns:160px minmax(0,1fr);align-items:baseline;gap:12px;padding:6px 0;display:grid;margin:0!important}.report-group h2{white-space:nowrap;line-height:1.2;margin:0!important;font-size:11pt!important}.report-group p{margin:0!important}.report-group .group-totals{white-space:nowrap;font-size:9pt!important}.report-group:has(table){padding:12px 0;display:block}.report-group:has(table) h2{margin-bottom:6px!important}}@media (width<=1100px){.week-grid{grid-template-columns:repeat(5,260px)}.report-grid{grid-template-columns:1fr 1fr}.template-card{grid-template-columns:1fr 120px 150px}.template-card button{grid-column:1/-1}.week-summary{grid-template-columns:repeat(4,1fr)}.approve-week{grid-column:1/-1}}@media (width<=760px){.app-shell{padding-bottom:66px;display:block}header{height:58px;padding:0 14px}.brand b,.year-picker small{display:none}.mobile-menu{margin-left:8px;display:block}aside{z-index:40;border:1px solid var(--line);height:64px;padding:5px 6px;display:block;position:fixed;inset:auto 0 0}aside nav{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}aside nav button{flex-direction:column;gap:1px;min-width:0;font-size:.61rem;padding:5px 2px!important}aside:not(.open) nav .secondary-nav{display:none}aside:not(.open) nav .more-nav{display:flex!important}aside .privacy{display:none}aside.open{width:min(280px,85vw);height:calc(100vh - 58px);padding:16px;inset:58px 0 0 auto}aside.open nav{grid-template-columns:1fr;display:grid}aside.open nav button{flex-direction:row;font-size:.9rem;padding:.75rem!important;display:flex!important}aside.open nav .more-nav{display:none!important}.year-picker{margin-left:auto}main{padding:18px 12px}.page-title{flex-direction:column;align-items:start;margin-bottom:16px}.page-title .actions{grid-template-columns:repeat(2,1fr);width:100%;display:grid}.hero-grid{grid-template-columns:1fr}.metrics,.week-summary{grid-template-columns:1fr 1fr}.week-grid{grid-template-columns:1fr;overflow:visible}.day-card{min-height:auto}.block-row{grid-template-columns:4px 84px 1fr auto 22px}.month-grid{grid-template-columns:repeat(7,minmax(78px,1fr));overflow-x:auto}.month-day{min-height:90px;padding:7px}.report-grid,.settings-grid,.template-layout,.template-card{grid-template-columns:1fr}.template-card label,.template-card button{grid-column:auto}.category-line{grid-template-columns:130px 70px 1fr}.inline-form{grid-template-columns:1fr}.dialog{padding:18px}.toast{justify-content:space-between;width:calc(100% - 24px);bottom:78px}}.time-overview{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:18px;padding:20px}.time-overview .section-head{margin-top:0}.overview-metrics{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-top:14px;display:grid}.overview-distribution{grid-template-columns:repeat(2,minmax(280px,1fr));gap:24px;margin-top:18px;display:grid}.norm-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-day-marks{flex-wrap:wrap;gap:10px;padding:8px 12px;display:flex}.quick-day-marks label{color:var(--muted);cursor:pointer;align-items:center;gap:5px;font-size:.75rem;display:flex}.quick-day-marks input{width:auto;accent-color:var(--brand)}.quick-day-marks input:disabled+*{cursor:not-allowed}.budget-overview{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:18px;padding:20px}.budget-overview .section-head{margin-top:0}.budget-lines,.budget-subcategories{gap:8px;margin-top:16px;display:grid}.budget-subcategories h3,.budget-setting h3{margin:0}.budget-subcategories p{color:var(--muted);font-size:.85rem}.budget-line{background:var(--surface2);border-radius:8px;grid-template-columns:minmax(160px,1fr) 150px 190px;align-items:center;gap:12px;padding:10px;font-size:.84rem;display:grid}.budget-line>div,.budget-line>span{flex-direction:column;gap:3px;display:flex}.budget-line small{font-size:.74rem}.budget-line .muted{color:var(--muted)}.budget-setting{border-top:1px solid var(--line);gap:10px;padding-top:6px;display:grid}.worktype-budgets{gap:6px;margin-top:10px;display:grid}.worktype-budgets>small{color:var(--muted)}.worktype-budgets label{grid-template-columns:1fr 105px;align-items:center;gap:8px;font-size:.84rem;display:grid}.worktype-budgets label span{align-items:center;display:flex}.worktype-budgets i{border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}@media (width<=760px){.budget-line{grid-template-columns:1fr 1fr}.budget-line>div{grid-column:1/-1}.worktype-budgets label{grid-template-columns:1fr 90px}}.budget-layout{grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px;display:grid}.budget-form{grid-template-columns:1fr}.budget-choice{background:var(--surface2);border-radius:8px;gap:7px;padding:10px;display:grid}.budget-choice>div{gap:4px;display:grid}.budget-choice label{align-items:center;gap:7px;font-size:.85rem;display:flex}.budget-choice input{width:auto}.budget-overview table th small{color:var(--muted);margin-top:3px;font-size:.72rem;font-weight:400;display:block}.budget-item-actions{flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}@media (width<=760px){.budget-layout{grid-template-columns:1fr}}.worktype-control{background:var(--surface2);border:1px solid var(--line);border-radius:20px;align-items:center;gap:3px;padding:3px 5px 3px 8px;font-size:.8rem;display:flex}.worktype-control label{cursor:pointer;align-items:center;gap:6px;display:flex}.worktype-control input{width:auto}.worktype-control i{border-radius:50%;width:9px;height:9px;display:inline-block}.worktype-control .icon-btn{width:26px;height:26px;font-size:.85rem}.budget-item-actions>span{gap:4px;display:flex}.budget-total{background:var(--surface2);border-top:2px solid var(--brand);border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;padding:14px 16px;display:flex}.budget-total span{font-size:.88rem}.budget-total strong{font-variant-numeric:tabular-nums}@media (width<=760px){.budget-total{gap:10px}.budget-total b{width:100%}}.worktype-control .icon-btn:disabled{opacity:.35;cursor:not-allowed}.budget-row-action{width:40px;padding:6px}.budget-row-action .icon-btn{width:28px;height:28px;font-size:.85rem}.budget-overview table th:nth-child(3){text-align:left}.budget-status-table{overflow-x:hidden}.budget-status-table table{table-layout:fixed;min-width:0}.budget-status-table .budget-action-col{width:34px}.budget-status-table .budget-title-col{width:34%}.budget-status-table .budget-value-col{width:auto}.budget-status-table th,.budget-status-table td{text-overflow:ellipsis;padding:clamp(8px,1vw,14px);overflow:hidden}.budget-status-table thead th{white-space:normal;line-height:1.25}.budget-status-table tbody td:not(.budget-row-action){font-variant-numeric:tabular-nums}.budget-overview .section-head{flex-wrap:wrap;gap:16px}.budget-sort{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}@media (width<=900px){.budget-overview{padding:14px}.budget-status-table{box-shadow:none;background:0 0;border:0;overflow:visible}.budget-status-table table,.budget-status-table tbody{gap:10px;min-width:0;display:grid}.budget-status-table colgroup,.budget-status-table thead{display:none}.budget-status-table tr{border:1px solid var(--line);background:var(--surface);border-radius:10px;overflow:hidden}.budget-status-table tr:not(.budget-group-row){grid-template-columns:34px 34px 1fr 1fr;padding:10px;display:grid}.budget-status-table tr:not(.budget-group-row)>th{text-align:left;white-space:normal;grid-area:1/3/auto/-1;padding:5px 8px}.budget-status-table tr:not(.budget-group-row)>.budget-row-action{grid-row:1;padding:2px}.budget-status-table tr:not(.budget-group-row)>td:not(.budget-row-action){text-align:right;white-space:normal;border:0;grid-column:span 2;justify-content:space-between;gap:8px;padding:8px;display:flex}.budget-status-table td[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;font-size:.72rem;font-weight:650}.budget-status-table .budget-group-row{grid-template-columns:1fr 1fr;padding:10px;display:grid}.budget-status-table .budget-group-row>*{white-space:normal;border:0;padding:7px}.budget-status-table .budget-group-row>th{grid-column:1/-1}.budget-status-table .budget-group-row>td{text-align:right;justify-content:space-between;gap:8px;display:flex}.budget-status-table .budget-group-row>td:empty{display:none}.budget-sort{justify-content:space-between;width:100%;margin:0}.budget-sort select{flex:220px;max-width:100%}}.block-row.preparation:not(.approved){background:var(--preparation-bg);color:var(--preparation-text)}.block-row.overlap:not(.approved){background:#fee2e2}.block-row.overlap:not(.approved)>i{background:#d13d3d!important}.empty-state{border:1px dashed var(--line);background:var(--surface2);border-radius:10px;gap:10px;padding:16px;display:grid}.empty-state p{margin:0}.warning{background:var(--amber-bg);color:var(--amber);border:1px solid #e5b94f;border-radius:9px;gap:4px;padding:12px;display:grid}.absence-quick{background:var(--blue-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.absence-quick.approved,.special.absence-approved{background:var(--green-bg);color:var(--green)}.absence-quick label{align-items:center;gap:7px;display:flex}.absence-quick input{width:auto}.absence-quick button{min-height:30px!important;padding:.25rem .55rem!important}.special.absence-planned,.absence-planned{background:var(--blue-bg);color:var(--blue)}.missing-approvals{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:10px;margin:14px 0;padding:14px;display:grid}.saved-item>button{flex:none}.settings-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.editable-row{grid-template-columns:28px 1fr 38px 38px}.block-select{place-items:center;display:grid}.block-select input{width:auto;height:18px}.template-card-actions{align-items:end;gap:6px;display:flex}.template-card-actions .danger{color:#b94242}.template-dialog{width:min(780px,100% - 24px)}.template-edit-blocks{gap:8px;display:grid}.template-edit-block{background:var(--surface2);border-radius:8px;grid-template-columns:70px 110px 110px minmax(120px,1fr) 38px;align-items:center;gap:6px;padding:8px;display:grid}.template-edit-block .icon-btn{width:32px;height:32px}@media (width<=760px){.template-edit-block{grid-template-columns:1fr 1fr}.template-edit-block select:nth-child(4){grid-column:1/-1}.template-edit-block .icon-btn{grid-column:2;justify-self:end}}.week-selectable-block{position:relative}.week-selectable-block>label{z-index:2;background:var(--surface);border-radius:4px;padding:2px;line-height:0;position:absolute;top:9px;right:9px}.week-selectable-block input{width:auto}.week-selectable-block .block-row{padding-right:32px}.week-repeat-dialog{width:min(900px,100% - 24px)}.week-repeat-table{border:1px solid var(--line);border-radius:8px;max-height:55vh;overflow:auto}.week-repeat-grid{min-width:640px;display:grid}.week-repeat-grid>b,.week-repeat-grid>span,.week-repeat-grid>strong{border-bottom:1px solid var(--line);text-align:center;place-items:center;min-height:43px;padding:9px;display:grid}.week-repeat-grid>b{background:var(--surface2);color:var(--muted);font-size:.72rem}.week-repeat-grid>strong{text-align:left;place-items:center start}.week-repeat-grid input{width:auto}.repeat-day{font-size:.76rem;font-weight:650}.repeat-day.ready{color:#24733d;background:#e7f6eb}.repeat-day.conflict{color:#a72f2f;background:#fee2e2}.repeat-day.empty{color:var(--muted)}.year-status{margin-bottom:18px}.year-budget-summary{margin-top:20px}.year-budget-summary h3{margin:0 0 10px}.period-status-legend{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:0 0 10px;font-size:.78rem;display:flex}.period-status-legend span{align-items:center;gap:6px;display:inline-flex}.period-status-legend span:before{content:"";background:currentColor;border-radius:50%;width:10px;height:10px}.period-status-legend .completed{color:var(--green)}.period-status-legend .pending{color:#b58900}.period-status-legend .future{color:#c23b3b}.school-year-periods tr.period-completed>th:first-child{border-left:4px solid var(--green);color:var(--green)}.school-year-periods tr.period-pending>th:first-child,.school-year-periods tr.period-current>th:first-child{color:#b58900;border-left:4px solid #b58900}.school-year-periods tr.period-future>th:first-child{color:#c23b3b;border-left:4px solid #c23b3b}.period-status{color:var(--muted);margin-top:3px;font-size:.68rem;font-weight:500;display:block}.year-period-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;display:flex}.year-period-toolbar .period-status-legend{margin:0}@media (width<=760px){.year-period-toolbar{flex-direction:column;align-items:flex-start;gap:10px}}.year-period-toolbar .view-toggle button{min-height:34px;padding:.42rem .72rem;font-size:.82rem}.school-year-periods tr.period-completed>*{background:#e7f6eb}.school-year-periods tr.period-pending>*,.school-year-periods tr.period-current>*{background:#fff7dc}.school-year-periods tr.period-future>*{background:#fee2e2}.app-shell{grid-template-columns:220px minmax(0,1fr)}main{min-width:0}main>*,.week-grid,.year-table,.template-layout,.template-card{min-width:0;max-width:100%}.year-table{overscroll-behavior-inline:contain;width:100%;overflow-x:auto}.week-grid{overscroll-behavior-inline:contain;width:100%}.template-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.template-layout>*{min-width:0}.template-card{grid-template-columns:minmax(0,1fr) minmax(100px,140px) minmax(120px,170px) auto}.block-row{grid-template-columns:4px 100px minmax(0,1fr) auto 22px;min-width:0}@media (width<=1100px){.template-layout{grid-template-columns:1fr}.template-card{grid-template-columns:minmax(0,1fr) minmax(100px,120px) minmax(120px,150px)}}@media (width<=760px){main{width:100%;max-width:100vw;overflow-x:hidden}.week-grid{grid-template-columns:minmax(0,1fr)}.year-table{max-width:calc(100vw - 24px)}.template-card{grid-template-columns:minmax(0,1fr)}.block-row{grid-template-columns:4px 74px minmax(0,1fr) auto 20px;gap:6px}.day-actions{flex-wrap:wrap}.day-actions button{min-width:calc(50% - 6px)}}.dashboard-status{gap:18px;margin-top:18px;display:grid}.dashboard-status .time-overview{margin-top:0}.dashboard-budget-lines{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-top:18px;display:grid}.dashboard-budget-lines>div{background:var(--surface2);border-radius:8px;grid-template-columns:1fr auto;gap:4px 10px;padding:12px;display:grid}.dashboard-budget-lines small{color:var(--muted)}.dashboard-budget-lines progress{grid-column:1/-1;width:100%}.dashboard-budget-lines>div.over-budget b,.dashboard-budget-lines>div.over-budget small{color:#a53b3b}.dashboard-budget-lines>div.over-budget progress{accent-color:#a53b3b}.dashboard-budget-lines>div.over-budget progress::-webkit-progress-value{background:#a53b3b}.dashboard-budget-lines>div.over-budget progress::-moz-progress-bar{background:#a53b3b}@media (width<=760px){.dashboard-budget-lines{grid-template-columns:1fr}}.reminders-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:16px;padding:16px 18px}.reminders-card .section-head{margin-top:0}.reminder-date{color:var(--muted);text-transform:capitalize;font-size:.78rem}.reminder-list{gap:3px;margin-top:12px;display:grid}.reminder-item{color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 8px;font-size:.9rem;font-weight:600;display:flex}.reminder-item:hover{background:var(--surface2)}.reminder-item input{width:18px;height:18px}.reminder-item.completed span{color:var(--muted);text-decoration:line-through}.reminder-form{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px;padding:14px 0;display:grid}.reminder-weekdays{border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;display:grid}.reminder-weekdays legend{color:var(--muted);padding:0 4px;font-size:.8rem;font-weight:700}.reminder-settings-list{gap:7px;display:grid}.reminder-setting-item.inactive{opacity:.68}.reminder-setting-item .actions{gap:5px;display:flex}.reminder-setting-item .actions .icon-btn{width:32px;height:32px;font-size:1.05rem}.budget-sort{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.budget-sort select{width:auto}.budget-group-row>*{background:var(--surface2);border-top:14px solid var(--surface);border-bottom:1px solid var(--line);padding:12px 14px;font-size:.82rem}.budget-group-row th{color:var(--text);font-weight:750;text-align:left!important}.budget-group-row td{font-weight:750}.week-reminders{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-top:18px;padding:16px 18px}.week-reminders .section-head{margin-top:0}.week-reminder-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.week-reminder-day{background:var(--surface2);border:1px solid var(--line);border-radius:9px;min-width:0;padding:11px}.week-reminder-day.active{border-color:var(--brand)}.week-reminder-day h3{text-transform:capitalize;margin:0 0 7px;font-size:.82rem}.week-reminder-list{gap:2px;display:grid}.week-reminder-day .reminder-item{padding:6px 3px;font-size:.78rem}.week-reminder-day .reminder-item input{width:16px;height:16px}.week-reminder-readonly{align-items:flex-start;gap:7px;padding:6px 3px;font-size:.78rem;display:flex}.week-reminder-readonly.completed{color:var(--muted);text-decoration:line-through}.reminder-check{color:var(--muted);flex:0 0 16px;font-size:1rem;line-height:1}.week-reminder-readonly.completed .reminder-check{color:var(--green)}.budget-choice.disabled{opacity:.58}.budget-choice.disabled label{cursor:not-allowed}.week-grid{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:hidden}.week-grid .day-card,.week-grid .day-head>div{min-width:0}.week-grid .day-head{flex-wrap:wrap;gap:6px}.week-grid .day-head strong{font-size:.8rem}.template-layout,.template-card,.template-card>*{min-width:0}.template-layout{overflow:hidden}.template-card input,.template-card select{min-width:0}.day-blocks .block-row .block-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;display:block;overflow:hidden}.day-blocks .block-row .block-name small{text-overflow:ellipsis;overflow:hidden}.approval-warnings{gap:10px;margin:14px 0;display:grid}.approval-warning{border:1px solid var(--line);border-left:4px solid var(--amber);background:var(--surface);border-radius:12px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.approval-warning.future{border-left-color:#b94242}.approval-warning>span{gap:3px;display:grid}.approval-warning .chips{justify-content:flex-end}.approval-warning .chips button{min-height:34px!important;padding:.4rem .65rem!important}@media (width<=760px){.approval-warning{grid-template-columns:1fr}.approval-warning .chips{justify-content:flex-start}}.school-year-summary,.school-year-periods{overflow-x:hidden}.school-year-summary table,.school-year-periods table{table-layout:fixed;min-width:0}.school-year-summary th,.school-year-summary td,.school-year-periods th,.school-year-periods td{white-space:normal;overflow-wrap:anywhere;padding:clamp(5px,.7vw,12px);font-size:clamp(.58rem,.72vw,.84rem)}.school-year-periods th:first-child{width:13%}@media (width<=1100px) and (width>=761px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.school-year-periods{box-shadow:none;background:0 0;border:0;overflow:visible}.school-year-periods table,.school-year-periods tbody{gap:10px;display:grid}.school-year-periods thead{display:none}.school-year-periods tr{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:12px;display:grid}.school-year-periods th:first-child{border-bottom:1px solid var(--line);grid-column:1/-1;width:auto;padding:0 0 8px;font-size:.85rem}.school-year-periods td{text-align:right;border:0;justify-content:space-between;gap:8px;padding:4px 0;font-size:.7rem;display:flex}.school-year-periods td:before{content:attr(data-label);color:var(--muted);text-align:left;font-weight:650}.school-year-summary th,.school-year-summary td{padding:5px 3px;font-size:.58rem}.school-year-summary th:first-child,.school-year-summary td:first-child{width:24%}.overview-metrics{grid-template-columns:1fr 1fr}.overview-distribution,.norm-summary{grid-template-columns:1fr}.time-overview{padding:14px}}.page-title h1{align-items:center;gap:8px;display:flex}.title-template-btn,.day-template-btn{vertical-align:middle;width:28px;height:28px;font-size:1rem}.day-head h2{align-items:center;gap:6px;display:flex}.day-head{cursor:pointer}.page-title .actions select[aria-label=Brug\ ugeskabelon]{flex:0 180px;width:auto;min-width:130px;max-width:180px;padding:.45rem 1.8rem .45rem .55rem}@media print{html,body,#root,.app-shell,main{background:#fff!important;height:auto!important;min-height:0!important}aside,main>:not(.report-builder):not(.budget-overview),.report-builder>aside{display:none!important}.report-builder,.report-preview,.report-group,.budget-overview{box-shadow:none!important;background:0 0!important;min-height:0!important}.budget-overview{border:0!important;margin:0!important;padding:0!important;display:block!important}.budget-overview .section-head label{display:none!important}.budget-overview .year-table{box-shadow:none!important;border:0!important;overflow:visible!important}.budget-overview table{font-size:9pt;min-width:0!important}.budget-overview th,.budget-overview td{white-space:normal!important;padding:5px!important}.report-builder:before,.report-builder:after,.report-preview:before,.report-preview:after{content:none!important;display:none!important}}.simple-template-edit-block{grid-template-columns:110px 110px minmax(150px,1fr) 38px}.simple-template-edit-block input[type=time]{min-width:110px}@media (width<=760px){.simple-template-edit-block{grid-template-columns:1fr 1fr}.simple-template-edit-block select{grid-column:1/-1}.simple-template-edit-block .icon-btn{grid-column:2;justify-self:end}}.week-page-actions{flex-wrap:nowrap;align-items:center;gap:7px;display:flex}.week-page-actions button{white-space:nowrap;padding:.55rem .7rem}.week-nav-icon{width:42px;font-size:1.1rem;padding:.45rem!important}.week-picker-button{min-width:100px}.week-picker-arrow{margin-left:3px;font-size:.9em;display:inline-block}.week-toolbar-popover{position:relative}.week-picker-list,.week-more-menu{z-index:30;border:1px solid var(--line);background:var(--surface);min-width:220px;max-height:360px;box-shadow:var(--shadow);border-radius:9px;padding:6px;display:grid;position:absolute;top:calc(100% + 5px);right:0;overflow:auto}.week-picker-list button,.week-more-menu button{text-align:left;min-height:34px!important;color:var(--text)!important;background:0 0!important;padding:.4rem .55rem!important}.week-picker-list button.active{background:var(--brand2)!important;color:var(--brand)!important}.week-more-menu b{color:var(--muted);padding:6px;font-size:.72rem}.selection-actions{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;margin:-10px 0 14px;padding:9px 11px;display:flex}.selection-actions b{margin-right:auto}.selection-actions button{min-height:36px!important;padding:.4rem .65rem!important}.week-approval-actions{gap:6px;display:grid}.week-approval-actions button{height:100%}@media (width<=760px){.page-title .actions>.week-page-actions{grid-column:1/-1}.week-page-actions{flex-wrap:wrap;width:100%;display:flex}.week-page-actions .week-picker-popover{flex:1}.week-page-actions .week-picker-button{width:100%}.week-picker-list{left:0;right:auto}.week-more-menu{left:auto;right:0}.selection-actions b{width:100%;margin:0}.week-approval-actions{grid-column:1/-1}}.print-only{display:none}.report-builder{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.report-builder>aside{background:var(--surface2);border-radius:10px;max-width:none;padding:16px}.report-builder fieldset{border:1px solid var(--line);border-radius:9px;gap:9px;min-width:0;padding:12px;display:grid}.report-builder legend{padding:0 5px;font-weight:750}.report-builder label{gap:4px;display:grid}.report-builder input[type=checkbox]{width:auto}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.check-grid>b{grid-column:1/-1}.check-grid label,.worktype-filter label{align-items:center;gap:7px;font-size:.82rem;display:flex}.worktype-filter{gap:8px;display:grid}.worktype-filter>div{gap:5px;padding-left:8px;display:grid}.date-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.report-preview{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;padding:18px;display:block}.report-print-heading h1{margin:0 0 5px}.report-print-heading p{margin:0 0 4px}.report-print-heading small{color:var(--muted)}.report-group{margin-top:20px}.report-group h2{margin-bottom:4px;font-size:1rem}.group-totals{color:var(--muted);font-size:.82rem}.report-table-wrap table{min-width:760px}.report-note{white-space:pre-wrap}.report-budget{border:1px solid var(--line);border-radius:9px;padding:12px}.report-budget>div{border-top:1px solid var(--line);grid-template-columns:1fr repeat(4,auto);gap:12px;padding:7px 0;font-size:.8rem;display:grid}.backup-panel{border-radius:0 12px 12px}.backup-panel .button{justify-content:center;align-items:center;display:inline-flex}.budget-print-heading{margin-bottom:18px}@media (width<=900px){.report-builder{grid-template-columns:1fr}.report-builder>aside{max-width:none}.report-budget>div{grid-template-columns:1fr 1fr}.report-budget>div>b{grid-column:1/-1}}@media print{@page{size:A4 landscape;margin:12mm}.print-only{display:block!important}html[data-print-target=report] .budget-overview{display:none!important}html[data-print-target=report] .report-builder,html[data-print-target=report] .report-preview{display:block!important}html[data-print-target=report] .report-builder>aside,html[data-print-target=budget] .report-builder,html[data-print-target=budget] .report-preview,html[data-print-target=budget] main>:not(.budget-overview){display:none!important}html[data-print-target=budget] .budget-overview{display:block!important}.budget-form,.budget-sort{display:none!important}.budget-overview thead,.report-preview thead{display:table-header-group!important}.budget-group-row,.report-group h2{break-after:avoid}.report-group{break-inside:auto}.report-table-wrap table{width:100%;min-width:0!important}.report-print-heading{margin-bottom:14px}.report-note{white-space:pre-wrap!important}}.report-builder{display:block}.report-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;max-width:none!important;padding:16px!important;display:grid!important}.report-controls .report-download-actions{grid-column:1/-1}.report-print-content{display:none}.empty-group{color:var(--muted);font-style:italic}.report-controls button:disabled{opacity:.55;cursor:not-allowed}.report-summary-wrap{margin-top:14px}.report-summary-table{table-layout:fixed;width:100%;min-width:0}.report-summary-table th:first-child{width:22%}.report-summary-table th,.report-summary-table td{white-space:nowrap}@media (width<=760px){.report-controls{grid-template-columns:1fr}.report-controls .report-download-actions{grid-column:auto}}@media print{html[data-print-target=report] .report-print-content{display:block!important}html[data-print-target=budget] .report-print-content{display:none!important}}.quick-backup{gap:6px;margin-left:20px;display:flex}.quick-backup button,.quick-backup .button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:.45rem .7rem;font-size:.78rem;display:inline-flex}.quick-backup span{font-size:1rem}.header-tools{align-items:center;gap:5px;margin-left:12px;display:flex}.header-tools .icon-btn{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;font-size:1.15rem}.app-version,.data-version{color:var(--muted);white-space:nowrap;font-size:.68rem;font-weight:650}.data-version{margin-left:2px}.budget-note{white-space:pre-wrap;color:var(--muted);font-style:italic}.version-button{cursor:pointer;font:inherit;font-size:.68rem;font-weight:650;box-shadow:none!important;color:var(--muted)!important;background:0 0!important;border:0!important;border-radius:0!important;width:auto!important;min-height:0!important;padding:0!important}.version-button:hover{text-decoration:underline;color:var(--brand)!important}.history-overlay{justify-content:center;padding:24px}.history-dialog{background:var(--surface);width:min(820px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:14px;padding:22px;overflow:auto}.history-dialog .panel-head{margin-bottom:10px}.history-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text);margin:0;line-height:1.55}.budget-edit-backdrop{z-index:60}.budget-edit-modal{z-index:61;background:var(--surface);border:1px solid var(--line);width:min(560px,100% - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow);border-radius:14px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.budget-edit-modal .section-head{margin-top:0}.work-type-overlay{z-index:70}@media (width>=560px){.budget-subcategory-choice{grid-template-columns:1fr 1fr;column-gap:18px}.budget-subcategory-choice>b,.budget-subcategory-choice>small{grid-column:1/-1}}@media (width<=760px){.quick-backup{gap:4px;margin-left:8px}.quick-backup b{display:none}.quick-backup button,.quick-backup .button{width:34px;height:34px;min-height:34px;padding:0}.header-tools{gap:3px;margin-left:6px}.header-tools .icon-btn{width:34px;height:34px}.app-version{display:none}}@media (width<=520px){.quick-backup{display:none}.year-picker select{max-width:108px}.brand{gap:5px}.header-tools{margin-left:5px}}@media print{.report-summary-wrap{border:0!important;margin-top:10px!important;overflow:visible!important}.report-summary-table{table-layout:fixed;width:100%!important;min-width:0!important}.report-summary-table thead{display:table-header-group}.report-summary-table tr{break-inside:avoid}.report-summary-table th,.report-summary-table td{white-space:nowrap!important;padding:5px 8px!important;font-size:9pt!important}.report-summary-table th:first-child{width:22%;font-size:10pt!important}}.day-panel .editable-row{grid-template-columns:28px minmax(0,1fr) repeat(3,38px)}.status-toggle input{appearance:none;background:var(--line);cursor:pointer;border:0;border-radius:999px;width:46px;height:26px;margin:0;padding:3px;transition:background .15s}.status-toggle input:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block;box-shadow:0 1px 2px #0003}.status-toggle input:checked{background:var(--green)}.status-toggle input:checked:after{transform:translate(20px)}.status-toggle input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page-title{container-type:inline-size}.tag-input-label{position:relative}.tag-input-shell{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:5px;padding:5px 7px;display:flex}.tag-input-shell:focus-within{outline-offset:2px;outline:3px solid #2563eb40}.tag-input-shell input{background:0 0;border:0;outline:0;flex:150px;width:auto;min-width:110px;padding:5px}.tag-chip,.tag-more{border:1px solid var(--line);background:var(--surface2);color:var(--muted);border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:.72rem;font-weight:650;display:inline-flex}.tag-chip button{width:18px;height:18px;min-height:0!important;color:inherit!important;background:0 0!important;border:0!important;padding:0!important}.tag-suggestions{z-index:75;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:5px;display:grid;position:absolute;top:100%;left:0;right:0}.tag-suggestions button{text-align:left;min-height:32px!important;color:var(--text)!important;background:0 0!important;padding:.35rem .55rem!important}.tag-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.search-overlay{justify-content:center;padding:24px}.search-dialog{background:var(--surface);width:min(820px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:14px;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;margin:auto;padding:20px;display:grid;overflow:hidden}.search-dialog .panel-head{margin:0}.search-dialog h2{margin-bottom:3px}.search-filters{border:1px solid var(--line);border-radius:9px;padding:9px}.search-filters summary{cursor:pointer;font-weight:700}.search-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.search-tags{border:0;flex-wrap:wrap;gap:8px;margin-top:10px;padding:0;display:flex}.search-tags legend{width:100%;color:var(--muted);font-size:.75rem}.search-tags label{align-items:center;gap:4px;display:flex}.search-tags input{width:auto}.search-results{flex-direction:column;align-items:stretch;gap:8px;display:flex;overflow:auto}.search-result{text-align:left;flex:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;border:1px solid var(--line)!important;background:var(--surface2)!important;height:auto!important;min-height:max-content!important;color:var(--text)!important;padding:11px!important}.search-result>span:first-child{gap:3px;min-width:0;display:grid}.search-result small,.search-result span{color:var(--muted)}.search-snippet{white-space:normal;overflow-wrap:anywhere;max-width:60ch}.search-status{border-radius:999px;flex:none;padding:4px 7px;font-size:.7rem}.search-status.approved{background:var(--green-bg);color:var(--green)}.search-status.planned{background:var(--blue-bg);color:var(--blue)}@media (width<=760px){.search-overlay{padding:0}.search-dialog{border-radius:0;width:100%;height:100%;max-height:none;padding:14px}.search-filter-grid{grid-template-columns:1fr 1fr}}.dashboard-status .annual-overview{grid-column:1/-1}.todo-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 14px;font-size:.82rem;display:flex}.todo-toolbar .check{color:var(--text)}.todo-list{gap:10px;display:grid}.todo-item{border:1px solid var(--line);border-left:4px solid var(--blue);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.todo-item.inProgress{border-left-color:var(--amber)}.todo-item.done{border-left-color:var(--green)}.todo-item h2{margin:5px 0;font-size:1rem}.todo-item p{white-space:pre-wrap;color:var(--muted);margin:7px 0}.todo-item small{color:var(--muted)}.todo-item .actions{flex-wrap:nowrap;align-self:start}.todo-status{background:var(--blue-bg);color:var(--blue);border-radius:999px;padding:3px 7px;font-size:.7rem;font-weight:700;display:inline-block}.todo-item.inProgress .todo-status{background:var(--amber-bg);color:var(--amber)}.todo-item.done .todo-status{background:var(--green-bg);color:var(--green)}.todo-links{border:1px solid var(--line);border-radius:9px;gap:8px;padding:12px;display:grid}.todo-links p,.todo-links small{color:var(--muted);margin:0;font-size:.8rem}.todo-link-choice{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.todo-link-choice select{width:auto}.todo-link-choice small{font-size:.72rem}@media (width<=760px){.todo-toolbar,.todo-item{flex-direction:column;align-items:flex-start}.todo-item .actions{align-self:stretch}.todo-link-choice{flex-direction:column;align-items:flex-start}.todo-link-choice select{width:100%}}.custom-day-label{background:var(--blue-bg);color:var(--blue);border-radius:6px;margin:0 10px 8px;padding:6px 8px;font-size:.73rem;font-weight:650;display:block}.custom-day-label.large{justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.custom-day-label.large .icon-btn{width:28px;height:28px;font-size:1rem}@media (width<=760px){.week-reminder-grid{grid-template-columns:1fr 1fr}.week-reminders{padding:14px}.week-reminders .section-head{flex-direction:column;align-items:flex-start;gap:8px}}.day-head{position:relative}.day-info-button{border:1px solid var(--line);background:var(--surface);width:25px;height:25px;color:var(--muted);text-align:center;pointer-events:none;border-radius:50%;font-size:.95rem;line-height:23px;position:absolute;top:14px;right:14px}.day-head{text-align:center!important;grid-template-columns:1fr!important;gap:8px!important;display:grid!important}.day-title small,.day-title h2{text-align:center;display:block}.day-summary-row{justify-content:space-between;align-items:center;width:100%;display:flex}.day-total{align-items:center;gap:8px;display:flex}.day-head-actions{align-items:center;gap:7px;display:flex!important}.day-head-actions .day-template-btn,.day-head-actions .day-info-button{width:25px;height:25px;font-size:.95rem}.day-head-actions .day-info-button{line-height:23px;position:static}.day-title{justify-content:center;align-items:baseline;gap:8px;display:flex}.day-title h2{margin:.2rem 0}.day-title small,.day-title h2{color:var(--text);font-size:1rem;font-weight:750}.day-absence-head button,.day-action-legacy,.day-action-menu>button:nth-child(4),.day-action-menu>button:nth-child(5){display:none!important}.day-action-menu{border-bottom:1px solid var(--line);overscroll-behavior:contain;align-items:center;gap:8px;margin:0 0 18px;padding:4px 0 8px;display:flex;overflow-x:auto}.day-action-menu button{white-space:nowrap;flex:none}.day-action-menu .danger{color:#b94242}.day-overlay{overscroll-behavior:contain;justify-content:center;align-items:center;padding:24px}.day-panel{width:min(860px,100%);height:auto;max-height:calc(100vh - 48px);box-shadow:var(--shadow);overscroll-behavior:contain;border-radius:14px}.day-action-menu>button:first-child,.day-action-menu>button:nth-child(2){font-size:0}.day-action-menu>button:first-child:before{content:"+ Label"}.day-action-menu>button:nth-child(2):before{content:"+ Fravær"}.day-action-menu>button:first-child:before,.day-action-menu>button:nth-child(2):before{font-size:1rem}.day-action-menu>button:nth-child(3):before{content:"✓";margin-right:6px}.day-action-menu>button:nth-child(6):before{content:"🗑";margin-right:6px}.day-absence-head{display:none!important}.day-panel>.panel-head{align-items:center}.day-panel>.panel-head>.quick-day-marks{flex-wrap:nowrap;gap:6px;margin-left:auto;margin-right:12px;padding:0}.day-panel>.panel-head .absence-quick{white-space:nowrap;padding:6px 8px}.day-panel>.panel-head .absence-quick button{font-size:.72rem}.day-panel .section-head>button,.day-panel .section-head .actions{display:none!important}.day-panel .panel-totals .metric{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px}.day-panel .panel-totals .metric small{font-weight:700}.day-panel .panel-totals .metric strong{margin-top:0;font-size:1.08rem}.day-action-menu{flex-wrap:wrap;display:flex;overflow:visible}.day-action-menu>button,.day-action-menu>select{white-space:normal;flex:calc(25% - 6px);justify-content:center;width:auto;min-width:0}.day-action-menu>select{min-height:42px;padding:.55rem .7rem}@media (width<=760px){.day-action-menu>button,.day-action-menu>select{flex-basis:calc(50% - 4px)}.day-overlay{padding:12px}.day-panel{max-height:calc(100vh - 24px);padding:18px}}@media (width>=761px){.app-shell.nav-collapsed{grid-template-columns:76px 1fr}.app-shell.nav-collapsed>aside{padding:18px 8px}.app-shell.nav-collapsed>aside nav{gap:2px}.sidebar-tools{justify-content:flex-end;margin-bottom:6px;display:flex}.sidebar-collapse{border:1px solid var(--line);background:var(--surface2);width:100%;min-height:32px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:.3rem .45rem;display:flex}.sidebar-collapse>span{font-size:1.1rem;line-height:1}.sidebar-collapse:hover{color:var(--brand);border-color:var(--brand)}.app-shell.nav-collapsed>aside .sidebar-collapse{background:0 0;border:0}.app-shell.nav-collapsed>aside .sidebar-label,.app-shell.nav-collapsed>aside .nav-label{display:none}.app-shell.nav-collapsed>aside nav button{justify-content:center;gap:0;min-height:34px;padding:.35rem .4rem!important}.app-shell.nav-collapsed>aside .nav-icon{width:22px}}@media (width<=760px){.sidebar-tools{display:none}}@media (width>=761px){.app-shell.nav-collapsed>aside{z-index:10}.app-shell.nav-collapsed>aside nav button:after{background:var(--surface)!important}.sidebar-collapse{height:26px;padding:0 .35rem;min-height:26px!important}.app-shell>aside{overscroll-behavior:contain;overflow-y:auto}.app-shell:not(.nav-collapsed)>aside nav{gap:3px}.app-shell:not(.nav-collapsed)>aside nav button{padding:.58rem .85rem!important}.app-shell>aside nav button{height:44px;min-height:44px!important;padding:.58rem .85rem!important}.app-shell.nav-collapsed>aside nav button{padding:.58rem .4rem!important}.app-shell>aside nav{grid-auto-rows:44px;align-content:start;gap:3px}.app-shell>aside nav button{box-sizing:border-box;line-height:1.2;height:44px!important;min-height:44px!important}.app-shell>aside .nav-icon{flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:1.15rem;line-height:1;display:grid}.app-shell>aside .nav-label{line-height:1.2}.app-shell>aside nav button{justify-content:flex-start;position:relative}.app-shell>aside nav .nav-icon{margin:0;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.app-shell>aside nav .nav-label{margin-left:34px}.app-shell.nav-collapsed>aside{overflow:visible}.app-shell.nav-collapsed>aside nav button{justify-content:center;transition:background-color .16s,color .16s,transform .16s}.app-shell.nav-collapsed>aside nav button:hover,.app-shell.nav-collapsed>aside nav button:focus-visible{transform:translate(2px);background:var(--surface2)!important;color:var(--brand)!important}.app-shell.nav-collapsed>aside nav button:after{content:attr(data-tooltip);z-index:100;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:var(--text);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-radius:7px;padding:.45rem .65rem;font-size:.8rem;font-weight:650;transition:opacity .16s,visibility .16s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.app-shell.nav-collapsed>aside nav button:hover:after,.app-shell.nav-collapsed>aside nav button:focus-visible:after{opacity:1;visibility:visible}.app-shell.nav-collapsed>aside nav .nav-icon{left:50%;transform:translate(-50%,-50%)}.app-shell.nav-collapsed>aside nav .nav-label{margin:0}}.week-grid.days-6{grid-template-columns:repeat(6,minmax(0,1fr));overflow-x:hidden}.week-grid.days-7{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:hidden}@media (width<=760px){.week-grid.days-6,.week-grid.days-7{grid-template-columns:1fr;overflow:visible}}.week-reminder-grid.days-6{grid-template-columns:repeat(6,minmax(0,1fr));overflow-x:hidden}.week-reminder-grid.days-7{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:hidden}@media (width<=760px){.week-reminder-grid.days-6,.week-reminder-grid.days-7{grid-template-columns:1fr;overflow:visible}}.week-reminders{background:var(--surface);box-shadow:0 0 0 1px var(--line),var(--shadow);border:0;padding:0}.week-reminders .section-head{padding:16px 18px}.week-reminder-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.week-reminder-day{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0;min-height:260px;padding:0;overflow:hidden}.week-reminder-day h3{text-transform:capitalize;color:var(--text);margin:0;padding:14px;font-size:.82rem}.week-reminder-list{padding:0 9px}.week-reminder-empty{color:var(--muted);padding:25px 0;font-size:.78rem;display:block}@media (width<=1100px) and (width>=761px){.week-reminder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.week-reminder-grid{grid-template-columns:1fr;overflow:visible}}.week-grid.days-6 .day-actions button,.week-grid.days-7 .day-actions button{font-size:.8rem;padding:.35rem .2rem!important}.day-actions button{flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1.1;display:flex;font-size:0!important}.day-actions button:before{content:"+";font-size:1rem;line-height:1}.day-actions button:after{font-size:.8rem;line-height:1.1}.day-actions button:first-child:after{content:"Tid"}.day-actions button:nth-child(2):after{content:"Fravær"}.day-actions button:nth-child(3):after{content:"Label"}.week-weekend-toggle.active{background:var(--brand2);color:var(--brand);border-color:var(--brand)}.week-more-menu .week-weekend-toggle.active{background:var(--brand2)!important;color:var(--brand)!important}.reminder-setting-item .actions{flex-direction:row}.week-summary .metric{grid-template-columns:max-content minmax(0,1fr);align-content:center;align-items:baseline;column-gap:6px;padding:10px 12px;display:grid}.week-summary .metric small,.week-summary .metric strong{white-space:nowrap;font-size:.9rem}.week-summary .metric strong{margin:0}.week-summary .metric span{white-space:normal;grid-column:1/-1;font-size:.7rem;line-height:1.15}.week-summary .week-approval-actions{grid-template-columns:1fr;align-self:stretch;gap:6px;width:220px;display:grid}.week-summary .week-approval-actions button{white-space:nowrap;width:100%;height:auto;padding:.55rem .65rem}@media (width<=1100px){.week-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.week-summary .week-approval-actions{grid-column:1/-1;justify-content:flex-end;width:auto;display:flex}.week-summary .week-approval-actions button{flex:0 180px;width:auto}}@media (width<=760px){.week-summary{grid-template-columns:1fr 1fr}.week-summary .week-approval-actions{justify-content:stretch}.week-summary .week-approval-actions button{flex:1 1 0}}.week-summary{grid-template-columns:repeat(5,minmax(150px,1fr));align-items:stretch}.week-summary .metric{flex-direction:column;padding:16px;display:flex}.week-summary .metric small{font-size:inherit}.week-summary .metric strong{margin-top:.35rem;font-size:1.22rem}.week-summary .metric span{white-space:normal;font-size:.75rem;line-height:normal}.week-summary .metric.balance-positive strong{color:var(--green)}.week-summary .metric.balance-negative strong{color:#a53b3b}.block-row.replaced-by-absence{opacity:.62;position:relative}.block-row.replaced-by-absence .block-time,.block-row.replaced-by-absence .block-name,.block-row.replaced-by-absence>span:nth-of-type(3){text-decoration:line-through;text-decoration-thickness:1.5px}.block-row.replaced-by-absence:after{content:"";opacity:.28;pointer-events:none;border-top:2px solid;position:absolute;top:50%;left:8px;right:8px;transform:rotate(-2deg)}.history-content{color:var(--text);gap:8px;line-height:1.55;display:grid}.history-content h3{color:var(--brand);margin:12px 0 0;font-size:1rem}.history-content ul{margin:0;padding-left:1.35rem}.history-content li{padding-left:.2rem}.history-content p{margin:0}.settings-tabs{background:var(--surface2);border:1px solid var(--line);scrollbar-width:thin;border-radius:10px;gap:4px;margin-bottom:14px;padding:4px;display:flex;overflow-x:auto}.settings-tabs button{white-space:nowrap;border:0;border-radius:7px;flex:none;min-height:38px;color:var(--muted)!important;background:0 0!important;padding:.5rem .8rem!important}.settings-tabs button:hover,.settings-tabs button:focus-visible{background:var(--surface)!important;color:var(--brand)!important}.settings-tabs button.active{box-shadow:0 1px 3px #19372a1f;background:var(--surface)!important;color:var(--brand)!important}.settings-grid{display:block}.settings-tab-panel[hidden]{display:none}.settings-tab-panel>.settings-card{max-width:none}
