/* ===== Академия Greenleaf — фирменный стиль поверх Frappe Learning ===== */

@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/greenleaf_academy/fonts/golos-text-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/greenleaf_academy/fonts/unbounded-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/greenleaf_academy/fonts/unbounded-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/greenleaf_academy/fonts/unbounded-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/greenleaf_academy/fonts/unbounded-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Фирменные цвета Greenleaf (из логотипа):
   #4BAB48 — основной зелёный, #7FBB42 — салатовый лепесток, #87C6E5 — голубой лепесток */
:root{
	--gl-green:#4BAB48;
	--gl-green-dark:#2F7A2C;          /* текст и иконки на светлом фоне */
	--gl-green-hover:#3F9E3C;
	--gl-green-mid:#7FBB42;
	--gl-lime:#7FBB42;
	--gl-sky:#87C6E5;
	--gl-sky-dark:#1D6E93;
	--gl-sky-soft:#EAF5FB;
	--gl-green-soft:#EAF6E8;
	--gl-ink:#17202A;
	--gl-muted:#5B6773;
	--gl-line:#E2E7EC;
	--gl-bg:#F3F5F7;
	--gl-font:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;
	--gl-font-display:Unbounded,'Golos Text',system-ui,sans-serif;
}

/* --- Перекраска системы токенов frappe-ui (светлая тема) --- */
html.gl-brand:not([data-theme="dark"]),
html:not([data-theme="dark"]) body:has(#app){
	--surface-gray-10:#4BAB48;         /* основная кнопка */
	--surface-gray-9:#3F9E3C;          /* наведение */
	--surface-gray-8:#358A33;          /* нажатие */
	--surface-sidebar:#FFFFFF;
	--surface-menu-bar:#FFFFFF;
	--surface-selected:#E8F5E6;
	--ink-gray-9:#17202A;
	--ink-gray-8:#1F2A35;
	--ink-gray-7:#33404D;
	--ink-gray-6:#4A5663;
	--ink-gray-5:#5B6773;
	--outline-gray-2:#E2E7EC;
	--outline-gray-3:#D5DCE3;
}

html.gl-brand body,
html.gl-brand #app{font-family:var(--gl-font)}
html.gl-brand #app button,
html.gl-brand #app input,
html.gl-brand #app textarea,
html.gl-brand #app select{font-family:inherit}

/* --- Видео внешних хостингов в уроке --- */
.gl-video{position:relative;width:100%;aspect-ratio:16/9;margin:12px 0 20px;border-radius:14px;overflow:hidden;background:#111A14;box-shadow:0 1px 2px rgba(23,32,42,.08)}
.gl-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:640px){.gl-video{border-radius:0;margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}}

/* --- Анонс вебинара --- */
.gl-webinar{margin:12px 8px;padding:14px 16px;border-radius:12px;background:var(--gl-sky-soft);border:1px solid #CFE8F5;display:flex;flex-direction:column;gap:6px;font-family:var(--gl-font)}
.gl-webinar__title{font-size:13px;font-weight:600;color:var(--gl-sky-dark)}
.gl-webinar__text{font-size:13px;line-height:1.4;color:#24495C}
.gl-webinar__link{font-size:13px;font-weight:600;color:var(--gl-sky-dark);text-decoration:underline}
html[data-theme="dark"] .gl-webinar{background:#14303d;border-color:#1f4a5e}
html[data-theme="dark"] .gl-webinar__title,html[data-theme="dark"] .gl-webinar__link{color:var(--gl-sky)}
html[data-theme="dark"] .gl-webinar__text{color:#d5ebf6}

/* --- Прогресс курса — фирменным зелёным --- */
html.gl-brand .bg-surface-gray-3.rounded-full > .bg-surface-gray-10.rounded-full,
html.gl-brand .rounded-full > .bg-surface-gray-10{background:linear-gradient(90deg,var(--gl-green),var(--gl-lime))!important}

/* --- Боковое меню --- */
html.gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3{background:var(--gl-green-soft);box-shadow:none}
html.gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3 span.truncate{color:var(--gl-green-dark);font-weight:600}
html.gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3 svg{color:var(--gl-green)}
html[data-theme="dark"].gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3{background:#1d3324}
html[data-theme="dark"].gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3 span.truncate,
html[data-theme="dark"].gl-brand .bg-surface-sidebar nav > button.bg-surface-elevation-3 svg{color:#7fd68f}

/* --- Страницы сайта Frappe: вход, сброс пароля --- */
body[data-path="login"],
body[data-path="update-password"]{
	font-family:var(--gl-font);
	--surface-gray-10:#4BAB48;
	--surface-gray-9:#3F9E3C;
	--surface-gray-8:#358A33;
	background:#F3F5F7;
}
body[data-path="login"] h4,
body[data-path="update-password"] h4{font-family:var(--gl-font-display);font-weight:600;letter-spacing:-.01em}
body[data-path="login"] .page-card,
body[data-path="login"] .login-content{background:#fff;border-radius:18px}

/* --- Логотип Greenleaf вместо значка Frappe Learning (без изменения DOM) --- */
html.gl-brand svg:has(> path[fill="#0E7159"]){background:url(/assets/greenleaf_academy/images/logo-mark.svg) center/contain no-repeat}
html.gl-brand svg:has(> path[fill="#0E7159"]) > path{display:none}

/* Ссылка «На главную» на странице входа */
.gl-back{position:fixed;top:20px;left:24px;z-index:10;display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 10px;border-radius:10px;background:#fff;border:1px solid #DCE5D8;color:#1F3B1E;font:600 14px/1 var(--gl-font,'Golos Text',sans-serif);text-decoration:none}
.gl-back:hover{border-color:#4BAB48;color:#2F7A2C}
.gl-back:focus-visible{outline:3px solid #87C6E5;outline-offset:2px}
body[data-path="login"] .page-card-head > a{display:block;align-self:stretch}
@media (max-width:640px){.gl-back{position:static;margin:16px 16px 0}}

/* --- Нижнее меню на телефоне: только значки, ровно в линию --- */
html.gl-brand nav.pb-safe-0 > button{min-height:60px;padding:0 2px!important;justify-content:center!important;gap:0!important}
html.gl-brand nav.pb-safe-0 > button > span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
html.gl-brand nav.pb-safe-0 > button > svg{width:24px!important;height:24px!important;padding:4px 16px;box-sizing:content-box;border-radius:16px;color:#6B7785}
html.gl-brand nav.pb-safe-0 > button[aria-current="page"] > svg{background:var(--gl-green-soft);color:var(--gl-green-dark)}
html[data-theme="dark"].gl-brand nav.pb-safe-0 > button[aria-current="page"] > svg{background:#1d3324;color:#7fd68f}
html.gl-brand nav.pb-safe-0 > button > div{width:30px!important;height:30px!important}

/* Шапка меню LMS: название и имя в одну строку, без вылезания за рамку */
button.h-12 > .flex-1.flex-col{min-width:0;overflow:hidden}
button.h-12 > .flex-1.flex-col > div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
