:root{--brand-orange:#ef7d00;--brand-orange-dark:#c86400;--brand-orange-soft:#ef7d001f;--brand-blue:#004b72;--brand-blue-dark:#003b5a;--brand-blue-soft:#004b7214;--body-text:#294554;--help-text:#9e9e9e;--bg:#f6f7f9;--card:#fff;--card-soft:#fafbfc;--border:#e1e5ea;--text:var(--body-text);--text-dim:var(--help-text);--heading:var(--brand-blue);--accent:var(--brand-orange);--accent-dim:var(--brand-orange-soft);--accent-border:#ef7d0080;--shadow:0 1px 2px #004b720a;--pass:#1f9d55;--fail:#d02525;--warn:#e09400;--info:#0c76c4;--fatal:#8a0f0f;--xml-tag:var(--brand-blue);--xml-attr-name:var(--brand-orange-dark);--xml-attr-val:#6b7280;--mono:ui-monospace, "JetBrains Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--bg:#0e1620;--card:#182331;--card-soft:#111b26;--border:#2a3848;--text:#cbd4dc;--text-dim:#7a8894;--heading:#77b8db;--accent:#f58a1a;--accent-dim:#f58a1a2e;--accent-border:#f58a1a8c;--brand-orange-dark:#ffa24d;--brand-blue-soft:#77b8db1a;--shadow:0 1px 2px #00000059;--pass:#4ade80;--fail:#f87171;--warn:#fbbf24;--info:#60a5fa;--fatal:#ef4444;--xml-tag:#77b8db;--xml-attr-name:#ffa24d;--xml-attr-val:#9aa5b1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--text);min-height:100vh;margin:0;padding:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{color:var(--heading);font-weight:600}.app{flex-direction:column;gap:18px;max-width:1200px;margin:0 auto;padding:28px 24px 64px;display:flex}.app-header{flex-direction:column;gap:10px;display:flex}.app-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.app-brand{flex-direction:column;gap:4px;min-width:0;display:flex}.app-header h1{letter-spacing:-.4px;margin:0;font-size:32px}.app-brand-tag{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);align-self:flex-start;align-items:center;gap:6px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.app-brand-tag strong{color:var(--accent);font-weight:700}.app-brand-tag:hover{color:var(--heading)}.app-header-actions{align-items:center;gap:10px;display:flex}.header-cta{background:var(--brand-orange);color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s,transform .15s;box-shadow:0 1px 2px #ef7d0040}.header-cta:hover{background:var(--brand-orange-dark);transform:translateY(-1px)}.theme-toggle{background:var(--card);color:var(--heading);border:1px solid var(--border);cursor:pointer;width:38px;height:38px;box-shadow:var(--shadow);border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.app-header .subtitle{color:var(--text-dim);font-size:15px}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:20px}.card-title{color:var(--heading);text-transform:uppercase;letter-spacing:.7px;margin:0 0 12px;font-size:14px;font-weight:600}.selector-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.field{flex-direction:column;gap:6px;min-width:200px;display:flex}.field.wide{flex:100%;min-width:0}.field>span{color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:600}.field select{appearance:none;background-color:var(--card);color:var(--text);border:1px solid var(--border);background-image:linear-gradient(45deg, transparent 50%, var(--heading) 50%), linear-gradient(135deg, var(--heading) 50%, transparent 50%);background-position:right 16px center,right 11px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:8px;width:100%;min-width:240px;padding:10px 32px 10px 14px;font-size:14px}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.rules-summary{flex-wrap:wrap;flex:100%;gap:6px;margin-top:8px;display:flex}.rules-chip{background:var(--accent-dim);color:var(--brand-orange-dark);border:1px solid var(--accent-border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.detect-hint{background:var(--brand-blue-soft);color:var(--text);border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;font-size:13px;display:flex}.detect-badge{background:var(--heading);color:var(--card);letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.file-input{flex-direction:column;gap:10px;display:flex}.file-input-tabs{background:var(--card-soft);border:1px solid var(--border);border-radius:999px;align-self:flex-start;gap:4px;padding:3px;display:inline-flex}.file-input-tab{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 14px;font-size:12px;font-weight:600;transition:background-color .15s,color .15s}.file-input-tab:hover{color:var(--heading)}.file-input-tab.active{background:var(--card);color:var(--accent);box-shadow:var(--shadow)}.paste-panel{flex-direction:column;gap:10px;display:flex}.paste-textarea{resize:vertical;width:100%;min-height:180px;max-height:360px;font-family:var(--mono);color:var(--text);background:var(--card-soft);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.paste-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.paste-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.paste-hint{color:var(--text-dim);font-size:12px;font-family:var(--mono)}.paste-buttons{gap:8px;display:flex}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--card-soft);border-radius:10px;padding:28px;transition:border-color .15s,background-color .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-dim)}.dz-file{color:var(--heading);margin-bottom:4px;font-size:18px;font-weight:600;display:block}.dz-sub{color:var(--text-dim);font-size:13px;display:block}.dz-error{color:var(--fail);margin-top:8px;font-size:13px}.actions{gap:10px;margin-top:14px;display:flex}button{font:inherit;cursor:pointer}.btn-primary{background:var(--brand-orange);color:#fff;border:1px solid #0000;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:background-color .15s}.btn-primary:hover:not(:disabled){background:var(--brand-orange-dark)}.btn-primary:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0;border-radius:8px;padding:10px 16px;font-size:14px}.btn-ghost:hover{color:var(--heading);border-color:var(--heading)}.funny-spinner{align-items:center;gap:16px;display:flex}.spinner-ring{border:3px solid var(--border);border-top-color:var(--accent);width:52px;height:52px;font-family:var(--mono);color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;animation:1.1s linear infinite ring;display:flex}.spinner-tag{animation:1.1s linear infinite counterspin}@keyframes ring{to{transform:rotate(360deg)}}@keyframes counterspin{to{transform:rotate(-360deg)}}.spinner-text strong{color:var(--heading);font-size:15px;display:block}.spinner-quip{color:var(--text-dim);font-size:13px;font-family:var(--mono);margin-top:2px}.results-header{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:4px;display:flex}.verdict{border-radius:8px;padding:8px 16px;font-size:18px;font-weight:700}.verdict.pass{color:var(--pass);background:#1f9d551f}.verdict.fail{color:var(--fail);background:#d025251a}.counts{color:var(--text-dim);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.cnt{border:1px solid var(--border);background:var(--card);border-radius:6px;padding:4px 12px}.cnt-fatal{color:var(--fatal);border-color:var(--fatal)}.cnt-error{color:var(--fail);border-color:var(--fail)}.cnt-warning{color:var(--warn);border-color:var(--warn)}.cnt-info{color:var(--info);border-color:var(--info)}.downloads{gap:8px;margin-left:auto;display:flex}.downloads button{background:var(--card);color:var(--heading);border:1px solid var(--border);border-radius:6px;padding:8px 14px;font-size:13px}.downloads button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.downloads button:disabled{opacity:.4;cursor:not-allowed}.xml-name{font-family:var(--mono);color:var(--text-dim);margin-top:6px;font-size:12px}.failures{flex-direction:column;gap:14px;margin:22px 0 0;padding:0;list-style:none;display:flex}.failure{border-left:4px solid var(--border);background:var(--card-soft);cursor:pointer;border-radius:10px;padding:16px 18px;transition:transform 80ms,background-color 80ms}.failure:hover{background:var(--brand-blue-soft);transform:translate(2px)}.failure.empty{border-left-color:var(--pass);cursor:default;text-align:center;color:var(--pass);font-weight:600}.failure.empty:hover{background:var(--card-soft);transform:none}.failure.sev-error{border-left-color:var(--fail)}.failure.sev-fatal{border-left-color:var(--fatal)}.failure.sev-warning{border-left-color:var(--warn)}.failure.sev-info{border-left-color:var(--info)}.failure-head{align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.sev-badge{text-transform:uppercase;letter-spacing:.4px;color:#fff;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700}.sev-badge.sev-error{background:var(--fail)}.sev-badge.sev-fatal{background:var(--fatal)}.sev-badge.sev-warning{background:var(--warn);color:#fff}.sev-badge.sev-info{background:var(--info);color:#fff}.rule-id{font-family:var(--mono);color:var(--heading);font-weight:600}.rule-source{color:var(--text-dim);margin-left:auto}.failure-msg{color:var(--text);font-size:14.5px;line-height:1.5}.failure-loc{font-family:var(--mono);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:11px;overflow:hidden}.failure-row{cursor:pointer}.explained-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.failure-expand{border:1px solid var(--border);color:var(--heading);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.failure-expand:hover{color:var(--accent);border-color:var(--accent)}.failure-explain{background:var(--card);border:1px solid var(--border);cursor:default;border-radius:8px;flex-direction:column;gap:10px;margin-top:10px;padding:12px 14px;display:flex}.ex-section{font-size:13px;line-height:1.5}.ex-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:2px;font-size:10px;font-weight:700}.ex-snippet{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);color:var(--text);border-radius:6px;margin:4px 0 0;padding:8px 10px;font-size:12px;overflow-x:auto}.ex-original{color:var(--text-dim)}.xml-pre{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);max-height:600px;color:var(--text);border-radius:8px;margin:0;padding:0;font-size:12.5px;line-height:1.55;overflow:auto}.xml-line{white-space:pre;gap:8px;padding:0 10px;transition:background-color .15s;display:flex}.xml-line.err-error,.xml-line.err-fatal{border-left:3px solid var(--fail);background:#d0252514;padding-left:7px}.xml-line.err-warning{border-left:3px solid var(--warn);background:#e094001a;padding-left:7px}.xml-line.err-info{border-left:3px solid var(--info);background:#0c76c414;padding-left:7px}.xml-line.flash{transition:background-color 1.3s;background:var(--accent-dim)!important}.xml-lineno{color:var(--text-dim);text-align:right;-webkit-user-select:none;user-select:none;opacity:.7;min-width:3ch}.xml-code{flex:1}.xml-tag{color:var(--xml-tag)}.xml-attrName{color:var(--xml-attr-name)}.xml-attrVal{color:var(--xml-attr-val)}.xml-text{color:var(--text)}.xml-parse-error{color:var(--fail);font-family:var(--mono);background:#d0252514;border-radius:6px;margin-bottom:10px;padding:10px;font-size:13px}.error-banner{color:var(--fail);border:1px solid var(--fail);background:#d0252514;border-radius:8px;padding:12px 16px;font-size:14px}.notice-banner{background:var(--brand-blue-soft);color:var(--text);border:1px solid var(--accent-border);border-radius:8px;padding:12px 16px;font-size:14px}.mode-switch{gap:12px;padding:10px;display:flex}.mode-btn{text-align:left;background:var(--card-soft);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;flex:1 1 0;align-items:flex-start;gap:4px;padding:14px 18px;transition:border-color .15s,background-color .15s,color .15s;display:flex}.mode-btn:hover{border-color:var(--accent);color:var(--heading)}.mode-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--brand-orange-dark);box-shadow:0 0 0 2px var(--accent-dim) inset}.mode-btn-title{color:var(--heading);font-size:16px;font-weight:700}.mode-btn.active .mode-btn-title{color:var(--brand-orange-dark)}.mode-btn-sub{color:var(--text-dim);font-size:12px}.file-picker{flex-wrap:wrap;gap:8px;display:flex}.file-chip{background:var(--card-soft);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}.file-chip:hover{border-color:var(--accent);color:var(--heading)}.file-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--brand-orange-dark)}.app-footer{text-align:center;color:var(--text-dim);margin-top:auto;padding:24px 0 0;font-size:12px}.app-footer-link{color:var(--accent);font-weight:600;text-decoration:none}.app-footer-link:hover{text-decoration:underline}.billit-cta{background:linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-blue-dark) 100%);border:1px solid var(--brand-blue-dark);color:#fff;z-index:50;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 28px #00000038}:root.dark .billit-cta{background:linear-gradient(135deg,#11283c 0%,#0a1a2a 100%);border-color:#1a3349}.billit-cta-text{flex:320px;min-width:0}.billit-cta-title{color:#fff;margin-bottom:4px;font-size:18px;font-weight:700}.billit-cta-sub{color:#ffffffc7;font-size:14px;line-height:1.5}.billit-cta-btn{background:var(--brand-orange);color:#fff;white-space:nowrap;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .15s,transform .15s;box-shadow:0 2px 6px #0003}.billit-cta-btn:hover{background:var(--brand-orange-dark);transform:translateY(-1px)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:-4px 0 16px;display:flex}.tab{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.tab:hover{color:var(--heading)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.preview-unsupported{background:var(--card-soft);border:1px dashed var(--border);color:var(--text-dim);border-radius:8px;padding:16px;font-size:14px}.invoice-preview{color:var(--text);flex-direction:column;gap:18px;display:flex}.inv-top{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:24px;padding-bottom:14px;display:flex}.inv-title .inv-kind{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);font-size:11px;font-weight:700}.inv-title .inv-id{color:var(--heading);letter-spacing:-.3px;margin-top:2px;font-size:26px;font-weight:700}.inv-dates{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.inv-date-row{gap:8px;font-size:13px;display:flex}.inv-date-label{color:var(--text-dim);text-align:right;min-width:80px}.inv-date-value{color:var(--text);font-weight:600}.inv-parties{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=640px){.inv-parties{grid-template-columns:1fr}}.inv-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:6px;font-size:11px;font-weight:700}.inv-party-name{color:var(--heading);font-size:16px;font-weight:600}.inv-party-trading{color:var(--text-dim);margin-bottom:2px;font-size:13px}.inv-party-meta{color:var(--text-dim);margin-top:2px;font-size:12px}.inv-scheme{opacity:.7}.inv-refs{flex-wrap:wrap;gap:8px;display:flex}.inv-ref-chip{background:var(--brand-blue-soft);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.inv-ref-label{color:var(--text-dim);margin-right:4px;font-weight:600}.inv-note{background:var(--accent-dim);border-left:3px solid var(--accent);color:var(--text);border-radius:4px;padding:10px 12px;font-size:13px}.inv-lines,.inv-tax-table{border-collapse:collapse;width:100%;font-size:13px}.inv-lines th,.inv-tax-table th{background:var(--card-soft);color:var(--text-dim);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600}.inv-lines td,.inv-tax-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px}.inv-lines .num,.inv-tax-table .num{text-align:right;white-space:nowrap}.inv-col-id{width:40px}.inv-col-vat{width:80px}.inv-col-num{text-align:right;width:140px}.inv-item-name{color:var(--text);font-weight:600}.inv-item-desc{color:var(--text-dim);margin-top:2px;font-size:12px}.inv-item-note{color:var(--text-dim);margin-top:2px;font-size:11px;font-style:italic}.inv-empty{text-align:center;color:var(--text-dim);padding:20px}.vat-tag{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px}.inv-totals{border-top:1px solid var(--border);flex-direction:column;align-items:flex-end;gap:6px;padding-top:10px;display:flex}.inv-total-row{justify-content:space-between;gap:24px;width:320px;font-size:13px;display:flex}.inv-total-row span:first-child{color:var(--text-dim)}.inv-total-row.highlight{color:var(--heading);border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-size:18px;font-weight:700}.inv-total-row.highlight span:first-child{color:var(--heading)}.inv-payment-terms{background:var(--card-soft);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:13px}.batch{flex-direction:column;gap:14px;display:flex}.batch-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.batch-title{color:var(--heading);font-size:16px;font-weight:700}.batch-sub{color:var(--text-dim);margin-top:2px;font-size:13px}.batch-actions{gap:8px;display:flex}.batch-actions .btn-primary{padding:8px 18px}.batch-actions .btn-ghost{padding:8px 14px}.batch-table{border-collapse:collapse;width:100%;font-size:13px}.batch-table th{background:var(--card-soft);color:var(--text-dim);text-align:left;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600}.batch-table td{border-bottom:1px solid var(--border);cursor:pointer;vertical-align:top;padding:10px}.batch-table tr:hover td{background:var(--brand-blue-soft)}.batch-table tr.selected td{background:var(--accent-dim)}.batch-table .num{text-align:right;white-space:nowrap;width:80px}.batch-name{font-family:var(--mono);word-break:break-all;color:var(--text);font-size:12.5px}.batch-error-msg{color:var(--fail);margin-top:3px;font-size:11px}.batch-status{text-transform:uppercase;letter-spacing:.4px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.batch-status.status-pass{color:var(--pass);background:#1f9d5526}.batch-status.status-fail{color:var(--fail);background:#d025251a}.batch-status.status-fatal{color:var(--fatal);background:#8a0f0f26}.batch-status.status-error{color:var(--fail);background:#d0252526}.batch-status.status-running{background:var(--accent-dim);color:var(--brand-orange-dark)}.batch-status.status-idle{background:var(--border);color:var(--text-dim)}.batch-actions-cell{text-align:right;width:40px}.btn-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 8px;font-size:20px;line-height:1}.btn-remove:hover{color:var(--fail);background:#d025251a}.cmdk-pill{background:var(--card-soft);border:1px solid var(--border);cursor:pointer;color:var(--text-dim);border-radius:8px;align-items:center;gap:3px;padding:6px 10px;transition:border-color .15s,color .15s;display:inline-flex}.cmdk-pill kbd{font-family:var(--mono);background:var(--card);border:1px solid var(--border);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:2px 5px;font-size:11px;font-weight:600;line-height:1}.cmdk-pill:hover{border-color:var(--accent);color:var(--heading)}.contextual-cta{background:#d025250f;border:1px solid #d0252540;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.contextual-cta-icon{background:var(--fail);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:inline-flex}.contextual-cta-text{flex:260px;min-width:0}.contextual-cta-title{color:var(--heading);margin-bottom:2px;font-size:15px;font-weight:700}.contextual-cta-sub{color:var(--text-dim);font-size:13px;line-height:1.5}.contextual-cta-btn{background:var(--brand-orange);color:#fff;white-space:nowrap;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .15s}.contextual-cta-btn:hover{background:var(--brand-orange-dark)}.peppol-cta{background:#1f9d5514;border:1px solid #1f9d5559;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.peppol-cta-icon{background:var(--pass);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:700;display:inline-flex}.peppol-cta-text{flex:260px;min-width:0}.peppol-cta-title{color:var(--heading);margin-bottom:2px;font-size:15px;font-weight:700}.peppol-cta-sub{color:var(--text-dim);font-size:13px;line-height:1.5}.peppol-cta-btn{background:var(--brand-blue);color:#fff;white-space:nowrap;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .15s}.peppol-cta-btn:hover{background:var(--brand-blue-dark)}.app-footer-sep{opacity:.6}.app-footer-kbd{font-family:var(--mono);background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 5px;font-size:11px}.cmdp-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0a121c8c;justify-content:center;align-items:flex-start;padding:80px 20px 20px;animation:.12s ease-out cmdp-fade;display:flex;position:fixed;inset:0}@keyframes cmdp-fade{0%{opacity:0}to{opacity:1}}.cmdp{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:560px;animation:.14s ease-out cmdp-pop;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes cmdp-pop{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cmdp-inputrow{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmdp-prompt{font-family:var(--mono);color:var(--accent);font-size:16px;font-weight:700}.cmdp-input{font-family:var(--mono);color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:14px}.cmdp-input::placeholder{color:var(--text-dim)}.cmdp-esc{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:10px}.cmdp-list{max-height:60vh;padding:6px;overflow-y:auto}.cmdp-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:background-color .1s;display:flex}.cmdp-item.active{background:var(--accent-dim);color:var(--brand-orange-dark)}.cmdp-item.disabled{opacity:.45;cursor:not-allowed}.cmdp-label{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.cmdp-group{text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);background:var(--card-soft);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.cmdp-hint{color:var(--text-dim);font-size:12px;font-weight:400}.cmdp-shortcut{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:2px 6px;font-size:11px}.cmdp-empty{text-align:center;color:var(--text-dim);font-size:13px;font-family:var(--mono);padding:24px}.cmdp-footer{border-top:1px solid var(--border);background:var(--card-soft);color:var(--text-dim);justify-content:flex-end;gap:16px;padding:8px 14px;font-size:11px;display:flex}.cmdp-footer kbd{font-family:var(--mono);background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:3px;margin-right:3px;padding:1px 4px;font-size:10px}.failure[role=button]{outline:none}.failure[role=button]:focus-visible{box-shadow:0 0 0 2px var(--accent-border)}.failure-open{color:var(--text-dim);white-space:nowrap;opacity:0;margin-left:8px;font-size:11px;font-weight:600;transition:opacity .12s,color .12s}.failure:hover .failure-open,.failure[role=button]:focus-visible .failure-open{opacity:1;color:var(--accent)}.fmodal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0e16208c;justify-content:center;align-items:center;padding:24px;animation:.12s ease-out fmodal-fade-in;display:flex;position:fixed;inset:0}@keyframes fmodal-fade-in{0%{opacity:0}to{opacity:1}}.fmodal{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--border);border-radius:12px;flex-direction:column;width:min(900px,100%);max-height:calc(100vh - 48px);animation:.14s ease-out fmodal-pop-in;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}@keyframes fmodal-pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.fmodal.sev-fatal{border-top-color:var(--fatal)}.fmodal.sev-error{border-top-color:var(--fail)}.fmodal.sev-warning{border-top-color:var(--warn)}.fmodal.sev-info{border-top-color:var(--info)}.fmodal-head{border-bottom:1px solid var(--border);background:var(--card-soft);flex-direction:column;gap:8px;padding:16px 20px 12px;display:flex}.fmodal-head-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fmodal-head-row .rule-source{margin-left:auto}.fmodal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:4px;font-size:24px;line-height:1;display:inline-flex}.fmodal-close:hover{background:var(--brand-blue-soft);color:var(--heading)}.fmodal-title{color:var(--heading);font-size:17px;font-weight:600;line-height:1.35}.fmodal-body{flex-direction:column;gap:18px;padding:18px 20px;display:flex;overflow:auto}.fmodal-section{flex-direction:column;gap:12px;display:flex}.fmodal-xml-section{flex-direction:column;gap:6px;display:flex}.fmodal-xml-head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.fmodal-xpath{font-family:var(--mono);color:var(--text-dim);background:var(--card-soft);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:100%;padding:2px 6px;font-size:11px;overflow:hidden}.fmodal-xml{max-height:320px}.fmodal-no-xml{color:var(--text-dim);background:var(--card-soft);border:1px dashed var(--border);border-radius:8px;padding:12px 14px;font-size:13px}.fmodal-foot{border-top:1px solid var(--border);background:var(--card-soft);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.fmodal-foot .btn-primary,.fmodal-foot .btn-ghost{padding:8px 18px;font-size:13px}@media (width<=640px){.fmodal-backdrop{padding:12px}.fmodal{max-height:calc(100vh - 24px)}.fmodal-head,.fmodal-body,.fmodal-foot{padding-left:14px;padding-right:14px}}.howto{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--accent);z-index:40;width:230px;color:var(--text);border-radius:12px;padding:14px 16px 12px;font-size:12.5px;line-height:1.5;animation:.18s ease-out howto-slide-in;position:fixed;top:100px;left:16px;box-shadow:0 4px 16px #004b7214}:root.dark .howto{box-shadow:0 4px 16px #0006}@keyframes howto-slide-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.howto-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.howto-title{text-transform:uppercase;letter-spacing:.6px;color:var(--heading);font-size:12px;font-weight:700}.howto-close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;font-size:18px;line-height:1;display:inline-flex}.howto-close:hover{background:var(--brand-blue-soft);color:var(--heading)}.howto-list{counter-reset:howto;margin:0;padding:0;list-style:none}.howto-list li{border-top:1px solid var(--border);counter-increment:howto;padding:6px 0 6px 24px;position:relative}.howto-list li:first-child{border-top:0}.howto-list li:before{content:counter(howto);background:var(--accent-dim);width:18px;height:18px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:7px;left:0}.howto-list strong{color:var(--heading);font-weight:600}.howto-list kbd{font-family:var(--mono);background:var(--card-soft);border:1px solid var(--border);color:var(--text);border-radius:3px;padding:1px 4px;font-size:10px}.howto-foot{border-top:1px solid var(--border);color:var(--text-dim);margin-top:8px;padding-top:8px;font-size:11px;font-style:italic}.howto-pill{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--accent);cursor:pointer;z-index:40;border-radius:50%;font-size:18px;font-weight:700;transition:transform .12s,border-color .12s;position:fixed;top:100px;left:16px;box-shadow:0 2px 8px #004b721a}.howto-pill:hover{border-color:var(--accent);transform:scale(1.06)}:root.dark .howto-pill{box-shadow:0 2px 8px #0006}@media (width<=1500px){.howto{width:210px;top:88px}}@media (width<=1300px){.howto,.howto-pill{display:none}}
