.card{background:linear-gradient(180deg,var(--surface-primary) 0%,var(--surface-secondary) 100%);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-cozy);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}.card:hover{transform:translateY(-1px);box-shadow:0 2px 4px #3e3a360d,0 10px 20px #3e3a3614}.button{background:var(--accent-rose);color:var(--color-background);border:none;border-radius:var(--radius-sm);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .18s cubic-bezier(.2,.8,.2,1),transform .18s cubic-bezier(.2,.8,.2,1)}.button:hover{background:var(--accent-rose-hover);transform:translateY(-1px)}.button:active{background:var(--accent-rose-hover);transform:translateY(0)}.button:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;opacity:.5}.button-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .18s cubic-bezier(.2,.8,.2,1),border-color .18s cubic-bezier(.2,.8,.2,1),color .18s cubic-bezier(.2,.8,.2,1)}.button-secondary:hover{background:#3e3a3608;border-color:#3e3a361f;color:var(--text-primary)}.input{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem .875rem;font-size:.875rem;color:var(--text-primary);width:100%;font-family:var(--font-family-sans);transition:border-color .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1)}.input:focus{outline:none;border-color:var(--accent-rose);box-shadow:0 0 0 3px #e6b7c626}.input::placeholder{color:var(--text-muted)}select.input{-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='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236F6A64' d='M1.4 0L6 4.6L10.6 0L12 1.4L6 7.4L0 1.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding:.75rem 2.5rem .75rem .875rem;cursor:pointer;font-size:.9375rem;font-weight:400;line-height:1.5}select.input:hover{border-color:#3e3a3614;background-color:var(--surface-secondary)}select.input:focus{outline:none;border-color:var(--accent-sage);box-shadow:0 0 0 3px #c7d3c026;background-color:var(--surface-primary)}select.input option{background-color:var(--app-bg)!important;color:var(--text-primary)!important;padding:.75rem .875rem;font-size:.9375rem;font-weight:400;line-height:1.5;min-height:2.5rem}select.input option:checked{background-color:var(--accent-sage)!important;background:var(--accent-sage)!important;color:var(--text-primary)!important;font-weight:500}select.input option:hover{background-color:var(--surface-secondary)!important;background:var(--surface-secondary)!important}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){select.input option{padding:.5rem}}.filter-container{display:flex;gap:1rem;padding:1.5rem;background:linear-gradient(180deg,var(--surface-primary) 0%,var(--surface-secondary) 100%);border-radius:var(--radius-md);box-shadow:var(--shadow-cozy);margin-bottom:2rem;flex-wrap:wrap;justify-content:center;align-items:flex-end}.filter-group{flex:1;min-width:180px;max-width:280px}.filter-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3e3a3666;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;animation:fadeIn .26s cubic-bezier(.2,.8,.2,1)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--app-bg);border-radius:var(--radius-lg);padding:2rem;max-width:90vw;max-height:90vh;overflow:auto;z-index:1050;box-shadow:var(--shadow-cozy),0 16px 32px #3e3a361f;animation:slideUp .32s cubic-bezier(.2,.8,.2,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.empty-state-icon{display:flex;align-items:center;justify-content:center;opacity:.3;margin-bottom:1rem;color:var(--text-muted)}.empty-state-text{font-size:.875rem;line-height:1.6;max-width:320px;margin:0 auto}.error-message{background:#f4c7c333;color:var(--text-pastel-red);border:1px solid rgba(244,199,195,.3);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;margin-top:.5rem}.success-message{background:#c7d3c04d;color:var(--text-pastel-green);border:1px solid rgba(199,211,192,.4);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.875rem;margin-top:.5rem}.divider{height:1px;background:var(--border-subtle);border:none;margin:1.5rem 0}.loading{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(230,183,198,.2);border-top-color:var(--accent-rose);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-primary: #E6B7C6;--color-background: #FAF7F2;--color-cardBg: #F3EFE9;--color-text: #3E3A36;--color-border: rgba(0, 0, 0, 0);--app-bg: #FAF7F2;--surface-primary: #F3EFE9;--surface-secondary: #EEE9E2;--surface-sand: #E8DDCF;--text-primary: #3E3A36;--text-secondary: #6F6A64;--text-muted: #A59F97;--accent-rose: #E6B7C6;--accent-rose-hover: #DFA5B8;--accent-sage: #C7D3C0;--accent-sage-hover: #B8C6B0;--accent-blue: #D7E3EC;--accent-sand: #E8DDCF;--pastel-red: #F4C7C3;--pastel-orange: #FAE3C6;--pastel-yellow: #FDF2C4;--pastel-green: #C7D3C0;--pastel-teal: #CCECE9;--pastel-blue: #D7E3EC;--pastel-indigo: #D6D6F3;--pastel-purple: #E3D4F0;--pastel-pink: #FADADD;--pastel-gray: #E5E5E5;--pastel-white: #FFFFFF;--text-pastel-red: #8C4B47;--text-pastel-orange: #8F6B3D;--text-pastel-yellow: #7A6F35;--text-pastel-green: #4A5D44;--text-pastel-teal: #3D6B66;--text-pastel-blue: #4A6B8A;--text-pastel-indigo: #4F4F8A;--text-pastel-purple: #6B4E7A;--text-pastel-pink: #8F4D63;--text-pastel-gray: #666666;--border-subtle: rgba(62, 58, 54, .03);--shadow-cozy: 0 4px 12px rgba(62, 58, 54, .04), 0 8px 24px rgba(62, 58, 54, .02);--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:var(--font-family-sans);background-color:var(--app-bg);color:var(--text-primary);line-height:1.6;font-feature-settings:"rlig" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.5'/%3E%3C/svg%3E");opacity:.05;pointer-events:none;z-index:9999;mix-blend-mode:overlay}h1,h2,h3,h4,h5,h6{font-weight:500;color:var(--text-primary);letter-spacing:-.01em}h1{font-size:2rem;margin-bottom:1.5rem}h2{font-size:1.5rem;margin-bottom:1.25rem}h3{font-size:1.25rem;margin-bottom:1rem}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--text-secondary);text-decoration:none;transition:color .18s cubic-bezier(.2,.8,.2,1)}a:hover{color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#00000026}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}::selection{background:var(--accent-rose);color:var(--color-background)}:focus-visible{outline:2px solid var(--accent-rose);outline-offset:3px;border-radius:var(--radius-sm)}.transition-smooth{transition:all .2s ease-in-out}#root{min-height:100vh;position:relative}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.container-narrow{max-width:800px;margin:0 auto;padding:0 2rem}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
