@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Thin.ttf) format("truetype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-ThinItalic.ttf) format("truetype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-ExtraLightItalic.ttf) format("truetype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Urbanist;src:url(/fonts/Urbanist-BlackItalic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-body: "Urbanist", sans-serif;--ink: #111111;--muted: #5f5f5f;--line: #9c9c9c;--line-strong: #7d7d7d;--panel: #f5f3ee;--paper-shadow: 0 18px 42px rgba(0, 0, 0, .12);--link: #1d67c5}html,body{min-height:100%;font-family:var(--font-body);color:var(--ink);background:#ebe8e1}body{font-size:14px}.landing-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#ffffff8c,#fff0),#ebe8e1}.landing-card{width:min(560px,100%);background:#ffffffeb;border:1px solid #ddd8cf;border-radius:12px;box-shadow:var(--paper-shadow);padding:22px 22px 18px}.landing-title{font-size:22px;font-weight:500;letter-spacing:.01em;margin-bottom:6px}.landing-subtitle{color:var(--muted);font-size:12.6px;line-height:1.25;margin-bottom:16px}.landing-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.landing-btn{display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #cdc6bc;padding:14px 16px;text-decoration:none;color:var(--ink);background:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.landing-btn:hover{border-color:#989086}.landing-btn:active{transform:translateY(1px)}.app-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,388px) 1fr}.form-panel{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--panel);border-right:1px solid #ddd8cf}.form-panel-inner{padding:24px 20px 36px}.panel-heading{margin-bottom:22px;font-size:18px;font-weight:700;letter-spacing:.01em}.form-section{margin-bottom:24px}.section-heading{margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid #d9d3c9;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field-label{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.field input,.invoice-form input[type=text],.invoice-form input[type=email],.invoice-form input[type=date],.invoice-form input[type=number],.invoice-form select,.invoice-form textarea{width:100%;border:1px solid #cdc6bc;border-radius:4px;padding:8px 10px;font:inherit;color:var(--ink);background:#fff}.field input:focus,.invoice-form input:focus,.invoice-form textarea:focus{outline:none;border-color:#989086}.customer-prompt{border:1px solid #ddd8cf;background:#ffffffbf;border-radius:8px;padding:10px 10px 8px;margin-bottom:12px}.customer-prompt-top{font-size:12px;line-height:1.25;color:var(--muted);margin-bottom:8px}.customer-prompt-actions{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center}.customer-toolbar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.customer-toolbar-actions{display:flex;gap:8px}.mini-btn{border:1px solid #cdc6bc;border-radius:8px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.mini-btn:hover{border-color:#989086}.mini-btn.danger{color:#8f2b24;border-color:#d6b2ae}.mini-btn.danger:hover{border-color:#bf3a2f;color:#bf3a2f}.line-items-header,.line-item-row{display:grid;grid-template-columns:28px 1fr 56px 80px 28px;gap:6px;align-items:center}.li-qty-col,.li-rate-col{text-align:right}.logo-upload-area{margin-bottom:12px}.logo-preview-wrap{display:flex;align-items:center;gap:10px;margin-bottom:4px}.logo-preview-img{max-width:120px;max-height:48px;object-fit:contain;border:1px solid #ddd;border-radius:4px;background:#f8f8f8;padding:4px}.bank-row-edit{display:grid;grid-template-columns:1fr 2fr 28px;gap:6px;align-items:center;margin-bottom:6px}.tax-id-row{display:grid;grid-template-columns:1fr 2fr;gap:8px}.line-items-header{margin-bottom:6px;padding:0 2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.line-item-row{margin-bottom:6px}.timesheet-entries-header,.timesheet-entry-row{grid-template-columns:1fr 88px 28px}.timesheet-entry-row .li-leistung{min-width:0}.line-item-group{margin-bottom:10px}.timesheet-form textarea{min-height:100px;resize:vertical}.line-item-meta-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-left:34px}.line-item-meta-row .field{margin-bottom:0}.li-num{text-align:center;color:var(--muted);font-size:12px}.li-betrag{text-align:right}.li-remove{border:none;background:none;color:#9d9d9d;font-size:18px;line-height:1;cursor:pointer}.li-remove:hover{color:#bf3a2f}.add-line-btn,.print-btn{width:100%;border-radius:4px;font:inherit}.add-line-btn{margin-top:4px;border:1px dashed #c7c0b7;padding:8px 10px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.print-btn{margin-top:8px;border:none;padding:11px 16px;background:#161616;color:#fff;font-weight:700;cursor:pointer}.print-btn.secondary{margin-top:8px;background:transparent;color:var(--muted);border:1px solid #cdc6bc}.print-btn.secondary:hover{border-color:#989086;color:var(--ink)}.preview-panel{overflow:auto;padding:32px 28px;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#ffffff38,#fff0),#ebe8e1}.invoice-paper{width:210mm;min-height:297mm;padding:12.8mm 12.4mm 18mm 12.6mm;display:flex;flex-direction:column;background:#fff;box-shadow:var(--paper-shadow);font-family:var(--font-body);color:var(--ink)}.inv-header{display:flex;justify-content:space-between;align-items:flex-start}.inv-header-left{padding-top:.4mm}.inv-title{font-size:24px;line-height:1;font-weight:800;letter-spacing:.015em}.inv-number{margin-left:4px;font-size:19px;font-weight:500;letter-spacing:.01em}.inv-date{margin-top:5px;font-size:12.6px;line-height:1.1}.inv-logo{width:132px;height:auto;display:block}.inv-company-name-header{font-size:16px;font-weight:800;text-align:right;line-height:1.1;max-width:180px}.timesheet-header{display:flex;justify-content:space-between;align-items:center}.timesheet-title{font-size:25px;line-height:1;font-weight:700;letter-spacing:.01em;text-transform:uppercase}.timesheet-logo{width:150px;height:auto;display:block;align-self:center}.timesheet-description{max-width:700px;margin-top:8px;margin-bottom:2px;font-size:12.6px;line-height:1.35}.timesheet-rate{margin-bottom:10px;font-size:12.8px;line-height:1.2;font-weight:700}.timesheet-table{margin-bottom:18px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.timesheet-table th,.timesheet-table td{border:none;border-right:1px solid #d0d0d0;border-bottom:1px solid #d0d0d0}.timesheet-table th:last-child,.timesheet-table td:last-child{border-right:none}.timesheet-table tbody tr:last-child td{border-bottom:none}.timesheet-table th{background:#f6f6f6;color:var(--muted);font-size:10.6px;letter-spacing:.07em;text-transform:uppercase}.timesheet-col-particulars{width:auto}.timesheet-col-hours{width:84px;text-align:center;white-space:nowrap}.timesheet-col-amount{width:124px;text-align:right;vertical-align:middle;white-space:nowrap}.timesheet-table th.timesheet-col-amount{text-align:right}.timesheet-table td.timesheet-col-hours,.timesheet-table th.timesheet-col-hours{vertical-align:middle}.timesheet-total-label{font-weight:700;text-transform:uppercase;background:#f6f6f6;color:var(--muted)}.timesheet-bottom-block{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:0}.timesheet-footer-rule{margin-top:16px;margin-bottom:8px}.timesheet-signature-block{margin-top:44px;margin-bottom:auto}.timesheet-footer-left{min-width:0;max-width:340px}.timesheet-footer-logo{width:118px;height:auto;display:block;margin-bottom:6px}.timesheet-proprietor,.timesheet-address,.timesheet-gstin,.timesheet-contact-line{font-size:12.8px;line-height:1.12}.timesheet-proprietor,.timesheet-address{margin-bottom:1px}.timesheet-gstin{margin-top:7px}.timesheet-footer-right{min-width:180px;margin-top:48px}.timesheet-name{font-size:14px;line-height:1.05;font-weight:400;margin-bottom:2px;margin-top:50px}.timesheet-pronouns{color:var(--muted);font-size:12px;line-height:1.15}.timesheet-signature-logo{width:118px;height:auto;display:block;margin-top:10px;margin-bottom:6px}.timesheet-signature-contact{font-size:12.8px;line-height:1.12}.timesheet-footer-right .timesheet-contact-line{text-align:right;white-space:nowrap}.timesheet-entry-index{margin-left:2px;font-size:10px;color:var(--muted)}.inv-rule{margin-top:7px;margin-bottom:12px;border-top:1px solid var(--line-strong)}.inv-recipient{width:238px;margin-bottom:26px}.inv-recipient-inr{width:290px;margin-bottom:22px}.inv-an-label,.inv-client-line,.inv-client-name,.inv-payment-instruction,.inv-bank-table,.inv-ust-nr,.inv-ust-hinweis,.inv-sender-line{font-size:12.8px;line-height:1.24}.inv-an-label{margin-bottom:3px}.inv-client-name{font-weight:700}.inv-client-line+.inv-client-line{margin-top:1px}.inv-email-link{color:var(--link);text-decoration:none}.inv-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:12px;font-size:12.6px;line-height:1.3}.inv-table th,.inv-table td{border:1px solid var(--line);padding:7px 8px;vertical-align:top}.inv-table th{font-weight:700;text-align:left}.inv-table-eu{margin-bottom:12px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-table-eu th,.inv-table-eu td{border:none;border-right:1px solid #d0d0d0;border-bottom:1px solid #d0d0d0}.inv-table-eu th:last-child,.inv-table-eu td:last-child{border-right:none}.inv-table-eu tbody tr:last-child td{border-bottom:none}.inv-table-eu th{background:#f6f6f6;color:var(--muted);font-size:10.6px;letter-spacing:.07em;text-transform:uppercase}.inv-bank-table-eu{width:100%;max-width:420px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-bank-table-eu .bank-key{background:#f6f6f6;color:var(--muted);font-weight:700;letter-spacing:.02em;border-right:1px solid var(--line);padding:7px 10px;vertical-align:top;width:140px}.inv-bank-table-eu .bank-val{width:auto;padding:7px 12px!important;border-bottom:1px solid #d0d0d0;vertical-align:top;word-break:normal;overflow-wrap:normal;white-space:nowrap}.inv-bank-table-eu tr:last-child .bank-key,.inv-bank-table-eu tr:last-child .bank-val{border-bottom:none}.col-num{width:28px;text-align:left}.col-betrag{width:74px;text-align:right;white-space:nowrap}.inv-table-inr{margin-bottom:0;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px 6px 0;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-table-inr th,.inv-table-inr td{border:none;border-right:1px solid #d0d0d0;border-bottom:1px solid #d0d0d0}.inv-table-inr th:last-child,.inv-table-inr td:last-child{border-right:none}.inv-table-inr tbody tr:last-child td{border-bottom:none}.inv-table-inr th{background:#f6f6f6;color:var(--muted);font-size:10.6px;letter-spacing:.07em;text-transform:uppercase}.col-item{width:auto}.col-sac,.col-qty,.col-rate,.col-amount{white-space:nowrap}.col-sac{width:72px}.col-qty{width:42px;text-align:center}.col-rate,.col-amount{width:92px;text-align:right}.inv-inr-table-wrap{margin-bottom:16px}.inv-summary-table{width:184px;margin-left:auto;margin-top:-1px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12.6px;line-height:1.3;border:1px solid var(--line);border-top:0;border-radius:6px;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-summary-table td{border-top:none}.inv-summary-table{border-top-left-radius:0;border-top-right-radius:0}.inv-summary-table td{border:none;border-bottom:1px solid #d0d0d0;padding:7px 8px}.inv-summary-table td:first-child{width:96px;font-weight:700;text-align:right;background:#f6f6f6;color:var(--muted);border-right:1px solid var(--line)}.inv-summary-table td:last-child{width:92px;text-align:right;white-space:nowrap}.inv-summary-table tr:last-child td{border-bottom:none}.inv-summary-table tr.inv-total-row td{font-weight:800}.inv-total-row td{font-weight:700}.total-label{text-transform:uppercase}.placeholder-text{color:#9b9b9b}.inv-payment-instruction{margin-bottom:6px}.inv-tax-id-line{font-size:12.8px;line-height:1.24;margin-bottom:8px}.inv-payment-instruction.inr{font-size:10.6px;line-height:1.15;color:var(--muted);margin-bottom:6px}.inv-bank-table{width:250px;border-collapse:collapse;margin-bottom:14px}.inv-bank-table.inv-bank-table-eu{width:360px;max-width:360px}.inv-bank-table.inv-bank-table-eu .bank-key{width:130px}.inv-bank-table-inr{width:100%;max-width:560px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-bank-table td{padding:2px 0;border-bottom:1px solid #b8b8b8}.bank-key{width:90px;padding-right:14px;border-right:1px solid #b8b8b8}.bank-val{width:160px;padding-left:12px!important}.inv-bank-table-inr .bank-key{width:140px;background:#f6f6f6;color:var(--muted);font-weight:700;letter-spacing:.02em;border-right:1px solid var(--line);padding:7px 10px;vertical-align:top}.inv-bank-table-inr .bank-val{width:auto;padding:7px 12px!important;border-bottom:1px solid #d0d0d0;vertical-align:top;word-break:break-word;white-space:normal}.inv-bank-table-inr tr:last-child .bank-key,.inv-bank-table-inr tr:last-child .bank-val{border-bottom:none}.inv-ust-nr{margin-bottom:6px}.inv-ust-hinweis{max-width:650px}.inv-mid-rule{margin-top:4px;margin-bottom:16px}.inv-section-rule{margin-top:0;margin-bottom:14px}.inv-footnote{margin-top:18px;font-size:10.8px;line-height:1.2;color:var(--muted)}.inv-bottom-block{margin-top:auto}.inv-footer-note{margin-top:14px;font-size:10.8px;line-height:1.3;color:var(--muted)}.inv-footer-rule{margin-top:10px;margin-bottom:10px}.inv-footer{margin-top:auto;width:210px;padding-top:34mm}.inv-footer-inr{width:100%;padding-top:0;display:flex;justify-content:space-between;gap:16px;margin-top:0}.inv-footer-inr .inv-sender-name,.inv-footer-inr .inv-sender-line{margin-top:0}.inv-footer-contact{text-align:right;align-self:flex-end}.inv-sender-name{font-size:14.8px;line-height:1.1;font-weight:700}.inv-footer-logo{width:98px;height:auto;display:block;margin:4px 0 1px}.inv-footer-brand{width:118px;height:auto;display:block;margin:0 0 6px}.inv-website{color:var(--ink)}.inv-address{color:var(--muted)}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr}.form-panel{position:static;height:auto;border-right:none;border-bottom:1px solid #ddd8cf}.preview-panel{padding:20px 10px}.invoice-paper{width:min(210mm,100%);min-height:auto}}@media (max-width: 760px){.preview-panel{padding:0;background:#fff}.invoice-paper{width:100%;padding:10mm 8mm 16mm;box-shadow:none}.inv-logo{width:96px}.timesheet-logo{width:110px}.inv-recipient{width:100%;max-width:238px}.inv-recipient-inr{max-width:290px}.inv-footer{padding-top:24mm}.line-item-meta-row{grid-template-columns:1fr;margin-left:0}.inv-footer-inr{display:block}.inv-footer-contact{margin-top:16px;text-align:left}.timesheet-bottom-block{display:flex;flex-direction:column;gap:0;margin-top:auto}.timesheet-footer-right{margin-top:16px;max-width:none;text-align:left}.timesheet-footer-right .timesheet-contact-line{text-align:left}.landing-actions{grid-template-columns:1fr}}@media print{.no-print,.form-panel,.print-btn{display:none!important}html,body{background:#fff!important;margin:0!important;padding:0!important}.app-shell{display:block!important}.preview-panel{display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}.invoice-paper{width:210mm!important;min-height:297mm!important;padding:12.8mm 12.4mm 18mm 12.6mm!important;box-shadow:none!important;margin:0!important;page-break-after:avoid!important}.inv-email-link{color:#1d67c5!important;text-decoration:none!important}.inv-table,.inv-table th,.inv-table td{border-color:#999!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-total-row td,.inv-table thead tr{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:A4 portrait;margin:0}}
