﻿/* Gazki brand (colours from gazki.tube): navy #1f2c35, gold #dfb63a. Loaded after the design kit, overrides its accent. */
:root {
  --brand-navy: #1f2c35;
  --brand-gold: #dfb63a;
  --primary: #dfb63a; --primary-hover: #cfa630; --primary-active: #be9929;
  --on-primary: #1f2c35;                       /* navy text on gold: readable (white on gold is not) */
  --primary-soft: #fbf4dd; --accent-100: #f5e6b5; --primary-soft-fg: #6b5410;
  --primary-ring: rgba(223, 182, 58, .35);
  --link: #8a6a10; --link-hover: #6b5410;      /* darker gold: enough contrast on white */
}
:root[data-theme="dark"] {
  --primary: #dfb63a; --primary-hover: #e8c55a; --primary-active: #cfa630;
  --on-primary: #1f2c35;
  --primary-ring: rgba(223, 182, 58, .4);
  --primary-soft: #3a3320; --accent-100: #4a4026; --primary-soft-fg: #f0d47a;
  --link: #e8c55a; --link-hover: #f3d77f;
}
a { color: var(--link); }
a:hover { color: var(--link-hover); }
input[type="checkbox"]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2c35' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

/* Logo: navy version on light backgrounds, white version on dark ones. */
.brand-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--text); text-decoration: none; }
.brand-logo:hover { text-decoration: none; color: var(--text); }
.brand-logo img { height: 30px; width: auto; max-width: 220px; object-fit: contain; display: block; }   /* an uploaded logo takes the same place */
.brand-logo .logo-white { display: none; }
:root[data-theme="dark"] .brand-logo .logo-navy, .brand-logo.on-dark .logo-navy { display: none; }
:root[data-theme="dark"] .brand-logo .logo-white, .brand-logo.on-dark .logo-white { display: block; }
.brand-logo .product { font-weight: 700; font-size: .9375rem; padding-left: 12px; border-left: 1px solid var(--border-strong); }
.brand-logo.on-dark, .brand-logo.on-dark:hover { color: #fff; }
.brand-logo.on-dark .product { border-color: rgba(255, 255, 255, .3); }

/* Busy state: spinner inside the button, label stays (so the button keeps its width). */
.btn.is-busy { cursor: progress; }

/* Page-level waiting (app start, auth check, confirm link). */
.wait { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 48px 16px; color: var(--text-muted); }
.wait.inline { justify-content: flex-start; padding: 0; margin-bottom: var(--s4); }
