/* Cross-route application atoms and shell contracts. Page organisms own their
   outer layout; these contracts remain stable across auth and all workspaces. */
.site-theme{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased}
/* Workspace surface contract, matching the product mockup in the homepage
   benefits section: grouped containers on a hairline border, one soft green
   tint for active and status grounds, and a single CTA gradient. */
.site-theme{
  --ws-radius:10px;--ws-radius-control:7px;--ws-radius-cta:9px;
  --ws-border:var(--neutral-300);--ws-divider:var(--neutral-200);
  /* These four stay literal on purpose. They are the mockup's own values, and
     the point of the --ws-* layer is to name them once. Aliasing them onto the
     neutral ramp makes the workspace's green tints track a neutral and drift
     off-spec — the ramp is close enough numerically to look identical today and
     wrong the moment the neutrals are retuned. */
  --ws-tint:#eef6f0;--ws-tint-strong:#d8ecdd;
  --ws-label:#748078;--ws-value:#102019;
  --ws-header-tint:linear-gradient(100deg,#f7faf8,#eef5f0);
  --ws-cta:linear-gradient(110deg,var(--green-900),var(--green-800) 58%,var(--green-500));
}
.site-theme a{color:inherit;text-decoration:none}
.site-theme button,.site-theme input,.site-theme select,.site-theme textarea{font:inherit}
.site-theme :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border-radius:var(--component-field-radius)}
.site-theme select:not([multiple]){--select-chevron-size:16px;--select-chevron-inset:16px;-webkit-appearance:none;appearance:none;padding-right:calc(var(--select-chevron-inset) + var(--select-chevron-size) + 12px)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23101f2f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right var(--select-chevron-inset) center!important;background-size:var(--select-chevron-size) var(--select-chevron-size)!important}
.site-theme img{display:block;max-width:100%}
.site-theme :where(h1,h2,h3,p){margin-top:0;text-wrap:pretty}
.site-theme :where(h1,h2,h3,h4,h5,h6){font-family:var(--font-display)!important;font-style:normal!important;font-weight:var(--weight-bold)!important}
.site-theme .shell{width:100%;max-width:var(--content-wide);margin-inline:auto;padding-inline:var(--page-gutter)}
.site-theme .eyebrow{display:block;color:var(--color-action);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.site-theme .eyebrow.on-dark{color:var(--color-accent)}
.site-theme .button{display:inline-flex;min-height:var(--size-control-md);align-items:center;justify-content:center;gap:10px;padding:0 24px;border:1px solid transparent;border-radius:var(--component-button-radius);cursor:pointer;font-weight:700;text-align:center}
.site-theme .button-group{display:flex;flex-wrap:wrap;gap:12px}
.site-theme .button--primary,.site-theme .button--ink{background:var(--color-action);color:var(--white)}
.site-theme .button--outline{border-color:var(--neutral-400);background:transparent;color:var(--color-action)}
.site-theme .button--small{min-height:var(--size-control-sm);padding-inline:18px;font-size:13px}
.site-theme .field{display:grid;gap:8px}
.site-theme .field>span,.site-theme .choice-fieldset>legend{font-size:14px;font-weight:700}
.site-theme .field input,.site-theme .field select,.site-theme .field textarea{width:100%;border:var(--border-control);border-radius:var(--component-field-radius);outline:0;background:var(--color-surface);color:var(--color-text)}
.site-theme .field input,.site-theme .field select{height:var(--size-control-md);padding:0 14px}
.site-theme .field textarea{min-height:116px;padding:14px;resize:vertical}
.site-theme .field input:focus,.site-theme .field select:focus,.site-theme .field textarea:focus{border-color:#7b8782;box-shadow:0 0 0 3px var(--color-focus)}
.site-theme .surface--dark{background:var(--gradient-brand-field);color:var(--white)}
.site-theme .surface--soft{background:var(--color-surface-soft)}
.site-theme .workspace-topbar{display:flex;width:100%;min-height:96px;align-items:center;justify-content:space-between;gap:30px}
.site-theme .workspace-topbar__copy{min-width:0}
.site-theme .workspace-topbar__actions{display:flex;min-height:50px;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:12px}
.site-theme .app-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.site-theme .app-card{padding:var(--component-card-padding);border:var(--border-subtle);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}
.site-theme .app-notice{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-soft)}
.site-theme .app-table-wrap{max-width:100%;overflow-x:auto}
.site-theme .app-empty{display:grid;min-height:260px;place-items:center;padding:var(--space-8);text-align:center}
.site-theme .language-switcher{position:relative;z-index:var(--z-dropdown);flex:0 0 auto}
.site-theme .language-switcher__button{display:flex;width:46px;height:42px;align-items:center;justify-content:center;gap:6px;padding:0;border:1px solid var(--neutral-300);border-radius:var(--radius-xs);background:var(--white);color:var(--neutral-900);cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.04em}
.site-theme .language-switcher__globe{display:none;width:20px;height:20px}
.site-theme .language-switcher__button:hover,.site-theme .language-switcher__button[aria-expanded="true"]{border-color:var(--green-700);background:var(--neutral-50);color:var(--green-800)}
.site-theme .language-switcher__chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--duration-fast)}
.site-theme .language-switcher__button[aria-expanded="true"] .language-switcher__chevron{transform:translateY(2px) rotate(225deg)}
.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__button{width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;transition:background-color .18s ease,color .18s ease}
.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__button:hover,.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__button[aria-expanded="true"]{border-color:transparent;background:var(--neutral-100);color:#071a15;box-shadow:none}
.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__globe{display:block;width:21px;height:21px}
.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__button>[data-language-current],.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__chevron{display:none}
.site-theme .language-switcher__menu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 9px);right:0;display:grid;min-width:184px;padding:7px;border:1px solid var(--neutral-200);border-radius:var(--radius-sm);background:var(--white);box-shadow:var(--shadow-float)}
.site-theme .language-switcher__menu[hidden]{display:none}
.site-theme .language-switcher__menu a{display:flex;min-height:40px;align-items:center;padding:0 11px;border-radius:7px;color:var(--neutral-800);font-size:13px;font-weight:600;text-decoration:none}
.site-theme .language-switcher__menu a:hover,.site-theme .language-switcher__menu a:focus-visible{background:var(--neutral-100);color:var(--green-800)}
.site-theme .language-switcher__menu a.is-active{background:var(--neutral-100);color:var(--green-800);font-weight:700}
.site-theme .language-switcher__menu a.is-active::after{margin-left:auto;content:"✓"}
.site-theme .ui-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;color:var(--color-text-muted);font-size:13px}.site-theme .ui-breadcrumbs li+li::before{margin-right:8px;content:"/"}.site-theme .ui-breadcrumbs [aria-current="page"]{color:var(--color-text);font-weight:700}
.site-theme .country-breadcrumbs .ui-breadcrumbs a{display:inline-flex;min-height:34px;align-items:center;padding:0 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-action);font-weight:700;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.site-theme .country-breadcrumbs .ui-breadcrumbs a:hover{border-color:rgba(8,118,83,.35);background:var(--color-surface-soft);transform:translateY(-1px)}.site-theme .country-breadcrumbs .ui-breadcrumbs a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.site-theme .ui-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--color-border)}.site-theme .ui-tabs a{display:flex;min-height:44px;align-items:center;gap:8px;padding:0 14px;border-bottom:3px solid transparent;white-space:nowrap}.site-theme .ui-tabs a[aria-current="page"]{border-color:var(--color-action);color:var(--color-action);font-weight:700}
.site-theme .ui-progress-group{display:grid;gap:8px}.site-theme .ui-progress-group>div:first-child{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:12px}
.site-theme .ui-definition-list{display:grid;margin:0}.site-theme .ui-definition-list>div{display:grid;grid-template-columns:minmax(120px,.65fr) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--color-border)}.site-theme .ui-definition-list dt{color:var(--color-text-muted)}.site-theme .ui-definition-list dd{margin:0;font-weight:600}
.site-theme .ui-activity-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.site-theme .ui-activity-list li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border)}.site-theme .ui-activity-list p{margin:3px 0 0;color:var(--color-text-muted)}.site-theme .ui-activity-list time{color:var(--color-text-muted);font-size:12px}
@media(max-width:800px){.site-theme .workspace-topbar{min-height:86px}.site-theme .workspace-topbar__actions{gap:8px}}
@media(max-width:760px){.site-theme .shell{padding-inline:20px}.site-theme .app-toolbar{align-items:stretch;flex-direction:column}}
@media(max-width:430px){.site-theme :is(.workspace-topbar__actions,.workspace-mobile-header) .language-switcher__button{width:40px;min-width:40px;height:40px}}
@media(forced-colors:active){.site-theme select:not([multiple]){-webkit-appearance:auto;appearance:auto;padding-right:14px!important;background-image:none!important}}
