:root{--bg: #f6f4ef;--paper: #ffffff;--ink: #1f1d1a;--muted: #6b665e;--line: #c9c3b8;--brand: #7a3b2e;--brand-ink: #ffffff;--focus: #1a5fb4;--danger: #b3261e;--error-bg: #fdecea;--ok: #2e7d32;--col-pink: #f8d5e1;--col-pink-strong: #e89ab5;--col-blue: #d3e5f7;--col-blue-strong: #8ab8e3;--col-yellow: #fbf1b3;--col-yellow-strong: #e8d25c;--weekend: #f1eee8;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:17px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:var(--brand)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:.85rem}.loading{padding:2rem}.btn{font:inherit;padding:.45rem .9rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:#f1ede6}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn-primary:hover:not(:disabled){background:#652f24}.btn-danger{color:var(--danger);border-color:#e3b3ae}.btn-danger.btn-primary,.dialog .btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-small{padding:.25rem .6rem;font-size:.9rem}.btn-link{border-color:transparent;background:transparent;color:var(--brand);text-decoration:underline}.btn-icon{font:inherit;font-size:1.1rem;line-height:1;border:1px solid transparent;background:transparent;border-radius:4px;padding:.15rem .4rem;cursor:pointer;color:var(--muted)}.btn-icon:hover{background:#0000000f;color:var(--ink)}input,select,textarea{font:inherit;color:inherit}select,.year-input{padding:.35rem .5rem;border:1px solid var(--line);border-radius:6px;background:#fff}.year-input{width:6rem}.field{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0}.field input,.field textarea{padding:.5rem;border:1px solid var(--line);border-radius:6px}.field-inline{display:inline-flex;align-items:center;gap:.4rem}.field-inline input{padding:.25rem .4rem;border:1px solid var(--line);border-radius:4px}.hint{background:#fff8e1;border:1px solid #f0d98c;border-radius:6px;padding:.6rem .8rem}.error-box{background:var(--error-bg);border:1px solid #f0b8b2;color:var(--danger);border-radius:6px;padding:.6rem .8rem}.page{max-width:1720px;margin:0 auto;padding:0 1rem 3rem}.page-header{display:flex;align-items:center;gap:1rem;padding:.9rem 0}.page-header h1{font-size:1.5rem;margin:0}.page-header-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.back-link{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px 0 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand);font-size:16px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}.back-link:hover{background:#f6ece9;border-color:var(--brand)}.back-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.back-icon{flex:none}.save-indicator{font-size:.9rem;color:var(--ok)}.save-saving{color:var(--muted)}.save-error{color:var(--danger);font-weight:700}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;margin-bottom:.75rem;background:#fff;border:1px solid var(--line);border-radius:8px}.toolbar-spacer{flex:1}.toolbar .btn,.toolbar .segmented button{min-height:42px;padding:.5rem 1.05rem;font-size:1.04rem}.toolbar .btn-small{min-height:38px;padding:.35rem .8rem;font-size:.98rem}.btn-blue{background:#2f6ea8;border-color:#2f6ea8;color:#fff}.btn-blue:hover:not(:disabled){background:#275d8e;border-color:#275d8e}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.segmented button{font:inherit;border:0;background:#fff;padding:.4rem .8rem;cursor:pointer}.segmented button+button{border-left:1px solid var(--line)}.segmented button.active{background:var(--brand);color:#fff}.preview-switch{display:flex;gap:1.5rem;margin:0 0 .75rem}.paper{background:var(--paper);border-radius:4px;box-shadow:0 1px 3px #00000026;padding:1.25rem 1.5rem}.paper-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:2px solid var(--ink);padding-bottom:.4rem;margin-bottom:.8rem}.paper-header h2{margin:0;font-size:1.4rem}.print-area{display:none}.print-area.preview-visible{display:block}.home{max-width:1180px;margin:0 auto;padding:3rem 1rem}.home h1{font-size:2.6rem;margin:0 0 1.5rem;color:var(--brand)}.home-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.home-card{display:flex;flex-direction:column;gap:.4rem;padding:1.75rem;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px #00000014;transition:transform .1s}.home-card:hover{transform:translateY(-2px);border-color:var(--brand)}.card-shopping{border-top:8px solid var(--col-pink-strong)}.card-timesheet{border-top:8px solid var(--col-blue-strong)}.home-card-icon{font-size:2.6rem}.home-card-title{font-size:1.8rem;font-weight:700}.home-card-text{color:var(--muted)}.home-footer{display:flex;justify-content:space-between;margin-top:2.5rem}.backup-hint{margin-bottom:1.25rem}.sheet{background:var(--paper);color:#111;box-shadow:0 1px 3px #00000026;padding:12mm;margin:0 auto}.print-area.preview-visible .sheet{width:210mm;min-height:297mm}.sheet-caption{margin:0 0 3mm;font-weight:700}.shopping-sheet{--bar-pink: #f2707f;--bar-blue: #8ecbef;--bar-yellow: #f8dc3c;--bar-green: #a7d06b;--grid: #d4d4d4;max-width:210mm;font-family:Cambria,"Cambria Math",Georgia,Times New Roman,serif;font-weight:700;font-size:11.5pt}.shopping-sheet.editing{max-width:1640px;padding:10mm 6mm}@media screen{.shopping-sheet.editing{font-size:15pt}.shopping-sheet.editing .sheet-line{min-height:2.6rem}.shopping-sheet.editing .color-bar{height:1.9rem}}.sheet-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:4mm;align-items:start}.sheet-line{display:grid;grid-template-columns:54fr 23fr 23fr;align-items:stretch;min-height:7.8mm;border-bottom:1px solid var(--grid);break-inside:avoid}.sheet-line>.name-cell,.sheet-line>.cell{display:flex;align-items:flex-end;padding:0 1.2mm .6mm;border-right:1px solid var(--grid);min-width:0;overflow-wrap:anywhere}.sheet-line>.cell{justify-content:center;font-family:Segoe UI,Arial,sans-serif;font-weight:600;font-size:.85em}.sheet-line>.name-cell{border-left:1px solid var(--grid)}.bar-line{align-items:center}.sheet-line.bar-line>.cell,.sheet-line.bar-line>.row-check,.sheet-line.bar-line>.row-menu{border:0}.color-bar{display:block;height:5.6mm;margin:1mm 0}.bar-pink{background:var(--bar-pink)}.bar-blue{background:var(--bar-blue)}.bar-yellow{background:var(--bar-yellow)}.bar-green{background:var(--bar-green)}.sheet-note{font-weight:400;font-style:italic;font-size:.8em}.empty-note{font-style:italic}.editing .sheet-line{grid-template-columns:1.6rem 54fr 23fr 23fr 1.7rem}.editing .bar-line>.color-bar{margin:1mm 0}.row-check,.row-menu{display:flex;align-items:center;justify-content:center}.row-check input{width:1.05rem;height:1.05rem;accent-color:#7a3b2e}.editing input.name-cell,.editing input.cell{font:inherit;color:inherit;border:0;border-right:1px solid var(--grid);background:transparent;padding:.15rem .3rem;border-radius:0}.editing input.cell{text-align:center;font-family:Segoe UI,Arial,sans-serif;font-size:.85em}.editing input.name-cell{border-left:1px solid var(--grid)}.editing input.name-cell:hover,.editing input.cell:hover{background:#faf7f0}.editing input.name-cell:focus,.editing input.cell:focus{background:#fff;outline:2px solid var(--focus);outline-offset:-2px}.edit-legend{display:flex;gap:1.5rem;font:400 .8rem Segoe UI,system-ui,sans-serif;color:var(--muted);margin-bottom:.4rem}.edit-section+.edit-section{margin-top:0}.item-list{list-style:none;margin:0;padding:0}.item-row.is-selected .name-cell,.item-row.is-selected .cell{background:#fff3c4}.item-note-inline{font:italic 400 .8rem Segoe UI,system-ui,sans-serif;color:var(--muted);padding:.1rem 0 .2rem 2rem}.item-options{display:flex;flex-direction:column;gap:.4rem;padding:.4rem .2rem .5rem 2rem;font:400 .9rem Segoe UI,system-ui,sans-serif;background:#f7f4ee}.item-options .field-inline input{flex:1}.item-options-buttons{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.column-actions{display:flex;gap:.4rem;margin:.4rem 0 .8rem 1.6rem;font-family:Segoe UI,system-ui,sans-serif;font-weight:400}.saved-months{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0 0 .9rem}.month-chip{font:inherit;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.2rem .75rem;cursor:pointer}.month-chip:hover{border-color:var(--brand)}.month-chip.current{background:var(--brand);border-color:var(--brand);color:#fff}.hint-inline{flex-basis:100%}.month-label{min-width:9rem;text-align:center}.archive-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.archive-panel h2{font-size:1.05rem;margin:0 0 .5rem}.archive-panel ul{list-style:none;padding:0;margin:0}.archive-panel li{display:flex;gap:.5rem;align-items:center;padding:.3rem 0}.archive-panel li span{flex:1}.nachweis{--teal: #2b86a3;--teal-light: #8cc7d8;--cell: #e7e7e7;--normal-bg: #e3f2f7;--normal-border: #98cddd;--over-bg: #bcdeea;--sum-normal-bg: #eef6e4;--sum-normal-border: #b5d596;--sum-over-bg: #d6eac1;width:210mm;min-height:297mm;padding:10mm 12mm;font-family:Roboto,Segoe UI,Arial,sans-serif;font-size:9pt;color:#111}.nw-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3mm}.nw-title{margin:0;font-size:25pt;font-weight:700;letter-spacing:-.01em;line-height:1}.nw-period{display:flex;align-items:baseline;gap:1.6mm;font-weight:700;font-size:10.5pt}.nw-blank{display:inline-block;border-bottom:1.4px solid #111;text-align:center;font-weight:400}.nw-month{min-width:8mm;margin-right:2.5mm}.nw-year{min-width:15mm}.nw-period select,.nw-period input{font:inherit;font-weight:400;border:0;border-bottom:1.4px solid #111;background:transparent;padding:0 .5mm}.nw-period select{margin-right:2.5mm}.nw-period input{width:17mm}.nw-parties{display:grid;grid-template-columns:1fr 1fr;column-gap:25mm;margin-bottom:4mm}.nw-parties h3{margin:0 0 1.2mm 1mm;font-size:10pt;font-weight:700;color:var(--teal)}.rounded-box,.rounded-field{border:1.2px solid var(--teal);border-radius:2.5mm}.stamp{height:27mm;padding:1.5mm 3mm;border-radius:5mm;white-space:pre-wrap}.stamp-placeholder{color:#8a8a8a}.stamp textarea{width:100%;height:100%;border:0;resize:none;font:inherit;background:transparent}.stamp textarea::placeholder{color:#8a8a8a}.rounded-field{display:flex;align-items:center;gap:1.5mm;height:7.6mm;padding:0 2.5mm;margin-bottom:1.6mm;font-size:10pt}.rounded-field input,.rounded-field .field-value{flex:1;min-width:0;font:inherit;border:0;background:transparent;padding:0}.nw-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:1.5mm .8mm;margin:0 -1.5mm;width:calc(100% + 3mm)}.nw-table col.w-day{width:13mm}.nw-table col.w-status{width:12mm}.nw-table col.w-time{width:16.5mm}.nw-table col.w-pause,.nw-table col.w-hours{width:12.5mm}.nw-table thead th{font-weight:400;font-size:9.5pt;padding:0;text-align:center;line-height:1.15}.nw-table thead tr.h1 th{font-weight:700}.nw-table thead th.left{text-align:left}.nw-table .day-cell{text-align:right;white-space:nowrap;font-weight:700;padding:0}.day-badge{display:inline-block;min-width:7mm;height:4.8mm;line-height:4.6mm;padding:0 .6mm;border:1px solid var(--teal-light);border-radius:1.2mm;color:var(--teal);text-align:center;font-size:9pt}.weekday{font-size:6.5pt;font-weight:400;color:var(--muted);margin-right:.8mm}.nw-table td.pill{height:5.2mm;padding:0 1mm;background:var(--cell);border-radius:1.2mm;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nw-table td.c-note{text-align:left}.nw-table td.c-normal{background:var(--normal-bg);box-shadow:inset 0 0 0 1px var(--normal-border);font-weight:700}.nw-table td.c-over{background:var(--over-bg)}.nw-table td.pill input{width:100%;height:100%;border:0;background:transparent;font:inherit;text-align:inherit;padding:0}.nw-table td.pill input:focus{outline:none}.nw-table td.pill:focus-within{box-shadow:inset 0 0 0 1.5px var(--focus);background:#fff}.nw-table td.pill.invalid{background:var(--error-bg);box-shadow:inset 0 0 0 1.5px var(--danger)}.nw-table tr.has-error td.c-normal{color:var(--danger)}.nw-table tr.missing-day td.pill{background:repeating-linear-gradient(135deg,#f4f4f4 0,#f4f4f4 3px,#e2e2e2 3px,#e2e2e2 4px)}.nw-table tr.missing-day .day-badge{color:#a8a8a8;border-color:#d4d4d4}.nw-table tfoot .sum-label{text-align:right;font-weight:700;font-size:10.5pt;padding:0 1mm 0 0}.nw-table td.sum-normal{height:5.4mm;background:var(--sum-normal-bg);box-shadow:inset 0 0 0 1px var(--sum-normal-border);font-weight:700}.nw-table td.sum-over{height:5.4mm;background:var(--sum-over-bg);font-weight:700}.nw-table .sum-total{text-align:right;font-size:8.5pt;color:#444;padding:0}.overnight-mark{font-weight:400}.nw-legend{display:flex;flex-wrap:wrap;gap:0 4mm;margin:1.5mm 0 0;font-size:7.5pt;color:#777}.nw-footnote{margin-left:auto}.nw-errors{margin-top:2mm;color:var(--danger);font-size:8.5pt}.nw-errors ul{margin:1mm 0 0;padding-left:5mm}.nw-signatures{display:grid;grid-template-columns:1fr 1fr;column-gap:30mm;margin-top:12mm;font-size:9.5pt;break-inside:avoid}.nw-signatures .sig-line{display:block;border-bottom:1px solid #111;margin-bottom:1mm}.doc-stage,.print-area.preview-visible{overflow-x:auto}@media screen{.doc-stage .nachweis,.print-area.preview-visible .sheet{box-shadow:0 2px 10px #0000002e}}@media screen and (min-width:1200px){.doc-stage .nachweis,.print-area.preview-visible .sheet{zoom:1.3}}@media screen and (min-width:1500px){.doc-stage .nachweis,.print-area.preview-visible .sheet{zoom:1.55}}@media screen and (min-width:1800px){.doc-stage .nachweis,.print-area.preview-visible .sheet{zoom:1.75}}.settings-paper{max-width:1180px;margin:0 auto;padding:2rem 2.5rem;line-height:1.55}.settings-paper section+section{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.5rem}.settings-paper h2{font-size:1.15rem}.dialog{border:0;border-radius:10px;padding:1.25rem 1.5rem;width:min(560px,92vw);box-shadow:0 10px 40px #0000004d}.dialog::backdrop{background:#00000059}.dialog h2{margin-top:0;font-size:1.25rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.toast,.update-prompt{position:fixed;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;background:#2b2824;color:#fff;padding:.6rem .9rem;border-radius:8px;box-shadow:0 4px 16px #0000004d;z-index:50}.toast{bottom:1.25rem}.update-prompt{top:1rem}.toast .btn-icon{color:#ddd}@page{size:A4 portrait;margin:10mm 12mm}@media print{:root,body{background:#fff}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,.toast,.update-prompt,.dialog{display:none!important}.page{max-width:none;padding:0}.timesheet-layout,.print-area,.print-area.preview-visible{display:block}.sheet,.print-area.preview-visible .sheet{box-shadow:none;padding:0;margin:0;width:auto;min-height:0;max-width:none}.ts-top{margin-top:8mm}.timesheet-table thead{display:table-header-group}.timesheet-table tr{break-inside:avoid}.shopping-sheet.print-all{padding-top:6mm}}
