/*
 * KurdVisa Appearance System v12.33
 * Final semantic-token layer loaded after app.css/design-v13/admin-v14.
 * It makes administrator branding authoritative, removes old green/navy islands,
 * and gives visitors an optional local appearance palette without mutating brand data.
 */
:root{
  --kv-brand-base:#0a2f74;
  --kv-brand-2-base:#1e6bd6;
  --kv-accent-base:#00a6b8;
  --kv-ink-base:#142033;
  --kv-surface-base:#f6f9ff;
  --ui-primary:var(--kv-brand-base);
  --ui-secondary:var(--kv-brand-2-base);
  --ui-accent:var(--kv-accent-base);
  --ui-deep:color-mix(in srgb,var(--ui-primary) 72%,#06111f);
  --ui-deep-2:color-mix(in srgb,var(--ui-primary) 54%,#06111f);
  --ui-on-deep:#f8fbff;
  --kv-font-display:var(--kv-font-latin);
  --kv-button-radius:14px;
  --kv-control-radius:13px;
  --kv-card-radius:20px;

  /* Administrator brand settings flow into every legacy semantic token. */
  --kv-brand:var(--ui-primary);
  --kv-brand-2:var(--ui-secondary);
  --kv-brand-3:var(--ui-deep);
  --kv-gold:var(--ui-accent);
  --kv-gold-2:color-mix(in srgb,var(--ui-accent) 72%,#ffffff);
  --kv-brand-soft:color-mix(in srgb,var(--ui-primary) 9%,#ffffff);
  --kv-gold-soft:color-mix(in srgb,var(--ui-accent) 10%,#ffffff);
  --kv-info:var(--ui-secondary);
  --kv-bg:color-mix(in srgb,var(--kv-surface-base) 32%,#ffffff);
  --kv-bg-soft:color-mix(in srgb,var(--kv-surface-base) 48%,#f0f5fb);
  --kv-surface:#ffffff;
  --kv-surface-soft:color-mix(in srgb,var(--kv-surface-base) 24%,#ffffff);
  --kv-surface-strong:color-mix(in srgb,var(--ui-primary) 7%,#ffffff);
  --kv-ink:var(--kv-ink-base);
  --kv-ink-2:color-mix(in srgb,var(--kv-ink-base) 88%,#24405f);
  --kv-muted:color-mix(in srgb,var(--kv-ink-base) 60%,#8190a4);
  --kv-muted-2:color-mix(in srgb,var(--kv-ink-base) 44%,#9aa6b5);
  --kv-line:color-mix(in srgb,var(--ui-primary) 12%,#e5eaf0);
  --kv-line-strong:color-mix(in srgb,var(--ui-primary) 19%,#d9e0e9);

  --bg:var(--kv-bg);--surface:var(--kv-surface);--surface-2:var(--kv-bg-soft);--surface-3:var(--kv-surface-strong);
  --surface-elevated:var(--kv-surface);--text:var(--kv-ink);--muted:var(--kv-muted);--line:var(--kv-line);--border:var(--kv-line);
  --primary:var(--kv-brand);--primary-2:var(--kv-brand-2);--primary-soft:var(--kv-brand-soft);--accent:var(--kv-gold);--accent-soft:var(--kv-gold-soft);
  --brand-ink:var(--kv-brand-3);--brand-navy:var(--kv-brand-3);--brand-navy-2:var(--ui-deep-2);
  --radius-sm:var(--kv-control-radius);--radius:var(--kv-card-radius);--radius-lg:calc(var(--kv-card-radius) + 8px);
  --focus-ring:0 0 0 4px color-mix(in srgb,var(--ui-primary) 20%,transparent);
}

html[data-palette="ocean"]{--ui-primary:#075985;--ui-secondary:#0284c7;--ui-accent:#06b6d4}
html[data-palette="emerald"]{--ui-primary:#0f766e;--ui-secondary:#0d9488;--ui-accent:#14b8a6}
html[data-palette="royal"]{--ui-primary:#5b21b6;--ui-secondary:#7c3aed;--ui-accent:#a855f7}
html[data-palette="rose"]{--ui-primary:#9f1239;--ui-secondary:#be123c;--ui-accent:#e11d48}
html[data-palette="graphite"]{--ui-primary:#334155;--ui-secondary:#475569;--ui-accent:#64748b}

html[data-theme="dark"]{
  --ui-on-deep:#f6f9ff;
  --kv-bg:#07111f;
  --kv-bg-soft:#0b192b;
  --kv-surface:#0d1d31;
  --kv-surface-soft:#10243c;
  --kv-surface-strong:#16304f;
  --kv-ink:#edf4ff;
  --kv-ink-2:#d9e6f6;
  --kv-muted:#9fb1c8;
  --kv-muted-2:#8296ad;
  --kv-line:#263d5a;
  --kv-line-strong:#365475;
  --kv-brand:color-mix(in srgb,var(--ui-primary) 58%,#b7d7ff);
  --kv-brand-2:color-mix(in srgb,var(--ui-secondary) 64%,#9fcaff);
  --kv-brand-3:color-mix(in srgb,var(--ui-primary) 34%,#030d19);
  --kv-gold:color-mix(in srgb,var(--ui-accent) 68%,#b8f2ff);
  --kv-gold-2:color-mix(in srgb,var(--ui-accent) 46%,#ffffff);
  --kv-brand-soft:color-mix(in srgb,var(--kv-brand) 15%,#0d1d31);
  --kv-gold-soft:color-mix(in srgb,var(--kv-gold) 14%,#0d1d31);
  --kv-ink-base:#edf4ff;
  --ui-deep:color-mix(in srgb,var(--ui-primary) 30%,#030d19);
  --ui-deep-2:color-mix(in srgb,var(--ui-primary) 22%,#030b16);
  --primary:var(--kv-brand);--primary-2:var(--kv-brand-2);--primary-soft:var(--kv-brand-soft);
  --text:var(--kv-ink);--muted:var(--kv-muted);--line:var(--kv-line);--surface:var(--kv-surface);--surface-2:var(--kv-bg-soft);--bg:var(--kv-bg);
}

/* Administrator-selectable typography. No remote fonts or render-blocking requests. */
html[data-font="modern"]{--kv-font-latin:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
html[data-font="humanist"]{--kv-font-latin:Aptos,"Segoe UI Variable","Segoe UI",Candara,Calibri,Arial,sans-serif}
html[data-font="classic"]{--kv-font-latin:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--kv-font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
html[data-font="classic"] :is(h1,h2,h3,h4,h5,h6,.ui-title-xl,.ui-title-section,.ui-title-card){font-family:var(--kv-font-display);letter-spacing:-.025em}

/* Administrator-selectable geometry. Balanced is the redesigned default. */
html[data-shape="balanced"]{--kv-button-radius:14px;--kv-control-radius:13px;--kv-card-radius:20px}
html[data-shape="compact"]{--kv-button-radius:10px;--kv-control-radius:10px;--kv-card-radius:14px}
html[data-shape="rounded"]{--kv-button-radius:999px;--kv-control-radius:18px;--kv-card-radius:26px}

/* Logo system: consistent optical size rather than raw image dimensions. */
.brand-logo-image{display:block;width:auto;height:48px;max-width:min(100%,215px);object-fit:contain;object-position:center}
.footer-brand .brand-logo-image{height:56px;max-width:240px}
.admin-login-logo{height:62px;max-width:270px}
.admin-topbar .admin-brand-logo{height:44px;max-width:212px;filter:none}
.brand-logo-link{border-radius:12px}
.brand-logo-link:focus-visible{outline:3px solid color-mix(in srgb,var(--kv-brand) 62%,#fff);outline-offset:4px}

/* Buttons: less pill-heavy, clearer hierarchy, stronger focus and disabled states. */
.btn,.menu-toggle,.appearance-toggle,.icon-action,.account-chip{border-radius:var(--kv-button-radius)}
.btn{min-height:48px;padding-inline:1.15rem;font-weight:760;letter-spacing:-.006em}
.btn-primary{background:linear-gradient(135deg,var(--kv-brand),var(--kv-brand-2));color:#fff;border-color:color-mix(in srgb,var(--kv-brand) 78%,#000);box-shadow:0 9px 22px color-mix(in srgb,var(--ui-primary) 20%,transparent)}
html[data-theme="dark"] .btn-primary{color:#07111f;border-color:color-mix(in srgb,var(--kv-brand) 65%,#fff)}
.btn-primary:hover{box-shadow:0 13px 30px color-mix(in srgb,var(--ui-primary) 27%,transparent)}
.btn-secondary{background:color-mix(in srgb,var(--kv-surface) 94%,transparent);border-color:var(--kv-line-strong)}
.btn:focus-visible,.menu-toggle:focus-visible,.appearance-toggle:focus-visible,.appearance-panel button:focus-visible,.form-control:focus-visible{outline:0;box-shadow:var(--focus-ring)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none}
.form-control,select.form-control,textarea.form-control,.select-wrap select,.check-card{border-radius:var(--kv-control-radius)}
.panel,.auth-card,.tracking-result,.info-card,.step-card,.faq-item,.service-card,.country-card{border-radius:var(--kv-card-radius)}

/* Remove legacy green/isolated color islands so every major shell follows the chosen palette. */
.top-strip,.admin-topbar,.site-footer{background:linear-gradient(180deg,var(--ui-deep),var(--ui-deep-2))}
.mega-intro,.hero-premium,.campaign-panel,.account-hero,.customer-command-center{background:linear-gradient(135deg,var(--ui-deep),color-mix(in srgb,var(--ui-primary) 72%,var(--ui-deep-2)))}
.office-card-erbil,.office-card-hamburg,.office-card{background:linear-gradient(145deg,var(--ui-deep),var(--ui-deep-2))}
.admin-login-brand-panel{background:radial-gradient(circle at 18% 16%,color-mix(in srgb,var(--ui-accent) 18%,transparent),transparent 30rem),radial-gradient(circle at 82% 78%,color-mix(in srgb,var(--ui-secondary) 18%,transparent),transparent 34rem),linear-gradient(145deg,var(--ui-deep-2),var(--ui-deep))}
.admin-login-shell{background:var(--ui-deep-2)}
.admin-nav-wrap{background:linear-gradient(180deg,var(--ui-deep),var(--ui-deep-2))}
.admin-topbar .brand-mark,.admin-customer-avatar{background:linear-gradient(145deg,var(--kv-brand),var(--kv-brand-2))}
.admin-progress>span,.finance-payment-progress>span,.admin-capacity-bar>span,.invoice-admin-progress i b,.invoice-collection-progress i b{background:linear-gradient(90deg,var(--kv-brand),var(--kv-brand-2))}
.admin-score-ring{background:conic-gradient(var(--kv-brand) calc(var(--score)*1%),color-mix(in srgb,var(--kv-brand) 12%,transparent) 0)}
.hero-premium,.campaign-panel,.account-hero,.customer-command-center,.site-footer,.admin-topbar,.admin-login-brand-panel{color:var(--ui-on-deep)}

/* Header and layout polish. */
.site-header{background:color-mix(in srgb,var(--kv-surface) 90%,transparent);backdrop-filter:blur(22px) saturate(145%)}
.nav-inner{min-height:78px}
.nav-primary>a,.nav-mega-trigger{border-radius:12px}
.nav-primary>a.active,.nav-mega.active>.nav-mega-trigger{background:var(--kv-brand-soft);color:var(--kv-brand)}
.section{padding-block:clamp(64px,6.8vw,104px)}
.section-header{margin-bottom:clamp(26px,3.6vw,44px)}
.panel,.service-card,.country-card,.info-card{box-shadow:0 1px 2px rgba(5,18,35,.03),0 10px 30px color-mix(in srgb,var(--ui-primary) 6%,transparent)}
@media (hover:hover){.service-card:hover,.country-card:hover,.info-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--kv-brand) 24%,var(--kv-line));box-shadow:0 16px 38px color-mix(in srgb,var(--ui-primary) 10%,transparent)}}
table{border-color:var(--kv-line)}
th{color:var(--kv-ink);font-weight:760}
tbody tr:hover{background:color-mix(in srgb,var(--kv-brand) 4%,var(--kv-surface))}

/* Appearance chooser. */
.appearance-shell{position:relative;display:inline-flex;z-index:130}
.appearance-toggle{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:inherit;font-size:.76rem;font-weight:720}
.appearance-toggle:hover{background:rgba(255,255,255,.14)}
.appearance-panel{position:fixed;z-index:1000;inset-block-start:44px;inset-inline-end:16px;width:min(360px,calc(100vw - 24px));padding:16px;border:1px solid var(--kv-line);border-radius:20px;background:color-mix(in srgb,var(--kv-surface) 96%,transparent);color:var(--kv-ink);box-shadow:0 24px 80px rgba(4,17,31,.22);backdrop-filter:blur(24px) saturate(140%)}
.appearance-panel[hidden]{display:none!important}
.appearance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--kv-line)}
.appearance-panel-head>div{display:grid;gap:2px}.appearance-panel-head strong{font-size:1rem;color:var(--kv-ink)}
.appearance-kicker{font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--kv-muted)}
.appearance-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--kv-line);border-radius:10px;background:var(--kv-surface-soft);color:var(--kv-ink);font-size:1.25rem;line-height:1}
.appearance-section{padding-top:14px}.appearance-section-title{display:block;margin-bottom:9px;color:var(--kv-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.065em}
.appearance-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.appearance-mode-grid button,.appearance-palette{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid var(--kv-line);border-radius:12px;background:var(--kv-surface-soft);color:var(--kv-ink);font-size:.76rem;font-weight:720}
.appearance-mode-grid button[aria-pressed="true"],.appearance-palette[aria-pressed="true"]{border-color:color-mix(in srgb,var(--kv-brand) 55%,var(--kv-line));background:var(--kv-brand-soft);color:var(--kv-brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--kv-brand) 22%,transparent)}
.appearance-mode-icon{font-size:.74rem;font-weight:900;letter-spacing:-.04em}.appearance-moon{width:15px;height:15px;border-radius:50%;box-shadow:-5px 0 0 0 currentColor;transform:translateX(3px)}
.appearance-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.appearance-palette{justify-content:flex-start;min-width:0}.appearance-palette>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.appearance-swatch{flex:none;width:27px;height:27px;border-radius:9px;background:linear-gradient(135deg,var(--swatch-a),var(--swatch-b));box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 2px 6px rgba(0,0,0,.09)}
.appearance-palette[data-appearance-palette="brand"] .appearance-swatch{--swatch-a:var(--kv-brand-base);--swatch-b:var(--kv-brand-2-base)}
.appearance-palette[data-appearance-palette="ocean"] .appearance-swatch{--swatch-a:#075985;--swatch-b:#0284c7}
.appearance-palette[data-appearance-palette="emerald"] .appearance-swatch{--swatch-a:#0f766e;--swatch-b:#14b8a6}
.appearance-palette[data-appearance-palette="royal"] .appearance-swatch{--swatch-a:#5b21b6;--swatch-b:#7c3aed}
.appearance-palette[data-appearance-palette="rose"] .appearance-swatch{--swatch-a:#9f1239;--swatch-b:#e11d48}
.appearance-palette[data-appearance-palette="graphite"] .appearance-swatch{--swatch-a:#334155;--swatch-b:#64748b}
.appearance-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--kv-line)}
.appearance-panel-foot small{max-width:190px;color:var(--kv-muted);font-size:.68rem;line-height:1.35}.appearance-reset{border:0;background:transparent;color:var(--kv-brand);font-size:.72rem;font-weight:800}
.admin-topbar .appearance-shell{width:100%}.admin-topbar .appearance-toggle{width:100%;justify-content:flex-start;min-height:40px;padding-inline:11px;border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.055);color:#eaf3ff}
.admin-topbar .appearance-toggle:hover{background:rgba(255,255,255,.10)}

@media(max-width:1320px){
  .admin-topbar .appearance-shell{width:auto;margin-inline-start:auto}.admin-topbar .appearance-toggle{width:42px;min-height:42px;padding:0;justify-content:center}.admin-topbar .appearance-toggle-label{display:none}.admin-menu-toggle{margin-inline-start:0!important}
}
@media(max-width:760px){
  .brand-logo-image{height:42px;max-width:188px}.footer-brand .brand-logo-image{height:48px}.admin-login-logo{height:52px}
  .appearance-toggle-label{display:none}.appearance-toggle{width:34px;padding:0}.appearance-panel{inset-block-start:38px;inset-inline:12px;width:auto}
  .appearance-palette-grid{grid-template-columns:1fr 1fr}.appearance-panel-foot{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.service-card,.country-card,.info-card,.btn{transition:none!important;transform:none!important}}
