:root { color-scheme: dark; }
body { background: #111315; color: #e9ecef; }
.app-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.app-header { border-bottom: 1px solid #2a2e33; }
.brand { color: #f4f5f6; font-size: 1.65rem; font-weight: 750; letter-spacing: -.06em; }
.brand:hover { color: #fff; }
.brand-dot { color: #8eb9ff; }
main { flex: 1; }
.card { background: #1b1e22; border-color: #30353b; border-radius: 1rem; }
.auth-card { max-width: 460px; }
.eyebrow { color: #a9b6c9; font-size: .72rem; font-weight: 700; letter-spacing: .14em; margin-bottom: 1rem; }
.form-control { background-color: #131619; border-color: #414750; min-height: 46px; }
.form-control:focus { background-color: #131619; border-color: #8eb9ff; box-shadow: 0 0 0 .2rem #8eb9ff26; }
.file-picker { position: relative; min-width: 0; }
.file-picker-display { display: none; }
.file-picker-ready .file-picker-display { display: flex; align-items: stretch; height: 46px; overflow: hidden; background: #131619; border: 1px solid #414750; border-radius: var(--bs-border-radius, .375rem); }
.file-picker-ready input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; z-index: 1; cursor: pointer; }
.file-picker-ready:focus-within .file-picker-display { border-color: #8eb9ff; box-shadow: 0 0 0 .2rem #8eb9ff26; }
.file-picker-button { display: flex; align-items: center; flex-shrink: 0; padding: 0 1rem; background: #2b3036; border-right: 1px solid #414750; color: #e9ecef; font-weight: 500; }
.file-picker-ready:hover .file-picker-button { background: #353c44; }
.file-picker-name { align-self: center; min-width: 0; padding: 0 .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #aab2be; }
.file-picker-has-file .file-picker-name { color: #e9ecef; }
.file-upload-row > .btn { height: 46px; }
.btn { min-height: 44px; padding: .6rem 1rem; }
.btn-primary { --bs-btn-bg: #a9c8fa; --bs-btn-border-color: #a9c8fa; --bs-btn-color: #101c2d; --bs-btn-hover-bg: #c1d8ff; --bs-btn-hover-color: #101c2d; --bs-btn-hover-border-color: #c1d8ff; font-weight: 600; }
.btn-outline-secondary { --bs-btn-color: #d5dbe3; --bs-btn-border-color: #424953; }
.menu-button { display: flex; align-items: center; gap: .6rem; }
.menu-label { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dropdown-menu { background: #23272c; border-color: #3a414a; padding: .5rem; min-width: 200px; }
.dropdown-item { border-radius: .3rem; padding: .65rem .8rem; }
.app-footer { border-top: 1px solid #2a2e33; color: #99a1ad; font-size: .8rem; }
a { color: #a9c8fa; }
h1 { overflow-wrap: anywhere; }
.skip-link { position: absolute; z-index: 1050; background: #23272c; padding: .8rem; }
@media (max-width: 575.98px) { .app-shell { padding-left: 1rem; padding-right: 1rem; } .menu-label { max-width: 110px; } }
