.navbar{z-index:var(--z-navbar);height:var(--navbar-height);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--container-padding);box-shadow:var(--shadow-sm);align-items:center;display:flex;position:sticky;top:0}.navbar__container{width:100%;max-width:var(--container-max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar__brand{align-items:center;gap:var(--spacing-sm);color:var(--color-text);transition:opacity var(--transition-fast);text-decoration:none;display:flex}.navbar__brand:hover{opacity:.85;color:var(--color-text)}.navbar__logo{object-fit:contain;width:auto;height:36px}.navbar__brand-text{flex-direction:column;line-height:1.1;display:flex}.navbar__brand-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.navbar__brand-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.navbar__links{align-items:center;gap:var(--spacing-xs);list-style:none;display:flex}.navbar__link{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast), background-color var(--transition-fast);text-decoration:none;display:flex;position:relative}.navbar__link:hover,.navbar__link--active{color:var(--color-primary);background-color:var(--color-primary-bg)}.navbar__link svg{width:18px;height:18px}.navbar__user{align-items:center;gap:var(--spacing-md);display:flex}.navbar__user-info{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);background-color:var(--color-gray-100);display:flex}.navbar__user-avatar{border-radius:var(--radius-full);background-color:var(--color-primary);width:32px;height:32px;color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.navbar__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.navbar__logout{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;display:flex}.navbar__logout:hover{color:var(--color-error);background-color:var(--color-error-bg)}.navbar__logout svg{width:16px;height:16px}.navbar__toggle{width:40px;height:40px;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:none}.navbar__toggle:hover{background-color:var(--color-surface-hover)}.navbar__toggle svg{width:24px;height:24px}.navbar__mobile-menu{top:var(--navbar-height);z-index:var(--z-navbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--spacing-lg);animation:slideDown var(--transition-normal) ease;background:#fffffffa;display:none;position:fixed;bottom:0;left:0;right:0}.navbar__mobile-menu--open{gap:var(--spacing-sm);flex-direction:column;display:flex}.navbar__mobile-link{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);border-radius:var(--radius-md);transition:background-color var(--transition-fast);text-decoration:none;display:flex}.navbar__mobile-link:hover{background-color:var(--color-primary-bg);color:var(--color-primary)}.navbar__mobile-link svg{width:22px;height:22px;color:var(--color-text-muted)}.navbar__mobile-divider{background-color:var(--color-border-light);height:1px;margin:var(--spacing-sm) 0}.navbar__mobile-user{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-gray-50);border-radius:var(--radius-lg);display:flex}.navbar__mobile-user-details{flex-direction:column;display:flex}.navbar__mobile-user-name{font-weight:var(--font-weight-semibold);color:var(--color-text)}.navbar__mobile-user-role{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (max-width:768px){.navbar__links,.navbar__user-info,.navbar__logout{display:none}.navbar__toggle{display:flex}}
.footer{background-color:var(--color-secondary);color:var(--color-gray-400);padding:var(--footer-padding) 0 var(--spacing-lg) 0;margin-top:auto}.footer__container{width:100%;max-width:var(--container-max-width);padding:0 var(--container-padding);margin:0 auto}.footer__grid{gap:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-secondary-light);grid-template-columns:1.5fr 1fr 1fr;display:grid}.footer__brand{gap:var(--spacing-md);flex-direction:column;display:flex}.footer__brand-header{align-items:center;gap:var(--spacing-sm);display:flex}.footer__brand-logo{object-fit:contain;border-radius:var(--radius-sm);width:auto;height:32px}.footer__brand-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.footer__description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-gray-400)}.footer__address{font-size:var(--font-size-xs);color:var(--color-gray-500);font-style:normal;line-height:var(--line-height-relaxed)}.footer__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em}.footer__links{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.footer__link{font-size:var(--font-size-sm);color:var(--color-gray-400);transition:color var(--transition-fast);align-items:center;gap:var(--spacing-xs);text-decoration:none;display:inline-flex}.footer__link:hover{color:var(--color-text-inverse)}.footer__link svg{opacity:.6;width:14px;height:14px}.footer__bottom{padding-top:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-gray-500);justify-content:space-between;align-items:center;display:flex}.footer__bottom a{color:var(--color-gray-400);transition:color var(--transition-fast);text-decoration:none}.footer__bottom a:hover{color:var(--color-accent-light)}.footer__version{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-gray-600);background-color:var(--color-secondary-light);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}@media (max-width:768px){.footer__grid{gap:var(--spacing-xl);grid-template-columns:1fr}.footer__bottom{gap:var(--spacing-sm);text-align:center;flex-direction:column}}
:root{--color-primary:#962038;--color-primary-dark:#7a1a2e;--color-primary-darker:#5e1424;--color-primary-light:#b83a54;--color-primary-lighter:#f2d5db;--color-primary-bg:#fdf2f4;--color-secondary:#1a1a2e;--color-secondary-dark:#0f0f1a;--color-secondary-light:#2d2d44;--color-accent:#e6a817;--color-accent-dark:#c49012;--color-accent-light:#f5d36e;--color-gray-50:#f8f9fa;--color-gray-100:#f1f3f5;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#868e96;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--color-background:#f8f9fa;--color-surface:#fff;--color-surface-hover:#fafafa;--color-surface-active:#f4f4f5;--color-surface-elevated:#fff;--glass-bg:#ffffffbf;--glass-bg-dark:#1a1a2ebf;--glass-border:#fff3;--glass-border-dark:#ffffff0d;--color-text:#212529;--color-text-secondary:#495057;--color-text-muted:#868e96;--color-text-inverse:#fff;--color-border:#dee2e6;--color-border-light:#e9ecef;--color-border-focus:#962038;--color-success:#2b9348;--color-success-bg:#d4edda;--color-warning:#e6a817;--color-warning-bg:#fff3cd;--color-error:#dc3545;--color-error-bg:#f8d7da;--color-info:#0077b6;--color-info-bg:#d1ecf1;--font-family:var(--font-inter), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-family-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 2px 4px #00000005;--shadow-sm:0 4px 12px #0000000a, 0 2px 4px #00000005;--shadow-md:0 8px 24px #0000000f, 0 2px 8px #0000000a;--shadow-lg:0 16px 32px #00000014, 0 4px 12px #0000000a;--shadow-xl:0 24px 48px #0000001f, 0 8px 16px #0000000a;--shadow-glow:0 0 30px #96203840;--shadow-glass:0 8px 32px 0 #1f268712;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--transition-spring:.3s cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-navbar:500;--z-modal-backdrop:900;--z-modal:1000;--z-tooltip:1100;--z-toast:1200;--container-max-width:1400px;--container-padding:var(--spacing-lg);--navbar-height:64px;--footer-padding:var(--spacing-2xl)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;height:100%}body{min-height:100%;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}.container{width:100%;max-width:var(--container-max-width);padding:0 var(--container-padding);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes gradientPan{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}::selection{background-color:var(--color-primary-lighter);color:var(--color-primary-darker)}main{flex:1;width:100%}@media (max-width:640px){:root{--container-padding:var(--spacing-md);--font-size-3xl:1.875rem;--font-size-4xl:2.25rem}}
