:root { --app-border: #e2e6ed; --app-soft: #f7f8fa; --app-radius: 14px; }
body { min-height: 100vh; }
.app-navbar { min-height: 65px; padding: 0; border-bottom: 1px solid var(--app-border); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.app-brand { display: flex; align-items: center; gap: 9px; margin-right: 8px; color: #172033; font-size: 1.08rem; font-weight: 750; }
.brand-mark svg { width: 22px; height: 22px; }
.app-nav-links { gap: 4px; }
.app-nav-links .nav-link { position: relative; padding: 21px 13px 19px; color: #667085; font-size: .86rem; font-weight: 600; }
.app-nav-links .nav-link:hover { color: #70112f; }
.app-nav-links .nav-link.active { color: #70112f; }
.app-nav-links .nav-link.active::after { position: absolute; right: 12px; bottom: 0; left: 12px; height: 2px; border-radius: 2px 2px 0 0; background: #70112f; content: ""; }
.app-user { display: flex; align-items: center; gap: 9px; }
.app-user-avatar { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #f4e9ed; color: #70112f; font-size: .75rem; font-weight: 800; }
.app-user-name { color: #596275; font-size: .84rem; }
.btn { border-radius: 9px; font-weight: 550; }
.btn-light { --bs-btn-bg: #f5f6f8; --bs-btn-border-color: #f5f6f8; --bs-btn-hover-bg: #e9edf2; --bs-btn-hover-border-color: #e9edf2; }
.modal-content { border-radius: 17px; }
.dropdown-menu { padding: 7px; border-radius: 11px; }
.dropdown-item { border-radius: 7px; font-size: .86rem; }
.alert { border: 0; border-radius: 12px; transition: opacity .35s ease, transform .35s ease, margin .35s ease, padding .35s ease; }
.alert.app-alert-leaving { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; opacity: 0; transform: translateY(-8px); }
.app-toast { position: fixed; top: 78px; right: 20px; z-index: 1090; min-width: min(340px, calc(100vw - 40px)); box-shadow: 0 12px 35px rgba(23,32,51,.14); }
.page-shell { max-width: 1140px; }
.page-header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.page-header h1 { font-size: clamp(2rem,4vw,2.65rem); }
.surface-card { overflow: hidden; border: 1px solid var(--app-border); border-radius: var(--app-radius); background: #fff; }
@media (max-width: 991px) { .app-navbar { min-height: 65px; padding: 8px 0; } .app-nav-links .nav-link { padding: 10px 4px; } .app-nav-links .nav-link.active::after { display: none; } .app-user { margin-top: 8px; padding: 12px 0 5px; border-top: 1px solid var(--app-border); } }
@media (max-width: 600px) { .page-header { align-items: stretch; flex-direction: column; } .page-header .btn { width: 100%; } .app-user-name { flex: 1; } }
