:root{--font-display:"Cormorant Garamond",Georgia,serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ink:#1f1416;--wine:#2a1318;--wine-2:#3a1d23;--on-wine:#f3e9df;--on-wine-2:hsla(30,45%,91%,.66);--gold:#b8935a;--gold-soft:#d9bf8c;--brand-rose:#9c5562;--brand-rose-ink:#1f1416;--brand-rose-ink-hover:#3a1d23;--brand-rose-wash:#f1eae1;--brand-champagne:#b8935a;--brand-champagne-wash:#f3ecdf;--brand-blush:#d9bf8c;--brand-gradient:linear-gradient(#1f1416,#1f1416);--brand-gradient-soft:linear-gradient(#f1eae1,#f1eae1);--bg-base:#f7f2ec;--bg-surface:#fdfaf6;--bg-elevated:#fdfaf6;--bg-card:#fdfaf6;--bg-card-hover:#fffdf9;--bg-glass:#fdfaf6;--bg-input:#fdfaf6;--border-subtle:rgba(31,20,22,.08);--border-default:rgba(31,20,22,.12);--border-strong:rgba(31,20,22,.24);--border-brand:rgba(184,147,90,.55);--text-primary:#1f1416;--text-secondary:rgba(31,20,22,.78);--text-muted:rgba(31,20,22,.58);--text-brand:#9c5562;--color-success:#3f7a4f;--color-warning:#a8743c;--color-danger:#b04848;--color-info:#4f6f92;--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:2px;--radius-md:2px;--radius-lg:2px;--radius-xl:3px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(31,20,22,.04);--shadow-md:0 1px 2px rgba(31,20,22,.04),0 10px 30px -14px rgba(31,20,22,.16);--shadow-lg:0 1px 2px rgba(31,20,22,.04),0 30px 60px -24px rgba(31,20,22,.28);--shadow-brand:none;--shadow-brand-lg:none;--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:var(--font-sans);font-feature-settings:"lnum";font-variant-numeric:lining-nums;font-synthesis-weight:none;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:var(--font-display);font-weight:400;line-height:1.15;letter-spacing:-.01em}h4,h5,h6{font-family:var(--font-sans);font-weight:600;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(--text-primary)}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(31,20,22,.18);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:rgba(31,20,22,.32)}.glass{background:var(--bg-glass);border:1px solid var(--border-default)}.glass-strong{background:var(--bg-elevated);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{border-color:var(--border-default)}.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);justify-content:center;min-height:44px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;transition:all var(--transition-fast);cursor:pointer;border:none;white-space:nowrap}.btn-primary{background:var(--brand-rose-ink);color:var(--bg-base)}.btn-primary:hover{background:var(--brand-rose-ink-hover);color:var(--bg-base)}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--text-primary)}.btn-secondary:hover{background:var(--text-primary);color:var(--bg-base)}.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:transparent;color:var(--color-danger);border:1px solid rgba(176,72,72,.4)}.btn-danger:hover{background:rgba(176,72,72,.08)}.btn-sm{min-height:34px;padding:var(--space-2) var(--space-4);font-size:.64rem;border-radius:var(--radius-sm)}.btn-lg{min-height:52px;padding:var(--space-4) var(--space-8);font-size:.74rem;border-radius:var(--radius-lg)}.btn-icon{min-height:0;padding:var(--space-2);border-radius:var(--radius-sm);aspect-ratio:1;letter-spacing:0}.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:.66rem;font-weight:500;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;font-family:var(--font-sans)}.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(--text-primary);background:var(--bg-elevated);box-shadow:none}.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(31,20,22,0.4)' 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 8px;border-radius:var(--radius-sm);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-sans)}.badge-violet{background:rgba(156,85,98,.07);color:#8a4855;border:1px solid rgba(156,85,98,.24)}.badge-blue{background:rgba(79,111,146,.07);color:#46637f;border:1px solid rgba(79,111,146,.24)}.badge-amber{background:rgba(184,147,90,.1);color:#8a6630;border:1px solid rgba(184,147,90,.4)}.badge-green{background:rgba(63,122,79,.07);color:#356b44;border:1px solid rgba(63,122,79,.26)}.badge-gray{background:transparent;color:rgba(31,20,22,.62);border:1px solid rgba(31,20,22,.16)}.badge-rose{background:rgba(156,85,98,.07);color:#8a4855;border:1px solid rgba(156,85,98,.24)}.badge-red{background:rgba(176,72,72,.07);color:#9a3b3b;border:1px solid rgba(176,72,72,.26)}.gradient-text{color:var(--text-primary)}.divider{height:1px;background:var(--border-subtle);margin:var(--space-6) 0}.spinner{width:20px;height:20px;border:2px solid rgba(31,20,22,.12);border-top:2px solid var(--text-primary);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(31,20,22,.04) 25%,rgba(31,20,22,.08) 50%,rgba(31,20,22,.04) 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;display:none}.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(31,20,22,.5);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:.64rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-base);font-family:var(--font-sans)}.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:var(--font-display);font-size:2.6rem;font-weight:400;color:var(--text-primary);letter-spacing:-.015em;line-height:1.02}.page-subtitle{font-size:.9rem;color:var(--text-muted);margin-top:2px;font-family:var(--font-sans)}.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-default)}.stat-value{font-family:var(--font-display);font-size:2.4rem;font-weight:400;color:var(--text-primary);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums;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:var(--font-sans)!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}}.wordmark{font-family:var(--font-display);font-size:1.85rem;font-weight:500;letter-spacing:.04em;line-height:1;text-decoration:none}.wordmark,.wordmark:hover{color:var(--text-primary)}.font-serif{font-family:var(--font-display)}.font-italic,.font-script{font-style:italic}.font-script{font-family:var(--font-display)}.tracking-wide{letter-spacing:.18em}.serif-italic{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:.005em}.gold-text,.serif-italic{color:var(--gold)}.drop-cap:first-letter{font-family:var(--font-display);font-weight:400;font-size:4.2em;line-height:.85;float:left;padding:6px 12px 0 0;color:var(--gold)}@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:none}.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:rgba(184,147,90,.5)}.cream-wash{background:var(--bg-base)}.script{font-family:var(--font-display);font-style:italic;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}}.InstallPrompt_banner__h9bTz{position:fixed;z-index:90;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);display:flex;align-items:center;gap:12px;padding:12px 14px;background:hsla(0,0%,100%,.96);border:1px solid rgba(31,20,22,.12);border-radius:2px;box-shadow:0 16px 36px rgba(31,20,22,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:InstallPrompt_saaj-slide-up__6w7ai .32s cubic-bezier(.18,.89,.32,1.28)}@keyframes InstallPrompt_saaj-slide-up__6w7ai{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.InstallPrompt_iconWrap__KqxqJ{width:36px;height:36px;border-radius:2px;background:hsla(40,50%,70%,.24);color:var(--brand-rose,#9c5562);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(31,20,22,.11);flex-shrink:0}.InstallPrompt_body__W9Ja3{flex:1 1;min-width:0}.InstallPrompt_title__L9Mo5{font-family:var(--font-sans);font-weight:700;font-size:.88rem;color:var(--text-primary,#1f1416);margin-bottom:2px}.InstallPrompt_body__W9Ja3 p{margin:0;font-size:.78rem;color:var(--text-secondary,rgba(31,20,22,.72));line-height:1.45}.InstallPrompt_actions__Pf7Xj{display:flex;align-items:center;gap:6px;flex-shrink:0}.InstallPrompt_installBtn__0yQbi{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding:9px 18px;border-radius:2px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;color:#fff;background:var(--brand-gradient,linear-gradient(var(--brand-rose-ink),var(--brand-rose-ink)));border:none;box-shadow:0 8px 18px rgba(31,20,22,.14);transition:filter .2s ease,transform .2s ease}.InstallPrompt_installBtn__0yQbi:hover{filter:brightness(1.05);transform:translateY(-1px)}.InstallPrompt_dismissBtn__qWTg6{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:28px;height:28px;border-radius:2px;background:transparent;color:var(--text-muted,rgba(31,20,22,.58));border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.InstallPrompt_dismissBtn__qWTg6:hover{background:rgba(184,147,90,.072);border-color:rgba(31,20,22,.11)}@media (min-width:720px){.InstallPrompt_banner__h9bTz{left:auto;max-width:380px;right:24px;bottom:24px}}