:root{--color-primary:#4a6bb5;--color-primary-dark:#3d5a9a;--color-danger:#e22b2b;--color-danger-dark:#c42424;--color-bg:#111113;--color-surface:#1c1c1f;--color-border:#2e2e35;--color-text:#ededed;--color-text-muted:#888b96;--color-input-border:#3c3d46;--radius-card:8px;--radius-btn:6px;--radius-input:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6}*{scrollbar-color:#4a4d58 transparent;scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#4a4d58 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#5b5f6b padding-box padding-box;border:3px solid #0000}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1.5rem}.btn{border-radius:var(--radius-btn);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:500;line-height:1;transition:background-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn--secondary{color:var(--color-text);background-color:#2c2d35}.btn--secondary:hover:not(:disabled){background-color:#383944}.btn--danger{background-color:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.input-group{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.input-group label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.input-group input{background-color:var(--color-surface);border:1px solid var(--color-input-border);border-radius:var(--radius-input);color:var(--color-text);outline:none;padding:.5625rem .75rem;font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.input-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a6bb533}.input-group input::placeholder{color:#4a4d58}.error{color:#ff6b6b;border-left:3px solid var(--color-danger);background-color:#e22b2b1a;border-radius:4px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem}.spinner-wrapper{justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 56px);display:flex}.spinner-brand{justify-content:center;align-items:center;width:96px;height:96px;display:inline-flex}.spinner-brand__image{object-fit:contain;width:72px;height:72px;animation:1.4s ease-in-out infinite spinnerLogoFloat;display:block}@keyframes spinnerLogoFloat{0%,to{opacity:.82;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.navbar{z-index:100;background-color:#0a0a0b;border-bottom:1px solid #1e1e24;justify-content:space-between;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.navbar__brand{align-items:center;gap:.75rem;min-width:0;display:flex}.navbar__brand-link{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.navbar__logo{width:auto;height:32px;display:block}.navbar__breadcrumbs{align-items:center;min-width:0;display:flex;overflow:hidden}.navbar__crumb{align-items:center;min-width:0;display:flex}.navbar__crumb-separator{color:#5d616d;flex-shrink:0;margin-right:.35rem}.navbar__crumb-link,.navbar__crumb-current{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.navbar__crumb-link{color:#ffffffc2;text-decoration:none;transition:color .15s}.navbar__crumb-link:hover,.navbar__crumb-current{color:#fff}.navbar__user{position:relative}.navbar__user-btn{cursor:pointer;color:#ffffffbf;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-family:inherit;font-size:.9375rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.navbar__user-btn:hover{color:#fff;background-color:#ffffff14}.navbar__user-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.navbar__chevron{flex-shrink:0;transition:transform .18s}.navbar__chevron--open{transform:rotate(180deg)}.navbar__dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);z-index:200;min-width:160px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.navbar__dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.65rem 1rem;font-family:inherit;font-size:.9375rem;transition:background-color .12s;display:block}.navbar__dropdown-item:hover{background-color:#252529}.navbar__dropdown-item--danger{color:#ff6b6b}.navbar__dropdown-item--danger:hover{background-color:#e22b2b1a}.page{min-height:calc(100vh - 56px);padding:1.5rem 2rem}.page__header{margin-bottom:1.5rem}.page__title{color:var(--color-text);font-size:1.375rem;font-weight:700}.page__subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.9rem}.toast-stack{z-index:400;pointer-events:none;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border:1px solid var(--color-border);pointer-events:auto;background:#141416f5;border-radius:10px;align-items:flex-start;gap:.75rem;width:min(360px,100vw - 2rem);padding:.9rem 1rem;display:flex;box-shadow:0 10px 24px #00000059}.toast--success{border-color:#27ae6073}.toast--warning{border-color:#f2994a73}.toast--error{border-color:#e22b2b73}.toast__content{color:var(--color-text);flex:1;font-size:.9rem;line-height:1.45}.toast__close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.toast__close:hover{color:var(--color-text);background:#ffffff0f}@media (width<=720px){.navbar{padding:0 1rem}.navbar__breadcrumbs{display:none}.toast-stack{bottom:1rem;left:1rem;right:1rem}.toast{width:100%}}
