.ui-button{background:var(--app-surface);border-radius:var(--app-radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--app-fs-base);font-weight:var(--app-weight-medium);align-items:center;gap:var(--app-space-3);height:var(--app-control-h);letter-spacing:var(--app-tracking-tight);padding:0 var(--app-space-5);transition:background var(--app-dur) var(--app-ease), border-color var(--app-dur) var(--app-ease), color var(--app-dur) var(--app-ease);white-space:nowrap;border:1px solid #0000;justify-content:center;line-height:1;display:inline-flex}.ui-button:active:not(:disabled){box-shadow:var(--app-press-shade)}.ui-button:disabled{cursor:not-allowed;opacity:.45}.ui-button:focus-visible{outline:2px solid var(--app-focus-ring);outline-offset:2px}.ui-button--primary{background:var(--app-accent);border-color:var(--app-accent);color:var(--text-on-accent)}.ui-button--primary:hover:not(:disabled){background:var(--app-accent-hover);border-color:var(--app-accent-hover)}.ui-button--secondary{background:var(--app-surface);border-color:var(--app-border-control);color:var(--app-text)}.ui-button--secondary:hover:not(:disabled){background:var(--app-surface-alt)}.ui-button--ghost{color:var(--app-text-soft);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--app-surface-alt);color:var(--app-text)}.ui-button--link{color:var(--app-accent);font-size:inherit;height:auto;padding:0 var(--app-space-2);background:0 0}.ui-button--link:hover:not(:disabled){background:var(--app-surface-alt)}.ui-button--danger{color:var(--status-risk);background:0 0;border-color:#0000}.ui-button--danger:hover:not(:disabled){background:var(--status-risk-tint)}.ui-button--compact{height:var(--app-control-h-sm);padding:0 var(--app-space-4)}.ui-button--icon{height:var(--app-control-h);width:var(--app-control-h);padding:0}.ui-button--compact.ui-button--icon{height:var(--app-control-h-sm);width:var(--app-control-h-sm)}.ui-button--ghost.ui-button--icon{background:var(--app-surface);border-color:var(--app-border)}.ui-button--ghost.ui-button--icon:hover:not(:disabled){background:var(--app-surface-alt);border-color:var(--app-border-control);color:var(--app-text)}.ui-modal-backdrop{background:var(--app-overlay);padding:var(--app-space-7);z-index:var(--z-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{background:var(--app-surface);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-popover);max-height:calc(100vh - var(--app-space-7) * 2);max-width:100%;width:calc(var(--app-space-8) * 15);flex-direction:column;display:flex;overflow:hidden}.ui-modal--wide{width:calc(var(--app-space-8) * 21)}.ui-modal__head{border-bottom:1px solid var(--app-border);align-items:center;gap:var(--app-space-5);padding:var(--app-space-4) var(--app-space-5);flex-shrink:0;justify-content:space-between;display:flex}.ui-modal__title{color:var(--app-text);font-size:var(--app-fs-md);font-weight:var(--app-weight-medium);margin:0}.ui-modal__body{padding:var(--app-space-5);overflow-y:auto}.ui-modal__foot{border-top:1px solid var(--app-border);gap:var(--app-space-3);padding:var(--app-space-4) var(--app-space-5);flex-shrink:0;justify-content:flex-end;display:flex}.ui-toast-stack{bottom:var(--app-space-6);gap:var(--app-space-3);right:var(--app-space-6);z-index:var(--z-toast);flex-direction:column;display:flex;position:fixed}.ui-toast{background:var(--app-gray-900);border-radius:var(--app-radius-sm);box-shadow:var(--app-shadow-popover);color:var(--app-gray-100);font-size:var(--app-fs-base);align-items:center;gap:var(--app-space-4);letter-spacing:var(--app-tracking-tight);max-width:calc(var(--app-space-8) * 11);padding:var(--app-space-3) var(--app-space-4);display:flex}.ui-toast:before{background:var(--app-gray-400);content:"";height:var(--app-space-2);width:var(--app-space-2);flex:none}.ui-toast--success:before{background:var(--status-ok)}.ui-toast--error:before{background:var(--status-risk)}.ui-toast__close{color:var(--app-gray-400);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;display:inline-flex}.ui-toast__close:hover{color:var(--app-gray-100)}.app-shell .ff-btn{border-radius:var(--app-radius-sm);font-size:var(--app-fs-base);font-weight:var(--app-weight-medium);gap:var(--app-space-3);height:var(--app-control-h);letter-spacing:var(--app-tracking-tight);padding:0 var(--app-space-5);transition:background var(--app-dur) var(--app-ease), border-color var(--app-dur) var(--app-ease), color var(--app-dur) var(--app-ease)}.app-shell .ff-btn--primary{background:var(--app-accent);border-color:var(--app-accent);color:var(--text-on-accent)}.app-shell .ff-btn--primary:hover{background:var(--app-accent-hover);border-color:var(--app-accent-hover);box-shadow:none}.app-shell .ff-btn--primary:active{box-shadow:var(--app-press-shade);transform:none}.app-shell .ff-btn--secondary{background:var(--app-surface);border-color:var(--app-border-control);color:var(--app-text)}.app-shell .ff-btn--secondary:hover{background:var(--app-surface-alt);border-color:var(--app-border-control)}.app-shell .ff-tag{background:var(--app-surface-alt);border-radius:var(--app-radius-xs);color:var(--app-text-soft);font-size:var(--app-fs-xs);gap:var(--app-space-3);letter-spacing:var(--app-tracking-badge);min-height:var(--app-badge-h);padding:0 var(--app-space-3)}.app-shell .ff-focus:focus-visible,.app-shell :where(a,button,input,textarea,select).ff-focus:focus-visible{outline:2px solid var(--app-focus-ring)}.app-shell :where(input,select,textarea){color:var(--app-text);font-family:var(--font-sans);font-size:var(--app-fs-base);letter-spacing:var(--app-tracking-tight)}.app-shell :where(input,select):not([type=checkbox],[type=radio],[type=range]){min-height:var(--app-control-h)}.ff-form-columns{gap:var(--app-space-7) var(--app-space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ff-form-section--full,.ff-form-row{grid-column:1/-1}.ff-form-hint{grid-column:1/-1;margin:0}.ff-form-section{border:0;min-width:0;margin:0;padding:0}.ff-form-section-title{border-bottom:1px solid var(--app-border);color:var(--app-text);float:left;font-size:var(--app-fs-md);font-weight:var(--app-weight-medium);margin-bottom:var(--app-space-5);padding:0 0 var(--app-space-3);width:100%}.ff-form-grid{clear:both;gap:var(--app-space-5) var(--app-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.ff-field{align-content:start;gap:var(--app-space-2);grid-column:span var(--ff-field-span,12);min-width:0;display:grid}.ff-field :where(input,select,textarea){width:100%}.app-shell :where(input,select,textarea)[aria-invalid=true]{border-color:var(--status-risk)}.ff-field-error{color:var(--status-risk);font-size:var(--app-fs-sm)}.ff-required:after{color:var(--status-risk);content:"*";margin-left:var(--app-space-1)}@media (width<=53.75rem){.ff-form-columns{grid-template-columns:1fr}.ff-field{grid-column:1/-1}}.ui-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-md);min-width:0;overflow:hidden}.ui-panel__head{border-bottom:1px solid var(--app-border);align-items:center;gap:var(--app-space-5);min-height:var(--app-panel-head-h);padding:0 var(--app-inset);justify-content:space-between;display:flex}.ui-panel__title-group{align-items:baseline;gap:var(--app-space-4);min-width:0;display:flex}.ui-panel__title{color:var(--app-text);font-size:var(--app-fs-md);font-weight:var(--app-weight-medium);letter-spacing:var(--app-tracking-tight);white-space:nowrap;flex-shrink:0}.ui-panel__meta{color:var(--app-text-faint);font-family:var(--font-mono);font-size:var(--app-fs-xs);letter-spacing:var(--app-tracking-label);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.ui-panel__actions{align-items:center;gap:var(--app-space-3);flex-shrink:0;display:flex}.ui-panel__body{padding:var(--app-inset)}.ui-panel__body--flush{padding:0}.ui-drawer{background:var(--app-surface);border-left:1px solid var(--app-border);box-shadow:var(--app-shadow-popover);max-width:100%;width:calc(var(--app-space-8) * 17);z-index:var(--z-sidebar);flex-direction:column;animation:.16s ease-out drawer-slide-in;display:flex;position:fixed;inset:0 0 0 auto}.ui-drawer>.ui-panel__head{min-height:var(--app-topbar-h);flex-shrink:0}.ui-drawer__body{padding:var(--app-space-6) var(--app-inset);flex:1;overflow-y:auto}.ui-badge{border-radius:var(--app-radius-xs);font-family:var(--font-mono);font-size:var(--app-fs-xs);font-weight:var(--app-weight-medium);align-items:center;gap:var(--app-space-3);letter-spacing:var(--app-tracking-badge);min-height:var(--app-badge-h);padding:0 var(--app-space-3);text-transform:uppercase;white-space:nowrap;width:fit-content;line-height:1;display:inline-flex}.ui-badge__dot{height:var(--app-space-2);width:var(--app-space-2);background:currentColor;flex-shrink:0}.ui-badge--ok{background:var(--status-ok-tint);color:var(--status-ok)}.ui-badge--watch{background:var(--status-watch-tint);color:var(--status-watch)}.ui-badge--risk{background:var(--status-risk-tint);color:var(--status-risk)}.ui-badge--neutral{background:var(--app-surface-alt);color:var(--app-text-soft)}.ui-badge--accent{background:var(--app-accent-tint);color:var(--app-accent-hover)}.ui-section-header{align-items:center;gap:var(--app-space-5);min-height:var(--app-panel-head-h);justify-content:space-between;min-width:0;display:flex}.ui-section-header__title-group{align-items:baseline;gap:var(--app-space-5);flex:auto;min-width:0;display:flex}.ui-section-header__text{gap:var(--app-space-1);flex-direction:column;min-width:0;display:flex}.ui-section-header__eyebrow{color:var(--app-text-faint);font-family:var(--font-mono);font-size:var(--app-fs-xs);letter-spacing:var(--app-tracking-label);line-height:var(--app-lh-tight);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.ui-section-header__title{color:var(--app-text);font-size:var(--app-fs-md);font-weight:var(--app-weight-medium);letter-spacing:var(--app-tracking-tight);line-height:var(--app-lh-tight);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.ui-section-header__meta{color:var(--app-text-faint);font-family:var(--font-mono);font-size:var(--app-fs-sm);white-space:nowrap;flex-shrink:0}.ui-section-header__actions{align-items:center;gap:var(--app-space-3);flex-shrink:0;display:flex}.ui-progress-ring{align-items:center;gap:var(--app-space-3);display:inline-flex}.ui-progress-ring svg{height:var(--app-chip-h);width:var(--app-chip-h)}.ui-progress-ring circle{fill:none;stroke-width:3px}.ui-progress-ring__track{stroke:var(--app-border)}.ui-progress-ring__value{stroke:var(--status-watch);stroke-linecap:round}.ui-progress-ring__value--complete{stroke:var(--status-ok)}.ui-progress-ring__text{font-family:var(--font-mono);font-size:var(--app-fs-sm);font-variant-numeric:tabular-nums}
