/* IT-BALON.CZ PODPORA v574
   Dokončení méně používaných, ale důležitých obrazovek:
   - přihlášení / zapomenuté heslo / reset hesla
   - klientský detail faktury na mobilu
   - systémové prázdné a chybové stavy
*/

/* =========================================================
   AUTENTIZAČNÍ OBRAZOVKY
   ========================================================= */
body.login-body.support-theme{
    min-height:100vh!important;
    margin:0!important;
    color:#071c3d!important;
    background:
        radial-gradient(circle at 88% 12%,rgba(20,184,226,.18),transparent 32%),
        radial-gradient(circle at 10% 88%,rgba(9,105,255,.14),transparent 30%),
        #eef5fc!important;
}
body.login-body.support-theme::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.45;
    background-image:linear-gradient(rgba(9,105,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(9,105,255,.045) 1px,transparent 1px);
    background-size:28px 28px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 82%);
}
body.login-body.support-theme .support-topbar,
body.login-body.support-theme .company-ticket-header{
    display:none!important;
}
body.login-body.support-theme main,
body.login-body.support-theme .page-content{
    position:relative!important;
    z-index:1!important;
}
body.login-body.support-theme .login-wrap:not(.password-wrap){
    width:min(1180px,calc(100% - 40px))!important;
    min-height:min(720px,calc(100vh - 72px))!important;
    margin:36px auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr)!important;
    align-items:stretch!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid rgba(179,205,237,.9)!important;
    border-radius:30px!important;
    background:#fff!important;
    box-shadow:0 32px 90px rgba(7,28,61,.16)!important;
}
body.login-body.support-theme .login-wrap:not(.password-wrap) .login-hero{
    min-height:100%!important;
    padding:54px!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    color:#fff!important;
    background:
        linear-gradient(115deg,rgba(7,28,61,.98),rgba(9,105,255,.76)),
        url('/podpora/assets/itbalon-hero-v190-03-bg.webp') center/cover no-repeat!important;
}
body.login-body.support-theme .login-hero .eyebrow{
    display:inline-flex!important;
    align-items:center!important;
    width:max-content!important;
    min-height:30px!important;
    padding:0 12px!important;
    border:1px solid rgba(255,255,255,.3)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
}
body.login-body.support-theme .login-hero h1{
    max-width:720px!important;
    margin:22px 0 14px!important;
    color:#fff!important;
    font-size:clamp(38px,4.2vw,66px)!important;
    line-height:.98!important;
    letter-spacing:-.055em!important;
}
body.login-body.support-theme .login-hero p{
    max-width:690px!important;
    margin:0!important;
    color:#e8f3ff!important;
    font-size:17px!important;
    line-height:1.65!important;
    font-weight:650!important;
}
body.login-body.support-theme .login-hero .feature-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:34px!important;
}
body.login-body.support-theme .login-hero .feature{
    min-width:0!important;
    padding:15px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.11)!important;
    backdrop-filter:blur(10px)!important;
}
body.login-body.support-theme .login-hero .feature strong,
body.login-body.support-theme .login-hero .feature span{
    display:block!important;
    color:#fff!important;
}
body.login-body.support-theme .login-hero .feature strong{
    margin-bottom:5px!important;
    font-size:14px!important;
}
body.login-body.support-theme .login-hero .feature span{
    color:#dbeafe!important;
    font-size:12px!important;
    line-height:1.45!important;
}
body.login-body.support-theme .login-hero>.help-strip{
    margin-top:30px!important;
    padding:13px 15px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:14px!important;
    background:rgba(7,28,61,.28)!important;
    color:#fff!important;
}
body.login-body.support-theme .auth-card-v574{
    min-width:0!important;
    padding:48px 42px!important;
    border:0!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    background:#fff!important;
    box-shadow:none!important;
}
.auth-brand-v574{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0 0 30px!important;
    padding:0 0 20px!important;
    border-bottom:1px solid #e5edf7!important;
}
.auth-brand-v574 img{
    display:block!important;
    width:118px!important;
    max-width:38%!important;
    height:auto!important;
    object-fit:contain!important;
}
.auth-brand-v574 span{
    display:grid!important;
    gap:2px!important;
    min-width:0!important;
}
.auth-brand-v574 strong{
    color:#071c3d!important;
    font-size:14px!important;
    line-height:1.2!important;
}
.auth-brand-v574 small{
    color:#72849e!important;
    font-size:10px!important;
    line-height:1.35!important;
}
body.login-body.support-theme .auth-card-v574>h1,
body.login-body.support-theme .reset-card>h1{
    margin:0 0 8px!important;
    color:#071c3d!important;
    font-size:34px!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
}
body.login-body.support-theme .auth-card-v574>.muted,
body.login-body.support-theme .reset-card>p{
    margin:0 0 24px!important;
    color:#647895!important;
    line-height:1.6!important;
}
body.login-body.support-theme .form-row,
body.login-body.support-theme .reset-card form{
    position:relative!important;
}
body.login-body.support-theme .form-row label,
body.login-body.support-theme .reset-card label{
    color:#243e61!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.02em!important;
}
body.login-body.support-theme .form-row input,
body.login-body.support-theme .reset-card input{
    width:100%!important;
    min-height:52px!important;
    padding:0 15px!important;
    border:1px solid #cddff2!important;
    border-radius:14px!important;
    background:#f9fcff!important;
    color:#071c3d!important;
    font-size:15px!important;
    font-weight:750!important;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.025)!important;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
body.login-body.support-theme .form-row input:focus,
body.login-body.support-theme .reset-card input:focus{
    outline:0!important;
    border-color:#3b82f6!important;
    background:#fff!important;
    box-shadow:0 0 0 4px rgba(9,105,255,.12)!important;
}
.password-field-v574{
    position:relative!important;
}
.password-field-v574>input{
    padding-right:54px!important;
}
.password-toggle-v574{
    position:absolute!important;
    right:7px!important;
    bottom:7px!important;
    width:38px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    background:#edf5ff!important;
    color:#0b5cc4!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.password-toggle-v574:hover{background:#dcecff!important}
.password-toggle-v574 svg{width:18px!important;height:18px!important;display:block!important}
.password-strength-v574{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
    margin:9px 0 2px!important;
}
.password-strength-v574 span{
    height:5px!important;
    border-radius:999px!important;
    background:#e5edf7!important;
}
.password-strength-v574[data-level="1"] span:nth-child(-n+1){background:#ef4444!important}
.password-strength-v574[data-level="2"] span:nth-child(-n+2){background:#f59e0b!important}
.password-strength-v574[data-level="3"] span:nth-child(-n+3){background:#3b82f6!important}
.password-strength-v574[data-level="4"] span:nth-child(-n+4){background:#16a34a!important}
.password-strength-copy-v574{
    margin:4px 0 12px!important;
    color:#72849e!important;
    font-size:11px!important;
    font-weight:750!important;
}
body.login-body.support-theme .login-submit-row-v591{
    margin-top:4px!important;
}
body.login-body.support-theme .btn.blue,
body.login-body.support-theme button.btn.blue{
    min-height:50px!important;
    border-radius:14px!important;
    border:0!important;
    background:linear-gradient(105deg,#0969ff,#09b8df)!important;
    color:#fff!important;
    font-weight:950!important;
    box-shadow:0 13px 28px rgba(9,105,255,.24)!important;
}
body.login-body.support-theme .forgot-link-v591{
    border-color:#cddff2!important;
    background:#f6faff!important;
}
body.login-body.support-theme .auth-card-v574>.help-strip{
    margin-top:24px!important;
    border:1px solid #dbe8f6!important;
    border-radius:14px!important;
    background:#f7fbff!important;
    color:#526986!important;
}
body.login-body.support-theme .alert{
    border-radius:14px!important;
    padding:13px 15px!important;
    font-weight:800!important;
    line-height:1.5!important;
}
body.login-body.support-theme .reset-page{
    width:min(720px,calc(100% - 32px))!important;
    max-width:720px!important;
    margin:44px auto!important;
    padding:0!important;
    display:block!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
body.login-body.support-theme .reset-card.auth-card-v574{
    padding:36px!important;
    border:1px solid #d6e5f5!important;
    border-radius:26px!important;
    background:#fff!important;
    box-shadow:0 24px 65px rgba(7,28,61,.12)!important;
}
body.login-body.support-theme .password-wrap{
    position:relative!important;
    z-index:1!important;
}
body.login-body.support-theme .password-wrap .password-hero{
    overflow:hidden!important;
    border-radius:26px 0 0 26px!important;
}
body.login-body.support-theme .password-wrap .auth-card-v574{
    border-radius:0 26px 26px 0!important;
}

/* =========================================================
   DETAIL FAKTURY – MOBILNÍ SOUHRN / DOKUMENT
   ========================================================= */
.invoice-mobile-tabs-v574{
    display:none!important;
}
.invoice-preview-actions-v574{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    flex-wrap:wrap!important;
}
.invoice-preview-tools-v574{
    display:inline-flex!important;
    align-items:center!important;
    padding:4px!important;
    border:1px solid #d7e5f5!important;
    border-radius:12px!important;
    background:#f6faff!important;
}
.invoice-preview-tools-v574 button{
    min-height:34px!important;
    padding:0 11px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#49617f!important;
    font-size:11px!important;
    font-weight:900!important;
    cursor:pointer!important;
}
.invoice-preview-tools-v574 button.is-active,
.invoice-preview-tools-v574 button:hover{
    background:#fff!important;
    color:#0969ff!important;
    box-shadow:0 4px 12px rgba(15,23,42,.08)!important;
}
[data-invoice-preview]{
    --invoice-preview-scale:1;
}
[data-invoice-preview] .invoice-document{
    transform:scale(var(--invoice-preview-scale))!important;
    transform-origin:top left!important;
}
.system-state-v574{
    width:min(680px,calc(100% - 28px))!important;
    min-height:360px!important;
    margin:34px auto!important;
    padding:44px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border:1px solid #d8e6f5!important;
    border-radius:24px!important;
    background:#fff!important;
    box-shadow:0 22px 55px rgba(15,23,42,.08)!important;
}
.system-state-icon-v574{
    width:72px!important;
    height:72px!important;
    margin-bottom:20px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:22px!important;
    background:#edf5ff!important;
    color:#0969ff!important;
    font-size:32px!important;
    font-weight:950!important;
}
.system-state-v574.is-warning .system-state-icon-v574{background:#fff7e6!important;color:#d97706!important}
.system-state-v574.is-error .system-state-icon-v574{background:#fff0f0!important;color:#dc2626!important}
.system-state-v574 h1{margin:0 0 10px!important;color:#071c3d!important;font-size:32px!important;letter-spacing:-.04em!important}
.system-state-v574 p{max-width:480px!important;margin:0 0 22px!important;line-height:1.6!important}

@media(max-width:1280px){
    body.login-body.support-theme .login-wrap:not(.password-wrap){
        grid-template-columns:minmax(0,1fr) 420px!important;
    }
}

@media(max-width:900px){
    body.login-body.support-theme .login-wrap:not(.password-wrap),
    body.login-body.support-theme .login-wrap.password-wrap{
        width:100%!important;
        min-height:100vh!important;
        margin:0!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        border:0!important;
        border-radius:0!important;
        box-shadow:none!important;
    }
    body.login-body.support-theme .login-wrap:not(.password-wrap) .login-box,
    body.login-body.support-theme .password-wrap .auth-card-v574{
        order:1!important;
        padding:28px 22px!important;
        border-radius:0!important;
    }
    body.login-body.support-theme .login-wrap:not(.password-wrap) .login-hero,
    body.login-body.support-theme .password-wrap .password-hero{
        order:2!important;
        min-height:0!important;
        margin:0!important;
        padding:28px 22px!important;
        border-radius:0!important;
    }
    body.login-body.support-theme .login-hero h1{
        font-size:36px!important;
    }
    body.login-body.support-theme .login-hero .feature-list{
        grid-template-columns:1fr 1fr!important;
        margin-top:22px!important;
    }
    body.login-body.support-theme .auth-card-v574>h1,
    body.login-body.support-theme .reset-card>h1{
        font-size:30px!important;
    }
    .auth-brand-v574{
        margin-bottom:24px!important;
    }
    body.login-body.support-theme .reset-page{
        width:100%!important;
        margin:0!important;
        padding:14px!important;
    }
    body.login-body.support-theme .reset-card.auth-card-v574{
        min-height:calc(100vh - 28px)!important;
        padding:26px 20px!important;
        border-radius:20px!important;
        justify-content:center!important;
    }

    body.unified-support-layout .itb-v555-page-invoice .invoice-detail-grid-v574{
        display:block!important;
    }
    .invoice-mobile-tabs-v574{
        position:sticky!important;
        top:0!important;
        z-index:30!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:6px!important;
        margin:0 0 12px!important;
        padding:6px!important;
        border:1px solid #d5e4f5!important;
        border-radius:15px!important;
        background:rgba(255,255,255,.94)!important;
        backdrop-filter:blur(12px)!important;
        box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
    }
    .invoice-mobile-tabs-v574 button{
        min-height:42px!important;
        border:0!important;
        border-radius:10px!important;
        background:transparent!important;
        color:#5d718d!important;
        font-size:12px!important;
        font-weight:950!important;
        cursor:pointer!important;
    }
    .invoice-mobile-tabs-v574 button.is-active{
        background:linear-gradient(105deg,#0969ff,#0ca9dc)!important;
        color:#fff!important;
        box-shadow:0 8px 18px rgba(9,105,255,.2)!important;
    }
    .invoice-detail-grid-v574[data-invoice-view="summary"] .invoice-document-column-v574{
        display:none!important;
    }
    .invoice-detail-grid-v574[data-invoice-view="document"] .invoice-summary-column-v574{
        display:none!important;
    }
    .invoice-detail-grid-v574[data-invoice-view="summary"] .invoice-summary-column-v574,
    .invoice-detail-grid-v574[data-invoice-view="document"] .invoice-document-column-v574{
        display:block!important;
    }
    body.unified-support-layout .itb-v555-page-invoice .invoice-summary-column-v574{
        width:100%!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    body.unified-support-layout .itb-v555-page-invoice .invoice-preview-head-v560{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    .invoice-preview-actions-v574{
        display:grid!important;
        grid-template-columns:1fr!important;
        width:100%!important;
    }
    .invoice-preview-tools-v574{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        width:100%!important;
    }
    .invoice-preview-actions-v574>.itb-v555-btn{
        width:100%!important;
        justify-content:center!important;
    }
    body.unified-support-layout .itb-v555-page-invoice .invoice-preview-modern-v560{
        position:relative!important;
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        padding:10px!important;
        overflow:hidden!important;
        min-height:420px!important;
    }
    body.unified-support-layout .itb-v555-page-invoice [data-invoice-preview] .invoice-document{
        width:760px!important;
        min-width:760px!important;
        max-width:none!important;
        margin:0!important;
    }
}

@media(max-width:560px){
    body.login-body.support-theme .login-hero .feature-list{
        grid-template-columns:1fr!important;
    }
    body.login-body.support-theme .login-hero .feature:nth-child(n+3){
        display:none!important;
    }
    body.login-body.support-theme .auth-card-v574{
        padding:24px 16px!important;
    }
    .auth-brand-v574 img{
        width:104px!important;
    }
    .system-state-v574{
        min-height:300px!important;
        padding:30px 20px!important;
    }
    .system-state-v574 h1{font-size:27px!important}
}
