/* GrowUpCRM: značka na webových stránkách Frappe (přihlášení, reset hesla, chybové stránky).
   Liquid Glass · Indigo, barvy shodné s theme.css ve forku. */
:root {
	--growup-brand: #4f46e5;
	--growup-brand-hover: #3b30b8;
	--growup-brand-active: #3730a3;
}

body:not(.app-bg) {
	background:
		radial-gradient(900px 600px at 8% 0%, rgba(99, 102, 241, .16), transparent 60%),
		radial-gradient(800px 560px at 100% 10%, rgba(139, 92, 246, .10), transparent 58%),
		#eef0fb !important;
	font-family: Inter, system-ui, sans-serif;
}
body { font-family: Inter, system-ui, sans-serif; }

.page-card,
.for-login .page-card,
.login-content.page-card {
	background: rgba(255, 255, 255, .66) !important;
	backdrop-filter: blur(26px) saturate(170%);
	-webkit-backdrop-filter: blur(26px) saturate(170%);
	border: 1px solid rgba(255, 255, 255, .8) !important;
	border-radius: 26px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), 0 24px 60px -28px rgba(40, 40, 120, .35) !important;
}

.form-control {
	border-radius: 12px !important;
	background: rgba(255, 255, 255, .7) !important;
	border: 1px solid #8a90ae !important;
}

.form-control:focus {
	border-color: var(--growup-brand) !important;
	box-shadow: 0 0 0 3px rgba(79, 70, 229, .18) !important;
}

.btn-primary,
.btn-login,
.btn-forgot,
.btn-signup {
	background: linear-gradient(180deg, #6366f1, #4f46e5) !important;
	border-color: var(--growup-brand) !important;
	color: #fff !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 20px -10px rgba(79, 70, 229, .7);
}

.btn-primary:hover,
.btn-login:hover,
.btn-forgot:hover,
.btn-signup:hover {
	background: var(--growup-brand-hover) !important;
	border-color: var(--growup-brand-hover) !important;
}

.btn-primary:active,
.btn-login:active {
	background: var(--growup-brand-active) !important;
}

/* Přihlášení pomocí e-mailového odkazu je vedlejší akce, ne primární */
.btn-login-with-email-link {
	background: transparent !important;
	border-color: var(--border-color, #e2e2e2) !important;
	color: inherit !important;
	box-shadow: none;
}

a,
.text-muted a:hover {
	--link-color: var(--growup-brand);
}

.page-card .app-logo,
.app-logo {
	width: auto;
	height: 44px;
	border-radius: 0;
}

::selection {
	background: #c7d2fe;
}

/* ---------- Přihlášení, reset hesla (design 2. kolo, C10) ---------- */
section.for-login,
section.for-forgot,
section.for-email-login,
section.for-login-with-email-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 9vh;
}

.gu-brand {
	display: flex;
	justify-content: center;
	margin-bottom: 22px;
}
.gu-brand .app-logo {
	height: 48px;
	width: auto;
	border-radius: 0;
}
section .page-card-head .app-logo { display: none; }
.gu-brand .app-logo { display: block; }

.login-content.page-card {
	max-width: 420px;
	width: calc(100% - 32px);
	padding: 32px 30px 26px;
	border-radius: 30px !important;
}
.page-card-head { text-align: left; padding: 0; margin-bottom: 14px; }
.page-card-head h4 { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: #0e1330; margin: 0 0 4px; }
.page-card-subtitle { color: #3d4466; font-size: 15px; margin: 0; }

.form-label, .login-content label {
	font-size: 12.5px;
	font-weight: 700;
	color: #3d4466;
}
.login-content .form-control {
	height: 46px;
	border-radius: 14px !important;
	font-size: 15px;
}
.btn-login, .btn-forgot {
	height: 52px;
	font-size: 17px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
}
.btn-login-with-email-link {
	height: 46px;
	border-radius: 999px !important;
	font-weight: 600 !important;
	background: rgba(255, 255, 255, .85) !important;
}
.forgot-password-message { text-align: right; margin: 8px 0 0; }
.forgot-password-message a, .login-content a { color: #4f46e5; font-weight: 700; }

.gu-foot {
	margin-top: 18px;
	text-align: center;
	font-size: 12.5px;
	color: #5b6285;
}
.gu-foot a { color: #5b6285 !important; font-weight: 500; text-decoration: underline; }


/* pozadí „hedvábí“ (stejné jako ve forku, styles/pozadi-hedvabi.css); třídu app-bg přidává web.js, veřejné odhlášení ji nemá */
/* =====================================================================
   GrowUpCRM – pozadí „hedvábí“ (2. kolo, verze 2b)
   Celé v kódu: vlny jsou SVG zapsané přímo v CSS, žádný soubor obrázku.
   Použití: třída .app-bg na kořenovém prvku layoutu (desktop i mobil).
   ===================================================================== */

.app-bg {
  position: relative;
  min-height: 100vh;
  background-color: #E4E1FF;      /* záloha, než se vlny vykreslí */
  isolation: isolate;
}

/* Vlny jsou na samostatné pevné vrstvě (ne background-attachment: fixed –
   to Safari na iPhonu ignoruje). Obsah se posouvá přes ně jako přes tapetu. */
.app-bg::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%20900%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g0%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FFFFFF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23B9C2F6%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23B9C2F6%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f0%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2234%22/%3E%3C/filter%3E%3ClinearGradient%20id%3D%22g1%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23F7F3FF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23C8BDF4%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23C8BDF4%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f1%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2240%22/%3E%3C/filter%3E%3ClinearGradient%20id%3D%22g2%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FFFFFF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23AFBDF5%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23AFBDF5%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f2%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2230%22/%3E%3C/filter%3E%3ClinearGradient%20id%3D%22g3%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FBFAFF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23C2CCFA%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23C2CCFA%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f3%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2226%22/%3E%3C/filter%3E%3ClinearGradient%20id%3D%22g4%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FFFFFF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23CFC6F8%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23CFC6F8%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f4%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2236%22/%3E%3C/filter%3E%3ClinearGradient%20id%3D%22g5%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%22.3%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23F4F0FF%22/%3E%3Cstop%20offset%3D%22.3%22%20stop-color%3D%22%23D3CCFA%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23D3CCFA%22%20stop-opacity%3D%22.25%22/%3E%3C/linearGradient%3E%3Cfilter%20id%3D%22f5%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2244%22/%3E%3C/filter%3E%3Cfilter%20id%3D%22sh%22%20x%3D%22-20%25%22%20y%3D%22-20%25%22%20width%3D%22140%25%22%20height%3D%22140%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2230%22/%3E%3C/filter%3E%3Cfilter%20id%3D%22h%22%20x%3D%22-10%25%22%20y%3D%22-10%25%22%20width%3D%22120%25%22%20height%3D%22120%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%229%22/%3E%3C/filter%3E%3CradialGradient%20id%3D%22glow%22%20cx%3D%22.78%22%20cy%3D%22.22%22%20r%3D%22.5%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FFFFFF%22%20stop-opacity%3D%22.7%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FFFFFF%22%20stop-opacity%3D%220%22/%3E%3C/radialGradient%3E%3ClinearGradient%20id%3D%22bgl%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23D9D1FF%22/%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23E7E4FF%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23D8E1FF%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width%3D%221440%22%20height%3D%22900%22%20fill%3D%22url%28%23bgl%29%22/%3E%3Cpath%20d%3D%22M1700%20-100%20C%201300%2060%2C%201180%20300%2C%20940%20420%20S%20420%20520%2C%20-200%20980%20L1700%201300Z%22%20fill%3D%22url%28%23g0%29%22%20opacity%3D%220.95%22%20filter%3D%22url%28%23f0%29%22/%3E%3Cpath%20d%3D%22M-200%20300%20C%20120%20180%2C%20360%20160%2C%20560%20260%20S%20860%20420%2C%201040%20300%20L1700%201300%20L-200%201300Z%22%20fill%3D%22url%28%23g1%29%22%20opacity%3D%220.85%22%20filter%3D%22url%28%23f1%29%22/%3E%3Cpath%20d%3D%22M200%201000%20C%20380%20760%2C%20560%20640%2C%20820%20620%20S%201260%20520%2C%201700%20320%20L1700%201300%20L-200%201300Z%22%20fill%3D%22url%28%23g2%29%22%20opacity%3D%220.9%22%20filter%3D%22url%28%23f2%29%22/%3E%3Cpath%20d%3D%22M900%201100%20C%201060%20900%2C%201200%20800%2C%201400%20760%20S%201620%20740%2C%201700%20760%20L1700%201300%20L-200%201300Z%22%20fill%3D%22url%28%23g3%29%22%20opacity%3D%220.9%22%20filter%3D%22url%28%23f3%29%22/%3E%3Cpath%20d%3D%22M-200%20820%20C%2040%20760%2C%20200%20790%2C%20330%20900%20S%20460%201100%2C%20520%201100%20L1700%201300%20L-200%201300Z%22%20fill%3D%22url%28%23g4%29%22%20opacity%3D%220.8%22%20filter%3D%22url%28%23f4%29%22/%3E%3Cpath%20d%3D%22M-200%2080%20C%20300%20-20%2C%20700%20120%2C%201000%2040%20S%201500%20-60%2C%201700%2040%20L1700%201300%20L-200%201300Z%22%20fill%3D%22url%28%23g5%29%22%20opacity%3D%220.7%22%20filter%3D%22url%28%23f5%29%22/%3E%3Cpath%20d%3D%22M1700%20-100%20C%201300%2060%2C%201180%20300%2C%20940%20420%20S%20420%20520%2C%20-200%20980%22%20fill%3D%22none%22%20stroke%3D%22%237F86D9%22%20stroke-opacity%3D%22.38%22%20stroke-width%3D%2270%22%20transform%3D%22translate%280%2046%29%22%20filter%3D%22url%28%23sh%29%22/%3E%3Cpath%20d%3D%22M200%201000%20C%20380%20760%2C%20560%20640%2C%20820%20620%20S%201260%20520%2C%201700%20320%22%20fill%3D%22none%22%20stroke%3D%22%237F86D9%22%20stroke-opacity%3D%22.38%22%20stroke-width%3D%2270%22%20transform%3D%22translate%280%2046%29%22%20filter%3D%22url%28%23sh%29%22/%3E%3Cpath%20d%3D%22M900%201100%20C%201060%20900%2C%201200%20800%2C%201400%20760%20S%201620%20740%2C%201700%20760%22%20fill%3D%22none%22%20stroke%3D%22%237F86D9%22%20stroke-opacity%3D%22.38%22%20stroke-width%3D%2270%22%20transform%3D%22translate%280%2046%29%22%20filter%3D%22url%28%23sh%29%22/%3E%3Cpath%20d%3D%22M1700%20-100%20C%201300%2060%2C%201180%20300%2C%20940%20420%20S%20420%20520%2C%20-200%20980%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%2210%22%20filter%3D%22url%28%23h%29%22/%3E%3Cpath%20d%3D%22M200%201000%20C%20380%20760%2C%20560%20640%2C%20820%20620%20S%201260%20520%2C%201700%20320%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%2210%22%20filter%3D%22url%28%23h%29%22/%3E%3Cpath%20d%3D%22M900%201100%20C%201060%20900%2C%201200%20800%2C%201400%20760%20S%201620%20740%2C%201700%20760%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%2210%22%20filter%3D%22url%28%23h%29%22/%3E%3Crect%20width%3D%221440%22%20height%3D%22900%22%20fill%3D%22url%28%23glow%29%22/%3E%3C/svg%3E") center / cover no-repeat;
}

/* Mobil: posunout výřez tak, aby šikmé záhyby šly přes obrazovku */
@media (max-width: 600px) {
  .app-bg::before { background-position: 62% center; }
}

/* Uživatel si v systému vypnul průhlednost → klidné jednobarevné pozadí */
@media (prefers-reduced-transparency: reduce) {
  .app-bg::before { background: linear-gradient(180deg, #ECEAFF, #E6ECFF); }
}

/* Tisk bez pozadí */
@media print {
  .app-bg::before { display: none; }
}
