@font-face {
  font-family: "Vazirmatn";
  src: url("/assets/Vazirmatn.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --v-ui-font: "Vazirmatn", "Segoe UI", Tahoma, Arial, sans-serif;
  --v-ui-bg: #f4f7fb;
  --v-ui-surface: #ffffff;
  --v-ui-text: #142235;
  --v-ui-muted: #627087;
  --v-ui-border: #d9e1eb;
  --v-ui-primary: #215ee7;
  --v-ui-accent: #12a784;
  --v-ui-success: #11765e;
  --v-ui-warning: #a35c0a;
  --v-ui-danger: #b42318;
  --v-ui-shadow: 0 18px 48px rgba(20,34,53,.09);
}

:root[data-theme="dark"] {
  --v-ui-bg: #0b1422;
  --v-ui-surface: #111f31;
  --v-ui-text: #f4f7fb;
  --v-ui-muted: #afbed0;
  --v-ui-border: #2a3a50;
  --v-ui-primary: #7ea4ff;
  --v-ui-accent: #4dd4b2;
  --v-ui-shadow: 0 18px 48px rgba(0,0,0,.28);
}

html,
body { font-family: var(--v-ui-font); }

button,
input,
select,
textarea { font: inherit; }

body.travel-site { background: var(--v-ui-bg); color: var(--v-ui-text); }
button,input,select,textarea { color: var(--v-ui-text); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--v-ui-primary) 48%, transparent); outline-offset: 3px; }
[dir="rtl"] code,[dir="rtl"] .ltr-value { direction: ltr; text-align: left; unicode-bidi: isolate; }

.platform-shell { padding-block: 48px 72px; }
.platform-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); align-items:center; gap:48px; min-height:520px; }
.platform-eyebrow,.platform-kicker { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:color-mix(in srgb,var(--v-ui-primary) 10%,var(--v-ui-surface)); color:var(--v-ui-primary); font-size:14px; font-weight:800; }
.platform-hero h1,.platform-section h2,.application-card h1 { margin:16px 0; color:var(--v-ui-text); font-size:clamp(34px,5vw,64px); line-height:1.24; letter-spacing:normal; }
.platform-hero p,.platform-section-intro,.platform-card p,.application-card p,.platform-note { color:var(--v-ui-muted); font-size:18px; line-height:2; }
.platform-actions,.platform-inline-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.platform-button,.platform-actions a,.platform-actions button,.platform-inline-actions a,.platform-inline-actions button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding-inline:20px; border:1px solid var(--v-ui-border); border-radius:12px; background:var(--v-ui-surface); color:var(--v-ui-text); font-weight:800; text-decoration:none; cursor:pointer; }
.platform-button.primary,.platform-actions .primary,.platform-inline-actions .primary { border-color:var(--v-ui-primary); background:var(--v-ui-primary); color:#fff; }
.platform-button.accent { border-color:var(--v-ui-accent); background:var(--v-ui-accent); color:#062a21; }
.platform-console { display:grid; gap:12px; padding:20px; border:1px solid color-mix(in srgb,var(--v-ui-primary) 32%,var(--v-ui-border)); border-radius:24px; background:linear-gradient(150deg,color-mix(in srgb,var(--v-ui-primary) 13%,var(--v-ui-surface)),var(--v-ui-surface)); box-shadow:var(--v-ui-shadow); }
.console-head,.console-row,.platform-status-line { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.console-head strong { font-size:18px; }
.console-row { padding:14px; border:1px solid var(--v-ui-border); border-radius:12px; background:var(--v-ui-surface); }
.platform-status { display:inline-flex; align-items:center; gap:6px; color:var(--v-ui-success); font-size:13px; font-weight:800; }
.platform-status::before { width:8px; height:8px; border-radius:50%; background:currentColor; content:""; }
.platform-section { padding-block:64px; }
.platform-section h2 { max-width:820px; font-size:clamp(28px,4vw,46px); }
.platform-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.platform-card,.platform-timeline-item,.application-card,.application-fieldset,.platform-form-card { border:1px solid var(--v-ui-border); border-radius:18px; background:var(--v-ui-surface); box-shadow:var(--v-ui-shadow); }
.platform-card { padding:24px; }
.platform-card strong,.platform-card h3 { display:block; margin-bottom:12px; color:var(--v-ui-text); font-size:20px; }
.platform-card p { margin:0; font-size:16px; }
.platform-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:28px; }
.platform-timeline-item { padding:18px; }
.platform-timeline-item b { color:var(--v-ui-primary); font-size:13px; }
.platform-timeline-item h3 { margin:12px 0 6px; font-size:18px; }
.platform-timeline-item p { margin:0; color:var(--v-ui-muted); line-height:1.8; }
.platform-callout { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:34px; padding:28px; border-radius:24px; background:linear-gradient(135deg,var(--v-ui-primary),#7047d9); color:#fff; }
.platform-callout h2,.platform-callout p { color:#fff; margin:0; }
.platform-callout p { opacity:.84; }
.platform-callout .platform-button { flex:0 0 auto; border-color:#fff; background:#fff; color:#193a98; }
.application-shell { width:min(920px,100%); margin:42px auto 72px; }
.application-card,.platform-form-card { padding:clamp(20px,4vw,40px); }
.application-card h1 { font-size:clamp(30px,4vw,46px); }
.application-form { display:grid; gap:18px; margin-top:28px; }
.application-fieldset { min-width:0; padding:20px; }
.application-fieldset legend { padding-inline:8px; color:var(--v-ui-primary); font-weight:900; }
.application-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.application-fields .wide { grid-column:1 / -1; }
.application-fields label,.platform-form-grid label { display:grid; gap:8px; color:var(--v-ui-text); font-weight:700; }
.application-fields input,.application-fields select,.application-fields textarea,.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--v-ui-border); border-radius:12px; background:var(--v-ui-surface); }
.application-fields textarea,.platform-form-grid textarea { min-height:110px; resize:vertical; }
.application-consent { display:flex; align-items:flex-start; gap:10px; color:var(--v-ui-muted); line-height:1.8; }
.application-consent input { width:18px; height:18px; margin-top:5px; }
.platform-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.platform-form-grid .wide { grid-column:1 / -1; }
.platform-alert { padding:14px 16px; border-radius:12px; background:color-mix(in srgb,var(--v-ui-warning) 12%,var(--v-ui-surface)); color:var(--v-ui-warning); }
.platform-alert.error { background:color-mix(in srgb,var(--v-ui-danger) 10%,var(--v-ui-surface)); color:var(--v-ui-danger); }
@media (max-width:900px) { .platform-hero,.platform-callout { grid-template-columns:1fr; } .platform-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .platform-shell { padding-block:28px 48px; } .platform-hero { gap:28px; min-height:auto; } .platform-grid,.platform-timeline,.application-fields,.platform-form-grid { grid-template-columns:1fr; } .application-fields .wide,.platform-form-grid .wide { grid-column:auto; } .platform-callout { align-items:flex-start; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* 10.10.6: private Travel agency onboarding queue. */
.stats > a.panel { color:var(--text); text-decoration:none; }
.stats > a.panel:hover { border-color:var(--v-ui-primary); }
.detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.detail-list > div { min-width:0; padding:14px; border:1px solid var(--v-ui-border); border-radius:12px; background:color-mix(in srgb,var(--v-ui-primary) 4%,var(--v-ui-surface)); }
.detail-list dt { color:var(--v-ui-muted); font-size:13px; font-weight:800; }
.detail-list dd { min-width:0; margin:7px 0 0; overflow-wrap:anywhere; color:var(--v-ui-text); }
@media (max-width:680px) { .detail-list { grid-template-columns:1fr; } }

/* 10.10.7: footer secondary text meets WCAG AA on the platform surface. */
.travel-footer { color: var(--v-ui-muted); }

/* 10.10.8: modules can extend the admin navigation without widening the page. */
@media (min-width:921px){.admin-header .admin-nav{flex-wrap:wrap;justify-content:flex-start}}

/* 10.10.8: operational tables stay inside the viewport and retain touch/keyboard access. */
.table-wrap { min-width:0; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.table-wrap:focus-visible { outline:3px solid color-mix(in srgb, var(--v-ui-primary) 48%, transparent); outline-offset:3px; }
