.btn{--btn-color:var(--accent);--btn-ink:var(--accent-ink);--btn-soft:var(--accent-soft);--btn-contrast:var(--accent-contrast);justify-content:center;align-items:center;gap:var(--space-2);min-width:0;min-height:36px;padding-inline:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), scale var(--transition-fast);border:1px solid #0000;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){scale:.975}.btn--primary{--btn-color:var(--accent);--btn-ink:var(--accent-ink);--btn-soft:var(--accent-soft);--btn-contrast:var(--accent-contrast)}.btn--danger{--btn-color:var(--danger);--btn-ink:var(--danger-ink);--btn-soft:var(--danger-soft);--btn-contrast:var(--white)}.btn--success{--btn-color:var(--success);--btn-ink:var(--success-ink);--btn-soft:var(--success-soft);--btn-contrast:var(--white)}.btn--warning{--btn-color:var(--warning);--btn-ink:var(--warning-ink);--btn-soft:var(--warning-soft);--btn-contrast:var(--white)}.btn--sm{min-height:30px;padding-inline:var(--space-3);font-size:var(--text-xs)}.btn--lg{min-height:42px;padding-inline:var(--space-6);font-size:var(--text-base-size)}.btn--block{width:100%}.btn--primary,.btn--danger,.btn--success,.btn--warning{background:var(--btn-color);color:var(--btn-contrast);box-shadow:0 1px 2px color-mix(in srgb, var(--btn-color) 20%, transparent)}.btn--primary:hover:not(:disabled),.btn--danger:hover:not(:disabled),.btn--success:hover:not(:disabled),.btn--warning:hover:not(:disabled){background:color-mix(in srgb, var(--btn-color) 92%, #000);box-shadow:0 1px 2px color-mix(in srgb, var(--btn-color) 20%, transparent), 0 0 0 4px color-mix(in srgb, var(--btn-color) 14%, transparent)}.btn--ghost{background:var(--bg-surface);border-color:var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){background:var(--field-hover-bg);color:var(--accent-ink);box-shadow:var(--field-hover-ring);border-color:#0000}.btn--soft{background:var(--btn-soft);color:var(--btn-ink);border-color:#0000}.btn--soft:hover:not(:disabled){background:color-mix(in srgb, var(--btn-color) 16%, var(--btn-soft));box-shadow:0 0 0 4px color-mix(in srgb, var(--btn-color) 10%, transparent)}.btn--quiet{color:var(--text-muted);box-shadow:none;background:0 0;border-color:#0000}.btn--quiet:hover:not(:disabled){background:var(--bg-hover);color:var(--text-strong)}.btn--icon{aspect-ratio:1;width:38px;padding-inline:0}.btn--sm.btn--icon{width:32px}.btn--lg.btn--icon{width:44px}.btn:focus-visible{outline:2px solid var(--btn-color);outline-offset:2px}.btn--ghost:focus-visible,.btn--quiet:focus-visible{outline-color:var(--accent)}.btn:disabled{cursor:not-allowed;background:var(--bg-surface-2);border-color:var(--border);color:var(--text-subtle);box-shadow:none}.btn--quiet:disabled{opacity:.45;background:0 0;border-color:#0000}.btn:disabled{scale:1}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled){scale:1}}.btn__spin{flex:none;animation:.9s linear infinite btn-spin}@keyframes btn-spin{to{rotate:1turn}}@media (prefers-reduced-motion:reduce){.btn__spin{animation-duration:2.4s}}.state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;animation:state-in var(--transition-slow) backwards;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes state-in{0%{opacity:0;transform:translateY(6px)}}.state__icon{--st-hue:var(--text-subtle);border-radius:var(--radius-full);background:color-mix(in srgb, var(--st-hue) 10%, var(--bg-surface));width:60px;height:60px;color:var(--st-hue);box-shadow:0 0 0 8px color-mix(in srgb, var(--st-hue) 6%, transparent), 0 0 0 18px color-mix(in srgb, var(--st-hue) 3%, transparent);place-items:center;display:grid;position:relative}.state--empty .state__icon{--st-hue:var(--accent);color:var(--accent-ink);z-index:1}.state--empty .state__icon:after{content:"";border-radius:inherit;border:1.5px dashed color-mix(in srgb, var(--accent) 30%, transparent);position:absolute;inset:-7px}.state__ghost{align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;inline-size:min(320px,76%);display:flex;position:absolute;inset-block-start:var(--space-6);-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.state__ghost i{border-radius:var(--radius-pill);background:var(--surface-sunken);block-size:10px;display:block}.state__ghost i:first-child{inline-size:100%}.state__ghost i:nth-child(2){inline-size:84%}.state__ghost i:nth-child(3){inline-size:62%}.state__icon--error{--st-hue:var(--danger)}.state__icon--denied{--st-hue:var(--warning)}.state__title{margin-top:var(--space-3);color:var(--text-strong);font-size:var(--text-base-size);font-weight:var(--weight-semibold);position:relative}.state__description{max-width:46ch;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);position:relative}.state__action{margin-top:var(--space-2)}.state--loading{padding-block:var(--space-10);gap:var(--space-4)}.state__spinner{width:34px;height:34px;position:relative}.state__spinner:before,.state__spinner:after{content:"";border-radius:var(--radius-full);border:2.5px solid #0000;position:absolute;inset:0}.state__spinner:before{border-block-start-color:var(--accent);border-inline-end-color:color-mix(in srgb, var(--accent) 35%, transparent);animation:state-spin .9s var(--ease) infinite}.state__spinner:after{border-block-end-color:var(--gov-gold);animation:state-spin 1.3s var(--ease) infinite reverse;inset:7px}@keyframes state-spin{to{rotate:360deg}}.state--inline{gap:var(--space-3);padding:var(--space-4) 0;flex-direction:row}.state--inline .state__spinner{width:20px;height:20px}.state--inline .state__spinner:after{inset:5px}.page-loader{justify-content:center;align-items:center;gap:var(--space-5);min-block-size:min(48vh,380px);padding:var(--space-12) var(--space-6);text-align:center;animation:page-loader-in var(--transition-slow) backwards;flex-direction:column;display:flex}.page-loader--full{background:var(--bg-app);min-block-size:100vh}@keyframes page-loader-in{0%{opacity:0;transform:translateY(6px)}}.page-loader__mark{place-items:center;block-size:76px;inline-size:76px;display:grid;position:relative}.page-loader__arc{border-radius:var(--radius-full);border:2.5px solid #0000;border-block-start-color:var(--accent);border-inline-end-color:color-mix(in srgb, var(--accent) 32%, transparent);animation:page-loader-spin 1s var(--ease) infinite;position:absolute;inset:0}.page-loader__arc:nth-of-type(2){border-color:#0000;border-block-end-color:var(--gov-gold);animation-duration:1.7s;animation-direction:reverse;inset:13px}.page-loader__core{border-radius:var(--radius-full);background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent) 30%, transparent), color-mix(in srgb, var(--accent) 9%, transparent));block-size:26px;inline-size:26px;animation:page-loader-breathe 2.2s var(--ease) infinite}@keyframes page-loader-spin{to{rotate:360deg}}@keyframes page-loader-breathe{0%,to{opacity:.45;scale:.82}50%{opacity:1;scale:1}}.page-loader__label{max-inline-size:42ch;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.page-loader__track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 11%, transparent);block-size:3px;inline-size:min(220px,62%);position:relative;overflow:hidden}.page-loader__track i{border-radius:inherit;background:linear-gradient(90deg, transparent, var(--accent), color-mix(in srgb, var(--gov-gold) 70%, var(--accent)), var(--accent), transparent);inline-size:42%;animation:page-loader-shuttle 1.5s var(--ease) infinite;position:absolute;inset-block:0}@keyframes page-loader-shuttle{0%{inset-inline-start:-45%}to{inset-inline-start:100%}}
