*{box-sizing:border-box} :root{--navy:#14283f;--blue:#244a70;--ink:#202b37;--muted:#687686;--line:#dce3ea;--bg:#f3f6f9;--white:#fff;--accent:#b51f2b}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--navy);color:#fff;min-height:72px;padding:12px 3vw;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.brand{color:#fff;display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.04em}.brand img{width:38px;height:38px;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:.12em;color:#c8d3df}.topbar nav{display:flex;gap:20px;flex:1;flex-wrap:wrap}.topbar nav a,.user-menu a{color:#eaf0f6}.user-menu{font-size:13px;color:#d4dfeb}.container{max-width:1180px;margin:38px auto;padding:0 24px}.narrow{max-width:820px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin:0 0 7px}h1{font-size:30px;line-height:1.2;margin:0 0 8px;color:var(--navy)}h2{font-size:19px;color:var(--navy);margin:0 0 15px}.muted{color:var(--muted)}.small{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.stat,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 3px 12px #132a3e08}.stat span,.stat small{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:32px;color:var(--navy);margin:8px 0}.stat a{font-size:13px;font-weight:650}.stat small{margin-top:8px}.button,button{font:inherit;cursor:pointer;border:1px solid #cbd5df;background:#fff;color:var(--navy);padding:10px 15px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-weight:650}.button:hover,button:hover{background:#f2f5f8;text-decoration:none}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.primary:hover{background:#213d5b;color:#fff}.full{width:100%;margin-top:10px}.actions{display:flex;gap:10px;flex-wrap:wrap}.notice,.alert,.success{padding:14px 16px;border-radius:8px;margin:16px 0;background:#fff5dc;border:1px solid #ecd79a}.alert{background:#fff0f0;border-color:#efc5c5;color:#8b1e25}.success{background:#edf8f0;border-color:#b9e0c2;color:#1b6330}.search{display:flex;gap:10px;margin-bottom:18px}.search input{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label,.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:#344355}.span-2{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5df;border-radius:7px;background:#fff;color:var(--ink);font:inherit;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #9bb7d2;outline-offset:1px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #e7ecf0;vertical-align:top}th{background:#f7f9fb;color:#4d5c6b;font-weight:750;white-space:nowrap}.pill{display:inline-block;background:#eef2f6;border-radius:20px;padding:3px 9px;font-size:11px}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#edf2f6,#dce5ee)}.login-card{width:min(100%,420px);background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 20px 60px #14283f15}.login-card h1{text-align:center;font-size:38px}.login-card .logo{display:block;max-width:90px;max-height:75px;object-fit:contain;margin:0 auto 15px}.login-card .eyebrow,.login-card .muted{text-align:center}.login-card form{display:grid;gap:15px;margin-top:25px}.login-card .small{margin-top:18px}.item-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 90px 130px;gap:8px;margin-bottom:8px}.document-page{background:#e9edf1;padding:22px}.document-actions{max-width:210mm;margin:0 auto 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.paper{background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:17mm 18mm 16mm;box-shadow:0 4px 24px #13283c18;color:#202a34;font-size:11px}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:4px solid var(--navy);padding-bottom:18px}.invoice-header h1{font-size:27px;margin:0}.invoice-header p{margin:2px 0;color:#536273}.invoice-logo{max-width:62px;max-height:52px;object-fit:contain;float:left;margin-right:12px}.org-contact{text-align:right;white-space:pre-line;max-width:50%;color:#455363}.sender-line{font-size:8px;color:#687686;border-bottom:1px solid #aab5c0;padding:12px 0 6px}.recipient-meta{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;margin:25px 0 22px}.recipient{font-size:11px}.recipient p{margin:5px 0}.metadata h2{font-size:16px;letter-spacing:.08em;border-bottom:2px solid var(--accent);padding-bottom:8px}.metadata dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.metadata dt{color:#687686}.metadata dd{margin:0;text-align:right;font-weight:650}.document-subject{font-size:15px;margin:20px 0 10px}.event-meta,.intro{margin:10px 0 15px}.invoice-table{margin-top:18px;font-size:10px}.invoice-table th{background:var(--navy);color:#fff;padding:10px 7px}.invoice-table td{padding:10px 7px}.invoice-table th:first-child,.invoice-table td:first-child{width:30px}.num{text-align:right;white-space:nowrap}.totals{width:68%;margin:18px 0 18px auto}.totals>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #e1e5e9}.totals .grand-total{border-top:2px solid var(--navy);border-bottom:0;font-size:15px;font-weight:800;color:var(--navy);padding-top:12px}.tax-warning{font-size:10px;color:#8b4a00}.footer-text{margin-top:24px;white-space:pre-line}.invoice-footer{border-top:1px solid #aab5c0;margin-top:35px;padding-top:10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;font-size:8px;color:#536273;white-space:pre-line}@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:12px}.topbar nav{gap:12px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.item-row{grid-template-columns:1fr 75px}.item-row input:nth-child(3),.item-row input:nth-child(4){grid-row:auto}.document-page{padding:8px}.paper{width:100%;min-height:0;padding:20px;overflow-wrap:anywhere}.recipient-meta{grid-template-columns:1fr}.invoice-footer{grid-template-columns:1fr}.org-contact{font-size:9px}.document-actions{display:flex}}@media print{@page{size:A4;margin:0}body.document-page{padding:0;background:#fff}.no-print{display:none!important}.paper{width:210mm;min-height:297mm;margin:0;padding:15mm 17mm 15mm;box-shadow:none;font-size:10pt}.invoice-table{break-inside:auto}.invoice-table tr{break-inside:avoid}.invoice-table thead{display:table-header-group}.invoice-footer{position:relative;break-inside:avoid}a{color:inherit;text-decoration:none}}


/* FRAG-Dokumentdesign – inspiriert von der klaren Kopf-/Tabellen-/Fußstruktur des Referenzbelegs */
.paper{position:relative;overflow:hidden;padding-top:36mm;font-family:Arial,Helvetica,sans-serif;font-size:10.5px}
.brand-banner{position:absolute;top:0;left:0;right:0;height:31mm;overflow:hidden;background:#fff}
.banner-dark{position:absolute;inset:0 0 5mm 0;background:#26313f}
.banner-red{position:absolute;left:-3%;right:-3%;bottom:-7mm;height:15mm;background:#a83a35;border-radius:0 0 55% 12%;transform:rotate(2deg);border-top:2mm solid #fff}
.invoice-header{position:relative;border-bottom:0;padding:0 0 8mm;min-height:26mm;align-items:flex-start}
.issuer-block{font-size:10px;line-height:1.45;max-width:55%;color:#222}
.issuer-block strong{display:block;font-size:13px;margin-bottom:4px}
.brand-mark{position:absolute;right:0;top:-24mm;width:68mm;text-align:right;color:#fff}
.brand-mark .invoice-logo{display:inline-block;float:none;max-width:37mm;max-height:17mm;object-fit:contain;vertical-align:middle;margin:0 0 2mm}
.brand-name{font-size:22px;font-weight:800;letter-spacing:.02em;color:#fff}
.brand-subtitle{font-size:6.5px;letter-spacing:.08em;color:#e5e9ee}
.recipient-meta{margin:7mm 0 11mm;grid-template-columns:1.12fr .88fr;gap:15mm;min-height:39mm}
.recipient{font-size:11px;line-height:1.4;padding-top:1mm}
.recipient strong{font-size:11px}
.customer-contact{font-weight:700;margin-top:9mm!important}
.metadata h2{font-size:17px;letter-spacing:.02em;border-bottom:0;padding:0;margin:0 0 8mm;text-align:right;color:#20242a}
.metadata dl{grid-template-columns:1fr auto;gap:3px 10px;font-size:10.5px}
.metadata dd{max-width:38mm;overflow-wrap:anywhere}
.document-subject{font-size:12px;margin:7mm 0 4mm;color:#20242a}
.intro{margin:4mm 0 6mm;line-height:1.45}
.invoice-table{margin-top:7mm;font-size:9.5px;table-layout:auto}
.invoice-table th{background:#fff;color:#222;border-bottom:1px solid #343a40;border-top:1px solid #343a40;padding:3mm 1.5mm;font-size:9px}
.invoice-table td{padding:2.3mm 1.5mm;border-bottom:0;line-height:1.35}
.invoice-table tbody tr:first-child td{padding-top:3mm}
.invoice-table .num{white-space:nowrap}
.totals{width:100%;margin:10mm 0 10mm auto;font-size:10px}
.totals>div{border-bottom:0;padding:1.5mm 0}
.totals .grand-total{border-top:1px solid #343a40;padding-top:3mm;font-size:12px}
.tax-warning{margin:3mm 0;text-align:right}
.footer-text{margin-top:8mm;line-height:1.45}
.invoice-footer{position:absolute;left:18mm;right:18mm;bottom:11mm;margin:0;border-top:0;padding-top:0;grid-template-columns:1fr 1fr 1fr;gap:5mm;font-size:7.2px;line-height:1.35;color:#333}
.invoice-footer div{overflow-wrap:anywhere}
.sender-line{display:none}
@media print{
 .paper{position:relative;width:210mm;min-height:297mm;padding:36mm 18mm 27mm;box-shadow:none}
 .brand-banner{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .banner-dark,.banner-red,.metadata h2,.invoice-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .invoice-footer{position:absolute;bottom:11mm}
}
@media(max-width:760px){
 .paper{padding-top:120px}
 .brand-banner{height:100px}
 .brand-mark{top:-82px;width:50%;right:0}
 .brand-name{font-size:18px}
 .brand-subtitle{font-size:5px}
 .recipient-meta{gap:20px}
 .invoice-footer{position:static;margin-top:30px}
}
/* FRAG workflow additions */
.search-bar{margin-bottom:18px}.search-bar label{display:block;font-weight:700;margin-bottom:8px}.search-line{display:flex;gap:10px;align-items:center}.search-line input{flex:1}.conversion-panel{max-width:210mm;margin:18px auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.conversion-panel form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.conversion-panel label{display:flex;flex-direction:column;gap:6px;min-width:220px;font-weight:650}.conversion-panel form button{min-height:42px}.invoice-header{border-bottom:3px solid #173d68;padding-bottom:15px}.invoice-header:after{content:"FRAG e.V. · Einsatz. Hilfe. Gemeinsam.";display:block;position:absolute;left:0;right:0;bottom:-22px;font-size:7.5px;letter-spacing:.08em;color:#365777}.invoice-footer{border-top:2px solid #173d68;padding-top:8px;font-size:8px;line-height:1.45}.invoice-footer:before{content:"FRAG e.V.  |  Fabrikgelände, 7  |  08427 Fraureuth  |  Sachsen, Deutschland";grid-column:1/-1;font-size:8px;font-weight:700;color:#173d68;padding-bottom:4px;border-bottom:1px solid #d6e0ea;margin-bottom:3px}
@media(max-width:760px){.search-line{flex-direction:column;align-items:stretch}.conversion-panel form{align-items:stretch}.conversion-panel label{min-width:100%}}
