@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600&family=Pinyon+Script&display=swap");:root{--brand-rose:#b5717b;--brand-champagne:#c9a260;--brand-blush:#e8b4ba;--brand-gradient:linear-gradient(135deg,#b5717b,#c4855e 55%,#c9a260);--brand-gradient-soft:linear-gradient(135deg,rgba(181,113,123,.1),rgba(201,162,96,.1));--bg-base:#faf7f4;--bg-surface:#fff9f7;--bg-elevated:#fff;--bg-card:rgba(255,252,250,.96);--bg-card-hover:#fff8f5;--bg-glass:rgba(255,252,250,.8);--bg-input:#faf7f4;--border-subtle:rgba(181,113,123,.12);--border-default:rgba(181,113,123,.22);--border-strong:rgba(181,113,123,.38);--border-brand:rgba(181,113,123,.55);--text-primary:#2a1d20;--text-secondary:rgba(42,29,32,.82);--text-muted:rgba(42,29,32,.58);--text-brand:#a45260;--color-success:#6b9e78;--color-warning:#c9955a;--color-danger:#c46060;--color-info:#6b8eb8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(181,113,123,.1);--shadow-md:0 4px 24px rgba(181,113,123,.14);--shadow-lg:0 8px 48px rgba(181,113,123,.18);--shadow-brand:0 0 24px rgba(181,113,123,.18);--shadow-brand-lg:0 0 48px rgba(181,113,123,.26);--sidebar-width:240px;--topbar-height:64px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:220ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;text-rendering:optimizeLegibility}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-base);line-height:1.6;min-height:100vh}body,h1,h2,h3{color:var(--text-primary)}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em}h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{color:var(--text-secondary);line-height:1.7}a{color:var(--text-brand);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand-champagne)}img{max-width:100%;display:block}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:1rem}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(181,113,123,.22);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:rgba(181,113,123,.38)}.glass{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default)}.glass-strong{background:rgba(255,252,250,.92);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--border-strong)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.card:hover{background:var(--bg-card-hover);border-color:var(--border-default);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:Outfit,sans-serif;font-weight:600;font-size:.9rem;letter-spacing:.01em;transition:all var(--transition-fast);cursor:pointer;border:none;white-space:nowrap}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-brand)}.btn-primary:hover{opacity:.9;box-shadow:var(--shadow-brand-lg);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}.btn-danger{background:rgba(196,96,96,.08);color:var(--color-danger);border:1px solid rgba(196,96,96,.22)}.btn-danger:hover{background:rgba(196,96,96,.16)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:.8rem;border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:1rem;border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-sm);aspect-ratio:1}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.input-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-family:Outfit,sans-serif}.input{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:.95rem;width:100%;transition:all var(--transition-fast);outline:none}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--brand-rose);background:var(--bg-elevated);box-shadow:0 0 0 3px rgba(181,113,123,.12)}.input-error{border-color:var(--color-danger)}select.input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(42,29,32,0.38)' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-family:Outfit,sans-serif}.badge-violet{background:rgba(181,113,123,.12);color:#a85a65;border:1px solid rgba(181,113,123,.28)}.badge-blue{background:rgba(107,142,184,.12);color:#5678a0;border:1px solid rgba(107,142,184,.28)}.badge-amber{background:rgba(201,149,90,.12);color:#a0743c;border:1px solid rgba(201,149,90,.28)}.badge-green{background:rgba(107,158,120,.12);color:#4a7e5a;border:1px solid rgba(107,158,120,.28)}.badge-gray{background:rgba(42,29,32,.07);color:#7a6568;border:1px solid rgba(42,29,32,.14)}.badge-rose{background:rgba(181,113,123,.14);color:#a85a65;border:1px solid rgba(181,113,123,.3)}.badge-red{background:rgba(196,96,96,.1);color:#a04040;border:1px solid rgba(196,96,96,.24)}.gradient-text{background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.divider{height:1px;background:var(--border-subtle);margin:var(--space-6) 0}.spinner{width:20px;height:20px;border:2px solid rgba(181,113,123,.18);border-top:2px solid var(--brand-rose);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-left{animation:slideInLeft .3s ease forwards}.animate-scale-in{animation:scaleIn .2s ease forwards}.skeleton{background:linear-gradient(90deg,rgba(181,113,123,.06) 25%,rgba(181,113,123,.12) 50%,rgba(181,113,123,.06) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.orb-violet{background:rgba(181,113,123,.14);width:500px;height:500px}.orb-rose{background:rgba(201,162,96,.1);width:400px;height:400px}.modal-overlay{position:fixed;inset:0;background:rgba(42,29,32,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .15s ease}.modal-content{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;animation:scaleIn .2s ease;box-shadow:var(--shadow-lg)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-base);font-family:Outfit,sans-serif}.table td,.table th{border-bottom:1px solid var(--border-subtle)}.table td{padding:var(--space-4);font-size:.9rem;color:var(--text-secondary);background:var(--bg-elevated)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-card-hover);color:var(--text-primary)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:500;color:var(--text-primary);letter-spacing:-.005em;line-height:1.1}.page-subtitle{font-size:.9rem;color:var(--text-muted);margin-top:2px;font-family:Inter,sans-serif}.stat-card{background:rgba(255,252,250,.85)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-muted)}.empty-state-icon{margin-bottom:var(--space-4);opacity:.4;color:var(--brand-rose)}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.stat-card:hover{border-color:var(--border-brand);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.stat-value{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:2.1rem;font-weight:600;background:linear-gradient(135deg,#b5717b,#c4855e 50%,#c9a260);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:-.01em}.stat-label{font-size:.82rem;color:var(--text-muted);margin-top:var(--space-1);font-weight:500}.toast-container>div{background:var(--bg-elevated)!important;color:var(--text-primary)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important;font-family:Inter,sans-serif!important;box-shadow:var(--shadow-lg)!important}@media (max-width:768px){.modal-content{padding:var(--space-6);border-radius:var(--radius-lg);max-height:85vh}.page-header{flex-direction:column;align-items:flex-start}.table-wrap{font-size:.85rem}}.font-serif{font-family:Cormorant Garamond,Georgia,serif}.font-italic{font-style:italic}.font-script{font-family:Pinyon Script,Snell Roundhand,cursive}.tracking-wide{letter-spacing:.18em}.serif-italic{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-weight:500;letter-spacing:.005em}.gold-text{background:linear-gradient(135deg,#c9a260,#e8c480 45%,#b5717b);-webkit-background-clip:text;background-clip:text}.drop-cap:first-letter,.gold-text{-webkit-text-fill-color:transparent}.drop-cap:first-letter{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:4.2em;line-height:.85;float:left;padding:6px 12px 0 0;background:linear-gradient(135deg,#b5717b,#c9a260);-webkit-background-clip:text;background-clip:text}@keyframes petalDrift{0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}10%{opacity:.7}to{transform:translate3d(40px,110vh,0) rotate(1turn);opacity:0}}@keyframes petalDriftAlt{0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}15%{opacity:.6}to{transform:translate3d(-60px,110vh,0) rotate(-280deg);opacity:0}}@keyframes twinkle{0%,to{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.05)}}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmerLine{0%{background-position:-150% 0}to{background-position:250% 0}}@keyframes orbDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.06)}66%{transform:translate(-15px,15px) scale(.96)}}.petal{position:absolute;width:18px;height:18px;pointer-events:none;z-index:1;opacity:0;will-change:transform,opacity;animation:petalDrift linear infinite}.petal.petal-alt{animation-name:petalDriftAlt}.twinkle{position:absolute;pointer-events:none;animation:twinkle 3.6s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(201,162,96,.55))}.ornament-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:48px auto;max-width:360px;color:var(--brand-champagne)}.ornament-divider .line{flex:1 1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,96,.45) 35%,rgba(181,113,123,.55) 50%,rgba(201,162,96,.45) 65%,transparent)}.cream-wash{background:radial-gradient(ellipse 600px 400px at 20% 10%,rgba(232,180,186,.1),transparent 60%),radial-gradient(ellipse 500px 350px at 90% 90%,rgba(201,162,96,.1),transparent 60%),var(--bg-base)}.script{font-family:Pinyon Script,Snell Roundhand,cursive;font-weight:400;letter-spacing:0}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.71 0 0 0 0 0.44 0 0 0 0 0.48 0 0 0 0.10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes revealUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-up{animation:revealUp .7s cubic-bezier(.16,1,.3,1) both}.reveal-up.d1{animation-delay:.08s}.reveal-up.d2{animation-delay:.16s}.reveal-up.d3{animation-delay:.24s}.reveal-up.d4{animation-delay:.32s}.reveal-up.d5{animation-delay:.4s}.reveal-up.d6{animation-delay:.48s}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-scale-in,.animate-slide-left,.petal,.reveal-up,.twinkle{animation:none!important}}