@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-serif: 'Playfair Display', ui-serif, Georgia, serif;
    --font-mono: 'JetBrains Mono', ui-monospace, monospace;
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: #94A3B8;
    --color-slate-500: #64748B;
    --color-slate-600: #46536B;
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
    --animate-spin: spin 1s linear infinite;
    --blur-sm: 8px;
    --blur-xl: 24px;
    --blur-2xl: 40px;
    --blur-3xl: 64px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-navy-950: #071328;
    --color-navy-900: #0A1F3D;
    --color-navy-800: #123258;
    --color-navy-700: #1B4272;
    --color-porcelain: #F6F7F9;
    --color-hairline: #E3E7EE;
    --color-gold-600: #A87C2A;
    --color-gold-500: #C89B3C;
    --color-gold-400: #DDBB6B;
    --color-gold-100: #FBF3E1;
    --color-verify-green: #157F4A;
    --color-verify-green-bg: #E9F6EF;
    --color-verify-red: #B4232C;
    --color-verify-red-bg: #FBEAEA;
    --color-verify-amber: #B37311;
    --color-verify-amber-bg: #FDF3E2;
    --font-display: 'Sora', ui-sans-serif, system-ui, sans-serif;
    --font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-2 {
    inset: calc(var(--spacing) * 2);
  }
  .inset-6 {
    inset: calc(var(--spacing) * 6);
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }
  .-top-1 {
    top: calc(var(--spacing) * -1);
  }
  .-top-8 {
    top: calc(var(--spacing) * -8);
  }
  .-top-24 {
    top: calc(var(--spacing) * -24);
  }
  .-top-32 {
    top: calc(var(--spacing) * -32);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1 {
    top: calc(var(--spacing) * 1);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-3 {
    top: calc(var(--spacing) * 3);
  }
  .top-6 {
    top: calc(var(--spacing) * 6);
  }
  .top-28 {
    top: calc(var(--spacing) * 28);
  }
  .top-full {
    top: 100%;
  }
  .-right-1 {
    right: calc(var(--spacing) * -1);
  }
  .-right-12 {
    right: calc(var(--spacing) * -12);
  }
  .-right-24 {
    right: calc(var(--spacing) * -24);
  }
  .-right-32 {
    right: calc(var(--spacing) * -32);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-1 {
    right: calc(var(--spacing) * 1);
  }
  .right-3\.5 {
    right: calc(var(--spacing) * 3.5);
  }
  .right-6 {
    right: calc(var(--spacing) * 6);
  }
  .right-24 {
    right: calc(var(--spacing) * 24);
  }
  .-bottom-1 {
    bottom: calc(var(--spacing) * -1);
  }
  .-bottom-28 {
    bottom: calc(var(--spacing) * -28);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .-left-1 {
    left: calc(var(--spacing) * -1);
  }
  .-left-8 {
    left: calc(var(--spacing) * -8);
  }
  .-left-24 {
    left: calc(var(--spacing) * -24);
  }
  .-left-32 {
    left: calc(var(--spacing) * -32);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-3 {
    left: calc(var(--spacing) * 3);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .z-0 {
    z-index: 0;
  }
  .z-10 {
    z-index: 10;
  }
  .z-30 {
    z-index: 30;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[60\] {
    z-index: 60;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .m-2 {
    margin: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-9 {
    margin-top: calc(var(--spacing) * 9);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .h-0\.5 {
    height: calc(var(--spacing) * 0.5);
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-4\.5 {
    height: calc(var(--spacing) * 4.5);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-6 {
    height: calc(var(--spacing) * 6);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-32 {
    height: calc(var(--spacing) * 32);
  }
  .h-36 {
    height: calc(var(--spacing) * 36);
  }
  .h-40 {
    height: calc(var(--spacing) * 40);
  }
  .h-56 {
    height: calc(var(--spacing) * 56);
  }
  .h-60 {
    height: calc(var(--spacing) * 60);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-80 {
    height: calc(var(--spacing) * 80);
  }
  .h-96 {
    height: calc(var(--spacing) * 96);
  }
  .h-\[28rem\] {
    height: 28rem;
  }
  .h-\[68px\] {
    height: 68px;
  }
  .h-\[76px\] {
    height: 76px;
  }
  .h-auto {
    height: auto;
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .max-h-56 {
    max-height: calc(var(--spacing) * 56);
  }
  .max-h-\[90vh\] {
    max-height: 90vh;
  }
  .max-h-\[92vh\] {
    max-height: 92vh;
  }
  .min-h-10 {
    min-height: calc(var(--spacing) * 10);
  }
  .min-h-14 {
    min-height: calc(var(--spacing) * 14);
  }
  .min-h-\[60vh\] {
    min-height: 60vh;
  }
  .min-h-\[1050px\] {
    min-height: 1050px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-4\.5 {
    width: calc(var(--spacing) * 4.5);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-6 {
    width: calc(var(--spacing) * 6);
  }
  .w-7 {
    width: calc(var(--spacing) * 7);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-24 {
    width: calc(var(--spacing) * 24);
  }
  .w-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-60 {
    width: calc(var(--spacing) * 60);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-96 {
    width: calc(var(--spacing) * 96);
  }
  .w-\[28rem\] {
    width: 28rem;
  }
  .w-\[68px\] {
    width: 68px;
  }
  .w-\[88\%\] {
    width: 88%;
  }
  .w-\[780px\] {
    width: 780px;
  }
  .w-auto {
    width: auto;
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .w-px {
    width: 1px;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[72px\] {
    max-width: 72px;
  }
  .max-w-\[220px\] {
    max-width: 220px;
  }
  .max-w-\[235px\] {
    max-width: 235px;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-36 {
    min-width: calc(var(--spacing) * 36);
  }
  .min-w-\[820px\] {
    min-width: 820px;
  }
  .min-w-\[850px\] {
    min-width: 850px;
  }
  .min-w-\[900px\] {
    min-width: 900px;
  }
  .min-w-\[940px\] {
    min-width: 940px;
  }
  .min-w-\[1050px\] {
    min-width: 1050px;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .origin-left {
    transform-origin: left;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-x-0 {
    --tw-scale-x: 0%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize-y {
    resize: vertical;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-\[160px_1fr\] {
    grid-template-columns: 160px 1fr;
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .place-items-center {
    place-items: center;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-7 {
    gap: calc(var(--spacing) * 7);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-7 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-8 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-12 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-14 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-16 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-6 {
    column-gap: calc(var(--spacing) * 6);
  }
  .gap-x-8 {
    column-gap: calc(var(--spacing) * 8);
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .gap-y-4 {
    row-gap: calc(var(--spacing) * 4);
  }
  .divide-y {
    :where(& > :not(:last-child)) {
      --tw-divide-y-reverse: 0;
      border-bottom-style: var(--tw-border-style);
      border-top-style: var(--tw-border-style);
      border-top-width: calc(1px * var(--tw-divide-y-reverse));
      border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    }
  }
  .divide-hairline {
    :where(& > :not(:last-child)) {
      border-color: var(--color-hairline);
    }
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-visible {
    overflow: visible;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-\[22px\] {
    border-radius: 22px;
  }
  .rounded-\[24px\] {
    border-radius: 24px;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-tl-\[3px\] {
    border-top-left-radius: 3px;
  }
  .rounded-tr-\[3px\] {
    border-top-right-radius: 3px;
  }
  .rounded-br-\[3px\] {
    border-bottom-right-radius: 3px;
  }
  .rounded-bl-\[3px\] {
    border-bottom-left-radius: 3px;
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-\[42px\] {
    border-style: var(--tw-border-style);
    border-width: 42px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-t-2 {
    border-top-style: var(--tw-border-style);
    border-top-width: 2px;
  }
  .border-r-2 {
    border-right-style: var(--tw-border-style);
    border-right-width: 2px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-l-2 {
    border-left-style: var(--tw-border-style);
    border-left-width: 2px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-gold-400\/30 {
    border-color: color-mix(in srgb, #DDBB6B 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gold-400) 30%, transparent);
    }
  }
  .border-gold-400\/40 {
    border-color: color-mix(in srgb, #DDBB6B 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gold-400) 40%, transparent);
    }
  }
  .border-gold-500\/10 {
    border-color: color-mix(in srgb, #C89B3C 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gold-500) 10%, transparent);
    }
  }
  .border-gold-500\/40 {
    border-color: color-mix(in srgb, #C89B3C 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-gold-500) 40%, transparent);
    }
  }
  .border-hairline {
    border-color: var(--color-hairline);
  }
  .border-navy-900 {
    border-color: var(--color-navy-900);
  }
  .border-slate-400 {
    border-color: var(--color-slate-400);
  }
  .border-verify-amber\/20 {
    border-color: color-mix(in srgb, #B37311 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-verify-amber) 20%, transparent);
    }
  }
  .border-verify-green\/20 {
    border-color: color-mix(in srgb, #157F4A 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-verify-green) 20%, transparent);
    }
  }
  .border-verify-red\/10 {
    border-color: color-mix(in srgb, #B4232C 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-verify-red) 10%, transparent);
    }
  }
  .border-verify-red\/15 {
    border-color: color-mix(in srgb, #B4232C 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-verify-red) 15%, transparent);
    }
  }
  .border-verify-red\/20 {
    border-color: color-mix(in srgb, #B4232C 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-verify-red) 20%, transparent);
    }
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-white\/10 {
    border-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .border-white\/15 {
    border-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .border-white\/40 {
    border-color: color-mix(in srgb, #fff 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 40%, transparent);
    }
  }
  .bg-\[\#fffdf8\] {
    background-color: #fffdf8;
  }
  .bg-gold-100 {
    background-color: var(--color-gold-100);
  }
  .bg-gold-500 {
    background-color: var(--color-gold-500);
  }
  .bg-gold-500\/5 {
    background-color: color-mix(in srgb, #C89B3C 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gold-500) 5%, transparent);
    }
  }
  .bg-gold-500\/10 {
    background-color: color-mix(in srgb, #C89B3C 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gold-500) 10%, transparent);
    }
  }
  .bg-gold-500\/15 {
    background-color: color-mix(in srgb, #C89B3C 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-gold-500) 15%, transparent);
    }
  }
  .bg-navy-900 {
    background-color: var(--color-navy-900);
  }
  .bg-navy-900\/5 {
    background-color: color-mix(in srgb, #0A1F3D 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-900) 5%, transparent);
    }
  }
  .bg-navy-900\/10 {
    background-color: color-mix(in srgb, #0A1F3D 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-900) 10%, transparent);
    }
  }
  .bg-navy-900\/60 {
    background-color: color-mix(in srgb, #0A1F3D 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-900) 60%, transparent);
    }
  }
  .bg-navy-900\/90 {
    background-color: color-mix(in srgb, #0A1F3D 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-900) 90%, transparent);
    }
  }
  .bg-navy-950 {
    background-color: var(--color-navy-950);
  }
  .bg-navy-950\/50 {
    background-color: color-mix(in srgb, #071328 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-950) 50%, transparent);
    }
  }
  .bg-navy-950\/60 {
    background-color: color-mix(in srgb, #071328 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-950) 60%, transparent);
    }
  }
  .bg-navy-950\/70 {
    background-color: color-mix(in srgb, #071328 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-navy-950) 70%, transparent);
    }
  }
  .bg-porcelain {
    background-color: var(--color-porcelain);
  }
  .bg-porcelain\/40 {
    background-color: color-mix(in srgb, #F6F7F9 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-porcelain) 40%, transparent);
    }
  }
  .bg-porcelain\/70 {
    background-color: color-mix(in srgb, #F6F7F9 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-porcelain) 70%, transparent);
    }
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-verify-amber-bg {
    background-color: var(--color-verify-amber-bg);
  }
  .bg-verify-green {
    background-color: var(--color-verify-green);
  }
  .bg-verify-green-bg {
    background-color: var(--color-verify-green-bg);
  }
  .bg-verify-red {
    background-color: var(--color-verify-red);
  }
  .bg-verify-red-bg {
    background-color: var(--color-verify-red-bg);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/5 {
    background-color: color-mix(in srgb, #fff 5%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 5%, transparent);
    }
  }
  .bg-white\/10 {
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-white\/15 {
    background-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-gold-600 {
    --tw-gradient-from: var(--color-gold-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-navy-900 {
    --tw-gradient-from: var(--color-navy-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-navy-950 {
    --tw-gradient-from: var(--color-navy-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-porcelain\/80 {
    --tw-gradient-from: color-mix(in srgb, #F6F7F9 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-porcelain) 80%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-gold-400 {
    --tw-gradient-via: var(--color-gold-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gold-500\/40 {
    --tw-gradient-via: color-mix(in srgb, #C89B3C 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-gold-500) 40%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-gold-500\/50 {
    --tw-gradient-via: color-mix(in srgb, #C89B3C 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-gold-500) 50%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-navy-900 {
    --tw-gradient-via: var(--color-navy-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-navy-950\/90 {
    --tw-gradient-via: color-mix(in srgb, #071328 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-navy-950) 90%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-navy-950\/92 {
    --tw-gradient-via: color-mix(in srgb, #071328 92%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-navy-950) 92%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-navy-950\/95 {
    --tw-gradient-via: color-mix(in srgb, #071328 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-via: color-mix(in oklab, var(--color-navy-950) 95%, transparent);
    }
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-gold-600 {
    --tw-gradient-to: var(--color-gold-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-700 {
    --tw-gradient-to: var(--color-navy-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-800 {
    --tw-gradient-to: var(--color-navy-800);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-950 {
    --tw-gradient-to: var(--color-navy-950);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-950\/60 {
    --tw-gradient-to: color-mix(in srgb, #071328 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-navy-950) 60%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-950\/70 {
    --tw-gradient-to: color-mix(in srgb, #071328 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-navy-950) 70%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-navy-950\/75 {
    --tw-gradient-to: color-mix(in srgb, #071328 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-to: color-mix(in oklab, var(--color-navy-950) 75%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-white {
    --tw-gradient-to: var(--color-white);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .object-left {
    object-position: left;
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-0\.5 {
    padding: calc(var(--spacing) * 0.5);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-7 {
    padding: calc(var(--spacing) * 7);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-7 {
    padding-block: calc(var(--spacing) * 7);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-9 {
    padding-block: calc(var(--spacing) * 9);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-14 {
    padding-block: calc(var(--spacing) * 14);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .py-28 {
    padding-block: calc(var(--spacing) * 28);
  }
  .pt-0\.5 {
    padding-top: calc(var(--spacing) * 0.5);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-7 {
    padding-top: calc(var(--spacing) * 7);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pr-11 {
    padding-right: calc(var(--spacing) * 11);
  }
  .pb-2\.5 {
    padding-bottom: calc(var(--spacing) * 2.5);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-8 {
    padding-bottom: calc(var(--spacing) * 8);
  }
  .pb-9 {
    padding-bottom: calc(var(--spacing) * 9);
  }
  .pb-36 {
    padding-bottom: calc(var(--spacing) * 36);
  }
  .pl-9 {
    padding-left: calc(var(--spacing) * 9);
  }
  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-display {
    font-family: var(--font-display);
  }
  .font-serif {
    font-family: var(--font-serif);
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .text-\[7px\] {
    font-size: 7px;
  }
  .text-\[8\.5px\] {
    font-size: 8.5px;
  }
  .text-\[8px\] {
    font-size: 8px;
  }
  .text-\[9px\] {
    font-size: 9px;
  }
  .text-\[10\.5px\] {
    font-size: 10.5px;
  }
  .text-\[10px\] {
    font-size: 10px;
  }
  .text-\[11px\] {
    font-size: 11px;
  }
  .text-\[12\.5px\] {
    font-size: 12.5px;
  }
  .text-\[12px\] {
    font-size: 12px;
  }
  .text-\[13px\] {
    font-size: 13px;
  }
  .text-\[17px\] {
    font-size: 17px;
  }
  .text-\[22px\] {
    font-size: 22px;
  }
  .text-\[25px\] {
    font-size: 25px;
  }
  .text-\[27px\] {
    font-size: 27px;
  }
  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-\[1\.1\] {
    --tw-leading: 1.1;
    line-height: 1.1;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[-0\.02em\] {
    --tw-tracking: -0.02em;
    letter-spacing: -0.02em;
  }
  .tracking-\[-0\.025em\] {
    --tw-tracking: -0.025em;
    letter-spacing: -0.025em;
  }
  .tracking-\[0\.01em\] {
    --tw-tracking: 0.01em;
    letter-spacing: 0.01em;
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-\[0\.3em\] {
    --tw-tracking: 0.3em;
    letter-spacing: 0.3em;
  }
  .tracking-\[0\.12em\] {
    --tw-tracking: 0.12em;
    letter-spacing: 0.12em;
  }
  .tracking-\[0\.13em\] {
    --tw-tracking: 0.13em;
    letter-spacing: 0.13em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .tracking-\[0\.15em\] {
    --tw-tracking: 0.15em;
    letter-spacing: 0.15em;
  }
  .tracking-\[0\.16em\] {
    --tw-tracking: 0.16em;
    letter-spacing: 0.16em;
  }
  .tracking-\[0\.18em\] {
    --tw-tracking: 0.18em;
    letter-spacing: 0.18em;
  }
  .tracking-\[0\.19em\] {
    --tw-tracking: 0.19em;
    letter-spacing: 0.19em;
  }
  .tracking-\[0\.22em\] {
    --tw-tracking: 0.22em;
    letter-spacing: 0.22em;
  }
  .tracking-\[0\.25em\] {
    --tw-tracking: 0.25em;
    letter-spacing: 0.25em;
  }
  .tracking-\[0\.32em\] {
    --tw-tracking: 0.32em;
    letter-spacing: 0.32em;
  }
  .tracking-\[0\.38em\] {
    --tw-tracking: 0.38em;
    letter-spacing: 0.38em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .break-words {
    overflow-wrap: break-word;
  }
  .break-all {
    word-break: break-all;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }
  .text-gold-400 {
    color: var(--color-gold-400);
  }
  .text-gold-400\/60 {
    color: color-mix(in srgb, #DDBB6B 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-gold-400) 60%, transparent);
    }
  }
  .text-gold-500 {
    color: var(--color-gold-500);
  }
  .text-gold-600 {
    color: var(--color-gold-600);
  }
  .text-navy-900 {
    color: var(--color-navy-900);
  }
  .text-navy-950 {
    color: var(--color-navy-950);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-verify-amber {
    color: var(--color-verify-amber);
  }
  .text-verify-green {
    color: var(--color-verify-green);
  }
  .text-verify-red {
    color: var(--color-verify-red);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/65 {
    color: color-mix(in srgb, #fff 65%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 65%, transparent);
    }
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .capitalize {
    text-transform: capitalize;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-25 {
    opacity: 25%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-50 {
    opacity: 50%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-\[0\.05\] {
    opacity: 0.05;
  }
  .opacity-\[0\.06\] {
    opacity: 0.06;
  }
  .opacity-\[0\.07\] {
    opacity: 0.07;
  }
  .opacity-\[0\.08\] {
    opacity: 0.08;
  }
  .opacity-\[0\.12\] {
    opacity: 0.12;
  }
  .opacity-\[0\.14\] {
    opacity: 0.14;
  }
  .opacity-\[0\.16\] {
    opacity: 0.16;
  }
  .opacity-\[0\.18\] {
    opacity: 0.18;
  }
  .opacity-\[0\.22\] {
    opacity: 0.22;
  }
  .opacity-\[0\.035\] {
    opacity: 0.035;
  }
  .opacity-\[0\.35\] {
    opacity: 0.35;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_2px_10px_rgba\(7\,19\,40\,0\.03\)\] {
    --tw-shadow: 0 2px 10px var(--tw-shadow-color, rgba(7,19,40,0.03));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_8px_20px_rgba\(200\,155\,60\,0\.22\)\] {
    --tw-shadow: 0 8px 20px var(--tw-shadow-color, rgba(200,155,60,0.22));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_8px_22px_rgba\(7\,19\,40\,0\.18\)\] {
    --tw-shadow: 0 8px 22px var(--tw-shadow-color, rgba(7,19,40,0.18));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_8px_22px_rgba\(200\,155\,60\,0\.24\)\] {
    --tw-shadow: 0 8px 22px var(--tw-shadow-color, rgba(200,155,60,0.24));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_10px_35px_rgba\(7\,19\,40\,0\.10\)\] {
    --tw-shadow: 0 10px 35px var(--tw-shadow-color, rgba(7,19,40,0.10));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_18px_55px_rgba\(7\,19\,40\,0\.08\)\] {
    --tw-shadow: 0 18px 55px var(--tw-shadow-color, rgba(7,19,40,0.08));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_24px_70px_rgba\(7\,19\,40\,0\.10\)\] {
    --tw-shadow: 0 24px 70px var(--tw-shadow-color, rgba(7,19,40,0.10));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_24px_70px_rgba\(7\,19\,40\,0\.18\)\] {
    --tw-shadow: 0 24px 70px var(--tw-shadow-color, rgba(7,19,40,0.18));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-gold-500\/20 {
    --tw-shadow-color: color-mix(in srgb, #C89B3C 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gold-500) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-navy-900\/30 {
    --tw-shadow-color: color-mix(in srgb, #0A1F3D 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-navy-900) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-gold-500\/20 {
    --tw-ring-color: color-mix(in srgb, #C89B3C 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-gold-500) 20%, transparent);
    }
  }
  .blur-2xl {
    --tw-blur: blur(var(--blur-2xl));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .drop-shadow-lg {
    --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
    --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-xl {
    --tw-backdrop-blur: blur(var(--blur-xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-500 {
    --tw-duration: 500ms;
    transition-duration: 500ms;
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .group-hover\:-translate-y-0\.5 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .group-hover\:scale-105 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:scale-x-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-scale-x: 100%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .group-hover\:bg-gold-500 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        background-color: var(--color-gold-500);
      }
    }
  }
  .group-hover\:text-gold-600 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-gold-600);
      }
    }
  }
  .group-hover\:text-navy-900 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-navy-900);
      }
    }
  }
  .placeholder\:font-body {
    &::placeholder {
      font-family: var(--font-body);
    }
  }
  .placeholder\:font-normal {
    &::placeholder {
      --tw-font-weight: var(--font-weight-normal);
      font-weight: var(--font-weight-normal);
    }
  }
  .placeholder\:text-slate-400 {
    &::placeholder {
      color: var(--color-slate-400);
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:bottom-0 {
    &::after {
      content: var(--tw-content);
      bottom: calc(var(--spacing) * 0);
    }
  }
  .after\:left-0 {
    &::after {
      content: var(--tw-content);
      left: calc(var(--spacing) * 0);
    }
  }
  .after\:h-\[3px\] {
    &::after {
      content: var(--tw-content);
      height: 3px;
    }
  }
  .after\:w-0 {
    &::after {
      content: var(--tw-content);
      width: calc(var(--spacing) * 0);
    }
  }
  .after\:w-full {
    &::after {
      content: var(--tw-content);
      width: 100%;
    }
  }
  .after\:rounded-t-full {
    &::after {
      content: var(--tw-content);
      border-top-left-radius: calc(infinity * 1px);
      border-top-right-radius: calc(infinity * 1px);
    }
  }
  .after\:bg-gold-500 {
    &::after {
      content: var(--tw-content);
      background-color: var(--color-gold-500);
    }
  }
  .after\:transition-all {
    &::after {
      content: var(--tw-content);
      transition-property: all;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .last\:border-0 {
    &:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .hover\:-translate-y-0\.5 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:border-gold-400 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-gold-400);
      }
    }
  }
  .hover\:border-gold-500 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-gold-500);
      }
    }
  }
  .hover\:bg-gold-100\/40 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #FBF3E1 40%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-gold-100) 40%, transparent);
        }
      }
    }
  }
  .hover\:bg-gold-100\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #FBF3E1 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-gold-100) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-gold-400 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gold-400);
      }
    }
  }
  .hover\:bg-gold-500 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gold-500);
      }
    }
  }
  .hover\:bg-hairline {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-hairline);
      }
    }
  }
  .hover\:bg-navy-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-navy-800);
      }
    }
  }
  .hover\:bg-porcelain {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-porcelain);
      }
    }
  }
  .hover\:bg-white {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
  }
  .hover\:bg-white\/8 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 8%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 8%, transparent);
        }
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:text-gold-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gold-400);
      }
    }
  }
  .hover\:text-gold-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gold-600);
      }
    }
  }
  .hover\:text-navy-900 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-navy-900);
      }
    }
  }
  .hover\:text-navy-950 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-navy-950);
      }
    }
  }
  .hover\:text-verify-red\/80 {
    &:hover {
      @media (hover: hover) {
        color: color-mix(in srgb, #B4232C 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          color: color-mix(in oklab, var(--color-verify-red) 80%, transparent);
        }
      }
    }
  }
  .hover\:shadow-lg {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .hover\:after\:w-full {
    &:hover {
      @media (hover: hover) {
        &::after {
          content: var(--tw-content);
          width: 100%;
        }
      }
    }
  }
  .focus\:border-gold-500 {
    &:focus {
      border-color: var(--color-gold-500);
    }
  }
  .focus\:border-navy-900 {
    &:focus {
      border-color: var(--color-navy-900);
    }
  }
  .focus\:bg-white {
    &:focus {
      background-color: var(--color-white);
    }
  }
  .focus\:ring-4 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:ring-gold-100 {
    &:focus {
      --tw-ring-color: var(--color-gold-100);
    }
  }
  .focus\:ring-gold-500 {
    &:focus {
      --tw-ring-color: var(--color-gold-500);
    }
  }
  .focus-visible\:outline-2 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
    }
  }
  .focus-visible\:outline-offset-2 {
    &:focus-visible {
      outline-offset: 2px;
    }
  }
  .disabled\:translate-y-0 {
    &:disabled {
      --tw-translate-y: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:bg-slate-50 {
    &:disabled {
      background-color: var(--color-slate-50);
    }
  }
  .disabled\:bg-slate-100 {
    &:disabled {
      background-color: var(--color-slate-100);
    }
  }
  .disabled\:text-slate-400 {
    &:disabled {
      color: var(--color-slate-400);
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .disabled\:opacity-60 {
    &:disabled {
      opacity: 60%;
    }
  }
  .sm\:col-span-2 {
    @media (width >= 40rem) {
      grid-column: span 2 / span 2;
    }
  }
  .sm\:block {
    @media (width >= 40rem) {
      display: block;
    }
  }
  .sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:h-40 {
    @media (width >= 40rem) {
      height: calc(var(--spacing) * 40);
    }
  }
  .sm\:w-auto {
    @media (width >= 40rem) {
      width: auto;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-4 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:items-start {
    @media (width >= 40rem) {
      align-items: flex-start;
    }
  }
  .sm\:justify-between {
    @media (width >= 40rem) {
      justify-content: space-between;
    }
  }
  .sm\:p-7 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 7);
    }
  }
  .sm\:p-8 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-4 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .sm\:px-8 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .sm\:px-12 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 12);
    }
  }
  .sm\:px-14 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 14);
    }
  }
  .sm\:px-16 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 16);
    }
  }
  .sm\:py-8 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 8);
    }
  }
  .sm\:py-16 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 16);
    }
  }
  .sm\:text-2xl {
    @media (width >= 40rem) {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
    }
  }
  .sm\:text-4xl {
    @media (width >= 40rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .sm\:text-5xl {
    @media (width >= 40rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .sm\:text-sm {
    @media (width >= 40rem) {
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
    }
  }
  .sm\:text-\[19px\] {
    @media (width >= 40rem) {
      font-size: 19px;
    }
  }
  .md\:p-8 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .md\:p-14 {
    @media (width >= 48rem) {
      padding: calc(var(--spacing) * 14);
    }
  }
  .lg\:static {
    @media (width >= 64rem) {
      position: static;
    }
  }
  .lg\:col-span-1 {
    @media (width >= 64rem) {
      grid-column: span 1 / span 1;
    }
  }
  .lg\:col-span-2 {
    @media (width >= 64rem) {
      grid-column: span 2 / span 2;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:translate-x-0 {
    @media (width >= 64rem) {
      --tw-translate-x: calc(var(--spacing) * 0);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  .lg\:grid-cols-2 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-5 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-6 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
  .lg\:p-8 {
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 8);
    }
  }
  .lg\:px-8 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .lg\:py-32 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 32);
    }
  }
  .lg\:text-6xl {
    @media (width >= 64rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .xl\:block {
    @media (width >= 80rem) {
      display: block;
    }
  }
  .xl\:flex {
    @media (width >= 80rem) {
      display: flex;
    }
  }
  .xl\:hidden {
    @media (width >= 80rem) {
      display: none;
    }
  }
  .xl\:h-20 {
    @media (width >= 80rem) {
      height: calc(var(--spacing) * 20);
    }
  }
  .print\:static {
    @media print {
      position: static;
    }
  }
  .print\:hidden {
    @media print {
      display: none;
    }
  }
  .print\:max-h-none {
    @media print {
      max-height: none;
    }
  }
  .print\:rounded-none {
    @media print {
      border-radius: 0;
    }
  }
  .print\:bg-white {
    @media print {
      background-color: var(--color-white);
    }
  }
  .print\:p-0 {
    @media print {
      padding: calc(var(--spacing) * 0);
    }
  }
  .print\:shadow-none {
    @media print {
      --tw-shadow: 0 0 #0000;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: var(--font-body);
  color: var(--color-navy-900);
  background-color: #ffffff;
}
h1, h2, h3, h4, h5, .font-display {
  font-family: var(--font-display);
}
.font-mono-num {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
.seal-ring {
  background: repeating-conic-gradient(from 0deg, var(--color-gold-500) 0deg 6deg, transparent 6deg 14deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 9px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 10px), #000 calc(100% - 9px));
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:focus-visible {
  outline: 2px solid var(--color-gold-500);
  outline-offset: 2px;
}
::selection {
  background: var(--color-gold-100);
  color: var(--color-navy-900);
}
@media print {
  body * {
    visibility: hidden;
  }
  .certificate-doc, .certificate-doc *, .print-doc, .print-doc *, .verification-print, .verification-print * {
    visibility: visible;
  }
  .certificate-doc, .print-doc, .verification-print {
    position: absolute;
    inset: 0;
    margin: 0 auto;
    box-shadow: none !important;
  }
  .print-doc {
    width: 100%;
    max-width: none !important;
    min-height: auto !important;
    padding: 12mm !important;
  }
  .verification-print {
    width: 100%;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
}
@layer components {
  .label {
    margin-bottom: calc(var(--spacing) * 1.5);
    display: block;
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
    color: var(--color-slate-500);
    text-transform: uppercase;
  }
  .field {
    width: 100%;
    border-radius: var(--radius-md);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-hairline);
    background-color: var(--color-white);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2.5);
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    --tw-outline-style: none;
    outline-style: none;
    &:focus {
      border-color: var(--color-navy-900);
    }
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-divide-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-content: "";
      --tw-outline-style: solid;
    }
  }
}

/* ======================================================================
   TIC Platform v4 — premium admin, public chrome and verification polish
   ====================================================================== */

/* Admin console */
.admin-shell {
  position: relative;
  background:
    radial-gradient(circle at 88% 8%, rgba(200,155,60,.11), transparent 24rem),
    radial-gradient(circle at 20% 92%, rgba(36,107,253,.08), transparent 30rem),
    linear-gradient(145deg, #f6f8fb 0%, #fbfcfe 47%, #f3f6fb 100%);
  min-height: 100vh;
}
.admin-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .35;
  background-image: linear-gradient(rgba(10,31,61,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(10,31,61,.025) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, #000, transparent 72%);
}
.admin-sidebar {
  width: 276px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(200,155,60,.17), transparent 18rem),
    radial-gradient(circle at 100% 70%, rgba(36,107,253,.12), transparent 18rem),
    linear-gradient(180deg, #071328 0%, #0a1f3d 48%, #071328 100%) !important;
  box-shadow: 22px 0 60px rgba(7,19,40,.13);
  border-right: 1px solid rgba(255,255,255,.07);
}
.admin-sidebar-brand {
  min-height: 82px;
  background: linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.018));
  backdrop-filter: blur(14px);
}
.admin-sidebar-brand p:first-child {
  letter-spacing: -.01em;
  font-size: .95rem;
}
.admin-nav {
  padding-top: 15px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.16) transparent;
}
.admin-nav-link {
  min-height: 44px;
  border: 1px solid transparent;
  border-radius: 13px !important;
  letter-spacing: -.005em;
}
.admin-nav-link:hover {
  transform: translateX(3px);
  border-color: rgba(255,255,255,.08);
  background: rgba(255,255,255,.065) !important;
}
.admin-nav-active {
  color: #fff !important;
  border-color: rgba(255,255,255,.14) !important;
  background: linear-gradient(135deg, rgba(200,155,60,.98), rgba(230,188,94,.92)) !important;
  box-shadow: 0 10px 30px rgba(200,155,60,.20), inset 0 1px 0 rgba(255,255,255,.42) !important;
}
.admin-nav-active svg { color: #071328; }
.admin-profile {
  background: linear-gradient(180deg, rgba(7,19,40,.92), #071328 40%) !important;
  backdrop-filter: blur(18px);
}
.admin-workspace {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}
.admin-mobilebar {
  position: sticky;
  top: 0;
  z-index: 28;
  background: rgba(255,255,255,.90) !important;
  backdrop-filter: blur(18px);
  box-shadow: 0 8px 30px rgba(7,19,40,.07);
}
.admin-main {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1560px;
  margin: 0 auto;
}
.admin-main h1 {
  letter-spacing: -.035em;
  font-weight: 800 !important;
}
.admin-main .bg-white.rounded-2xl,
.admin-main .rounded-2xl.bg-white,
.admin-main .bg-white.rounded-xl,
.admin-main .rounded-xl.bg-white {
  box-shadow: 0 16px 42px rgba(7,19,40,.055);
}
.admin-main input,
.admin-main textarea,
.admin-main select {
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.admin-main input:focus,
.admin-main textarea:focus,
.admin-main select:focus {
  box-shadow: 0 0 0 4px rgba(200,155,60,.10);
}
.admin-main button { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.admin-main button:not(:disabled):active { transform: translateY(1px); }

/* Certificate designer: gradient + size controls */
.template-gradient-panel {
  margin-top: 16px;
  padding: 15px;
  border: 1px solid #e3e7ee;
  border-radius: 14px;
  background: linear-gradient(145deg, #fbfcff, #f6f8fc);
}
.template-toggle-row {
  display: flex;
  align-items: center;
  gap: 11px;
  cursor: pointer;
}
.template-toggle-row input {
  width: 18px;
  height: 18px;
  accent-color: #0a1f3d;
}
.template-toggle-row strong {
  display: block;
  color: #0a1f3d;
  font-size: 12px;
  font-weight: 800;
}
.template-toggle-row small {
  display: block;
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
  line-height: 1.45;
}
.template-gradient-colors,
.template-size-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin-top: 14px;
}
.template-size-grid {
  margin-top: 16px;
}
.template-range-field {
  display: block;
  border: 1px solid #e3e7ee;
  border-radius: 13px;
  padding: 12px 13px 10px;
  background: #fff;
}
.template-range-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.template-range-head b {
  color: #0a1f3d;
  font-size: 11px;
  letter-spacing: 0;
}
.template-range-field input[type="range"] {
  width: 100%;
  height: 5px;
  accent-color: #c89b3c;
  cursor: pointer;
}

/* Public header */
.site-topbar {
  background:
    linear-gradient(90deg, rgba(200,155,60,.09), transparent 23%, transparent 75%, rgba(36,107,253,.07)),
    #071328 !important;
}
.site-header-premium {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,.96)) !important;
}
.site-header-premium::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,155,60,.45), transparent);
  pointer-events: none;
}
.site-brand > div:first-child {
  box-shadow: 0 10px 28px rgba(7,19,40,.18), 0 0 0 1px rgba(200,155,60,.15) !important;
}
.site-primary-nav > a,
.site-primary-nav > div > button {
  letter-spacing: .012em;
}
@media (min-width:1280px) {
  .site-primary-nav { gap: 1.35rem !important; }
}

/* Public footer */
.site-footer-premium {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 15%, rgba(200,155,60,.12), transparent 24rem),
    radial-gradient(circle at 90% 85%, rgba(36,107,253,.10), transparent 25rem),
    linear-gradient(145deg, #061123 0%, #071a34 48%, #061123 100%) !important;
}
.site-footer-premium::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .13;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at 50% 50%, black, transparent 78%);
}
.site-footer-main,
.site-footer-premium > div:last-child {
  position: relative;
  z-index: 1;
}
.site-footer-main > div:first-child > div:first-child {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.site-footer-contact {
  border-top-color: rgba(255,255,255,.09) !important;
}
.site-footer-contact > * {
  min-height: 64px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 13px;
  background: rgba(255,255,255,.028);
  white-space: pre-line;
}

/* Successful certificate verification watermark */
.verify-result-card { isolation: isolate; }
.verification-result-body {
  overflow: hidden;
  isolation: isolate;
}
.verification-company-watermark {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 53%;
  width: 150%;
  transform: translate(-50%,-50%) rotate(-16deg);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  text-align: center;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(42px, 8vw, 92px);
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  color: #0a1f3d;
  opacity: .032;
  line-height: 1;
}
.verification-result-body > *:not(.verification-company-watermark) {
  position: relative;
  z-index: 1;
}
@media (max-width: 640px) {
  .admin-sidebar { width: 272px !important; }
  .template-gradient-colors,
  .template-size-grid { grid-template-columns: 1fr; }
  .verification-company-watermark { font-size: 48px; width: 190%; }
  .site-footer-main > div:first-child > div:first-child { padding: 16px; }
}
@media print {
  .verification-company-watermark {
    opacity: .045 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.site-header-location { max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
.site-header-location > span:last-child { overflow: hidden; text-overflow: ellipsis; }

/* Backup Center layout - data-safe update v5 */
@media (min-width: 1024px){.backup-grid-row{grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center}}

/* v7.0 Template Designer: expanded element controls */
.template-size-grid { margin-top: 18px; }
.template-range-field { background: linear-gradient(180deg,#ffffff,#f8fafc); }

/* ======================================================================
   TIC Platform v7.1 — premium admin workspace, login and text selection
   ====================================================================== */

/* High-contrast selection: clearly visible on light and dark surfaces. */
::selection {
  background: #0a1f3d;
  color: #ffffff;
  text-shadow: none;
}
input::selection,
textarea::selection {
  background: #c89b3c;
  color: #071328;
}
.admin-shell ::selection,
.admin-login-shell ::selection {
  background: #d8ad4f;
  color: #071328;
}

/* Premium admin shell */
.admin-shell {
  background:
    radial-gradient(circle at 84% 8%, rgba(200,155,60,.15), transparent 25rem),
    radial-gradient(circle at 16% 94%, rgba(36,107,253,.10), transparent 34rem),
    linear-gradient(145deg, #f4f7fb 0%, #fbfcfe 48%, #eef3f9 100%) !important;
}
.admin-shell::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% -18%, rgba(255,255,255,.92), transparent 34rem);
  opacity: .72;
}
.admin-sidebar {
  width: 286px !important;
  background:
    radial-gradient(circle at 16% 4%, rgba(231,190,97,.20), transparent 18rem),
    radial-gradient(circle at 112% 62%, rgba(43,90,148,.22), transparent 20rem),
    linear-gradient(180deg, #061225 0%, #0a1f3d 48%, #061225 100%) !important;
  box-shadow: 28px 0 70px rgba(7,19,40,.16) !important;
}
.admin-sidebar-brand {
  min-height: 92px !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.018)) !important;
}
.admin-sidebar-brand::after {
  content: "SECURE";
  margin-left: auto;
  padding: 4px 8px;
  border: 1px solid rgba(216,173,79,.28);
  border-radius: 999px;
  background: rgba(216,173,79,.08);
  color: #e9c46d;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}
.admin-nav-link {
  position: relative;
  min-height: 46px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  border-radius: 15px !important;
}
.admin-nav-link svg {
  transition: transform .2s ease, color .2s ease;
}
.admin-nav-link:hover svg { transform: scale(1.08); }
.admin-nav-active {
  color: #071328 !important;
  background: linear-gradient(135deg, #f0ce7b, #c89b3c 56%, #e6bb59) !important;
  border-color: rgba(255,255,255,.26) !important;
  box-shadow: 0 12px 34px rgba(200,155,60,.26), inset 0 1px 0 rgba(255,255,255,.52) !important;
}
.admin-profile {
  border-top-color: rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg, rgba(6,18,37,.90), #061225 42%) !important;
}
.admin-profile > div {
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.03)) !important;
}
.admin-workspace { z-index: 1; }
.admin-desktopbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 25;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  border-bottom: 1px solid rgba(10,31,61,.07);
  background: rgba(250,252,255,.80);
  backdrop-filter: blur(20px) saturate(145%);
  box-shadow: 0 12px 35px rgba(7,19,40,.045);
}
.admin-desktopbar > div:first-child {
  display: grid;
  gap: 2px;
}
.admin-desktopbar > div:first-child strong {
  color: #0a1f3d;
  font-family: var(--font-display, inherit);
  font-size: 14px;
  letter-spacing: -.01em;
}
.admin-desktopbar-kicker {
  color: #a77b21;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
.admin-desktopbar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(10,31,61,.07);
  border-radius: 14px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 8px 24px rgba(7,19,40,.05);
}
.admin-desktopbar-user > div {
  display: grid;
  line-height: 1.2;
}
.admin-desktopbar-user strong { color: #0a1f3d; font-size: 12px; }
.admin-desktopbar-user small { color: #64748b; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.admin-desktopbar-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #21a366;
  box-shadow: 0 0 0 5px rgba(33,163,102,.10), 0 0 18px rgba(33,163,102,.30);
}
.admin-main { padding-top: 26px !important; }
.admin-main h1 {
  font-size: clamp(1.65rem, 2vw, 2.15rem) !important;
  letter-spacing: -.045em !important;
}
.admin-main .bg-white.rounded-2xl,
.admin-main .rounded-2xl.bg-white,
.admin-main .bg-white.rounded-xl,
.admin-main .rounded-xl.bg-white {
  border-color: rgba(10,31,61,.075) !important;
  background: rgba(255,255,255,.90) !important;
  box-shadow: 0 18px 52px rgba(7,19,40,.065), inset 0 1px 0 rgba(255,255,255,.86) !important;
  backdrop-filter: blur(10px);
}
.admin-main table thead {
  background: linear-gradient(180deg, rgba(247,249,252,.98), rgba(241,245,249,.92));
}
.admin-main table tbody tr { transition: background .16s ease; }
.admin-main table tbody tr:hover { background: rgba(200,155,60,.045); }
.admin-main input,
.admin-main textarea,
.admin-main select {
  border-color: #dbe2ea !important;
  background: rgba(255,255,255,.94) !important;
}
.admin-main input:hover,
.admin-main textarea:hover,
.admin-main select:hover { border-color: #bcc8d6 !important; }
.admin-main input:focus,
.admin-main textarea:focus,
.admin-main select:focus {
  border-color: #c89b3c !important;
  box-shadow: 0 0 0 4px rgba(200,155,60,.12), 0 8px 22px rgba(7,19,40,.04) !important;
}

/* Premium admin login */
.admin-login-shell {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 32px 18px;
  background:
    radial-gradient(circle at 12% 12%, rgba(216,173,79,.19), transparent 25rem),
    radial-gradient(circle at 92% 88%, rgba(43,90,148,.24), transparent 29rem),
    linear-gradient(135deg, #041020 0%, #071a34 47%, #0a2748 100%);
}
.admin-login-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, #000, transparent 78%);
}
.admin-login-orb {
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(1px);
}
.admin-login-orb-one {
  width: 420px;
  height: 420px;
  right: -180px;
  top: -180px;
  border: 1px solid rgba(216,173,79,.18);
  box-shadow: inset 0 0 100px rgba(216,173,79,.05);
}
.admin-login-orb-two {
  width: 320px;
  height: 320px;
  left: -140px;
  bottom: -140px;
  border: 1px solid rgba(86,139,204,.15);
  box-shadow: inset 0 0 100px rgba(86,139,204,.06);
}
.admin-login-frame {
  position: relative;
  z-index: 2;
  width: min(1080px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 38px 100px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(20px) saturate(130%);
}
.admin-login-visual {
  position: relative;
  min-height: 620px;
  padding: 54px 50px;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.008)),
    radial-gradient(circle at 20% 0%, rgba(216,173,79,.12), transparent 21rem);
}
.admin-login-visual::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: 58px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(216,173,79,.14);
  border-radius: 999px;
  box-shadow: 0 0 0 24px rgba(216,173,79,.025), 0 0 0 52px rgba(216,173,79,.018);
}
.admin-login-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}
.admin-login-logo {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(216,173,79,.24);
  border-radius: 20px;
  background: rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 16px 40px rgba(0,0,0,.14);
}
.admin-login-kicker {
  margin: 0 0 5px;
  color: #e4be63;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
}
.admin-login-brand h1 {
  max-width: 390px;
  margin: 0;
  color: #fff;
  font-family: var(--font-display, inherit);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.admin-login-lead {
  max-width: 520px;
  margin: 32px 0 0;
  color: #aebed2;
  font-size: 14px;
  line-height: 1.8;
}
.admin-login-feature-list {
  display: grid;
  gap: 13px;
  margin-top: 38px;
}
.admin-login-feature-list > div {
  display: flex;
  align-items: center;
  gap: 13px;
  max-width: 475px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}
.admin-login-feature-list svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: #e0b75b;
}
.admin-login-feature-list span { display: grid; gap: 2px; }
.admin-login-feature-list strong { color: #f8fbff; font-size: 12px; }
.admin-login-feature-list small { color: #8297af; font-size: 10px; line-height: 1.45; }
.admin-login-visual-footer {
  position: absolute;
  left: 50px;
  bottom: 42px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 13px;
}
.admin-login-visual-footer > div:last-child { display: grid; gap: 2px; }
.admin-login-visual-footer strong { color: #fff; font-size: 11px; }
.admin-login-visual-footer span { color: #738aa5; font-size: 9px; }
.admin-login-seal {
  display: grid;
  place-items: center;
  gap: 4px;
  color: #d9ad4f;
}
.admin-login-seal-ring {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(216,173,79,.35);
  border-radius: 999px;
  background: rgba(216,173,79,.065);
  box-shadow: 0 0 0 5px rgba(216,173,79,.025);
}
.admin-login-seal-icon { width: 19px; height: 19px; }
.admin-login-seal > span { font-size: 7px; font-weight: 900; letter-spacing: .17em; }
.admin-login-card-wrap {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: 42px;
  background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(247,250,253,.965));
}
.admin-login-card {
  width: 100%;
  padding: 34px;
  border: 1px solid #e7ebf0;
  border-radius: 24px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 20px 55px rgba(7,19,40,.09), inset 0 1px 0 rgba(255,255,255,.95);
}
.admin-login-card header { margin-bottom: 26px; }
.admin-login-status {
  display: inline-flex;
  align-items: center;
  margin-bottom: 13px;
  padding: 5px 9px;
  border: 1px solid rgba(200,155,60,.25);
  border-radius: 999px;
  background: rgba(200,155,60,.08);
  color: #9a6c15;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .15em;
}
.admin-login-card h2 {
  margin: 0;
  color: #0a1f3d;
  font-family: var(--font-display, inherit);
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -.04em;
}
.admin-login-card header p {
  margin: 9px 0 0;
  color: #718096;
  font-size: 12px;
  line-height: 1.55;
}
.admin-login-form { display: grid; gap: 18px; }
.admin-login-field { display: grid; gap: 7px; }
.admin-login-field > span {
  color: #334155;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
}
.admin-login-field input {
  width: 100%;
  height: 48px;
  border: 1px solid #dce3eb;
  border-radius: 14px;
  outline: none;
  padding: 0 14px;
  background: #fff;
  color: #0a1f3d;
  font-size: 13px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.admin-login-field input:focus {
  border-color: #c89b3c;
  box-shadow: 0 0 0 4px rgba(200,155,60,.12), 0 10px 24px rgba(7,19,40,.04);
}
.admin-login-password { position: relative; }
.admin-login-password input { padding-right: 48px; }
.admin-login-password button {
  position: absolute;
  right: 8px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  border-radius: 10px;
  color: #7b8a9d;
}
.admin-login-password button:hover { background: #f2f5f8; color: #0a1f3d; }
.admin-login-password svg { width: 16px; height: 16px; }
.admin-login-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 49px;
  margin-top: 2px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: linear-gradient(135deg, #071328, #0a1f3d 58%, #13375e);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  box-shadow: 0 16px 34px rgba(7,19,40,.22), inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.admin-login-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 20px 40px rgba(7,19,40,.28), 0 0 0 4px rgba(200,155,60,.07);
}
.admin-login-submit:disabled { opacity: .62; cursor: wait; }
.admin-login-submit svg { width: 15px; height: 15px; color: #e0b75b; }
.admin-login-error {
  padding: 10px 12px;
  border: 1px solid #fecaca;
  border-radius: 12px;
  background: #fff1f2;
  color: #b42318;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
}
.admin-login-card footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #eef1f4;
  color: #8a98aa;
  font-size: 9px;
}
.admin-login-card footer svg { width: 13px; height: 13px; color: #a77b21; }
.admin-login-help {
  margin: 0;
  color: #d2d9e4;
  text-align: center;
  font-size: 10px;
}

@media (min-width: 1024px) {
  .admin-desktopbar { display: flex; }
}
@media (max-width: 900px) {
  .admin-login-frame { grid-template-columns: 1fr; max-width: 520px; }
  .admin-login-visual { display: none; }
  .admin-login-card-wrap { padding: 26px; }
}
@media (max-width: 560px) {
  .admin-login-shell { padding: 18px 12px; }
  .admin-login-frame { border-radius: 24px; }
  .admin-login-card-wrap { padding: 16px; }
  .admin-login-card { padding: 24px 20px; border-radius: 20px; }
  .admin-login-card h2 { font-size: 1.7rem; }
}

/* ======================================================================
   TIC Platform v7.4 — certificate print + drag/drop template studio
   ====================================================================== */
.template-design-editor {
  border-radius: 16px;
  overflow: hidden;
}
.template-design-toolbar {
  position: relative;
  z-index: 5;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(10,31,61,.10);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(10,31,61,.97), rgba(18,50,88,.96));
  box-shadow: 0 10px 24px rgba(10,31,61,.12);
  color: #fff;
}
.template-drag-hint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #DDBB6B;
}
.template-element-chip {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 800;
  color: rgba(255,255,255,.74);
  background: rgba(255,255,255,.06);
}
.template-element-chip.is-active {
  border-color: rgba(221,187,107,.75);
  color: #0A1F3D;
  background: #DDBB6B;
}
.template-inline-size {
  display: grid;
  grid-template-columns: auto minmax(100px,1fr) auto auto;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid rgba(255,255,255,.10);
  font-size: 10px;
  font-weight: 800;
}
.template-inline-size input[type="range"] { accent-color: #DDBB6B; }
.template-inline-size button {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  padding: 5px 9px;
  color: #fff;
  background: rgba(255,255,255,.06);
}
.template-design-surface {
  position: relative;
  touch-action: none;
  user-select: none;
}
.template-design-surface [data-cert-element] {
  cursor: grab !important;
  transition: outline-color .16s ease, box-shadow .16s ease;
}
.template-design-surface [data-cert-element]:active { cursor: grabbing !important; }
.template-design-surface[data-selected-element="logo"] [data-cert-element="logo"],
.template-design-surface[data-selected-element="signature"] [data-cert-element="signature"],
.template-design-surface[data-selected-element="watermark"] [data-cert-element="watermark"],
.template-design-surface[data-selected-element="accreditation"] [data-cert-element="accreditation"],
.template-design-surface[data-selected-element="qr"] [data-cert-element="qr"] {
  outline: 2px dashed #C89B3C !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(200,155,60,.10);
}
.template-design-surface [data-cert-element="watermark"] { pointer-events: auto !important; }

/* Full certificate modal remains crisp on large screens. */
#public-full-certificate .certificate-doc,
#admin-certificate-preview .certificate-doc { max-width: 980px; }

@media (max-width: 640px) {
  .template-inline-size { grid-template-columns: 1fr auto; }
  .template-inline-size input[type="range"] { grid-column: 1 / -1; width: 100%; }
}

/* ======================================================================
   TIC Platform v7.5 — reliable drag studio + true A4 certificate stage
   ====================================================================== */
.certificate-doc {
  width: 1120px !important;
  height: 792px !important;
  max-width: none !important;
  min-width: 1120px !important;
  min-height: 792px !important;
  box-sizing: border-box !important;
}
.certificate-stage {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #e9edf3;
}
.certificate-stage-inner {
  position: absolute;
  left: 50%;
  top: 0;
  transform-origin: top center !important;
  margin-left: -560px;
}
.certificate-stage .certificate-doc { margin: 0 !important; }

.template-design-surface {
  overflow: hidden;
  border-radius: 16px;
  background: #e9edf3;
}
.template-design-surface [data-cert-element] {
  pointer-events: auto !important;
  touch-action: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
}
.template-design-surface [data-cert-element="logo"],
.template-design-surface [data-cert-element="signature"],
.template-design-surface [data-cert-element="accreditation"],
.template-design-surface [data-cert-element="qr"] {
  position: relative !important;
  z-index: 70 !important;
}
.template-design-surface .cert-watermark-layer {
  z-index: 60 !important;
  pointer-events: none !important;
}
.template-design-surface [data-cert-element="watermark"] {
  position: relative;
  z-index: 61 !important;
  pointer-events: auto !important;
}
.template-position-grid {
  display: grid;
  grid-template-columns: auto minmax(100px,1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 10px;
  font-weight: 800;
}
.template-position-grid input[type="range"] { width: 100%; accent-color: #DDBB6B; }
.template-position-value { min-width: 48px; text-align: right; color: #DDBB6B; }

.admin-certificate-modal,
.public-certificate-modal { overscroll-behavior: contain; }
.admin-certificate-modal-panel,
.public-certificate-modal-panel { width: min(1320px, 98vw); }

/* ======================================================================
   TIC Platform v7.6 — unified full-certificate browser viewer
   ====================================================================== */
.certificate-browser-viewer{min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(200,155,60,.12),transparent 28%),linear-gradient(145deg,#06152b,#0a1f3d 55%,#102d50);color:#fff;overflow:hidden}
.certificate-browser-toolbar{height:88px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(5,18,38,.92);backdrop-filter:blur(16px)}
.certificate-browser-kicker{display:flex;align-items:center;gap:7px;color:#ddb96a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}
.certificate-browser-title{margin-top:4px;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.2;font-weight:800;color:#fff}
.certificate-browser-number{margin-top:3px;font-size:10px;color:#9fb0c4;font-family:monospace}
.certificate-browser-actions{display:flex;align-items:center;gap:10px;flex:none}
.certificate-browser-print{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:999px;background:#c89b3c;color:#071328;font-size:12px;font-weight:800;cursor:pointer}
.certificate-browser-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.certificate-browser-canvas{height:calc(100vh - 88px);padding:12px 18px 16px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}
.certificate-browser-canvas .certificate-stage{width:100%;max-width:1320px;background:transparent;border-radius:0;box-shadow:none}
.certificate-browser-canvas .certificate-stage-inner{filter:drop-shadow(0 22px 38px rgba(0,0,0,.28))}
.certificate-browser-message{display:flex;min-height:320px;min-width:min(520px,90vw);align-items:center;justify-content:center;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.07);font-size:14px;font-weight:700;color:#e7edf5}
.certificate-browser-error{color:#ffd6d6}
.certificate-stage-fit-viewport{overflow:visible!important;background:transparent!important}
@media(max-width:700px){.certificate-browser-toolbar{height:78px;padding:10px 12px}.certificate-browser-canvas{height:calc(100vh - 78px);padding:8px}.certificate-browser-title{font-size:14px;max-width:48vw}.certificate-browser-print{padding:0 11px;font-size:10px}.certificate-browser-number{display:none}}
@media print{.certificate-browser-toolbar{display:none!important}.certificate-browser-viewer,.certificate-browser-canvas{height:auto!important;min-height:0!important;background:#fff!important;padding:0!important;overflow:visible!important}}

/* ======================================================================
   TIC Platform v7.7 — full A4 studio + reliable native A4 printing
   ====================================================================== */

/* The editor controls live BESIDE the certificate instead of above it,
   so the A4 canvas keeps its full available width and never gets pushed down. */
.template-design-editor{
  display:grid!important;
  grid-template-columns:224px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  overflow:visible!important;
  border-radius:16px;
}
.template-design-toolbar{
  position:sticky!important;
  top:12px!important;
  margin:0!important;
  max-height:calc(100vh - 110px);
  overflow:auto;
  border-radius:14px!important;
}
.template-design-toolbar > .flex{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
.template-design-toolbar .template-drag-hint{
  grid-column:1 / -1!important;
  margin:0 0 3px!important;
}
.template-element-chip{
  width:100%;
  text-align:center;
}
.template-inline-size{
  grid-template-columns:1fr auto!important;
  gap:7px!important;
}
.template-inline-size input[type="range"]{
  grid-column:1 / -1!important;
  width:100%!important;
}
.template-inline-size button{
  grid-column:1 / -1!important;
  width:100%;
}
.template-position-grid{
  grid-template-columns:1fr auto!important;
  gap:6px 8px!important;
}
.template-position-grid input[type="range"]{
  grid-column:1 / -1!important;
  width:100%!important;
}
.template-position-value{min-width:44px!important;}
.template-design-surface{
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(10,31,61,.10);
  border-radius:14px!important;
  background:linear-gradient(180deg,#dfe5ed,#eef2f6)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.template-design-surface .certificate-stage{
  border-radius:12px!important;
  background:transparent!important;
}

/* Give the certificate preview more room than the settings column. */
@media (max-width:1279px){
  .template-design-editor{grid-template-columns:1fr!important;}
  .template-design-toolbar{position:relative!important;top:auto!important;max-height:none!important;}
  .template-design-toolbar > .flex{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .template-design-toolbar .template-drag-hint{grid-column:1 / -1!important;}
  .template-inline-size{grid-template-columns:auto minmax(120px,1fr) auto auto!important;}
  .template-inline-size input[type="range"]{grid-column:auto!important;}
  .template-inline-size button{grid-column:auto!important;width:auto!important;}
  .template-position-grid{grid-template-columns:auto minmax(100px,1fr) auto!important;}
  .template-position-grid input[type="range"]{grid-column:auto!important;}
}
@media (max-width:700px){
  .template-design-toolbar > .flex{grid-template-columns:1fr 1fr!important;}
  .template-inline-size{grid-template-columns:1fr auto!important;}
  .template-inline-size input[type="range"],.template-inline-size button{grid-column:1 / -1!important;width:100%!important;}
  .template-position-grid{grid-template-columns:1fr auto!important;}
  .template-position-grid input[type="range"]{grid-column:1 / -1!important;}
}

/* Viewer: compact toolbar so the certificate gets the screen, not the chrome. */
.certificate-browser-toolbar{
  height:64px!important;
  padding:8px 16px!important;
}
.certificate-browser-canvas{
  height:calc(100vh - 64px)!important;
  padding:10px!important;
}
.certificate-browser-title{font-size:15px!important;}
.certificate-browser-print,.certificate-browser-close{height:36px!important;}
.certificate-browser-close{width:36px!important;}
.certificate-browser-canvas .certificate-stage{
  width:100%!important;
  max-width:1400px!important;
  background:transparent!important;
}
.certificate-browser-canvas .certificate-stage-inner{
  filter:drop-shadow(0 18px 36px rgba(0,0,0,.30));
}

/* Critical print reset: older global print rules made .certificate-doc absolute
   and conflicted with the A4 stage. The certificate viewer now owns print. */
@page{size:A4 landscape;margin:0}
@media print{
  html,body{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;}
  body.certificate-viewer-page *{visibility:visible!important;}
  body.certificate-viewer-page .certificate-browser-toolbar{display:none!important;}
  body.certificate-viewer-page .certificate-browser-viewer,
  body.certificate-viewer-page .certificate-browser-canvas{
    position:static!important;
    width:297mm!important;
    height:210mm!important;
    min-height:210mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.certificate-viewer-page .certificate-stage{
    position:relative!important;
    width:297mm!important;
    height:210mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
  body.certificate-viewer-page .certificate-stage-inner{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:1120px!important;
    height:792px!important;
    margin:0!important;
    margin-left:0!important;
    transform:none!important;
    transform-origin:top left!important;
    filter:none!important;
  }
  body.certificate-viewer-page .certificate-doc{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    width:1120px!important;
    min-width:1120px!important;
    max-width:none!important;
    height:792px!important;
    min-height:792px!important;
    margin:0!important;
    box-shadow:none!important;
    page-break-inside:avoid!important;
    break-inside:avoid-page!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.certificate-viewer-page .certificate-doc *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* ======================================================================
   TIC Platform v7.8 — balanced two-column certificate studio
   Controls stay on the left; the right side is reserved for the A4 canvas.
   ====================================================================== */
.certificate-studio-grid{
  display:grid;
  grid-template-columns:minmax(390px,460px) minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.certificate-studio-controls{
  min-width:0;
}
.certificate-studio-preview{
  position:sticky;
  top:20px;
  min-width:0;
}
.certificate-studio-canvas{
  min-height:520px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.9),transparent 48%),
    linear-gradient(180deg,#e7ecf2,#f3f5f8);
  box-shadow:0 18px 50px rgba(10,31,61,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
/* v7.8: size and position controls now live in the left settings column. */
.certificate-studio-preview .template-design-editor,
.certificate-studio-preview .template-design-surface{
  display:block!important;
  width:100%!important;
}
.certificate-studio-preview .template-design-toolbar{
  display:none!important;
}
.certificate-studio-preview .template-design-surface{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.certificate-studio-preview .certificate-stage{
  width:100%!important;
  border-radius:14px!important;
  box-shadow:0 14px 34px rgba(10,31,61,.15);
}
.iso-preset-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.iso-preset-card{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:9px 10px;
  border:1px solid #E3E7EE;
  border-radius:12px;
  background:#fff;
  text-align:left;
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.iso-preset-card:hover{
  transform:translateY(-1px);
  border-color:#C89B3C;
  box-shadow:0 8px 22px rgba(10,31,61,.08);
}
.iso-preset-swatch{
  width:34px;
  height:34px;
  flex:none;
  border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.42);
}
.iso-preset-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.iso-preset-copy b{font-size:11px;line-height:1.15;color:#0A1F3D}
.iso-preset-copy small{font-size:9px;line-height:1.2;color:#718096}
.element-position-list{display:grid;gap:10px}
.element-position-row{
  border:1px solid #E8EBF0;
  border-radius:12px;
  padding:10px;
  background:#FAFBFC;
}
.element-position-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}
.element-position-title b{font-size:11px;color:#0A1F3D}
.element-position-title button{
  border:0;
  background:transparent;
  color:#8A6B25;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.element-position-row .template-range-field + .template-range-field{margin-top:8px}
/* Expanded preview also stays clean: no duplicate controls above/beside the certificate. */
.fixed .template-design-toolbar{display:none!important}
.fixed .template-design-editor{display:block!important}
.fixed .template-design-surface{border:0!important;background:transparent!important;box-shadow:none!important}
@media(max-width:1180px){
  .certificate-studio-grid{grid-template-columns:1fr}
  .certificate-studio-preview{position:relative;top:auto;order:-1}
  .certificate-studio-canvas{min-height:0}
}
@media(max-width:600px){
  .iso-preset-grid{grid-template-columns:1fr}
}

/* ======================================================================
   TIC Platform v7.9 — portrait certificate studio + compact left inspector
   ====================================================================== */
.certificate-doc{
  width:792px!important;
  min-width:792px!important;
  max-width:none!important;
  height:1120px!important;
  min-height:1120px!important;
  box-sizing:border-box!important;
}
.certificate-stage-inner{
  margin-left:-396px!important;
}
.certificate-studio-grid{
  grid-template-columns:minmax(330px,370px) minmax(0,1fr)!important;
  gap:18px!important;
}
.certificate-studio-controls{
  min-width:0!important;
}
.certificate-studio-controls > .rounded-2xl{
  padding:14px!important;
  border-radius:14px!important;
}
.certificate-studio-controls .space-y-4 > :not([hidden]) ~ :not([hidden]){
  margin-top:.7rem!important;
}
.certificate-studio-controls label.block{
  font-size:10px!important;
  margin-bottom:4px!important;
}
.certificate-studio-controls input,
.certificate-studio-controls textarea,
.certificate-studio-controls select{
  font-size:12px!important;
}
.certificate-studio-preview{
  position:sticky!important;
  top:14px!important;
  min-width:0!important;
}
.certificate-studio-canvas{
  min-height:760px!important;
  padding:12px!important;
  align-items:flex-start!important;
  overflow:hidden!important;
}
.certificate-studio-preview .certificate-stage{
  width:100%!important;
  max-width:860px!important;
  border-radius:14px!important;
  box-shadow:0 16px 38px rgba(10,31,61,.16)!important;
}
.template-size-grid{display:none!important;}

/* Presets now show actual vector mini-layouts rather than plain color swatches. */
.iso-preset-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;}
.iso-preset-card{align-items:flex-start!important;min-height:94px!important;padding:8px!important;flex-direction:column!important;}
.iso-preset-thumb{width:100%;height:52px;overflow:hidden;border-radius:8px;background:#f5f7fa;border:1px solid #edf0f4;display:flex;align-items:center;justify-content:center;}
.iso-preset-thumb svg{width:100%!important;height:100%!important;display:block;}
.iso-preset-copy{width:100%!important;}
.iso-preset-copy b{font-size:10.5px!important;}
.iso-preset-copy small{font-size:9px!important;}

/* Compact one-at-a-time inspector for Logo / Signature / Watermark / Accreditation / QR. */
.compact-element-adjust{display:grid;gap:10px;}
.compact-element-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.compact-element-tabs button{
  min-height:32px;border:1px solid #e2e7ee;border-radius:9px;background:#f8fafc;color:#526173;
  font-size:9.5px;font-weight:800;cursor:pointer;padding:6px 4px;transition:.15s ease;
}
.compact-element-tabs button.is-active{background:#0a1f3d;color:#fff;border-color:#0a1f3d;box-shadow:0 5px 12px rgba(10,31,61,.16);}
.compact-element-controls{display:grid;gap:8px;padding:9px;border:1px solid #e7ebf0;border-radius:11px;background:#fbfcfd;}
.compact-element-controls .template-range-field{margin:0!important;}
.compact-element-controls .template-range-head{font-size:9.5px!important;}
.compact-element-controls input[type="range"]{width:100%!important;}
.compact-element-reset{width:100%;border:1px dashed #d8c28a;background:#fffaf0;color:#7a5a18;border-radius:8px;padding:6px;font-size:9.5px;font-weight:800;cursor:pointer;}

/* Keep upload controls compact so the portrait canvas stays visible beside them. */
.certificate-studio-controls .border-dashed{padding:8px!important;gap:8px!important;}
.certificate-studio-controls .border-dashed .h-14{height:40px!important;width:40px!important;}
.certificate-studio-controls .border-dashed .h-12{height:36px!important;width:70px!important;}

/* Portrait viewer and print use the same 210 × 297 mm geometry. */
@page{size:A4 portrait;margin:0}
@media print{
  html,body{width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;}
  body.certificate-viewer-page .certificate-browser-viewer,
  body.certificate-viewer-page .certificate-browser-canvas{
    width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;
  }
  body.certificate-viewer-page .certificate-stage{
    width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#fff!important;
  }
  body.certificate-viewer-page .certificate-stage-inner{
    position:absolute!important;left:0!important;top:0!important;width:792px!important;height:1120px!important;margin:0!important;margin-left:0!important;transform:none!important;transform-origin:top left!important;filter:none!important;
  }
  body.certificate-viewer-page .certificate-doc{
    position:relative!important;inset:auto!important;left:auto!important;top:auto!important;width:792px!important;min-width:792px!important;max-width:none!important;height:1120px!important;min-height:1120px!important;margin:0!important;box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid-page!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
}

/* Portrait layout breathing room: center content and use vertical page space gracefully. */
.certificate-doc > .relative.z-10,
.certificate-doc > div > .relative.z-10{
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}
.certificate-doc .mt-8{margin-top:2.15rem!important;}
.certificate-doc .mt-7{margin-top:1.8rem!important;}
.certificate-doc .mt-6{margin-top:1.5rem!important;}

@media(max-width:1100px){
  .certificate-studio-grid{grid-template-columns:1fr!important;}
  .certificate-studio-preview{position:relative!important;top:auto!important;order:-1;}
  .certificate-studio-canvas{min-height:0!important;}
}
@media(max-width:560px){
  .iso-preset-grid{grid-template-columns:1fr 1fr!important;}
  .compact-element-tabs{grid-template-columns:1fr 1fr!important;}
}


/* ======================================================================
   TIC Platform v7.10 — stable preset renderer + exact full-page A4 portrait print
   ====================================================================== */
@page { size: A4 portrait; margin: 0 !important; }
@media print {
  html, body, body.certificate-viewer-page {
    width: 210mm !important;
    height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  body.certificate-viewer-page .certificate-browser-toolbar { display: none !important; }
  body.certificate-viewer-page .certificate-browser-viewer,
  body.certificate-viewer-page .certificate-browser-canvas,
  body.certificate-viewer-page .certificate-stage {
    position: absolute !important;
    inset: 0 !important;
    width: 210mm !important;
    height: 297mm !important;
    min-width: 210mm !important;
    min-height: 297mm !important;
    max-width: 210mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }
  body.certificate-viewer-page .certificate-stage-inner {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 210mm !important;
    height: 297mm !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    transform-origin: top left !important;
    filter: none !important;
  }
  body.certificate-viewer-page .certificate-doc {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 210mm !important;
    min-width: 210mm !important;
    max-width: 210mm !important;
    height: 297mm !important;
    min-height: 297mm !important;
    max-height: 297mm !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    overflow: hidden !important;
    page-break-before: avoid !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    break-before: avoid-page !important;
    break-after: avoid-page !important;
    break-inside: avoid-page !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body.certificate-viewer-page .certificate-doc * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

/* ======================================================================
   TIC Platform v7.11 — dedicated exact-size print-only A4 sheet
   Screen stage and print sheet are deliberately separate.
   ====================================================================== */
.certificate-print-sheet{display:none;}
@page{size:210mm 297mm;margin:0!important;}
@media print{
  html,body,body.certificate-viewer-page,body.certificate-viewer-page #root{
    width:210mm!important;
    height:297mm!important;
    min-width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.certificate-viewer-page *{box-sizing:border-box;}
  body.certificate-viewer-page .certificate-browser-viewer{display:none!important;}
  body.certificate-viewer-page .certificate-viewer-shell{
    position:absolute!important;
    inset:0!important;
    width:210mm!important;
    height:297mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.certificate-viewer-page .certificate-print-sheet{
    display:block!important;
    visibility:visible!important;
    position:absolute!important;
    inset:0!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    page-break-inside:avoid!important;
    break-before:avoid-page!important;
    break-after:avoid-page!important;
    break-inside:avoid-page!important;
  }
  body.certificate-viewer-page .certificate-print-sheet,
  body.certificate-viewer-page .certificate-print-sheet *{
    visibility:visible!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  body.certificate-viewer-page .certificate-print-sheet>.certificate-doc{
    position:absolute!important;
    inset:0!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
}


/* ======================================================================
   TIC Platform v7.12 — TRUE full-height portrait certificate layouts
   The A4 page was already 210×297mm; the inner design wrappers were not.
   These rules make every template consume the entire portrait sheet.
   ====================================================================== */
.certificate-doc[class*="certificate-layout-"]{
  width:792px!important;
  height:1120px!important;
  min-height:1120px!important;
  max-height:1120px!important;
  box-sizing:border-box!important;
}

/* Royal: outer frame + inner engraved frame + content now reach the footer edge. */
.certificate-layout-royal{display:flex!important;flex-direction:column!important;}
.certificate-layout-royal>div:first-child{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;}
.certificate-layout-royal>div:first-child>div.m-2{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;}
.certificate-layout-royal>div:first-child>div.m-2>.relative.z-10,
.certificate-layout-royal>div:first-child>div.m-2>.relative.overflow-hidden{flex:1 1 auto!important;min-height:0!important;}
.certificate-layout-royal>div:first-child>div.m-2>.relative.z-10{display:flex!important;flex-direction:column!important;justify-content:space-between!important;}

/* Premium: keep the guilloche bands at the physical top and bottom of A4. */
.certificate-layout-premium{display:flex!important;flex-direction:column!important;}
.certificate-layout-premium>div:first-child{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;}
.certificate-layout-premium>div:first-child>div.m-2{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;}
.certificate-layout-premium>div:first-child>div.m-2>.relative.overflow-hidden{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}

/* Corporate: header remains fixed, body expands to use the rest of A4. */
.certificate-layout-corporate{display:flex!important;flex-direction:column!important;}
.certificate-layout-corporate>div.relative.overflow-hidden{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}

/* Elite: triangular masthead stays fixed, certificate body/footer fill remaining page. */
.certificate-layout-elite{display:flex!important;flex-direction:column!important;}
.certificate-layout-elite>div.relative.px-10,
.certificate-layout-elite>div.relative.sm\:px-14{flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}

/* Minimal / Modern / Classic share Header + Body + Footer.
   Body gets the flexible middle region and Footer is pinned to the bottom. */
.certificate-layout-minimal>.relative.z-10,
.certificate-layout-modern>div.relative.flex-1>.relative.z-10,
.certificate-layout-classic>.relative.z-10{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.certificate-layout-minimal>.relative.z-10>div:nth-child(2),
.certificate-layout-modern>div.relative.flex-1>.relative.z-10>div:nth-child(2),
.certificate-layout-classic>.relative.z-10>div:nth-child(2){
  flex:1 1 auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.certificate-layout-minimal>.relative.z-10>div:last-child,
.certificate-layout-modern>div.relative.flex-1>.relative.z-10>div:last-child,
.certificate-layout-classic>.relative.z-10>div:last-child{
  margin-top:auto!important;
}
.certificate-layout-modern>div.relative.flex-1{height:100%!important;min-height:0!important;}

/* Print: one isolated, exact physical A4 page with the full-height design. */
@page{size:210mm 297mm;margin:0!important;}
@media print{
  html,body,body.certificate-viewer-page,body.certificate-viewer-page #root,
  body.certificate-viewer-page .certificate-viewer-shell{
    width:210mm!important;height:297mm!important;min-width:210mm!important;min-height:297mm!important;
    margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;
  }
  body.certificate-viewer-page .certificate-browser-viewer{display:none!important;}
  body.certificate-viewer-page .certificate-print-sheet{
    display:block!important;position:fixed!important;inset:0!important;
    width:210mm!important;height:297mm!important;min-width:210mm!important;min-height:297mm!important;
    max-width:210mm!important;max-height:297mm!important;margin:0!important;padding:0!important;
    overflow:hidden!important;background:#fff!important;transform:none!important;
  }
  body.certificate-viewer-page .certificate-print-sheet>.certificate-doc{
    position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;
    width:210mm!important;height:297mm!important;min-width:210mm!important;min-height:297mm!important;
    max-width:210mm!important;max-height:297mm!important;margin:0!important;padding-top:0;
    box-sizing:border-box!important;overflow:hidden!important;box-shadow:none!important;transform:none!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  body.certificate-viewer-page .certificate-print-sheet>.certificate-doc *{
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
}

/* v7.13 — compact text-size editor */
.compact-text-adjust{display:grid;gap:12px}
.compact-text-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.compact-text-tabs button{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:8px 9px;text-align:left;font-size:11px;font-weight:700;line-height:1.2;color:#475569;transition:.15s ease}
.compact-text-tabs button:hover{border-color:#94a3b8;color:#0a1f3d}
.compact-text-tabs button.is-active{border-color:#0a1f3d;background:#0a1f3d;color:#fff;box-shadow:0 5px 14px rgba(10,31,61,.12)}
.compact-text-controls{border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:12px;display:grid;gap:10px}
.text-size-stepper{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center}
.text-size-stepper button{border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:7px 9px;font-size:11px;font-weight:700;color:#0f2748}
.text-size-stepper button:hover{border-color:#0a1f3d}
.text-size-stepper b{min-width:48px;text-align:center;font-size:12px;color:#0a1f3d}
.text-size-stepper .text-size-reset{grid-column:1/-1;color:#64748b;background:transparent}
.template-design-surface [data-cert-text]{transition:font-size .12s ease}
@media (max-width:540px){.compact-text-tabs{grid-template-columns:1fr}.text-size-stepper{grid-template-columns:1fr auto 1fr}}
.template-design-surface [data-cert-text]{cursor:pointer;border-radius:2px}
.template-design-surface [data-cert-text]:hover{outline:1px dashed rgba(15,39,72,.28);outline-offset:2px}


/* ======================================================================
   TIC Platform v7.30 — Grid Studio + always-visible live preview
   The editor is a two-pane workstation: controls scroll independently on
   the left while the A4 certificate stays visible on the right.
   ====================================================================== */
@media (min-width: 1181px) {
  .certificate-studio-grid{
    grid-template-columns:minmax(440px,500px) minmax(620px,1fr)!important;
    gap:18px!important;
    height:calc(100vh - 168px)!important;
    min-height:690px!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .certificate-studio-controls{
    height:100%!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 8px 24px 1px!important;
    scrollbar-width:thin;
    scrollbar-color:#b8c1cd transparent;
    overscroll-behavior:contain;
  }
  .certificate-studio-controls::-webkit-scrollbar{width:7px}
  .certificate-studio-controls::-webkit-scrollbar-thumb{background:#b8c1cd;border-radius:99px}
  .certificate-studio-preview{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .certificate-studio-canvas{
    flex:1 1 auto!important;
    min-height:0!important;
    height:calc(100% - 38px)!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px!important;
  }
  .certificate-studio-preview .certificate-stage{
    max-height:100%!important;
    width:100%!important;
  }
}

/* Presets are visual certificate cards instead of a label-style list. */
.iso-preset-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.iso-preset-card{
  position:relative!important;
  min-height:118px!important;
  padding:8px!important;
  border:1px solid #dde3eb!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#fafbfd)!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
}
.iso-preset-card:hover{
  border-color:#c89b3c!important;
  box-shadow:0 8px 20px rgba(10,31,61,.09)!important;
}
.iso-preset-card.is-selected{
  border-color:#0a1f3d!important;
  box-shadow:0 0 0 2px rgba(10,31,61,.10),0 10px 24px rgba(10,31,61,.11)!important;
  background:linear-gradient(180deg,#fff,#f4f7fb)!important;
}
.iso-preset-thumb{
  height:68px!important;
  border-radius:8px!important;
  background:#eef2f7!important;
}
.iso-preset-copy{gap:3px!important}
.iso-preset-title-row{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.iso-preset-title-row b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iso-preset-title-row em{
  font-style:normal;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
  color:#fff;background:#0a1f3d;border-radius:999px;padding:2px 5px;white-space:nowrap;
}
.iso-preset-copy small{font-size:8.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Denser left editor cards — more tools stay within reach without hiding the preview. */
.certificate-studio-controls{gap:0!important}
.certificate-studio-controls.space-y-6 > :not([hidden]) ~ :not([hidden]){margin-top:10px!important}
.certificate-studio-controls > .rounded-2xl{padding:12px!important}
.certificate-studio-controls > .rounded-2xl h2,
.certificate-studio-controls > .rounded-2xl h3{line-height:1.15!important}

/* Live preview identity stays visible while editing. */
.live-preview-heading{display:flex;align-items:center;gap:8px;min-width:0}
.live-preview-heading span{
  display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border:1px solid #dfe5ec;background:#fff;color:#0a1f3d;border-radius:999px;padding:4px 8px;
  font-size:9px;font-weight:800;letter-spacing:.02em;text-transform:none;
}

/* On medium screens keep a two-column preset grid; mobile uses one clean column. */
@media (max-width: 1300px) and (min-width: 1181px){
  .certificate-studio-grid{grid-template-columns:minmax(400px,450px) minmax(560px,1fr)!important}
  .iso-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:1180px){
  .certificate-studio-grid{height:auto!important;overflow:visible!important}
  .certificate-studio-controls{height:auto!important;overflow:visible!important;padding-right:0!important}
  .certificate-studio-preview{position:relative!important;height:auto!important;overflow:visible!important}
  .certificate-studio-canvas{height:auto!important;min-height:0!important}
  .iso-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:760px){.iso-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:480px){.iso-preset-grid{grid-template-columns:1fr!important}}


/* v7.30 full-page live preview + expanded viewer */
.certificate-studio-canvas{
  height:calc(100vh - 210px)!important;
  min-height:760px!important;
  max-height:1100px!important;
  padding:14px!important;
}
.certificate-studio-preview .template-design-surface,
.certificate-studio-preview .template-design-editor,
.certificate-studio-preview .certificate-stage{
  height:100%!important;
}
.certificate-studio-preview .certificate-stage{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.certificate-preview-dialog__body .template-design-toolbar{display:none!important}
.certificate-preview-dialog__body .template-design-surface,
.certificate-preview-dialog__body .template-design-editor,
.certificate-preview-dialog__body .certificate-stage{
  width:100%!important;
  height:100%!important;
}
.certificate-preview-dialog__body .template-design-surface{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.certificate-preview-dialog__body .certificate-stage{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  background:transparent!important;
}
.certificate-preview-dialog__body .certificate-stage-inner{filter:drop-shadow(0 18px 34px rgba(10,31,61,.18))}
@media (max-width: 1200px){
  .certificate-studio-canvas{height:calc(100vh - 190px)!important;min-height:640px!important;}
}
@media (max-width: 900px){
  .certificate-studio-canvas{height:auto!important;min-height:540px!important;max-height:none!important;}
  .certificate-preview-dialog{height:calc(100vh - 16px)!important;}
}

/* v7.30 expanded certificate viewer: full A4 canvas + cursor-centered wheel zoom */
.certificate-expanded-shell{min-height:0}
.certificate-expanded-toolbar{position:relative;z-index:3;flex:0 0 auto}
.certificate-expanded-viewport{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 25%,rgba(255,255,255,.96),rgba(230,235,241,.9) 46%,rgba(207,215,224,.96)),
    linear-gradient(180deg,#e5eaf0,#dce3ea);
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.certificate-expanded-viewport.is-dragging{cursor:grabbing}
.certificate-expanded-layer{
  position:absolute;
  left:50%;
  top:50%;
  transform-origin:center center;
  will-change:transform;
  box-shadow:0 26px 70px rgba(10,31,61,.26),0 0 0 1px rgba(10,31,61,.08);
  background:#fff;
}
.certificate-expanded-layer .certificate-doc{margin:0!important}
.certificate-zoom-btn,
.certificate-close-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  border:1px solid #d9e0e8;
  border-radius:999px;
  background:#fff;
  padding:0 12px;
  color:#0a1f3d;
  font-size:12px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(10,31,61,.05);
}
.certificate-zoom-btn:hover{border-color:#b78a2d;background:#fffdf8}
.certificate-close-btn{gap:6px;background:#0a1f3d;color:#fff;border-color:#0a1f3d}
.certificate-close-btn:hover{background:#173b67}
.certificate-zoom-value{
  min-width:54px;
  text-align:center;
  font-size:12px;
  font-weight:800;
  color:#0a1f3d;
}
@media (max-width:700px){
  .certificate-expanded-toolbar{align-items:flex-start}
  .certificate-expanded-toolbar>div:last-child{width:100%;justify-content:flex-end}
  .certificate-zoom-btn,.certificate-close-btn{min-height:32px;padding:0 10px}
}


/* v7.30 draggable issuer address/email — separate optional elements. */
.certificate-doc[data-issuer-address]:not([data-issuer-address=""])::before,
.certificate-doc[data-issuer-email]:not([data-issuer-email=""])::after{
  position:absolute;
  left:50%;
  width:680px;
  max-width:86%;
  z-index:40;
  text-align:center;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.025em;
  color:#64748b;
  pointer-events:none;
  white-space:normal;
}
.certificate-doc[data-issuer-address]:not([data-issuer-address=""])::before{
  content:attr(data-issuer-address);
  bottom:22px;
  font-size:var(--issuer-address-size,9px);
  transform:translate(calc(-50% + var(--issuer-address-x,0px)),var(--issuer-address-y,0px));
}
.certificate-doc[data-issuer-email]:not([data-issuer-email=""])::after{
  content:attr(data-issuer-email);
  bottom:7px;
  font-size:var(--issuer-email-size,9px);
  transform:translate(calc(-50% + var(--issuer-email-x,0px)),var(--issuer-email-y,0px));
}
/* CertificateStage uses real DOM contact elements so they can be dragged in the designer. */
.certificate-stage .certificate-doc::before,
.certificate-stage .certificate-doc::after{display:none!important;content:none!important;}
.certificate-stage-contact{
  position:absolute;
  left:50%;
  z-index:60;
  width:680px;
  max-width:86%;
  text-align:center;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.025em;
  color:#64748b;
  pointer-events:none;
  user-select:none;
  white-space:normal;
}
.certificate-stage-address{bottom:22px;}
.certificate-stage-email{bottom:7px;}
.template-design-surface .certificate-stage-contact{
  pointer-events:auto;
  cursor:grab;
  border-radius:4px;
}
.template-design-surface .certificate-stage-contact:hover{
  outline:1px dashed rgba(200,155,60,.85);
  outline-offset:3px;
  background:rgba(255,255,255,.55);
}
.template-design-surface .certificate-stage-contact:active{cursor:grabbing;}
.template-design-surface[data-selected-element="companyAddress"] [data-cert-element="companyAddress"],
.template-design-surface[data-selected-element="companyEmail"] [data-cert-element="companyEmail"]{
  outline:2px solid rgba(200,155,60,.92)!important;
  outline-offset:3px!important;
  background:rgba(255,253,248,.78)!important;
}
@media print{
  .certificate-doc[data-issuer-address]:not([data-issuer-address=""])::before{bottom:5.8mm;}
  .certificate-doc[data-issuer-email]:not([data-issuer-email=""])::after{bottom:1.9mm;}
}


/* v7.30: all certificate text is draggable; live preview keeps the footer reachable. */
.template-design-surface [data-cert-text]{
  cursor:grab!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  transition:font-size .12s ease, translate .12s ease, outline-color .12s ease!important;
}
.template-design-surface [data-cert-text]:active{cursor:grabbing!important}
.template-design-surface [data-cert-text]:hover{
  outline:1px dashed rgba(200,155,60,.75)!important;
  outline-offset:3px!important;
}
.certificate-studio-canvas{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-items:flex-start!important;
  padding-bottom:42px!important;
  scrollbar-width:thin;
  scrollbar-color:#aeb8c6 transparent;
}
.certificate-studio-canvas::-webkit-scrollbar{width:8px}
.certificate-studio-canvas::-webkit-scrollbar-thumb{background:#aeb8c6;border-radius:999px}
.certificate-studio-preview .certificate-stage{
  overflow:visible!important;
  flex:0 0 auto!important;
}
.certificate-studio-preview .certificate-stage-inner{
  padding-bottom:18px!important;
}
.live-preview-heading::after{
  content:'Full page fit • scroll inside preview to inspect the footer';
  display:block;
  margin-top:2px;
  font-size:10px;
  font-weight:600;
  color:#94a3b8;
}
.compact-text-controls{display:grid;gap:10px}

/* v7.30 Custom A4 Background Certificate Design */
.custom-bg-uploader{display:grid;gap:12px}
.custom-bg-requirement{display:grid;gap:3px;border:1px solid #d9e0e8;border-radius:12px;background:linear-gradient(180deg,#fffdf8,#fff);padding:12px 13px;color:#0a1f3d}
.custom-bg-requirement b{font-size:13px}
.custom-bg-requirement span{font-size:11px;font-weight:800;color:#b47d18;text-transform:uppercase;letter-spacing:.05em}
.custom-bg-requirement small{font-size:11px;line-height:1.45;color:#64748b}
.custom-bg-toggle{display:flex;align-items:flex-start;gap:9px;border:1px solid #d9e0e8;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.custom-bg-toggle.is-disabled{opacity:.58;cursor:not-allowed}
.custom-bg-toggle input{margin-top:2px}
.custom-bg-toggle span{display:grid;gap:2px}
.custom-bg-toggle strong{font-size:12px;color:#0a1f3d}
.custom-bg-toggle small{font-size:10px;color:#64748b}
.custom-bg-upload-row{display:grid;grid-template-columns:94px 1fr;gap:12px;align-items:center}
.custom-bg-preview{width:94px;aspect-ratio:210/297;border:1px dashed #b8c1cd;border-radius:9px;overflow:hidden;background:#f3f5f8;display:grid;place-items:center;white-space:pre-line;text-align:center;font-size:9px;font-weight:900;letter-spacing:.12em;color:#94a3b8}
.custom-bg-preview img{width:100%;height:100%;object-fit:cover}
.custom-bg-actions{display:grid;gap:6px;justify-items:start}
.custom-bg-upload-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;background:#0a1f3d;color:#fff;padding:0 14px;font-size:11px;font-weight:800;cursor:pointer}
.custom-bg-upload-btn:hover{background:#173b67}
.custom-bg-valid{font-size:10px;font-weight:800;color:#11845b}
.custom-bg-error{font-size:10px;font-weight:800;line-height:1.4;color:#b4232c}
.custom-bg-remove{font-size:10px;font-weight:800;color:#b4232c}
.custom-bg-remove:hover{text-decoration:underline}
.certificate-layout-custom{background-color:#fff!important;background-origin:border-box!important;background-clip:border-box!important}
.certificate-layout-custom .certificate-custom-overlay{box-sizing:border-box!important;min-height:1120px!important;height:1120px!important}
.certificate-layout-custom .certificate-custom-overlay .border-t{border-color:rgba(15,39,72,.16)!important}
@media print{
  .certificate-layout-custom{background-size:210mm 297mm!important;background-position:0 0!important;background-repeat:no-repeat!important}
}
@media (max-width:520px){.custom-bg-upload-row{grid-template-columns:74px 1fr}.custom-bg-preview{width:74px}}


/* v7.30 certificate management viewer: readable initial view + persistent toolbar */
body.certificate-viewer-page .certificate-browser-viewer{
  height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body.certificate-viewer-page .certificate-browser-toolbar{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  flex:0 0 auto!important;
  min-height:68px!important;
  height:auto!important;
  padding:10px 14px!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22)!important;
}
body.certificate-viewer-page .certificate-browser-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  position:relative!important;
  z-index:130!important;
}
.certificate-browser-tool{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;height:36px;padding:0 11px;
  border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);
  color:#fff;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;
}
.certificate-browser-tool:hover{background:rgba(255,255,255,.16);border-color:rgba(200,155,60,.6)}
.certificate-browser-zoom-value{min-width:46px;text-align:center;color:#f7d98e;font-size:11px;font-weight:900}
body.certificate-viewer-page .certificate-browser-print,
body.certificate-viewer-page .certificate-browser-close{position:relative!important;z-index:135!important;flex:0 0 auto!important;}
body.certificate-viewer-page .certificate-browser-canvas{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:auto!important;
  display:block!important;
  padding:24px!important;
  background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 42%),#071328!important;
  scrollbar-gutter:stable both-edges;
}
.certificate-browser-zoom-stage{position:relative;margin:0 auto;transition:width .12s ease,height .12s ease;}
.certificate-browser-zoom-inner{position:absolute;left:0;top:0;transform-origin:top left;transition:transform .12s ease;filter:drop-shadow(0 22px 38px rgba(0,0,0,.32));}
.certificate-browser-zoom-inner .certificate-doc{margin:0!important;}
@media(max-width:900px){
  body.certificate-viewer-page .certificate-browser-toolbar{align-items:flex-start!important;gap:8px!important;}
  .certificate-browser-actions{width:100%!important;justify-content:flex-start!important;}
  body.certificate-viewer-page .certificate-browser-canvas{padding:14px!important;}
}
@media print{
  body.certificate-viewer-page .certificate-browser-tool,
  body.certificate-viewer-page .certificate-browser-zoom-value{display:none!important;}
}

/* v7.30 Apply Template: real portrait mini-certificate thumbnails */
.apply-template-card{position:relative;overflow:hidden}
.apply-template-card.is-selected{box-shadow:0 10px 26px rgba(10,31,61,.12)}
.apply-template-thumb{margin-top:12px;border:1px solid #d9e0e8;border-radius:12px;background:#eef2f6;padding:10px;display:flex;justify-content:center}
.apply-template-paper{--p:var(--thumb-primary);--a:var(--thumb-accent);position:relative;width:min(100%,190px);aspect-ratio:210/297;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(10,31,61,.12);border:2px solid var(--a);font-family:Georgia,'Times New Roman',serif;color:#233244}
.apply-template-paper:after{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--p) 48%,transparent);pointer-events:none}
.apply-template-decor{position:absolute;pointer-events:none}
.apply-template-decor-a{left:0;top:0;width:100%;height:16px;background:linear-gradient(90deg,var(--p),var(--a))}
.apply-template-decor-b{right:-28px;bottom:-32px;width:92px;height:92px;border-radius:50%;border:11px solid color-mix(in srgb,var(--a) 62%,transparent)}
.apply-template-mini-head{position:absolute;top:29px;left:24px;right:24px;display:flex;align-items:center;gap:7px}
.apply-template-mini-logo{width:17px;height:17px;border-radius:50%;background:var(--p);box-shadow:inset 0 0 0 4px #fff;border:1px solid var(--a)}
.apply-template-mini-issuer{height:4px;width:63px;border-radius:99px;background:var(--p);font-size:0;color:transparent}
.apply-template-mini-title{position:absolute;top:58px;left:18px;right:18px;text-align:center;font-weight:800;font-size:14px;letter-spacing:.6px;color:var(--p)}
.apply-template-mini-subtitle{position:absolute;top:76px;left:18px;right:18px;text-align:center;font-size:5px;font-family:Arial,sans-serif;font-weight:800;letter-spacing:1.3px;color:var(--a)}
.apply-template-mini-kicker{position:absolute;top:98px;left:20px;right:20px;text-align:center;font:700 3.5px/1 Arial,sans-serif;letter-spacing:.8px;color:#8a96a5}
.apply-template-mini-holder{position:absolute;top:111px;left:18px;right:18px;text-align:center;font-size:8px;font-weight:800;color:var(--p)}
.apply-template-mini-address{position:absolute;top:124px;left:26px;right:26px;text-align:center;font:500 3.5px/1.1 Arial,sans-serif;color:#7b8795}
.apply-template-mini-bodyline{position:absolute;top:140px;left:45px;right:45px;height:2px;border-radius:2px;background:#d8dee6}
.apply-template-mini-standard{position:absolute;top:151px;left:18px;right:18px;text-align:center;font:800 7px/1 Arial,sans-serif;color:var(--p)}
.apply-template-mini-scope-title{position:absolute;top:171px;left:18px;right:18px;text-align:center;font:700 3.2px/1 Arial,sans-serif;letter-spacing:.6px;color:var(--a)}
.apply-template-mini-scope{position:absolute;top:181px;left:34px;right:34px;display:grid;gap:3px}
.apply-template-mini-scope i{display:block;height:2px;border-radius:2px;background:#d7dde5}
.apply-template-mini-scope i:nth-child(2){margin-inline:7px}.apply-template-mini-scope i:nth-child(3){margin-inline:16px}
.apply-template-mini-details{position:absolute;left:21px;right:21px;top:207px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.apply-template-mini-details span{height:18px;border-top:1px solid #d4dbe4;border-bottom:1px solid #eef1f5;background:linear-gradient(#fff,#fafbfc)}
.apply-template-mini-bottom{position:absolute;left:22px;right:22px;bottom:32px;display:grid;grid-template-columns:1fr 32px 1fr;align-items:end;gap:8px}
.apply-template-mini-sign b{display:block;width:42px;height:8px;border-bottom:1px solid var(--p);transform:skew(-18deg);opacity:.75}
.apply-template-mini-sign small{display:block;margin-top:3px;font:700 2.8px/1 Arial,sans-serif;color:#7d8895;letter-spacing:.4px}
.apply-template-mini-seal{width:25px;height:25px;border-radius:50%;border:2px solid var(--a);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px color-mix(in srgb,var(--a) 38%,transparent)}
.apply-template-mini-qr{justify-self:end;width:25px;height:25px;border:3px solid #233244;background:repeating-linear-gradient(45deg,#233244 0 2px,#fff 2px 4px)}
.apply-template-mini-footer{position:absolute;left:24px;right:24px;bottom:17px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--p),var(--a))}
/* Layout variants deliberately alter the mini-certificate structure so cards are recognizable. */
.apply-template-thumb--royal .apply-template-paper{border:3px double var(--a);background:linear-gradient(135deg,#fffef9,#fff)}
.apply-template-thumb--royal .apply-template-decor-a{height:9px;left:12px;right:12px;width:auto;top:8px;background:var(--p)}
.apply-template-thumb--royal .apply-template-mini-seal{width:30px;height:30px;border-width:3px}
.apply-template-thumb--premium .apply-template-paper{border-color:var(--a)}
.apply-template-thumb--premium .apply-template-decor-a{height:27px;background:linear-gradient(135deg,var(--p) 0 70%,var(--a) 70%)}
.apply-template-thumb--premium .apply-template-decor-b{border-width:15px;width:105px;height:105px;right:-45px;bottom:-45px}
.apply-template-thumb--elite .apply-template-paper:before{content:"";position:absolute;left:-22px;top:-18px;width:78px;height:88px;background:var(--p);transform:rotate(24deg)}
.apply-template-thumb--elite .apply-template-decor-a{right:0;left:auto;width:50%;height:9px;background:var(--a)}
.apply-template-thumb--corporate .apply-template-decor-a{height:26px;background:var(--p)}
.apply-template-thumb--corporate .apply-template-mini-head{top:7px;z-index:2}.apply-template-thumb--corporate .apply-template-mini-logo{background:var(--a)}
.apply-template-thumb--classic .apply-template-paper{border:1px solid #d8dee6}.apply-template-thumb--classic .apply-template-paper:after{border:2px solid var(--a);inset:10px}
.apply-template-thumb--classic .apply-template-decor-a{height:19px;background:var(--p)}
.apply-template-thumb--modern .apply-template-decor-a{width:18px;height:100%;background:linear-gradient(var(--p),var(--a))}
.apply-template-thumb--modern .apply-template-mini-head,.apply-template-thumb--modern .apply-template-mini-title,.apply-template-thumb--modern .apply-template-mini-subtitle,.apply-template-thumb--modern .apply-template-mini-kicker,.apply-template-thumb--modern .apply-template-mini-holder,.apply-template-thumb--modern .apply-template-mini-address,.apply-template-thumb--modern .apply-template-mini-bodyline,.apply-template-thumb--modern .apply-template-mini-standard,.apply-template-thumb--modern .apply-template-mini-scope-title,.apply-template-thumb--modern .apply-template-mini-scope{margin-left:10px}
.apply-template-thumb--minimal .apply-template-paper{border:1px solid #dfe5eb}.apply-template-thumb--minimal .apply-template-paper:after{display:none}.apply-template-thumb--minimal .apply-template-decor-a{height:4px}.apply-template-thumb--minimal .apply-template-decor-b{display:none}
@media (max-width:700px){.apply-template-paper{width:min(100%,165px)}}

/* v7.30 — real template thumbnails + viewport-safe scrollable picker */
.apply-template-overlay{
  overflow:hidden!important;
}
.apply-template-dialog{
  min-height:0!important;
}
.apply-template-dialog > :first-child{
  flex:0 0 auto!important;
  padding:16px 20px!important;
  border-bottom:1px solid #E3E7EE!important;
  background:rgba(255,255,255,.98)!important;
  z-index:3;
}
.apply-template-gallery{
  min-height:0!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#aeb9c7 transparent;
  align-content:start;
}
.apply-template-gallery::-webkit-scrollbar{width:9px}
.apply-template-gallery::-webkit-scrollbar-thumb{background:#aeb9c7;border-radius:99px;border:2px solid #fff}
.apply-template-gallery::-webkit-scrollbar-track{background:#f7f8fa}
.apply-template-card{
  min-width:0!important;
  overflow:hidden!important;
  align-self:start;
}
.apply-template-card.is-selected{
  outline:2px solid rgba(200,155,60,.42);
  outline-offset:1px;
}
.apply-template-real-preview{
  margin-top:10px;
  height:350px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  border:1px solid #dce2e9;
  border-radius:12px;
  background:linear-gradient(180deg,#eef2f6,#f8fafc);
  padding:9px;
  pointer-events:none;
}
.apply-template-real-preview .certificate-stage{
  width:min(100%,232px)!important;
  max-width:232px!important;
  flex:0 0 auto!important;
  border-radius:8px!important;
  background:transparent!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(10,31,61,.14);
}
.apply-template-real-preview .certificate-stage-inner{
  filter:none!important;
}
.apply-template-real-preview .certificate-doc{
  box-shadow:none!important;
}
.apply-template-dialog-footer{
  z-index:4;
  box-shadow:0 -8px 22px rgba(10,31,61,.05);
}
@media (max-width:1279px){
  .apply-template-real-preview{height:330px}
  .apply-template-real-preview .certificate-stage{width:min(100%,218px)!important;max-width:218px!important}
}
@media (max-width:767px){
  .apply-template-overlay{padding:0!important}
  .apply-template-dialog{height:100vh!important;border-radius:0!important}
  .apply-template-dialog > :first-child{padding:12px 14px!important}
  .apply-template-gallery{padding:12px!important}
  .apply-template-real-preview{height:390px}
  .apply-template-real-preview .certificate-stage{width:min(100%,255px)!important;max-width:255px!important}
  .apply-template-dialog-footer{padding:12px 14px!important}
}


/* v7.30 signature drag/resize reliability */
.template-design-surface [data-cert-element="signature"]{pointer-events:auto!important;touch-action:none!important;user-select:none!important;-webkit-user-drag:none!important;cursor:grab!important;position:relative!important;z-index:120!important;min-width:40px}
.template-design-surface [data-cert-element="signature"]:active{cursor:grabbing!important}
.compact-element-adjust.is-signature-active{border:1px solid rgba(200,155,60,.35);background:linear-gradient(180deg,#fffdf7,#fff)}
.signature-adjust-note{margin:8px 0 2px;padding:8px 10px;border-radius:10px;background:#fff7df;color:#6f5319;font-size:11px;font-weight:700;line-height:1.45}
.signature-nudge-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:4px}
.signature-nudge-grid button{border:1px solid #d9dee7;border-radius:9px;background:#fff;padding:7px 8px;font-size:11px;font-weight:800;color:#0a1f3d}
.signature-nudge-grid button:hover{border-color:#c89b3c;background:#fffaf0}
