*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-rgb:34, 51, 72;--primary:rgb(var(--primary-rgb));--primary-hover:#1b293a;--secondary-rgb:171, 138, 59;--secondary:rgb(var(--secondary-rgb));--secondary-hover:#92752f;--accent-rgb:201, 123, 90;--accent:rgb(var(--accent-rgb));--neutral-100:#f6f0e6;--neutral-200:#ece4d6;--neutral-300:#dfd5c4;--neutral-400:#cbbca3;--neutral-800:#3e2f20;--neutral-900:#2c2014;--text-primary:var(--neutral-800);--text-secondary:#746355;--bg-gradient:linear-gradient(135deg, #faf6f0 0%, #f6f0e6 50%, #ece0d1 100%);--card-bg:#ffffffbf;--card-border:#2233480f;--card-shadow:0 8px 32px 0 #2233480a;--font-serif:"Cormorant Garamond", "Playfair Display", Georgia, serif;--font-sans:"Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--neutral-100)}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-gradient);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.glass-panel{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:var(--radius-md)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);font-weight:600;line-height:1.2}p{color:var(--text-secondary)}a{color:inherit;transition:var(--transition-fast);text-decoration:none}.btn{font-family:var(--font-sans);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);text-align:center;border:none;outline:none;justify-content:center;align-items:center;gap:8px;min-width:0;padding:12px 24px;font-size:15px;font-weight:500;display:inline-flex}.btn span{min-width:0}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #1b2b3d 100%);color:#fff;box-shadow:0 4px 15px #22334833}.btn-primary:hover{background:linear-gradient(135deg,#182535 0%,#111b27 100%);transform:translateY(-2px);box-shadow:0 6px 20px #2233484d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(135deg, var(--secondary) 0%, #bd9c49 100%);color:#1b1618;font-weight:600;box-shadow:0 4px 15px #ab8a3b26}.btn-secondary:hover{background:linear-gradient(135deg,#a48434 0%,#92752f 100%);transform:translateY(-2px);box-shadow:0 6px 20px #ab8a3b40}.btn-outline{border:2px solid rgba(var(--primary-rgb), .35);color:var(--primary);background:0 0;font-weight:600}.btn-outline:hover{background:rgba(var(--primary-rgb), .05);border-color:var(--primary);color:var(--primary)}.btn-glass{border:1px solid rgba(var(--primary-rgb), .18);color:var(--primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffbf;font-weight:600}.btn-glass:hover{border-color:var(--primary);background:#fffffff2}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{color:#10b981;background-color:#10b98126}.badge-pending{color:#f59e0b;background-color:#f59e0b26}.badge-info{color:#3b82f6;background-color:#3b82f626}.form-group{text-align:left;flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-label{color:var(--text-primary);font-size:14px;font-weight:500}.form-control{font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--neutral-300);color:var(--neutral-900);transition:all var(--transition-fast);background:#ffffffe6;outline:none;padding:12px 16px;font-size:15px}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15)}.calendar-root{width:100%;min-width:0;position:relative}.calendar-input-wrap{position:relative}.calendar-input{width:100%;padding-right:46px}.calendar-trigger{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--primary);background:rgba(var(--primary-rgb), .06);cursor:pointer;transition:all var(--transition-fast);border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.calendar-trigger:hover,.calendar-input-wrap.is-open .calendar-trigger{color:#fff;background:var(--primary)}.calendar-popover{z-index:40;border:1px solid var(--card-border);border-radius:var(--radius-md);width:min(100%,320px);min-width:292px;box-shadow:0 18px 40px rgba(var(--primary-rgb), .14);-webkit-backdrop-filter:blur(16px);background:#fffffff5;padding:14px;position:absolute;top:calc(100% + 8px);left:0}.calendar-header{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.calendar-month{text-align:center;color:var(--neutral-900);text-transform:capitalize;font-weight:700}.calendar-nav{border:1px solid var(--neutral-300);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--primary);background:var(--neutral-100);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.calendar-nav:hover{border-color:rgba(var(--primary-rgb), .35);background:rgba(var(--primary-rgb), .08)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{height:26px;color:var(--text-secondary);text-transform:uppercase;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);min-width:0;color:var(--neutral-900);font:inherit;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;font-size:13px;font-weight:600}.calendar-day:hover{border-color:rgba(var(--primary-rgb), .25);background:rgba(var(--primary-rgb), .06)}.calendar-day.is-outside{color:var(--neutral-400)}.calendar-day.is-today{border-color:rgba(var(--secondary-rgb), .55);color:var(--secondary-hover)}.calendar-day.is-selected{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(var(--primary-rgb), .18)}.calendar-footer{border-top:1px solid var(--neutral-200);justify-content:flex-end;margin-top:12px;padding-top:10px;display:flex}.calendar-footer button{border-radius:var(--radius-full);background:rgba(var(--secondary-rgb), .12);color:var(--secondary-hover);cursor:pointer;font:inherit;border:0;padding:7px 12px;font-size:12px;font-weight:700}.calendar-footer button:hover{background:rgba(var(--secondary-rgb), .2)}.select-root{width:100%;min-width:0;position:relative}.select-trigger{border:1px solid var(--neutral-300);border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--neutral-900);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:#ffffffe6;outline:none;align-items:center;padding:12px 44px 12px 16px;font-size:15px;line-height:1.2;display:flex;position:relative}.select-trigger:hover{border-color:var(--neutral-400)}.select-trigger:focus-visible,.select-trigger.is-open{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .15)}.select-trigger:disabled{cursor:not-allowed;opacity:.65}.select-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-placeholder{color:var(--text-secondary)}.select-chevron{color:var(--text-secondary);pointer-events:none;transition:transform var(--transition-fast), color var(--transition-fast);position:absolute;top:50%;right:16px;transform:translateY(-50%)}.select-trigger.is-open .select-chevron{color:var(--primary);transform:translateY(-50%)rotate(180deg)}.select-menu{z-index:3000;border:1px solid var(--neutral-300);border-radius:var(--radius-sm);background:#fffffffa;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 18px 42px #22334829}.select-option{width:100%;min-height:38px;color:var(--text-primary);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:14px;line-height:1.2;display:flex}.select-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-option:hover,.select-option.is-selected{background:rgba(var(--primary-rgb), .07);color:var(--primary)}.select-option:disabled{cursor:not-allowed;opacity:.55}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatReaction{0%{opacity:0;transform:translateY(100vh)scale(.6)translate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-20vh) scale(1.2) translateX(var(--float-x,20px))}}@keyframes heartbeatPulse{0%{transform:scale(1)}14%{transform:scale(1.12)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}@keyframes polaroidFall{0%{opacity:0;transform:translate(-50%,-100%)rotate(-15deg)scale(1.5)}to{opacity:1;transform:translate(-50%, -50%) rotate(var(--polaroid-angle,-3deg)) scale(1)}}.animate-fade-in-up{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.reaction-bubble{pointer-events:none;z-index:100;font-size:32px;animation:4s cubic-bezier(.1,.8,.3,1) forwards floatReaction;position:absolute;bottom:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}@media (width<=480px){.container{padding-left:16px;padding-right:16px}.btn{padding-left:18px;padding-right:18px}.btn-lg{padding-left:20px;padding-right:20px}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:#10b981}.text-danger{color:#ef4444}.w-full{width:100%}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.hidden,.hidden-file-input{display:none}.pointer-cursor{cursor:pointer}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:20px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:20px}.btn-sm{gap:6px;padding:8px 16px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}@keyframes bounceY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-bounce{animation:1s ease-in-out infinite bounceY}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
