.ei, .ei *, .ei *::before, .ei *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* wrapper samostatneho nahladu (eInvoicePreview::$renderOuterWrapper) - nie #accdocview_MainDiv, to id ma aj RecordView detailu dokladu, kam sa tento CSS nacitava kvoli tooltipu priloh */
.ei-page {
    background: #f3f7fc;
    padding: 14px;
    min-height: 100%;
}

/* samostatna stranka s nahladom e-faktury (accdocument.attachment.php, Action=View) - pozadie nahladu az po spodok okna */
body.ei-standalone {
    background: #f3f7fc;
}

/* tlacidlo Stiahnut nad pravym hornym rohom dokladu - lista je rovnako siroka ako .ei (max-width) a ma rovnaky okraj ako .ei-page (padding) */
.ei-toolbar {
    max-width: 900px;
    margin: 0 auto;
    padding: 14px 14px 0;
    box-sizing: content-box;
    display: flex;
    justify-content: flex-end;
}

/* odkaz Tlacit (PDF) vpravo pod dokladom - nenapadny, mimo listu, aby neprekryval sucty;
   pravy okraj ako obsah listu (cislo dokladu, sucty), nie ako jeho ramik */
.ei-print {
    max-width: 900px;
    margin: 0 auto;
    padding: 6px 20px 0;
    box-sizing: border-box;
    text-align: right;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
}

.ei-print__link,
.ei-print__link:hover,
.ei-print__link:focus {
    color: #5f5f5f;
    text-decoration: none;
}

.ei-print__link:hover {
    color: #000;
}

.ei-print__link img {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    vertical-align: middle;
}

.ei {
    background: #fff;
    border: 1px solid #cfdbe9;
    max-width: 900px;
    margin: 0 auto;
    font-family: Verdana, Arial, sans-serif;
    font-size: 12px;
    color: #000;
    line-height: 1.45;
    font-variant-numeric: tabular-nums;
}

/* zeleny pruh navrchu */
.ei-stripe {
    height: 4px;
    background: linear-gradient(180deg, #3f7a12 0%, #264b04 100%);
}

/* nalezy validacie e-faktury - cerveny blok, ked je medzi nimi chyba (odberatel doklad odmietne) */
.ei-validation {
    margin: 14px 20px 0;
    padding: 10px 14px;
    background: #fdecea;
    border: 1px solid #f1b0b7;
    border-left: 4px solid #e00;
    font-size: 11px;
}

/* same varovania - doklad prejde, len nieco na nom nesedi */
.ei-validation--warning {
    background: #fff6e5;
    border-color: #f3cf8f;
    border-left-color: #e08a00;
}

.ei-validation__title {
    font-weight: bold;
    color: #e00;
    margin-bottom: 4px;
}

.ei-validation--warning .ei-validation__title {
    color: #a35b00;
}

/* informacia namiesto nahladu - k zvolenemu odberatelovi ziadna e-faktura neodide; stoji sama, bez ramu dokladu (.ei) */
.ei-validation--info {
    margin: 0;
    font-family: Verdana, Arial, sans-serif;
    background: #eef4fb;
    border-color: #c5d6ea;
    border-left-color: #4a7ab5;
}

.ei-validation--info .ei-validation__title {
    color: #2f5a8c;
    margin-bottom: 0;
}

.ei-validation__list {
    margin: 0;
    padding-left: 18px;
    color: #c00;
}

.ei-validation__list li.ei-validation__item--warning {
    color: #a35b00;
}

/* cislo dokladu — zarovna vpravo */
.ei-dochdr {
    display: flex;
    justify-content: flex-end;
    padding: 14px 20px 12px;
}

.ei-dochdr__num {
    font-size: 15px;
    color: #5f5f5f;
}

/* ohranicheny blok s partnermi a platbou */
.ei-mainbox {
    margin: 0 20px 14px;
    border: 1px solid #cfdbe9;
}

/* dodavatel | odberatel vedla seba */
.ei-parties {
    display: flex;
}

.ei-party {
    flex: 1;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
}

.ei-party--r {
    border-left: 1px solid #cfdbe9;
}

.ei-plbl {
    font-size: 11px;
    font-weight: bold;
    color: #264b04;
    margin-bottom: 5px;
}

.ei-pname {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 4px;
    line-height: 1.3;
}

.ei-paddr {
    color: #5f5f5f;
    line-height: 1.65;
    margin-bottom: 8px;
    font-size: 11px;
}

.ei-pid {
    display: flex;
    font-size: 11px;
    padding: 1px 0;
    line-height: 1.5;
}

.ei-pid span:first-child {
    width: 125px;
    flex-shrink: 0;
    white-space: nowrap;
    color: #5f5f5f;
}

.ei-pregistration {
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.5;
    color: #9aa6b3;
}

.ei-pcontact {
    margin-top: auto;
    padding-top: 6px;
    font-size: 11px;
    color: #5f5f5f;
    /* obe strany maju kontakt pri dolnej hrane; dva riadky drzia rovnaku vysku, aby slovo "Kontaktná osoba"
       stalo na oboch stranach v jednom riadku aj vtedy, ked sa dlhsi kontakt zalomi */
    min-height: 2.6em;
}

/* riadok platobnych udajov + datumov pod partnermi */
.ei-inforow {
    border-top: 1px solid #cfdbe9;
    display: flex;
    padding: 12px 16px;
    gap: 16px;
    background: #f3f7fc;
}

.ei-inforow__pay {
    flex: 1;
    min-width: 0;   /* dlhy text bez medzier (odkaz, #SKONTO#...) sa zalomi a neodtlaci stlpec datumov */
}

.ei-inforow__dates {
    width: 260px;
    flex-shrink: 0;
    border-left: 1px solid #cfdbe9;
    padding-left: 16px;
    display: flex;
    flex-direction: column;
}

/* smerovacia referencia a suvisiace doklady - vlastny blok pri dolnej hrane stlpca s datumami */
.ei-refs {
    margin-top: auto;
    padding: 6px 8px;
    background: #e3ecf7;
    border-radius: 3px;
}

.ei-refs .ei-dl {
    width: 117px;
}

.ei-irow {
    display: flex;
    font-size: 11px;
    padding: 2px 0;
    line-height: 1.5;
}

.ei-il {
    width: 125px;
    flex-shrink: 0;
    white-space: nowrap;
    color: #5f5f5f;
}

.ei-iv {
    font-weight: bold;
    white-space: pre-line;   /* platobne podmienky mozu mat viac riadkov */
    overflow-wrap: anywhere;
}

/* hodnoty, ktore netreba zvyraznovat - nazov banky, SWIFT, referencia opakujuca uz vypisane symboly */
.ei-iv--plain {
    font-weight: normal;
}

.ei-drow {
    display: flex;
    font-size: 11px;
    padding: 2px 0;
    line-height: 1.5;
}

.ei-dl {
    width: 125px;
    flex-shrink: 0;
    color: #5f5f5f;
    padding-right: 10px;
    white-space: nowrap;
}

.ei-dv {
    font-weight: bold;
    white-space: nowrap;
}

/* obdobie realizacie spolocne pre vsetky ciastky - stoji pod hlavickou tabulky, pri ciastkach sa uz neopakuje */
.ei-realization {
    padding: 6px 5px;
    font-size: 11px;
    font-weight: normal;
    font-style: italic;   /* rovnako ako na PDF */
    text-align: left;
    color: #5f5f5f;
    border-bottom: 1px solid #eef2f8;
}

/* predmet dokladu (napr. "Fakturujeme Vám") pod mainboxom */
.ei-descheader {
    padding: 8px 20px 10px;
    font-size: 11px;
    color: #5f5f5f;
}

.ei-descheader--with-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ei-curr-toggle--inline {
    padding: 0;
    flex-shrink: 0;
}

/* polozky */
.ei-items {
    padding: 0 20px 10px;
}

.ei-items__wrap {
    overflow-x: auto;
}

.ei-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 560px;
    font-variant-numeric: tabular-nums;
}

.ei-th {
    font-size: 12px;
    font-weight: normal;
    padding: 10px 5px;
    border-bottom: 1px solid #cfdbe9;
    background: #e7eff9;
    color: #5f5f5f;
    text-align: right;
    white-space: nowrap;
    vertical-align: middle;
}

.ei-th-l { text-align: left; }

/* zebra v duchu RecordView (parne riadky modre) */
.ei-tr:nth-child(odd)  .ei-td { background: #fff; }
.ei-tr:nth-child(even) .ei-td { background: #e7eff9; }

.ei-td {
    font-size: 12px;
    padding: 0 5px;
    height: 33px;
    vertical-align: middle;
    border-bottom: 1px solid #eef2f8;
}

.ei-td-l {
    text-align: left;
    white-space: normal;
    height: auto;
    padding-top: 5px;
    padding-bottom: 5px;
}

.ei-td-r { text-align: right; white-space: nowrap; }

.ei-td-desc {
    font-size: 11px;
    color: #888;
    margin-top: 2px;
    font-style: italic;
}

/* suhrn DPH — zarovna vpravo pod tabulkou */
.ei-vat-wrap {
    display: flex;
    justify-content: flex-end;
    padding: 0 20px 14px;
}

/* QR kod na uhradu stoji tesne vlavo od suctov, rovnako ako na PDF (tam 120 px siroky float vedla suhrnu) */
.ei-vat-wrap--withqr {
    align-items: flex-start;
    gap: 16px;
}

.ei-qr__img {
    display: block;
    width: 120px;
    height: auto;
}

.ei-ttable {
    border-collapse: collapse;
    min-width: 230px;
    font-variant-numeric: tabular-nums;
}

.ei-ttable td {
    font-size: 12px;
    padding: 3px 10px;
    text-align: right;
    white-space: nowrap;
}

.ei-ttable td:first-child { text-align: left; color: #5f5f5f; }

.ei-ttable__sum td { border-bottom: 1px solid #e7eef7; }

/* riadok "Celkom s DPH" zvyrazneny zelenou (color2 z RecordView) */
.ei-ttable__grand td {
    font-weight: bold;
    background: #cbf39d;
}

.ei-ttable__rate td {
    font-size: 11px;
    color: #9aa6b3;
    padding-top: 5px;
    border-top: 1px solid #e7eef7;
    background: #fff;
}

/* prilohy dokladu (vnorene subory a externe URL referencie z XML) */
.ei-attachments {
    padding: 0 20px 14px;
}

.ei-attachments__list {
    margin: 0;
    padding-left: 18px;
}

.ei-attachments__item {
    font-size: 12px;
    padding: 2px 0;
    line-height: 1.5;
}

.ei-attachments__item a {
    color: #264b04;
}

/* dovod oslobodenia od DPH pre kategoriu E (VATEX kod BT-121, text BT-120) */
.ei-exemption {
    padding: 0 20px 10px;
}

/* dovod oslobodenia zobrazujeme na jednom riadku: label + hodnota vedla seba */
.ei-exemption .ei-plbl {
    display: inline;
    margin-bottom: 0;
}

.ei-exemption__text {
    display: inline;
    font-size: 12px;
    line-height: 1.5;
}

/* paticka dokladu (DescriptionFooter) */
.ei-footer {
    padding: 10px 20px 20px;
    font-size: 11px;
    color: #5f5f5f;
}

/* ISDOC toggle prepinania mien */
.ei-curr-toggle {
    text-align: right;
    padding: 0 20px 8px;
    font-size: 0;
    gap: 0 !important;
}

.ei-curr-btn {
    display: inline-block;
    font-family: Verdana, Arial, sans-serif;
    font-size: 11px;
    padding: 3px 10px;
    margin: 0;
    border: 1px solid #cfdbe9;
    background: #f3f7fc;
    color: #5f5f5f;
    cursor: pointer;
    border-radius: 0;
    vertical-align: middle;
}

.ei-curr-btn:first-child {
    border-radius: 3px 0 0 3px;
}

.ei-curr-btn:last-child {
    border-radius: 0 3px 3px 0;
    margin-left: -1px;
}

.ei-curr-btn--active {
    background: #264b04;
    color: #fff;
    border-color: #264b04;
    position: relative;
    z-index: 1;
}

/* lokalna mena viditelna predvolene, cudzia skryta */
.ei-amt--foreign { display: none; }
.ei--showcurr .ei-amt--local { display: none; }
.ei--showcurr .ei-amt--foreign { display: inline; }

.ei-tip {
    position: relative;
    cursor: help;
}
.ei-tip::after {
    content: attr(data-tip);
    position: absolute;
    bottom: calc(100% + 5px);
    right: 0;
    background: rgba(30, 30, 30, 0.88);
    color: #fff;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: normal;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.12s;
    z-index: 300;
}
.ei-tip:hover::after {
    opacity: 1;
}

/* PEPPOL BIS 3 / SK: pri prejdeni mysou nad polozkou vo vypise chyb (.ei-validation__list li) sa zvyrazni zodpovedajuca
   oblast nahladu (data-ei-region -> trieda .ei-highlight, pridava/odobera inline handler v buildContent()::highlightAttrs()).
   Zvyraznenie sa zobrazi a drzi pokym je mys nad polozkou; nahlad inak zostava bez trvaleho zvyraznenia. */
.ei-validation__list li[data-region] {
    cursor: help;
}
/* zvyrazni text (label aj hodnotu) na cerveno - vratane potomkov, ktori maju vlastnu farbu (.ei-dl, .ei-td...) */
.ei-highlight,
.ei-highlight * {
    color: #c00 !important;
}
/* podfarbenie (marker) len okolo textu labelu/hodnoty - nie cely riadok/blok */
.ei-highlight.ei-plbl,
.ei-highlight.ei-dochdr__num,
.ei-highlight .ei-plbl,
.ei-highlight .ei-dl,
.ei-highlight .ei-dv,
.ei-highlight .ei-il,
.ei-highlight .ei-iv,
.ei-highlight .ei-exemption__text,
.ei-highlight.ei-tr > .ei-td {
    background-color: #ffdede;
    border-radius: 3px;
}
/* labely, ktore su vlastnym blokom, obalime tesne okolo textu (aby marker nebol na celu sirku) */
.ei-highlight.ei-plbl,
.ei-highlight .ei-plbl,
.ei-highlight .ei-exemption__text {
    display: inline-block;
}

/* prepinac PDF / e-faktura v nahlade dokladu (LightBox "Nahlad dokladu"): tlacidlo vedla Stiahnut, pod nim rozbaleny zoznam formatov */
.AccDocumentViewFormat {
    position: relative;
    display: inline-block;
}

/* tlacidlo ma rovnake pismo aj ikonu ako Stiahnut vedla neho (.MailingAttachmentDownloadLink) */
.AccDocumentViewFormat-toggle,
.AccDocumentViewFormat-toggle:hover,
.AccDocumentViewFormat-toggle:focus {
    color: #000;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
}

.AccDocumentViewFormat-toggle img {
    width: 22px;
    height: 22px;
    vertical-align: middle;
}

.AccDocumentViewFormat-menu {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 10;
    min-width: 100%;
    padding: 4px 0;
    white-space: nowrap;
    background: #fff;
    border: 1px solid #c3c3c3;
    border-radius: 3px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.AccDocumentViewFormat-menu a {
    display: block;
    padding: 5px 14px;
    font-size: 12px;
    color: #333;
    text-decoration: none;
}

.AccDocumentViewFormat-menu a:hover {
    background: #f0f0f0;
}

.AccDocumentViewFormat-menu a.active {
    background: #eef3f9;
    font-weight: bold;
}
