:root{--color-primary: #000000;--color-primary-light: #1a1a1a;--color-primary-dark: #000000;--color-accent: #B3946A;--color-accent-light: #C9AD88;--color-accent-dark: #9A7D56;--color-accent-hover: #A3845A;--color-white: #FFFFFF;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-success: #059669;--color-success-light: #D1FAE5;--color-warning: #D97706;--color-warning-light: #FEF3C7;--color-error: #DC2626;--color-error-light: #FEE2E2;--color-info: #2563EB;--color-info-light: #DBEAFE;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--navbar-height: 60px;--sidebar-width: 260px;--max-content-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{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-gray-900);background-color:var(--color-gray-50);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-gray-900)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-gray-600);line-height:var(--line-height-relaxed)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-gray-900);background-color:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #b3946a26}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-gray-400)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-error{font-size:var(--font-size-sm);color:var(--color-error)}.form-textarea{resize:vertical;min-height:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);border-radius:var(--radius-lg);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;border:1px solid transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-light)}.btn-accent{background-color:var(--color-accent);color:var(--color-white)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-outline{background-color:transparent;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-outline:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.btn-ghost{background-color:transparent;color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:#b91c1c}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-full{width:100%}.card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);line-height:1}.badge-gold{background-color:#b3946a26;color:var(--color-accent-dark)}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-error{background-color:var(--color-error-light);color:var(--color-error)}.badge-info{background-color:var(--color-info-light);color:var(--color-info)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background-color:var(--color-accent);color:var(--color-white);font-weight:var(--font-weight-semibold);overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-md{width:40px;height:40px;font-size:var(--font-size-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-lg)}.avatar-xl{width:80px;height:80px;font-size:var(--font-size-2xl)}.container{width:100%;max-width:var(--max-content-width);margin:0 auto;padding:0 var(--space-4)}.page{flex:1;padding-top:var(--navbar-height)}.page-content{padding:var(--space-6) 0}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900)}.page-subtitle{font-size:var(--font-size-base);color:var(--color-gray-500);margin-top:var(--space-1)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-muted{color:var(--color-gray-500)}.text-accent{color:var(--color-accent)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.divider{border:none;border-top:1px solid var(--color-gray-200);margin:var(--space-4) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center}.empty-state-icon{font-size:3rem;color:var(--color-gray-300);margin-bottom:var(--space-4)}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--font-size-sm);color:var(--color-gray-500);max-width:400px}.toast-success{border-left:4px solid var(--color-success)!important}.toast-error{border-left:4px solid var(--color-error)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-400)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:639px){.hide-mobile{display:none!important}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--space-3)}}@media(min-width:640px){.hide-tablet{display:none!important}}@media(min-width:640px)and (max-width:1023px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.hide-desktop{display:none!important}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-50);padding:var(--space-4)}.auth-card{width:100%;max-width:440px;background-color:var(--color-white);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.auth-logo{text-align:center;margin-bottom:var(--space-6)}.auth-logo h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.auth-logo span{color:var(--color-accent)}.auth-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);text-align:center;margin-bottom:var(--space-1)}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-gray-500);text-align:center;margin-bottom:var(--space-6)}.auth-link{color:var(--color-accent);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent-dark);text-decoration:underline}.auth-footer{text-align:center;margin-top:var(--space-6);font-size:var(--font-size-sm);color:var(--color-gray-500)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease forwards}.dash-topnav{--gold: #ceab7a;--gold-faint: rgba(206, 171, 122, .1);--gold-border: rgba(206, 171, 122, .28);--black: #1a1612;--cream: #eadbc7;--text-muted: #c4b49a;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "DM Sans", system-ui, sans-serif;position:fixed;top:0;left:0;right:0;z-index:50;height:60px;background:var(--black);border-bottom:1px solid rgba(206,171,122,.15);font-family:var(--font-body);color:var(--cream)}.dash-topnav *,.dash-topnav *:before,.dash-topnav *:after{box-sizing:border-box}.dash-topnav a{text-decoration:none;color:var(--cream)}.dash-topnav button{font-family:inherit;cursor:pointer;border:none;background:none;color:var(--cream)}.dash-topnav svg{color:inherit;stroke:currentColor;fill:none;flex-shrink:0}.dash-topnav-inner{height:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.dash-topnav-logo img{height:40px;width:auto;max-width:min(220px,42vw);display:block;object-fit:contain}.dash-search{flex:1;max-width:420px;display:none;align-items:center;gap:.6rem;background:#ffffff12;border:1px solid rgba(206,171,122,.18);border-radius:9999px;padding:.55rem 1rem;color:var(--cream)}.dash-search input{flex:1;border:none;outline:none;background:transparent;color:var(--cream);font-family:var(--font-body);font-size:.875rem}.dash-search input::placeholder{color:#eadbc78c}.dash-topnav-right{display:flex;align-items:center;gap:.65rem}.dash-nav-tabs{display:none;align-items:center;gap:.3rem}.dash-nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:64px;padding:.35rem .5rem;border-radius:10px;border:1px solid transparent;color:var(--cream)!important;font-size:.65rem;font-weight:500;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.dash-nav-tab:hover{color:var(--gold)!important;background:#ffffff0a}.dash-nav-tab--active,.dash-nav-tab.active{background:var(--gold-faint);border-color:var(--gold-border);color:var(--gold)!important}.dash-bell{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--cream)!important;border-radius:8px}.dash-bell:hover{color:var(--gold)!important}.dash-bell-dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:#c0392b;border:2px solid var(--black)}.dash-notif{position:relative}.dash-notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 1.5rem));background:#fff;border:1px solid #e8ddd0;border-radius:12px;box-shadow:0 12px 32px #1a161229;z-index:80;overflow:hidden}.dash-notif-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #e8ddd0;font-family:var(--font-body);font-size:.85rem;color:#1a1612}.dash-notif-header span{color:#c0392b;font-weight:700;font-size:.75rem}.dash-notif-empty{margin:0;padding:1.25rem 1rem;font-family:var(--font-body);font-size:.82rem;color:#8a7b68;text-align:center}.dash-notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.dash-notif-item{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;padding:.85rem 1rem;border-bottom:1px solid #f0e8dc;background:#fff;font-family:var(--font-body)}.dash-notif-item:hover{background:#f5f0ea}.dash-notif-item--unread{background:#ceab7a1a}.dash-notif-main{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit}.dash-notif-title{font-size:.8rem;font-weight:700;color:#1a1612}.dash-notif-body{font-size:.78rem;color:#5a4e3c;line-height:1.4}.dash-notif-time{font-size:.7rem;color:#8a7b68}.dash-notif-actions{display:flex;gap:.45rem}.dash-notif-accept,.dash-notif-decline{appearance:none;border-radius:7px;padding:.4rem .75rem;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit}.dash-notif-accept{background:#ceab7a;border:1px solid #ceab7a;color:#1a1612}.dash-notif-decline{background:#fff;border:1px solid #e8ddd0;color:#5a4e3c}.dash-notif-status{font-size:.72rem;font-weight:600;color:#8a7b68}.dash-account{position:relative;display:none}.dash-user-chip{display:flex;align-items:center;gap:.55rem;padding:.2rem .35rem .2rem .2rem;border-radius:999px;color:var(--cream);font-family:var(--font-body);font-size:.9rem;font-weight:600;font-style:normal;letter-spacing:-.01em;background:transparent;border:none;cursor:pointer}.dash-user-chip:hover,.dash-user-chip[aria-expanded=true]{background:#ffffff0f}.dash-account-caret{transition:transform .16s ease;opacity:.75}.dash-account-caret--open{transform:rotate(180deg)}.dash-account-menu{position:absolute;top:calc(100% + .55rem);right:0;z-index:40;min-width:220px;padding:.45rem;border-radius:12px;background:#fffdf9;border:1px solid rgba(26,22,18,.08);box-shadow:0 12px 32px #1a16122e}.dash-account-header{padding:.65rem .7rem .55rem}.dash-account-name{margin:0;color:var(--black);font-size:.9rem;font-weight:700}.dash-account-email{margin:.15rem 0 0;color:#8a7b68;font-size:.75rem;word-break:break-all}.dash-account-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.65rem .7rem;border:none;border-radius:8px;background:transparent;color:var(--black);font-size:.85rem;font-weight:500;text-align:left;cursor:pointer}.dash-account-item:hover{background:#ceab7a24}.dash-account-item--danger{color:#c0392b}.dash-account-item--danger:hover{background:#fff5f5}.dash-user-avatar span{color:var(--black)!important}.dash-mobile-signout{width:100%;margin-top:.35rem;border:none;background:transparent;color:#f0b4ad;cursor:pointer;text-align:left}.dash-mobile-signout:hover{background:#c0392b1f;color:#ffd2cd}.dash-menu-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--cream);border-radius:8px}.dash-menu-toggle:hover{background:#ffffff0f}.dash-mobile-menu{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem 1.25rem;background:#1a1612fa;border-top:1px solid rgba(206,171,122,.15)}.dash-mobile-link{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:10px;color:var(--cream);font-size:.9rem;font-weight:500}.dash-mobile-link:hover,.dash-mobile-link--active{background:var(--gold-faint);color:var(--gold)}@media(min-width:720px){.dash-search{display:flex}.dash-account{display:block}}@media(min-width:1024px){.dash-nav-tabs{display:flex}.dash-menu-toggle,.dash-mobile-menu{display:none!important}}.app-with-dashnav{padding-top:60px;min-height:100vh}
