/* /Components/Account/Login.razor.rz.scp.css */
/* Η εμφάνιση της κάρτας ορίζεται στο Login.razor (χρώματα, σκιά, πλάτος).
   Εδώ μένει μόνο η τοποθέτηση — μικρό κενό από το logo, όχι 4rem όπως πριν. */
.login-wrap[b-x0g75zn542] {
    margin: 1rem auto 0;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-vvdzm90zc4] {
    /* ύψος που πιάνει το κέλυφος πάνω και κάτω από το περιεχόμενο (βλ. Components/Shared/AiChat.razor.css) */
    --sx-chrome: 4.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

main[b-vvdzm90zc4] {
    flex: 1;
    min-width: 0;
}

.sidebar[b-vvdzm90zc4] {
    background: #0f1f3a;
    color: #fff;
}

/* Το Κέντρο υποστήριξης είναι ξεχωριστός χώρος: άλλο χρώμα στο μενού, για να φαίνεται με μια ματιά. */
.page-support .sidebar[b-vvdzm90zc4] {
    background: #123a3d;
}

.content[b-vvdzm90zc4] {
    padding: 1.25rem 1.25rem 7rem;
}

@media (max-width: 800.98px) {
    .page[b-vvdzm90zc4] {
        /* πάνω μπάρα 3.5rem + padding 1.25rem + κάτω καρτέλες 5.25rem + ανάσα */
        --sx-chrome: 10.75rem;
    }

    .sidebar[b-vvdzm90zc4] {
        position: sticky;
        top: 0;
        z-index: 20;
    }
}

@media (min-width: 801px) {
    .page[b-vvdzm90zc4] {
        flex-direction: row;
    }

    .sidebar[b-vvdzm90zc4] {
        width: 272px;
        flex-shrink: 0;
        height: 100dvh;
        position: sticky;
        top: 0;
    }

    /* Σε φαρδιά οθόνη το περιεχόμενο μένει στο κέντρο του χώρου δεξιά από το μενού, όχι κολλημένο αριστερά. */
    .content[b-vvdzm90zc4] {
        padding: 2rem 2.5rem 2.25rem;
        max-width: 1180px;
        margin-inline: auto;
    }
}

#blazor-error-ui[b-vvdzm90zc4] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-vvdzm90zc4] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Πλαϊνό μενού. Τα <NavLink> είναι παιδικά components, γι' αυτό οι κανόνες τους θέλουν ::deep. */

.sx-brand[b-efo37te71d] {
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    padding: 0 1.25rem;
}

.sx-brand-link[b-efo37te71d] {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: #fff;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -.01em;
    line-height: 1.1;
}

    .sx-brand-link small[b-efo37te71d] {
        display: block;
        font-size: .72rem;
        font-weight: 600;
        letter-spacing: .08em;
        text-transform: uppercase;
        color: #9fb0cc;
    }

/* Κέντρο υποστήριξης: το πλήρες όνομα σε 2–3 μικρές γραμμές (χωρά στο ύψος του σήματος)· στο κινητό η σύντομη μορφή. */
.sx-brand-link small.sx-brand-long[b-efo37te71d] {
    max-width: 11.5rem;
    font-size: .62rem;
    line-height: 1.25;
    letter-spacing: .06em;
    margin-top: .1rem;
}

.sx-brand-link small.sx-brand-short[b-efo37te71d] {
    display: none;
}

@media (max-width: 800.98px) {
    .sx-brand-link small.sx-brand-long[b-efo37te71d] {
        display: none;
    }

    .sx-brand-link small.sx-brand-short[b-efo37te71d] {
        display: block;
    }
}

.sx-brand-mark[b-efo37te71d] {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #1f7a78;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 1.2rem;
    font-weight: 800;
}

.navbar-toggler[b-efo37te71d] {
    appearance: none;
    cursor: pointer;
    width: 3.25rem;
    height: 2.5rem;
    position: absolute;
    top: .5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 10px;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.4' d='M5 8h20M5 15h20M5 22h20'/%3e%3c/svg%3e") no-repeat center/1.6rem rgba(255, 255, 255, .08);
}

    .navbar-toggler:checked[b-efo37te71d] {
        background-color: rgba(255, 255, 255, .28);
    }

    .navbar-toggler:focus-visible[b-efo37te71d] {
        outline: 3px solid #ffd9a8;
        outline-offset: 2px;
    }

.nav-scrollable[b-efo37te71d] {
    display: none;
    padding: .25rem .75rem 1rem;
}

.navbar-toggler:checked ~ .nav-scrollable[b-efo37te71d] {
    display: block;
}

.sx-nav[b-efo37te71d], .sx-foot[b-efo37te71d] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.sx-foot[b-efo37te71d] {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

    .sx-foot form[b-efo37te71d] {
        margin: 0;
    }

.sx-nav[b-efo37te71d]  .sx-link,
.sx-foot[b-efo37te71d]  .sx-link,
.sx-foot .sx-link[b-efo37te71d] {
    display: flex;
    align-items: center;
    gap: .7rem;
    width: 100%;
    min-height: 52px;
    padding: .55rem .8rem;
    white-space: nowrap;
    border: 0;
    border-radius: 14px;
    background: none;
    color: #dbe3f0;
    font: inherit;
    font-size: 1.02rem;
    font-weight: 700;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.sx-nav[b-efo37te71d]  .sx-link-sm,
.sx-foot[b-efo37te71d]  .sx-link-sm,
.sx-foot .sx-link-sm[b-efo37te71d] {
    min-height: 42px;
    padding: .35rem .9rem;
    font-size: .95rem;
    font-weight: 600;
    color: #b9c5d9;
}

.sx-nav[b-efo37te71d]  .sx-link:hover,
.sx-foot[b-efo37te71d]  .sx-link:hover,
.sx-foot .sx-link:hover[b-efo37te71d] {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.sx-nav[b-efo37te71d]  .sx-link:focus-visible,
.sx-foot[b-efo37te71d]  .sx-link:focus-visible,
.sx-foot .sx-link:focus-visible[b-efo37te71d] {
    outline: 3px solid #ffd9a8;
    outline-offset: 2px;
}

.sx-nav[b-efo37te71d]  a.sx-link.active,
.sx-foot[b-efo37te71d]  a.sx-link.active {
    background: #fff;
    color: #0f1f3a;
}

.sx-nav[b-efo37te71d]  .sx-link-text {
    flex: 1;
    min-width: 0;
}

.sx-nav[b-efo37te71d]  .sx-badge {
    min-width: 28px;
    height: 28px;
    padding: 0 .5rem;
    border-radius: 14px;
    background: #ffd9a8;
    color: #0f1f3a;
    display: inline-grid;
    place-items: center;
    font-size: .9rem;
    font-weight: 800;
}

/* Κάρτες μετάβασης στους άλλους χώρους — ίδιο σχέδιο με τη λωρίδα της Academy: εικονίδιο σε πλαίσιο, μικρή
   επικεφαλίδα σε IBM Plex Mono, όνομα με έντονα, βελάκι που προχωρά. Χρώματα των κουμπιών της αρχικής σελίδας. */
.sx-places[b-efo37te71d] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-top: 1.1rem;
    padding: 1rem .2rem 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.sx-place[b-efo37te71d] {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 54px;
    padding: .5rem .7rem .5rem .5rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .16);
    color: #fff;
    text-decoration: none;
    /* η λεπτή φωτεινή γραμμή πάνω δίνει όγκο χωρίς έντονη σκιά */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 10px 20px -14px var(--place-glow, rgba(0, 0, 0, .7));
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

    .sx-place:hover[b-efo37te71d] {
        color: #fff;
        transform: translateY(-2px);
        border-color: rgba(255, 255, 255, .34);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 16px 26px -14px var(--place-glow, rgba(0, 0, 0, .8));
    }

    .sx-place:focus-visible[b-efo37te71d] {
        outline: 3px solid #ffd9a8;
        outline-offset: 2px;
    }

.sx-place-icon[b-efo37te71d] {
    position: relative;
    display: grid;
    place-items: center;
    flex: none;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .15);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
}

/* ο αριθμός των εκκρεμοτήτων, στη γωνία του εικονιδίου (το .sx-badge του μενού ισχύει μόνο μέσα στο .sx-nav) */
.sx-place-count[b-efo37te71d] {
    position: absolute;
    top: -8px;
    right: -8px;
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: #ffd9a8;
    color: #0f1f3a;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 0 2px #4d49ab;
}

.sx-place-text[b-efo37te71d] {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    flex: 1;
    min-width: 0;
    line-height: 1.2;
}

.sx-place-eyebrow[b-efo37te71d] {
    font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .62rem;
    font-weight: 500;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .78);
}

/* μια διεύθυνση διαβάζεται σωστά με πεζά */
.sx-place-domain[b-efo37te71d] {
    text-transform: none;
    letter-spacing: .02em;
}

.sx-place-name[b-efo37te71d] {
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* το «ΤΝ» δεν μένει ποτέ μόνο του σε γραμμή */
.sx-place-keep[b-efo37te71d] {
    white-space: nowrap;
}

.sx-place-tag[b-efo37te71d] {
    display: inline-block;
    padding: 0 .4em;
    border-radius: .4em;
    background: rgba(255, 255, 255, .24);
    letter-spacing: .05em;
}

.sx-place-go[b-efo37te71d] {
    flex: none;
    opacity: .6;
    transition: transform .18s ease, opacity .18s ease;
}

.sx-place:hover .sx-place-go[b-efo37te71d] {
    transform: translateX(3px);
    opacity: 1;
}

.sx-place-site[b-efo37te71d] {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .26);
    --place-glow: rgba(0, 0, 0, .55);
}

    .sx-place-site:hover[b-efo37te71d] {
        background: rgba(255, 255, 255, .12);
    }

.sx-place-center[b-efo37te71d] {
    background: linear-gradient(135deg, #6a76e4 0%, #463fa0 100%);
    --place-glow: rgba(96, 91, 214, .95);
}

.sx-place-network[b-efo37te71d] {
    background: linear-gradient(135deg, #3f74bd 0%, #27508c 100%);
    --place-glow: rgba(47, 100, 176, .95);
}

.sx-place-academy[b-efo37te71d] {
    background: linear-gradient(135deg, #2f8a8b 0%, #256163 100%);
    --place-glow: rgba(38, 122, 124, .95);
}

@media (prefers-reduced-motion: reduce) {
    .sx-place[b-efo37te71d],
    .sx-place-go[b-efo37te71d] {
        transition: none;
    }

        .sx-place:hover[b-efo37te71d],
        .sx-place:hover .sx-place-go[b-efo37te71d] {
            transform: none;
        }
}

.sx-group[b-efo37te71d] {
    margin: 1rem .9rem .2rem;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #8697b5;
}

.sx-user[b-efo37te71d] {
    margin: .6rem .2rem 0;
    padding: .85rem .9rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .07);
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    min-width: 0;
}

.sx-user-name[b-efo37te71d] {
    font-weight: 800;
    color: #fff;
    overflow-wrap: anywhere;
}

.sx-user-mail[b-efo37te71d] {
    font-size: .82rem;
    color: #9fb0cc;
    overflow-wrap: anywhere;
}

.sx-user-links[b-efo37te71d] {
    display: flex;
    flex-wrap: wrap;
    gap: .15rem .9rem;
    margin-top: .55rem;
}

    .sx-user-links form[b-efo37te71d] {
        margin: 0;
        display: inline;
    }

    .sx-user-links[b-efo37te71d]  a,
    .sx-user-links a[b-efo37te71d],
    .sx-user-links button[b-efo37te71d] {
        padding: .2rem 0;
        border: 0;
        background: none;
        color: #c9d4e6;
        font: inherit;
        font-size: .86rem;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
    }

    .sx-user-links[b-efo37te71d]  a:hover,
    .sx-user-links a:hover[b-efo37te71d],
    .sx-user-links button:hover[b-efo37te71d] {
        color: #fff;
        text-decoration: underline;
    }

    .sx-user-links[b-efo37te71d]  a.active {
        color: #ffd9a8;
    }

    .sx-user-links[b-efo37te71d]  a:focus-visible,
    .sx-user-links a:focus-visible[b-efo37te71d],
    .sx-user-links button:focus-visible[b-efo37te71d] {
        outline: 3px solid #ffd9a8;
        outline-offset: 2px;
        border-radius: 4px;
    }

/* ---------- κάτω μπάρα (μόνο σε στενή οθόνη) ---------- */
.sx-tabs[b-efo37te71d] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    padding: .5rem .75rem calc(.75rem + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid #cfd6e2;
}

    .sx-tabs[b-efo37te71d]  .sx-tab {
        min-height: 56px;
        border-radius: 14px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: #0f1f3a;
        font-size: .82rem;
        font-weight: 700;
        text-decoration: none;
    }

    .sx-tabs[b-efo37te71d]  .sx-tab.active {
        background: #0f1f3a;
        color: #fff;
        font-weight: 800;
    }

    .sx-tabs[b-efo37te71d]  .sx-tab:focus-visible {
        outline: 3px solid #1f7a78;
        outline-offset: 2px;
    }

@media (min-width: 801px) {
    .navbar-toggler[b-efo37te71d], .sx-tabs[b-efo37te71d] {
        display: none;
    }

    .sx-brand[b-efo37te71d] {
        min-height: 5rem;
    }

    .nav-scrollable[b-efo37te71d] {
        /* πάντα ανοιχτό σε φαρδιά οθόνη· κύλιση αν το μενού δεν χωρά */
        display: flex;
        flex-direction: column;
        height: calc(100dvh - 5rem);
        overflow-y: auto;
    }

    .sx-foot[b-efo37te71d] {
        margin-top: auto;
    }
}

/* Νομικά κείμενα στο κάτω μέρος του μενού: διακριτικά, αλλά πάντα ορατά. */
.sx-legal[b-efo37te71d] { display: flex; flex-wrap: wrap; gap: .25rem .75rem; padding: .25rem .9rem .6rem; font-size: .78rem; }
.sx-legal a[b-efo37te71d] { color: inherit; opacity: .75; text-decoration: none; }
.sx-legal a:hover[b-efo37te71d], .sx-legal a:focus-visible[b-efo37te71d] { opacity: 1; text-decoration: underline; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-ppv7udbn4x],
.components-reconnect-repeated-attempt-visible[b-ppv7udbn4x],
.components-reconnect-failed-visible[b-ppv7udbn4x],
.components-pause-visible[b-ppv7udbn4x],
.components-resume-failed-visible[b-ppv7udbn4x],
.components-rejoining-animation[b-ppv7udbn4x] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-retrying[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-failed[b-ppv7udbn4x],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-ppv7udbn4x] {
    display: block;
}


#components-reconnect-modal[b-ppv7udbn4x] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-ppv7udbn4x 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-ppv7udbn4x 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-ppv7udbn4x 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-ppv7udbn4x]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-ppv7udbn4x 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-ppv7udbn4x {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-ppv7udbn4x {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-ppv7udbn4x {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-ppv7udbn4x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-ppv7udbn4x] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-ppv7udbn4x] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-ppv7udbn4x] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-ppv7udbn4x] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-ppv7udbn4x] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-ppv7udbn4x] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-ppv7udbn4x 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-ppv7udbn4x] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-ppv7udbn4x {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Shared/AiChat.razor.rz.scp.css */
/* Βοηθός AI — χώρος συνομιλίας σε πλήρες ύψος: ιστορικό αριστερά, συνομιλία δεξιά, πεδίο σύνταξης κάτω.
   Χρώματα από την ταυτότητα του synergyaccounting.gr (navy / teal / πορτοκαλί τόνος για προσοχή). */
.ai[b-694tyjdwmc] {
    --navy: #0f1f3a;
    --navy-2: #1f3a63;
    --teal: #1f7a78;
    --teal-2: #2a9490;
    --ink: #1c2a44;
    --muted: #718096;
    --line: #e2e8f0;
    --wash: #f7fafc;

    display: flex;
    flex-direction: column;
    gap: .9rem;
    max-width: 1240px;
    /* ύψος παραθύρου − ό,τι πιάνει το κέλυφος (--sx-chrome, ορίζεται στο MainLayout.razor.css) */
    height: calc(100dvh - var(--sx-chrome, 6rem));
    min-height: 460px;
    color: var(--ink);
}

/* ---------- κεφαλίδα ---------- */
.ai-top[b-694tyjdwmc] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.ai-brand[b-694tyjdwmc] { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.ai-logo[b-694tyjdwmc] {
    flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; color: #fff;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--teal-2), var(--navy));
    box-shadow: 0 6px 16px rgba(44, 122, 123, .28);
}
.ai-brand h1[b-694tyjdwmc] { font-size: 1.35rem; font-weight: 700; color: var(--navy); margin: 0; line-height: 1.2; }
.ai-brand p[b-694tyjdwmc] { margin: .1rem 0 0; font-size: .88rem; color: var(--muted); }
.ai-top-actions[b-694tyjdwmc] { display: flex; gap: .5rem; align-items: center; }

.ai-btn[b-694tyjdwmc] {
    display: inline-flex; align-items: center; gap: .4rem; border-radius: 10px; font-size: .88rem; font-weight: 600;
    padding: .5rem .9rem; border: 1px solid transparent; cursor: pointer; transition: background .15s, box-shadow .15s, transform .15s;
}
.ai-btn:disabled[b-694tyjdwmc] { opacity: .5; cursor: default; }
.ai-btn-primary[b-694tyjdwmc] { background: var(--navy); color: #fff; box-shadow: 0 4px 12px rgba(26, 54, 93, .22); }
.ai-btn-primary:hover:enabled[b-694tyjdwmc] { background: var(--navy-2); transform: translateY(-1px); }
.ai-btn-ghost[b-694tyjdwmc] { background: #fff; color: var(--navy-2); border-color: var(--line); }
.ai-btn-ghost:hover:enabled[b-694tyjdwmc] { background: var(--wash); }
.ai-history-toggle[b-694tyjdwmc] { display: none; }

/* ---------- κέλυφος ---------- */
.ai-shell[b-694tyjdwmc] {
    flex: 1; min-height: 0; display: flex;
    background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden;
    box-shadow: 0 10px 30px rgba(26, 54, 93, .08);
}

/* ---------- ιστορικό ---------- */
.ai-history[b-694tyjdwmc] {
    width: 272px; flex-shrink: 0; display: flex; flex-direction: column; min-height: 0;
    background: var(--wash); border-right: 1px solid var(--line); padding: .9rem .6rem .6rem;
}
.ai-history-head[b-694tyjdwmc] {
    display: flex; justify-content: space-between; align-items: center; gap: .5rem;
    padding: 0 .45rem .55rem; color: var(--navy); font-size: .92rem;
}
.ai-history ul[b-694tyjdwmc] { list-style: none; margin: 0; padding: 0 .1rem; overflow-y: auto; flex: 1; min-height: 0; }
.ai-history li[b-694tyjdwmc] { display: flex; align-items: center; gap: .1rem; border-radius: 10px; min-height: 2.75rem; }
.ai-history li.ai-group[b-694tyjdwmc] {
    min-height: 0; padding: .7rem .5rem .25rem; font-size: .68rem; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; color: #a0aec0;
}
.ai-history li.ai-group:first-child[b-694tyjdwmc] { padding-top: .1rem; }
.ai-history li.active[b-694tyjdwmc] { background: #fff; box-shadow: 0 1px 4px rgba(26, 54, 93, .10), inset 3px 0 0 var(--teal); }
.ai-history-item[b-694tyjdwmc] {
    flex: 1; min-width: 0; text-align: left; background: none; border: 0; padding: .45rem .55rem; border-radius: 10px;
    cursor: pointer; display: flex; flex-direction: column; gap: .05rem; color: var(--ink);
}
.ai-history-item:hover:enabled[b-694tyjdwmc] { background: #edf2f7; }
.ai-history li.active .ai-history-item:hover:enabled[b-694tyjdwmc] { background: none; }
.ai-history-item .t[b-694tyjdwmc] { font-size: .86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ai-history li.active .t[b-694tyjdwmc] { font-weight: 600; color: var(--navy); }
.ai-history-item .d[b-694tyjdwmc] { font-size: .7rem; color: var(--muted); }
.ai-history-del[b-694tyjdwmc] {
    background: none; border: 0; color: #a0aec0; padding: .4rem; margin-right: .2rem; border-radius: 8px; cursor: pointer;
    display: grid; place-items: center; opacity: 0; transition: opacity .12s, background .12s, color .12s;
}
.ai-history li:hover .ai-history-del[b-694tyjdwmc], .ai-history li.active .ai-history-del[b-694tyjdwmc], .ai-history-del:focus-visible[b-694tyjdwmc] { opacity: 1; }
.ai-history-del:hover:enabled[b-694tyjdwmc] { color: #c53030; background: #fed7d7; }
.ai-history-empty[b-694tyjdwmc] { margin: auto 0; padding: 1.5rem .75rem; text-align: center; color: #a0aec0; }
.ai-history-empty p[b-694tyjdwmc] { margin: .5rem 0 0; font-size: .82rem; color: var(--muted); }

.ai-link[b-694tyjdwmc] { background: none; border: 0; padding: 0 .15rem; font-size: .78rem; color: var(--navy-2); cursor: pointer; }
.ai-link:hover:enabled[b-694tyjdwmc] { text-decoration: underline; }
.ai-link.danger[b-694tyjdwmc] { color: #c53030; font-weight: 700; }
.ai-confirm[b-694tyjdwmc] { font-size: .8rem; color: #4a5568; padding: .45rem .55rem; }

/* ---------- συνομιλία ---------- */
.ai-main[b-694tyjdwmc] { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.ai-thread[b-694tyjdwmc] {
    flex: 1; min-height: 0; overflow-y: auto; padding: 1.4rem 1.6rem .6rem;
    display: flex; flex-direction: column; gap: 1.1rem; scroll-behavior: smooth;
    background:
        radial-gradient(900px 260px at 100% 0, rgba(49, 151, 149, .06), transparent 70%),
        #fff;
}

.ai-welcome[b-694tyjdwmc] { margin: auto; max-width: 640px; text-align: center; padding: 1rem 0 1.5rem; }
.ai-welcome-icon[b-694tyjdwmc] {
    width: 68px; height: 68px; border-radius: 22px; display: inline-grid; place-items: center; color: #fff;
    background: linear-gradient(135deg, var(--teal-2), var(--navy));
    box-shadow: 0 12px 28px rgba(44, 122, 123, .30);
}
.ai-welcome h2[b-694tyjdwmc] { font-size: 1.45rem; font-weight: 700; color: var(--navy); margin: 1rem 0 .3rem; }
.ai-welcome p[b-694tyjdwmc] { color: var(--muted); margin: 0 0 1.3rem; }
.ai-suggest[b-694tyjdwmc] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; text-align: left; }
.ai-chip[b-694tyjdwmc] {
    display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; padding: .8rem .95rem; background: #fff;
    cursor: pointer; text-align: left;
    border: 1px solid var(--line); border-radius: 14px; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.ai-chip:hover:enabled[b-694tyjdwmc] { border-color: var(--teal-2); box-shadow: 0 6px 18px rgba(44, 122, 123, .14); transform: translateY(-2px); }
.ai-chip:disabled[b-694tyjdwmc] { opacity: .55; cursor: default; }
.ai-chip .k[b-694tyjdwmc] { font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--teal); }
.ai-chip .q[b-694tyjdwmc] { font-size: .92rem; color: var(--ink); line-height: 1.35; }

.ai-msg[b-694tyjdwmc] { display: flex; gap: .7rem; align-items: flex-start; animation: ai-in-b-694tyjdwmc .22s ease-out; }
.ai-msg.from-user[b-694tyjdwmc] { flex-direction: row-reverse; }
.ai-avatar[b-694tyjdwmc] {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
    font-size: .85rem; font-weight: 700; color: #fff;
}
.from-ai .ai-avatar[b-694tyjdwmc] { background: linear-gradient(135deg, var(--teal-2), var(--navy)); }
.from-user .ai-avatar[b-694tyjdwmc] { background: #cbd5e0; color: var(--navy); }
.ai-body[b-694tyjdwmc] { min-width: 0; max-width: min(46rem, 82%); display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.from-user .ai-body[b-694tyjdwmc] { align-items: flex-end; }
.ai-bubble[b-694tyjdwmc] { padding: .7rem 1rem; border-radius: 16px; line-height: 1.6; font-size: .95rem; overflow-wrap: anywhere; }
.from-ai .ai-bubble[b-694tyjdwmc] { background: var(--wash); border: 1px solid var(--line); border-top-left-radius: 6px; }
.from-user .ai-bubble[b-694tyjdwmc] {
    background: linear-gradient(135deg, var(--navy-2), var(--navy)); color: #fff; border-top-right-radius: 6px;
    box-shadow: 0 4px 12px rgba(26, 54, 93, .18);
}
.ai-bubble[b-694tyjdwmc]  strong { color: var(--navy); }
.from-user .ai-bubble[b-694tyjdwmc]  strong { color: #fff; }
.ai-bubble[b-694tyjdwmc]  code { background: #edf2f7; color: var(--navy-2); padding: .05rem .35rem; border-radius: 5px; font-size: .88em; }

.ai-copy[b-694tyjdwmc] {
    background: none; border: 0; padding: .1rem .35rem; font-size: .74rem; color: var(--muted); border-radius: 6px; cursor: pointer;
    opacity: 0; transition: opacity .12s, background .12s, color .12s;
}
.ai-msg:hover .ai-copy[b-694tyjdwmc], .ai-copy:focus-visible[b-694tyjdwmc] { opacity: 1; }
.ai-copy:hover[b-694tyjdwmc] { background: #edf2f7; color: var(--navy-2); }

.ai-typing[b-694tyjdwmc] { display: flex; gap: .3rem; align-items: center; padding: .95rem 1rem; }
.ai-typing span[b-694tyjdwmc] { width: .45rem; height: .45rem; border-radius: 50%; background: var(--teal-2); animation: ai-blink-b-694tyjdwmc 1.2s infinite ease-in-out; }
.ai-typing span:nth-child(2)[b-694tyjdwmc] { animation-delay: .2s; }
.ai-typing span:nth-child(3)[b-694tyjdwmc] { animation-delay: .4s; }

/* Πρόοδος σε λέξεις και δευτερόλεπτα (26/10/2026) — διαβάζεται και χωρίς κίνηση. */
.ai-progress[b-694tyjdwmc] { display: flex; align-items: center; gap: .45rem; margin-top: .35rem; font-size: .82rem; color: var(--muted); }
.ai-progress-time[b-694tyjdwmc] { font-variant-numeric: tabular-nums; opacity: .8; }
.ai-progress-dot[b-694tyjdwmc] { width: .5rem; height: .5rem; border-radius: 50%; background: var(--teal-2); box-shadow: 0 0 0 0 rgba(13, 148, 136, .45); animation: ai-pulse-b-694tyjdwmc 1.4s infinite; }
@keyframes ai-pulse-b-694tyjdwmc { 0% { box-shadow: 0 0 0 0 rgba(13, 148, 136, .45); } 70% { box-shadow: 0 0 0 .45rem rgba(13, 148, 136, 0); } 100% { box-shadow: 0 0 0 0 rgba(13, 148, 136, 0); } }
.ai-caret[b-694tyjdwmc] { display: inline-block; width: .45rem; height: 1em; margin-left: .15rem; vertical-align: text-bottom; background: var(--teal-2); animation: ai-blink-b-694tyjdwmc 1s steps(2, start) infinite; }
.ai-answer-actions[b-694tyjdwmc] { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.ai-answer-actions .ai-copy[b-694tyjdwmc] { opacity: .6; }
.ai-msg:hover .ai-answer-actions .ai-copy[b-694tyjdwmc], .ai-answer-actions .ai-copy:focus-visible[b-694tyjdwmc] { opacity: 1; }
.ai-export[b-694tyjdwmc] { display: inline-flex; align-items: center; gap: .3rem; margin-right: .5rem; }
.ai-export-label[b-694tyjdwmc] { font-size: .8rem; color: var(--muted); }

.ai-error[b-694tyjdwmc] {
    align-self: center; max-width: 36rem; background: #fff5f5; border: 1px solid #feb2b2; color: #9b2c2c;
    padding: .55rem .9rem; border-radius: 12px; font-size: .9rem;
}

/* ---------- σύνταξη ---------- */
.ai-composer[b-694tyjdwmc] {
    margin: .4rem 1.6rem 0; display: flex; align-items: flex-end; gap: .5rem; padding: .45rem .45rem .45rem 1rem;
    background: #fff; border: 1.5px solid var(--line); border-radius: 18px; transition: border-color .15s, box-shadow .15s;
}
.ai-composer:focus-within[b-694tyjdwmc] { border-color: var(--teal-2); box-shadow: 0 0 0 4px rgba(49, 151, 149, .14); }
.ai-composer textarea[b-694tyjdwmc] {
    flex: 1; min-width: 0; border: 0; outline: 0; resize: none; background: transparent; color: var(--ink);
    font: inherit; font-size: .96rem; line-height: 1.5; padding: .45rem 0; max-height: 168px;
}
.ai-composer textarea[b-694tyjdwmc]::placeholder { color: #a0aec0; }
.ai-composer textarea:disabled[b-694tyjdwmc] { color: var(--muted); }
.ai-send[b-694tyjdwmc] {
    flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; color: #fff;
    display: grid; place-items: center; background: linear-gradient(135deg, var(--teal-2), var(--teal));
    box-shadow: 0 4px 12px rgba(44, 122, 123, .30); transition: transform .15s, box-shadow .15s, opacity .15s;
}
.ai-send:hover:enabled[b-694tyjdwmc] { transform: translateY(-1px) scale(1.04); box-shadow: 0 6px 16px rgba(44, 122, 123, .38); }
.ai-send:disabled[b-694tyjdwmc] { background: #cbd5e0; box-shadow: none; cursor: default; }

.ai-foot[b-694tyjdwmc] { margin: .5rem 1.6rem .8rem; font-size: .74rem; line-height: 1.45; color: var(--muted); text-align: center; }
.ai-keys[b-694tyjdwmc] { display: block; margin-bottom: .15rem; color: #a0aec0; }
.ai-foot kbd[b-694tyjdwmc] { background: #edf2f7; color: #4a5568; border-radius: 4px; padding: .02rem .3rem; font-size: .9em; font-family: inherit; }

/* ορατή εστίαση πληκτρολογίου σε όλα τα κουμπιά της σελίδας */
.ai button:focus-visible[b-694tyjdwmc] { outline: 2px solid var(--teal-2); outline-offset: 2px; }

@keyframes ai-blink-b-694tyjdwmc { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-2px); } }
@keyframes ai-in-b-694tyjdwmc { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---------- AI Expert: πηγές, «σε κάλυψε;», παραπομπή και απάντηση ειδικού ---------- */
.ai-hidden[b-694tyjdwmc] { display: none !important; }
.ai-foot-link[b-694tyjdwmc] { display: block; margin-top: .3rem; }
.ai-foot-link a[b-694tyjdwmc] { font-weight: 700; color: #1f7a78; }

.ai-sources[b-694tyjdwmc] { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .45rem; font-size: .78rem; }
.ai-sources-tag[b-694tyjdwmc] { color: var(--teal); font-weight: 700; }
.ai-source[b-694tyjdwmc] { background: #e6fffa; color: #234e52; border: 1px solid #b2f5ea; border-radius: 999px; padding: .1rem .6rem; font-weight: 600; }

.ai-feedback[b-694tyjdwmc] {
    display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: .4rem 0 .2rem 2.9rem;
    padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 14px; background: var(--wash);
}
.ai-feedback-q[b-694tyjdwmc] { font-weight: 700; color: var(--navy); margin-right: .2rem; }
.ai-btn-yes[b-694tyjdwmc] { background: var(--teal); color: #fff; min-height: 40px; }
.ai-btn-yes:hover[b-694tyjdwmc] { background: #285e61; }
.ai-btn-no[b-694tyjdwmc] { background: #fff; color: var(--navy); border-color: var(--navy); min-height: 40px; }
.ai-btn-no:hover[b-694tyjdwmc] { background: #ebf4ff; }

.ai-escalate[b-694tyjdwmc] {
    display: flex; flex-direction: column; gap: .45rem; margin: .4rem 0 .2rem 2.9rem;
    padding: 1rem 1.1rem; border: 2px solid var(--navy); border-radius: 14px; background: #fff;
}
.ai-escalate strong[b-694tyjdwmc] { color: var(--navy); }
.ai-escalate p[b-694tyjdwmc] { margin: 0 0 .2rem; font-size: .86rem; color: var(--ink); }
.ai-escalate label[b-694tyjdwmc] { font-size: .82rem; font-weight: 700; color: var(--navy); margin-top: .2rem; }
.ai-escalate textarea[b-694tyjdwmc] {
    width: 100%; border: 1px solid #cbd5e0; border-radius: 10px; padding: .55rem .7rem; font: inherit; font-size: .95rem;
    color: var(--ink); resize: vertical;
}
.ai-escalate textarea:focus[b-694tyjdwmc] { outline: 2px solid var(--teal-2); outline-offset: 1px; border-color: var(--teal-2); }
.ai-escalate-actions[b-694tyjdwmc] { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .35rem; }

.ai-expert[b-694tyjdwmc] {
    display: flex; flex-direction: column; gap: .4rem; margin: .5rem 0 .2rem 2.9rem;
    padding: .9rem 1.1rem; border-radius: 14px; border: 1px solid #b2f5ea; background: #f0fffc;
}
.ai-expert.pending[b-694tyjdwmc] { border-color: #fbd38d; background: #fffaf0; }
.ai-expert-head[b-694tyjdwmc] { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem; }
.ai-expert-tag[b-694tyjdwmc] { font-size: .74rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: #234e52; }
.ai-expert.pending .ai-expert-tag[b-694tyjdwmc] { color: #9c4221; }
.ai-expert-when[b-694tyjdwmc] { font-size: .76rem; color: var(--muted); }
.ai-expert-q[b-694tyjdwmc] { font-size: .88rem; color: var(--muted); font-style: italic; overflow-wrap: anywhere; }
.ai-expert-a[b-694tyjdwmc] { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ink); line-height: 1.55; }
.ai-expert-sign[b-694tyjdwmc] { padding-top: .45rem; border-top: 1px dashed #81e6d9; font-size: .88rem; color: #234e52; }
.ai-expert-wait[b-694tyjdwmc] { font-size: .86rem; color: #7b341e; }
/* απάντηση που δεν είχες δει ως τώρα */
.ai-expert.new[b-694tyjdwmc] { border-color: #1f7a78; box-shadow: 0 0 0 3px rgba(31, 122, 120, .16); }
.ai-expert-newtag[b-694tyjdwmc] { margin-left: .4rem; padding: .1rem .5rem; border-radius: 999px; background: #1f7a78; color: #fff; font-size: .68rem; letter-spacing: .04em; }
.ai-expert-ack[b-694tyjdwmc] { padding-top: .2rem; }
.ai-history-new[b-694tyjdwmc] { display: block; margin-top: .15rem; color: #1f7a78; font-weight: 800; }

.ai-notice[b-694tyjdwmc] { margin: .4rem 0 .2rem 2.9rem; padding: .6rem .9rem; border-radius: 12px; background: #e6fffa; color: #234e52; font-size: .88rem; font-weight: 600; }

.ai-feedback-hint[b-694tyjdwmc] { flex-basis: 100%; font-size: .82rem; color: var(--muted); }
.ai-closed-actions[b-694tyjdwmc] { display: inline-flex; flex-wrap: wrap; gap: .5rem; }

.ai-closed[b-694tyjdwmc] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem;
    margin: .4rem 1.6rem 0; padding: .75rem 1rem; border-radius: 14px; background: #e6fffa; color: #234e52; font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
    .ai-msg[b-694tyjdwmc], .ai-typing span[b-694tyjdwmc], .ai-progress-dot[b-694tyjdwmc], .ai-caret[b-694tyjdwmc] { animation: none; }
    .ai-thread[b-694tyjdwmc] { scroll-behavior: auto; }
    .ai-btn[b-694tyjdwmc], .ai-chip[b-694tyjdwmc], .ai-send[b-694tyjdwmc] { transition: none; }
}

/* ---------- στενές οθόνες: το ιστορικό γίνεται πτυσσόμενο πλαίσιο πάνω από τη συνομιλία ---------- */
@media (max-width: 900px) {
    .ai[b-694tyjdwmc] { height: auto; min-height: 0; }
    .ai-history-toggle[b-694tyjdwmc] { display: inline-flex; }
    .ai-shell[b-694tyjdwmc] { flex-direction: column; }
    .ai-history[b-694tyjdwmc] { display: none; width: 100%; max-height: 260px; border-right: 0; border-bottom: 1px solid var(--line); }
    .ai-history.open[b-694tyjdwmc] { display: flex; }
    .ai-history-del[b-694tyjdwmc] { opacity: 1; }
    .ai-thread[b-694tyjdwmc] { min-height: 52vh; max-height: 62vh; padding: 1rem 1rem .5rem; }
    .ai-composer[b-694tyjdwmc] { margin: .4rem 1rem 0; }
    .ai-feedback[b-694tyjdwmc], .ai-escalate[b-694tyjdwmc], .ai-expert[b-694tyjdwmc], .ai-notice[b-694tyjdwmc] { margin-left: 0; }
    .ai-closed[b-694tyjdwmc] { margin: .4rem 1rem 0; }
    .ai-foot[b-694tyjdwmc] { margin: .5rem 1rem .8rem; }
    .ai-suggest[b-694tyjdwmc] { grid-template-columns: 1fr; gap: .5rem; }
    .ai-welcome[b-694tyjdwmc] { padding: .25rem 0 .75rem; }
    .ai-welcome-icon[b-694tyjdwmc] { width: 52px; height: 52px; border-radius: 17px; }
    .ai-welcome h2[b-694tyjdwmc] { font-size: 1.2rem; margin: .7rem 0 .2rem; }
    .ai-welcome p[b-694tyjdwmc] { margin-bottom: .9rem; font-size: .9rem; }
    .ai-chip[b-694tyjdwmc] { padding: .6rem .8rem; }
    .ai-body[b-694tyjdwmc] { max-width: 88%; }
    .ai-copy[b-694tyjdwmc] { opacity: 1; }
    .ai-keys[b-694tyjdwmc] { display: none; }
}
