:root{color:var(--app-text);background:var(--app-bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}body{background:var(--app-bg);min-height:100vh;min-width:calc(var(--space-1) * 80);margin:0;overflow-x:hidden}#root{background:var(--app-bg);isolation:isolate}input,textarea,select,button,a{font-family:var(--font-sans)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:calc(var(--space-1) / 2) solid var(--accent-bright);outline-offset:var(--space-1)}::selection{background:var(--accent-tint)}.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)}.ui-empty{color:var(--app-text-soft);align-items:center;gap:var(--app-space-3);padding:var(--app-space-8) var(--app-space-6);text-align:center;justify-items:center;display:grid}.ui-empty__icon{color:var(--app-text-faint)}.ui-empty__title{color:var(--app-text);font-size:var(--app-fs-md);font-weight:var(--app-weight-medium);margin:0}.ui-empty__hint{color:var(--app-text-soft);font-size:var(--app-fs-base);line-height:var(--app-lh-body);max-width:44ch;margin:0}.ui-empty__action{margin-top:var(--app-space-3)}.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-btn--ghost{color:var(--app-text-soft);padding:0 var(--app-space-4)}.app-shell .ff-btn--ghost:hover{background:var(--app-surface-alt);color:var(--app-text)}.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-card{background:var(--app-surface);border-color:var(--app-border);border-radius:var(--app-radius-md);box-shadow:none}.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)}.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-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}
