:root{--blue:#1B4A9C;--blue-dark:#123A7B;--light:#EAF5FB;--cyan:#1AA3E7;--text:#1F1F1F;--muted:#68758C;--line:#D2DCE8;--bg:#F5F7FB;--white:#fff;--shadow:0 12px 32px rgba(18,58,123,.10)}*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{max-width:1320px;margin:auto;padding-left:28px;padding-right:28px}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center}.brand img{width:48px;height:48px;border-radius:6px}.brand span{display:flex;flex-direction:column}.brand b{font-size:20px;color:var(--blue)}.brand small{color:var(--muted);margin-top:3px}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav a:hover{color:var(--blue)}.primary-link{font-weight:700;color:var(--blue)}.link-btn{border:0;background:transparent;cursor:pointer;color:var(--muted)}.page{padding-top:32px;padding-bottom:60px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.page-head h1{font-size:32px;color:var(--blue);margin:0 0 5px}.page-head p{margin:0;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark)}.btn-secondary{background:var(--light);color:var(--blue)}.btn-ghost{background:#fff;border:1px solid var(--line)}.btn-lg{padding:13px 22px}.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px 20px;box-shadow:0 4px 14px rgba(18,58,123,.04)}.stat span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.stat strong{font-size:25px;color:var(--blue)}.badge{font-size:15px!important;background:var(--light);padding:6px 10px;border-radius:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px;box-shadow:0 5px 18px rgba(18,58,123,.04)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel h2,.panel h3{color:var(--blue);margin:0}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;padding:11px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 11px;border-bottom:1px solid #eef2f6}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f9fbfd}.empty{text-align:center;color:var(--muted)}.status{padding:5px 9px;border-radius:18px;background:#eef2f6;font-size:12px;font-weight:700}.status-paid{background:#e9f8ee;color:#24713d}.status-open,.status-issued{background:#fff4dc;color:#8c6200}.status-overdue{background:#feecec;color:#9b2424}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;color:#33445d;font-weight:700;font-size:13px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:11px 12px;background:#fff;color:#172033}input:focus,select:focus,textarea:focus{outline:2px solid rgba(26,163,231,.18);border-color:var(--cyan)}.check{flex-direction:row;align-items:center;padding-top:30px}.check input{width:auto}.mini-action{display:flex;align-items:flex-end;padding-bottom:10px}.mini-action a{color:var(--blue);font-weight:700;font-size:13px}.rate-box{border:1px solid var(--cyan);background:var(--light);border-radius:10px;padding:10px 13px;display:flex;gap:10px;align-items:center}.rate-box span{font-size:12px;color:var(--muted)}.rate-box strong{color:var(--blue)}.rate-box small{margin-left:auto;color:var(--muted)}.lines-wrap{overflow:auto}.lines{width:100%;border-collapse:collapse;min-width:1050px}.lines th{background:var(--blue);color:#fff;padding:9px;font-size:12px;text-align:left}.lines td{border-bottom:1px solid var(--line);padding:6px}.lines td:first-child{width:40px;text-align:center}.lines input{padding:8px;border-radius:5px}.line-total{font-weight:700;text-align:right;white-space:nowrap}.editor-total{margin-left:auto;width:390px;padding-top:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.editor-total strong{color:var(--blue);font-size:18px}.sticky-actions{position:sticky;bottom:18px;display:flex;justify-content:flex-end;pointer-events:none}.sticky-actions button{pointer-events:auto;box-shadow:var(--shadow)}.login-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#f4f7fb,#eaf5fb)}.login-card{width:390px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:34px}.login-logo{width:72px;height:72px;border-radius:8px}.login-card h1{color:var(--blue);margin-bottom:4px}.login-card label{margin:18px 0}.muted{color:var(--muted)}.alert{background:#feecec;color:#9b2424;padding:10px;border-radius:8px}.invoice-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.toolbar-right{display:flex;align-items:center;gap:12px}.invoice-sheet{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:14mm 14mm 12mm;box-shadow:0 12px 35px rgba(18,58,123,.12);position:relative;overflow:hidden;color:#202936;font-family:Georgia,'Times New Roman',serif}.invoice-banner{height:29mm;background:var(--blue);display:grid;grid-template-columns:34mm 1fr 42mm;align-items:center;color:#fff;margin:-2mm 0 9mm}.invoice-banner img{width:25mm;height:25mm;object-fit:cover;justify-self:center}.banner-title{font-size:23pt;font-weight:700}.banner-sub{font-size:9.8pt;margin-top:2mm}.doc-title{font-family:Arial,Helvetica,sans-serif;font-weight:800;text-align:right;padding-right:6mm;font-size:16pt;line-height:1.05}.doc-title span{font-size:11pt;opacity:.9}.invoice-meta{display:grid;grid-template-columns:1.15fr .85fr;gap:9mm;border-bottom:2px solid var(--blue);padding-bottom:6mm}.seller h3,.payment-info h3{font-family:Arial;color:var(--blue);font-size:11.5pt;margin:0 0 3mm}.seller strong{font-size:12pt}.seller div{font-size:9.3pt;line-height:1.45}.id-grid{margin:3mm 0;display:grid;grid-template-columns:18mm 1fr;gap:1.4mm 3mm;align-items:baseline;font-family:Arial,Helvetica,sans-serif}.id-grid span{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:8pt}.id-grid b{font-family:Arial,Helvetica,sans-serif;font-size:8.8pt;font-weight:700;font-variant-numeric:tabular-nums}.invoice-facts{border:1px solid var(--line);border-radius:2mm;overflow:hidden}.invoice-facts div{padding:3mm;border-bottom:1px solid var(--line)}.invoice-facts div:last-child{border-bottom:0}.invoice-facts span{display:block;font-family:Arial;font-size:7.5pt;color:var(--muted);margin-bottom:1mm}.invoice-facts b{font-size:9.4pt;color:var(--blue)}.customer-box{background:var(--light);border:1px solid var(--cyan);padding:5mm;margin:7mm 0}.customer-box>span{font-family:Arial;font-size:8pt;color:var(--blue);font-weight:700;display:block;margin-bottom:2mm}.customer-box strong{font-size:11.5pt}.customer-box div{font-size:9pt;line-height:1.4}.invoice-lines{width:100%;border-collapse:collapse;margin:0 0 7mm}.invoice-lines thead th{font-family:Arial;background:var(--blue);color:#fff;font-size:7.5pt;padding:2.7mm 2mm;text-align:left}.invoice-lines td{font-size:8.6pt;padding:3mm 2mm;border-bottom:1px solid var(--line);vertical-align:top}.invoice-lines td:nth-last-child(-n+2),.invoice-lines th:nth-last-child(-n+2){text-align:right}.invoice-lines small{display:block;color:var(--muted);font-size:7.8pt;margin-top:1mm}.totals-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8mm}.payment-info{font-size:8.4pt}.payment-info>div{display:grid;grid-template-columns:28mm 1fr;gap:2mm;padding:1mm 0}.payment-info span{color:var(--muted);font-family:Arial}.nbp-note{margin-top:3mm!important;background:#f4f6f9;padding:3mm!important;display:block!important;line-height:1.4}.totals{border:1px solid var(--line);align-self:start}.totals>div{display:flex;justify-content:space-between;gap:5mm;padding:3mm;border-bottom:1px solid var(--line);font-size:8.8pt}.totals>div:last-child{border-bottom:0}.totals span{font-family:Arial;color:var(--muted)}.totals .grand{background:var(--blue);color:#fff;align-items:center}.totals .grand span{color:#fff}.totals .grand strong{font-size:15pt}.totals .pln{background:var(--light);color:var(--blue)}.legal-box{margin-top:7mm;border-left:4px solid var(--cyan);background:var(--light);padding:4mm}.legal-box b{font-family:Arial;color:var(--blue);font-size:9pt}.legal-box p{font-size:8pt;margin:2mm 0 0;line-height:1.4}.notes{margin-top:5mm;font-size:8.2pt}.notes b{font-family:Arial;color:var(--blue)}.notes p{margin-top:1.5mm}.invoice-footer{position:absolute;left:14mm;right:14mm;bottom:7mm;border-top:1px solid var(--line);padding-top:2.5mm;display:flex;justify-content:space-between;font-size:7pt;color:var(--muted);font-family:Arial}.status-panel{max-width:210mm;margin:20px auto}.inline-form{display:flex;gap:10px;margin-top:12px}.inline-form select{max-width:240px}.actions{display:flex;justify-content:flex-end}@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media print{@page{size:A4;margin:0}html,body{background:#fff!important;margin:0!important;padding:0!important}.no-print,.topbar,.status-panel{display:none!important}.shell,.page{max-width:none!important;width:auto!important;padding:0!important;margin:0!important}.invoice-sheet{width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:14mm 14mm 12mm!important;box-shadow:none!important;page-break-after:avoid!important;overflow:hidden!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}

.customer-vat{
  display:grid!important;
  grid-template-columns:28mm 1fr;
  gap:3mm;
  align-items:baseline;
  margin-top:2.5mm;
  font-family:Arial,Helvetica,sans-serif;
}
.customer-vat span{
  color:var(--muted);
  font-size:8pt;
  font-weight:400;
}
.customer-vat b{
  font-family:Arial,Helvetica,sans-serif;
  font-size:8.8pt;
  font-weight:700;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.service-select{
    width:100%;
    font-weight:600;
}
.lines .qty[readonly]{
    text-align:center;
    font-weight:700;
    background:#f4f7fb;
}


.service-select{
    width:100%;
    font-weight:600;
}

.desc-pl[readonly],
.price[readonly],
.qty[readonly]{
    background:#f4f7fb;
}

.desc-pl[readonly]{
    color:var(--text);
}

.custom-de{
    width:100%;
}


.iban-value{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:8.6pt!important;
    font-weight:600!important;
    letter-spacing:0.02em!important;
    font-variant-numeric:tabular-nums;
    font-feature-settings:"tnum" 1;
    white-space:nowrap;
}
