.jveg-app{
  --ink:#1f2937;--muted:#6b7280;--line:#e2e7ec;--panel:#fff;--soft:#f7f8fa;--accent:#1f4b7a;--accent2:#eef4fa;--danger:#b42318;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);max-width:1180px;margin:16px auto;line-height:1.35
}
.jveg-app *{box-sizing:border-box}
.jveg-topbar{background:linear-gradient(135deg,#f8fafc,#eef4f9);border:1px solid #dbe5ef;border-radius:14px;padding:16px 18px}
.jveg-kicker{text-transform:uppercase;letter-spacing:.07em;font-weight:800;font-size:10px;color:var(--accent)}
.jveg-topbar h2{margin:3px 0 2px;font-size:23px;line-height:1.15}.jveg-topbar p{margin:0;color:var(--muted);font-size:12px}
.jveg-tabs{display:flex;gap:6px;margin:10px 0}
.jveg-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:750;cursor:pointer}
.jveg-tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.jveg-tab{display:none}.jveg-tab.active{display:block}

/* Jede Hauptbox bleibt untereinander, intern aber kompakt gerastert. */
.jveg-card{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:10px;box-shadow:0 3px 12px rgba(17,24,39,.025)}
.jveg-card h3{margin:0 0 10px;font-size:16px}.jveg-card h4{margin:0 0 3px;font-size:14px}
.jveg-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.jveg-section-head h3{margin-bottom:2px}.jveg-section-head p{margin:0 0 8px;color:var(--muted);font-size:11px}

.jveg-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px}
.jveg-formgrid.compact-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.jveg-formgrid .span2{grid-column:span 2}.jveg-formgrid label.wide{grid-column:1/-1}
.jveg-formgrid label,.jveg-subsection label,.advance-field{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:750;color:#384252}
.jveg-formgrid label.check{display:flex;flex-direction:row;align-items:center;gap:7px;padding-top:23px;min-height:36px}
.jveg-formgrid label.check input{width:auto;height:auto}
.jveg-formgrid input,.jveg-formgrid select,.jveg-formgrid textarea,.jveg-subsection input,.jveg-subsection select,.jveg-table input,.advance-field input{
  width:100%;min-height:34px;border:1px solid #d4d9e0;border-radius:7px;padding:6px 8px;background:#fff;color:var(--ink);font:inherit;font-size:12px
}
.jveg-formgrid input:focus,.jveg-formgrid select:focus,.jveg-formgrid textarea:focus,.jveg-table input:focus,.advance-field input:focus{outline:2px solid #c9def2;border-color:var(--accent)}
.jveg-formgrid small{font-size:10px;line-height:1.15;font-weight:500;color:var(--muted);margin-top:-1px}

.jveg-btn{border:1px solid #cbd5e1;background:#fff;color:var(--ink);border-radius:7px;padding:8px 11px;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}
.jveg-btn:hover{filter:brightness(.98)}.jveg-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.jveg-btn.ghost{border-style:dashed}.jveg-btn.small{padding:6px 9px;font-size:11px}.jveg-btn.danger{color:var(--danger);border-color:#f1b4ae}

.jveg-table-wrap{overflow:auto}.jveg-table{width:100%;border-collapse:collapse;min-width:620px}
.jveg-table th{text-align:left;background:var(--soft);font-size:10.5px;color:#4b5563;padding:6px 7px;border-bottom:1px solid var(--line)}
.jveg-table td{padding:5px 7px;border-bottom:1px solid #eef0f3;font-size:11.5px}.jveg-table td input{min-height:31px;padding:5px 7px}
.jveg-table th:nth-child(2){width:120px}.jveg-table th:last-child{width:38px}.jveg-table.result th:last-child{width:125px}.jveg-table .right{text-align:right}.jveg-table .muted{text-align:center;color:var(--muted);padding:16px}
.jveg-icon-btn{width:27px;height:27px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:18px;line-height:1;color:#667085}

.jveg-time-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;align-items:end;margin-top:8px}
.jveg-time-footer label{font-size:10.5px;font-weight:750}.jveg-time-footer input{display:block;width:100%;min-height:32px;padding:5px 7px;border:1px solid #d4d9e0;border-radius:7px;margin-top:3px}
.jveg-time-footer>div{background:var(--soft);border-radius:7px;padding:6px 8px;min-height:46px}.jveg-time-footer>div span{display:block;font-size:9.5px;color:var(--muted)}.jveg-time-footer>div strong{font-size:14px}
.jveg-help{font-size:10px;color:var(--muted);margin:6px 0 0}

.jveg-subsection{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}

.jveg-final-card{padding-bottom:13px}.jveg-final-card .final-head p{margin-bottom:7px}
.jveg-result-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(255px,.75fr);gap:14px;align-items:start}
.jveg-result-panel{border-left:1px solid var(--line);padding-left:14px}
.jveg-result-totals{margin:0;padding:0}.jveg-result-totals>div{display:flex;justify-content:space-between;gap:14px;padding:4px 0;font-size:11.5px}.jveg-result-totals>div strong{font-size:12px}
.jveg-result-totals .grand{font-size:13px;border-top:1.5px solid #334155;margin-top:4px;padding-top:7px}.jveg-result-totals .grand strong{font-size:16px;color:var(--accent)}
.advance-field{margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}
.jveg-balance{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0 2px;font-size:11.5px}.jveg-balance strong{font-size:14px}
.jveg-notice{border-radius:7px;padding:7px 9px;background:#f4f7fb;color:#475569;font-size:10.5px;margin-top:7px}.jveg-notice.warning{background:#fff8e8;color:#7a4b00;border:1px solid #f4d78a}
.jveg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.jveg-status{display:inline-block;margin-left:3px;font-size:11px;color:var(--accent)}.jveg-status.error{color:var(--danger)}
.jveg-privacy-note{margin-top:8px;padding:7px 9px;border-radius:7px;background:#f8fafc;border:1px solid #e7edf3;color:#596273;font-size:10.5px}.jveg-privacy-note strong{color:#364152}

.jveg-brand-grid{display:grid;grid-template-columns:1fr;gap:9px;margin:10px 0}
.jveg-uploadbox{border:1px dashed #bcc7d4;border-radius:9px;padding:10px}.jveg-uploadbox p{font-size:10.5px;color:var(--muted);margin:0 0 7px}
.jveg-uploadbox input[type=file]{font-size:11px;max-width:100%}.jveg-preview{height:70px;background:var(--soft);border-radius:7px;margin:7px 0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-size:10.5px}.jveg-preview.wide{height:90px}.jveg-preview img{max-width:100%;max-height:100%;object-fit:contain}

.jveg-legal{font-size:10px;color:var(--muted);padding:0 3px 12px}.jveg-legal strong{color:#4b5563}

@media(max-width:980px){
  .jveg-formgrid.compact-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jveg-result-layout{grid-template-columns:1fr}.jveg-result-panel{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:10px}
}
@media(max-width:680px){
  .jveg-app{margin:10px auto}.jveg-topbar{padding:13px}.jveg-topbar h2{font-size:20px}.jveg-tabs{overflow:auto;white-space:nowrap}
  .jveg-card{padding:12px;margin-bottom:8px}.jveg-formgrid,.jveg-formgrid.compact-four{grid-template-columns:1fr}.jveg-formgrid .span2,.jveg-formgrid label.wide{grid-column:auto}
  .jveg-time-footer,.jveg-subsection{grid-template-columns:1fr}.jveg-section-head{align-items:flex-start}.jveg-section-head p{max-width:90%}
  .jveg-formgrid label.check{padding-top:5px}.jveg-actions .jveg-btn{flex:1 1 auto}.jveg-result-totals>div{font-size:12px}
}

/* v1.0.3: lokal eingebettete Branding-Datei kenntlich machen */
.jveg-brand-filename{display:block;margin-top:5px;font-size:11px;color:#667085;line-height:1.25;word-break:break-all}


/* v1.0.4: freies Bemerkungsfeld am Ende der Berechnung */
.jveg-final-note{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.jveg-final-note label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:750;color:#384252}
.jveg-final-note textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #d4d9e0;border-radius:7px;padding:7px 8px;background:#fff;color:var(--ink);font:inherit;font-size:12px;line-height:1.4}
.jveg-final-note textarea:focus{outline:2px solid #c9def2;border-color:var(--accent)}
.jveg-final-note small{font-size:10px;line-height:1.2;font-weight:500;color:var(--muted)}
