/*
 * Tema Glucose Chat — se pune PESTE Zulip, fără să-i schimbăm codul.
 * Nginx o adaugă în fiecare pagină (vezi server/glucose-tema.conf),
 * așa că actualizările Zulip nu o strică.
 *
 * Design închis, ca CRM-ul: violet-negru + verde lime.
 *   ink   #120c18 — barele laterale și bara de sus
 *   fond  #17111e — fundalul zonei de mesaje
 *   card  #201829 — mesajele
 *   lime  #daff78 — elementul activ, butoanele principale, necititele
 *   olive #7d8b52 — accente discrete
 * glucose.js ține aplicația mereu pe tema închisă.
 */

:root {
    --g-ink: #120c18;
    --g-fond: #17111e;
    --g-ink-2: #1d1526;
    --g-card: #201829;
    --g-card-2: #271d32;
    --g-ink-3: #2c2238;
    --g-linie: #3a2d48;
    --g-text: #eee8f4;
    --g-text-2: #b9aec6;
    --g-lime: #daff78;
    --g-lime-hover: #cdf25f;
    --g-lime-text: #c6ec62;
    --g-olive: #7d8b52;
    --g-dm: #1f2418;
    --g-dm-cap: #2b3320;
}

:root,
:root.dark-theme {
    /* Butoanele principale (Salvează, Trimite, Abonează-te...) */
    --color-background-brand-solid-action-button: var(--g-lime);
    --color-background-brand-solid-action-button-hover: var(--g-lime-hover);
    --color-background-brand-solid-action-button-active: #bfe64f;
    --color-text-brand-solid-action-button: var(--g-ink);
    --color-background-brand-subtle-action-button: rgb(218 255 120 / 18%);
    --color-background-brand-subtle-action-button-hover: rgb(218 255 120 / 28%);
    --color-text-brand-subtle-action-button: var(--g-lime);
    --color-text-brand-text-action-button: var(--g-lime-text);

    /* Butonul de trimitere */
    --color-compose-send-button-background: var(--g-lime);
    --color-compose-send-button-background-interactive: var(--g-lime-hover);
    --color-compose-send-button-icon-color: var(--g-ink);

    /* Necititele */
    --color-background-unread-counter-prominent: var(--g-lime);
    --color-unread-counter-prominent: var(--g-ink);

    --color-outline-focus: var(--g-lime);
}

/* ---------- Toată aplicația: violet închis ---------- */

:root.dark-theme {
    color-scheme: dark;
    --color-background: var(--g-fond);
    --color-background-navbar: var(--g-ink);
    --color-text-default: var(--g-text);
    --color-text-message-default: var(--g-text);

    /* Mesajele pe „cartonașe" violet, puțin mai deschise decât fondul */
    --color-background-stream-message-content: var(--g-card);
    --color-background-private-message-content: var(--g-dm);
    --color-background-private-message-header: var(--g-dm-cap);
    --color-message-list-border: var(--g-linie);
    --color-selected-message-outline: rgb(218 255 120 / 55%);

    --color-text-link: var(--g-lime-text);
    --color-text-link-hover: var(--g-lime);
    --color-text-url: var(--g-lime-text);
    --color-text-url-hover: var(--g-lime);
    --color-text-generic-link: var(--g-lime-text);
    --color-markdown-link: var(--g-lime-text);
    --color-markdown-link-hover: var(--g-lime);
    --color-text-sender-name-hover: var(--g-lime);

    /* Caseta de scris */
    --color-compose-box-background: var(--g-ink-2);

    /* Meniuri, ferestre, căutare */
    --color-background-popover: var(--g-card);
    --color-background-popover-menu: var(--g-card);
    --color-background-hover-popover-menu: var(--g-ink-3);
    --color-background-search: var(--g-ink-2);
    --color-background-search-collapsed: var(--g-ink-2);

    /* Inbox și conversațiile recente */
    --color-background-inbox: var(--g-fond);
    --color-background-inbox-row: var(--g-card);
    --color-background-inbox-row-hover: var(--g-card-2);
    --color-background-recent-view-row: var(--g-card);
    --color-background-recent-view-row-hover: var(--g-card-2);

    --color-background-unread-counter-normal: rgb(255 255 255 / 12%);
}

/* ---------- Tema închisă: bara de sus și barele laterale ca meniul CRM ---------- */

:root.dark-theme #navbar-fixed-container,
:root.dark-theme #left-sidebar-container,
:root.dark-theme #right-sidebar-container,
:root.dark-theme .app-main .column-left .left-sidebar,
:root.dark-theme .app-main .column-right .right-sidebar {
    --color-background: var(--g-ink);
    --color-background-navbar: var(--g-ink);
    --color-navbar-bottom-border: var(--g-ink-3);
    --color-border-sidebar: var(--g-ink-3);
    --color-text-sidebar-row: rgb(255 255 255 / 85%);
    --color-text-sidebar-base: #ffffff;
    --color-text-sidebar-heading: rgb(255 255 255 / 55%);
    --color-text-sidebar-action-heading: rgb(255 255 255 / 55%);

    /* Canalul deschis: blocul lui puțin mai deschis; rândul pe care stai = lime */
    --color-background-active-narrow-filter: var(--g-ink-3);
    --color-text-active-narrow-filter: #ffffff;
    --color-background-hover-narrow-filter: var(--g-ink-2);
    --color-background-sidebar-action-hover: var(--g-ink-3);
    --color-background-sidebar-action-heading-hover: var(--g-ink-2);
    --color-background-navigation-item-hover: var(--g-ink-2);

    --color-left-sidebar-middle-box-shadow: var(--g-ink);
    --color-left-sidebar-inner-box-shadow: var(--g-ink);
    --color-left-sidebar-outer-box-shadow: var(--g-ink);

    background-color: var(--g-ink);
}

/* Rândul lime: vederea activă de sus, canalul deschis, subiectul deschis */
#left-sidebar-container .top_left_row.active-filter,
#left-sidebar-container .top-left-active-filter,
#left-sidebar-container li.active-filter > .bottom_left_row,
#left-sidebar-container li.active-sub-filter,
#left-sidebar-container .active-sub-filter > .bottom_left_row {
    background-color: var(--g-lime);
    color: var(--g-ink);
    border-radius: 10px;

    --color-text-sidebar-row: var(--g-ink);
    --color-text-active-narrow-filter: var(--g-ink);
    --color-text-default: var(--g-ink);
    --color-background-hover-narrow-filter: var(--g-lime-hover);
}

#left-sidebar-container .top_left_row.active-filter *,
#left-sidebar-container .top-left-active-filter *,
#left-sidebar-container li.active-filter > .bottom_left_row *,
#left-sidebar-container .active-sub-filter * {
    color: var(--g-ink);
}

#left-sidebar-container li.active-filter {
    border-radius: 10px;
}

#left-sidebar-container .top_left_row,
#left-sidebar-container .bottom_left_row {
    border-radius: 10px;
}

/* ---------- Logoul: „Glucose Chat" în loc de „Zulip" ---------- */

#realm-navbar-wide-logo,
.header-main .nav-logo {
    content: url("/glucose-tema/logo-lat.svg");
    height: 26px;
    width: auto;
    max-width: 180px;
}

/* Sigla rotundă Zulip de deasupra și de sub mesaje */
.top-messages-logo,
.bottom-messages-logo {
    visibility: hidden;
}

/* ---------- Tema albă ---------- */

:root:not(.dark-theme) {
    --g-l-fond: #f4f2f7;
    --g-l-bara: #ebe7f0;
    --g-l-bara-hover: #e0dae8;
    --g-l-linie: #ddd6e5;
    --g-l-text: #1c1424;
    --g-l-link: #5a3d86;

    --color-background: var(--g-l-fond);
    --color-text-default: var(--g-l-text);
    --color-background-stream-message-content: #ffffff;
    --color-background-private-message-content: #f8fdec;
    --color-background-private-message-header: #e8f9c4;
    --color-message-list-border: var(--g-l-linie);
    --color-selected-message-outline: rgb(95 138 0 / 55%);

    --color-text-link: var(--g-l-link);
    --color-text-link-hover: var(--g-ink);
    --color-text-url: var(--g-l-link);
    --color-text-generic-link: var(--g-l-link);
    --color-markdown-link: var(--g-l-link);
    --color-markdown-link-hover: var(--g-ink);
    --color-text-sender-name-hover: var(--g-l-link);
    --color-text-brand-text-action-button: var(--g-l-link);
    --color-text-brand-subtle-action-button: var(--g-ink);
    --color-background-brand-subtle-action-button: rgb(218 255 120 / 55%);
    --color-background-brand-subtle-action-button-hover: rgb(218 255 120 / 80%);

    --color-compose-box-background: var(--g-l-bara);
    --color-background-inbox: var(--g-l-fond);
    --color-background-inbox-row: #ffffff;
    --color-background-inbox-row-hover: #f8f6fb;
    --color-background-recent-view-row: #ffffff;
    --color-background-recent-view-row-hover: #f8f6fb;
    --color-outline-focus: var(--g-l-link);
}

:root:not(.dark-theme) #navbar-fixed-container {
    --color-background-navbar: #ffffff;
    --color-navbar-bottom-border: var(--g-l-linie);
    --color-background-search: var(--g-l-fond);
    --color-background-search-collapsed: var(--g-l-fond);
}

:root:not(.dark-theme) #left-sidebar-container,
:root:not(.dark-theme) #right-sidebar-container,
:root:not(.dark-theme) .app-main .column-left .left-sidebar,
:root:not(.dark-theme) .app-main .column-right .right-sidebar {
    --color-background: var(--g-l-bara);
    --color-background-active-narrow-filter: var(--g-l-bara-hover);
    --color-background-hover-narrow-filter: var(--g-l-bara-hover);
    --color-background-sidebar-action-hover: var(--g-l-bara-hover);
    --color-background-navigation-item-hover: var(--g-l-bara-hover);
    --color-left-sidebar-middle-box-shadow: var(--g-l-bara);
    --color-left-sidebar-inner-box-shadow: var(--g-l-bara);
    --color-left-sidebar-outer-box-shadow: var(--g-l-bara);
    --color-border-sidebar: var(--g-l-linie);

    background-color: var(--g-l-bara);
}

/* Logoul cu scris închis pe tema albă */
:root:not(.dark-theme) #realm-navbar-wide-logo,
:root:not(.dark-theme) .header-main .nav-logo {
    content: url("/glucose-tema/logo-lat-inchis.svg");
}

/* ---------- Barele laterale: până jos și cu rânduri mai mari ---------- */

.app-main .column-left .left-sidebar,
.app-main .column-right .right-sidebar {
    height: var(--full-height-dynamic-viewport, 100vh);
    box-sizing: border-box;
}

#left-sidebar-container,
#right-sidebar-container {
    font-size: 1.08em;
}

#left-sidebar-container .top_left_row,
#left-sidebar-container .bottom_left_row,
#right-sidebar-container .user_sidebar_entry {
    min-height: 2.15em;
    align-items: center;
}

#left-sidebar-container .top_left_row,
#left-sidebar-container li.bottom_left_row,
#left-sidebar-container .narrow-filter > .bottom_left_row {
    padding-top: 2px;
    padding-bottom: 2px;
}

/* Doar „Albă" și „Neagră": fără varianta „după sistem" */
#select-automatic-theme,
label[for="select-automatic-theme"],
[id$="theme_select_automatic"],
label[for$="theme_select_automatic"] {
    display: none !important;
}

/* Comutatorul de limbă RO / RU / EN din meniul cu rotița */
.glucose-limba {
    color: var(--color-text-popover-menu);
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
}

.glucose-limba .glucose-limba-eticheta {
    flex: 1;
    opacity: 0.8;
}

.glucose-limba button {
    min-width: 40px;
    padding: 4px 8px;
    border: 1px solid var(--g-linie);
    border-radius: 8px;
    background: transparent;
    color: var(--color-text-popover-menu);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.glucose-limba button.activ {
    background: var(--g-lime);
    border-color: var(--g-lime);
    color: var(--g-ink);
}

/* ---------- Zona din mijloc ---------- */

.message_list .recipient_row {
    border-radius: 12px;
    overflow: hidden;
}

#compose .message_content,
#compose #compose-textarea {
    border-radius: 10px;
}

/* ---------- Paginile de intrare (login, înregistrare) ---------- */

body.portico-page,
.portico-container,
.app.portico-page {
    background-color: var(--g-fond);
    color: var(--g-text);
}

.portico-page h1,
.portico-page .get-started {
    color: var(--g-text);
}

.portico-page .white-box,
.portico-page .login-page-container .white-box {
    background-color: var(--g-card);
    color: var(--g-text);
    border: 1px solid var(--g-linie);
    border-radius: 16px;
    box-shadow: 0 6px 24px rgb(0 0 0 / 40%);
}

.portico-page .white-box label,
.portico-page .white-box .inline-block {
    color: var(--g-text);
}

.portico-page .white-box input,
.portico-page .white-box select {
    background-color: var(--g-ink-2);
    color: var(--g-text);
    border-color: var(--g-linie);
}

.portico-page button[type="submit"],
.portico-page .new-style button.button,
.portico-page .login-social-button {
    background-color: var(--g-lime);
    color: var(--g-ink);
    border-color: var(--g-lime);
    border-radius: 10px;
    font-weight: 600;
}

.portico-page button[type="submit"]:hover {
    background-color: var(--g-lime-hover);
}

.portico-page a {
    color: var(--g-lime-text);
}

/* Bara de sus a paginilor de intrare: neagră, cu logoul Glucose Chat */
.portico-header {
    background-color: var(--g-ink);
    border-bottom: none;
}

.portico-header .brand-logo {
    display: none;
}

.portico-header .brand.logo a {
    display: inline-block;
    width: 168px;
    height: 34px;
    vertical-align: middle;
    background: url("/glucose-tema/logo-lat.svg") no-repeat left center / contain;
}

.portico-header .float-right a,
.portico-header .top-links a {
    color: #ffffff;
}

/* Organizația o creează doar administratorul, cu linkul secret: ascundem linkul public */
.portico-header a[href$="/new/"] {
    display: none;
}

/* Fereastra „Creează cont nou" (doar pentru administrator) */
#glucose-cont-nou {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgb(18 12 24 / 55%);
}

#glucose-cont-nou .gcn-cutie {
    width: min(420px, 100%);
    background: var(--g-card);
    color: var(--g-text);
    border: 1px solid var(--g-linie);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 10px 40px rgb(18 12 24 / 35%);
}

#glucose-cont-nou h2 {
    margin: 0 0 14px;
    font-size: 1.3em;
}

#glucose-cont-nou label {
    display: block;
    margin-bottom: 12px;
    font-weight: 600;
}

#glucose-cont-nou input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 4px;
    padding: 8px 10px;
    border: 1px solid var(--g-linie);
    border-radius: 8px;
    font: inherit;
    font-weight: 400;
    color: var(--g-text);
    background: var(--g-ink-2);
}

#glucose-cont-nou .gcn-rand {
    display: flex;
    gap: 8px;
    align-items: center;
}

#glucose-cont-nou .gcn-rand input {
    flex: 1;
    font-family: monospace;
}

#glucose-cont-nou button {
    margin-top: 4px;
    padding: 8px 14px;
    border: 1px solid var(--g-linie);
    border-radius: 8px;
    background: var(--g-ink-3);
    color: var(--g-text);
    font: inherit;
    cursor: pointer;
}

#glucose-cont-nou .gcn-principal {
    background: var(--g-lime);
    color: var(--g-ink);
    border-color: var(--g-lime);
    font-weight: 600;
}

#glucose-cont-nou .gcn-principal:disabled {
    opacity: 0.6;
}

#glucose-cont-nou .gcn-butoane {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}

#glucose-cont-nou .gcn-eroare {
    color: #ff8a80;
}

#glucose-cont-nou .gcn-ok pre {
    margin: 6px 0 0;
    padding: 8px 10px;
    background: var(--g-dm);
    color: var(--g-text);
    border: 1px solid var(--g-olive);
    border-radius: 8px;
    white-space: pre-wrap;
    user-select: all;
}

/* Ecranul de încărcare: violet, cu sigla Glucose în loc de „Z" */
html #app-loading {
    background-color: var(--g-fond);
    color: var(--g-text);
}

html .app-loading-logo {
    background: url("/glucose-tema/favicon.svg") center / 64px 64px no-repeat;
}

html .app-loading-logo > * {
    display: none;
}

html .app-loading-spinner:before {
    border-color: var(--g-ink-3);
    border-top-color: var(--g-lime);
}

/* Meniuri: ascundem linkurile spre site-ul și serviciile Zulip, abonamente,
   centrul de ajutor Zulip și invitațiile prin email (serverul nu trimite emailuri;
   conturile se fac din „Creează cont nou"). */
.popover-menu li:has(> a[href*="zulip.com"]),
.popover-menu li:has(> a[href="/self-hosted-billing/"]),
.popover-menu li:has(> a[href="/integrations/"]),
.popover-menu li:has(> a[href="/api/"]),
.popover-menu li:has(> a[href="/help/"]),
.popover-menu li:has(> a.invite-user-link),
#right-sidebar-container .invite-user-link,
.invite-user-shortcut {
    display: none !important;
}
