@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-start:#0f0c29;--bg-mid:#302b63;--bg-end:#24243e;--accent:#a855f7;--accent-light:#c084fc;--accent-soft:#a855f726;--pink:#ec4899;--pink-soft:#ec489926;--glass:#ffffff12;--glass-border:#ffffff1f;--glass-hover:#ffffff1f;--glass-strong:#ffffff1a;--text:#f1f0f6;--text-secondary:#f1f0f699;--text-muted:#f1f0f666;--green:#34d399;--green-soft:#34d39926;--red:#fb7185;--red-soft:#fb718526;--gold:#fbbf24;--shadow:0 8px 32px #0003;--shadow-lg:0 16px 48px #0000004d;--radius:16px;--radius-sm:10px;--sans:"Inter", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body{font-family:var(--sans);color:var(--text);background:linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 50%, var(--bg-end) 100%);background-attachment:fixed;min-height:100vh;font-size:15px;line-height:1.6}body:before,body:after{content:"";filter:blur(120px);opacity:.3;z-index:-1;border-radius:50%;animation:20s ease-in-out infinite float;position:fixed}body:before{background:var(--accent);width:600px;height:600px;top:-200px;right:-100px}body:after{background:var(--pink);width:500px;height:500px;animation-delay:-10s;bottom:-150px;left:-100px}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.navbar{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border);color:#fff;z-index:100;background:#0f0c2999;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.navbar-brand{color:#fff;letter-spacing:-.3px;align-items:center;gap:8px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.navbar-right{align-items:center;gap:8px;display:flex}.navbar-user{color:var(--text-secondary);padding:0 8px;font-size:13px}.main-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:28px 16px;overflow-x:hidden}.btn{border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--sans);letter-spacing:-.1px;border:none;align-items:center;gap:6px;padding:9px 18px;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--pink));color:#fff;box-shadow:0 4px 16px #a855f74d}.btn-primary:hover{box-shadow:0 6px 24px #a855f773}.btn-secondary{background:var(--glass);-webkit-backdrop-filter:blur(12px);color:var(--text);border:1px solid var(--glass-border)}.btn-secondary:hover{background:var(--glass-hover)}.btn-danger{background:var(--red-soft);color:var(--red);border:1px solid #fb718533}.btn-danger:hover{background:#fb718540}.btn-success{background:var(--green-soft);color:var(--green);border:1px solid #34d39933}.btn-success:hover{background:#34d39940}.btn-sm{padding:6px 12px;font-size:13px}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{color:var(--text);border-color:var(--glass-border);background:#ffffff14}.card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);padding:20px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;font-size:15px;font-family:var(--sans);color:var(--text);background:#ffffff0f;padding:11px 14px;transition:all .2s}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--accent);background:#ffffff14;outline:none;box-shadow:0 0 0 3px #a855f733}textarea.form-input{resize:vertical;min-height:80px}select.form-input{cursor:pointer}select.form-input option{background:var(--bg-mid);color:var(--text)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-page{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);text-align:center;border-radius:24px;width:100%;max-width:420px;margin:16px;padding:44px 40px;position:relative}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--pink), var(--accent));border-radius:24px 24px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.auth-card h1{background:linear-gradient(135deg, var(--text), var(--accent-light));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:32px;font-weight:700}.auth-card .subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:15px}.auth-toggle{color:var(--text-secondary);margin-top:24px;font-size:14px}.auth-toggle button{color:var(--accent-light);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--sans);background:0 0;border:none;transition:color .15s}.auth-toggle button:hover{color:var(--accent);text-decoration:underline}.error-msg{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);border:1px solid #fb718533;margin-bottom:16px;padding:10px 14px;font-size:14px}.success-msg{background:var(--green-soft);color:var(--green);border-radius:var(--radius-sm);border:1px solid #34d39933;margin-bottom:16px;padding:10px 14px;font-size:14px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.5px;font-size:28px;font-weight:700}.events-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:24px;display:grid}.event-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);cursor:pointer;color:inherit;padding:20px;text-decoration:none;transition:all .25s;display:block;position:relative;overflow:hidden}.event-card:before{content:"";opacity:0;background:linear-gradient(135deg,#a855f70d,#ec48990d);transition:opacity .25s;position:absolute;inset:0}.event-card:hover{box-shadow:var(--shadow-lg), 0 0 40px #a855f714;border-color:#a855f74d;transform:translateY(-3px)}.event-card:hover:before{opacity:1}.event-card-icon{margin-bottom:8px;font-size:36px;position:relative}.event-card-name{margin-bottom:4px;font-size:18px;font-weight:600;position:relative}.event-card-date{color:var(--text-secondary);font-size:14px;position:relative}.event-card-count{color:var(--text-muted);border-top:1px solid var(--glass-border);margin-top:10px;padding-top:10px;font-size:13px;position:relative}.event-color-bar{opacity:.8;border-radius:2px;height:3px;margin-bottom:14px}.member-tabs{gap:8px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.member-tab{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(12px);cursor:pointer;white-space:nowrap;font-size:14px;font-family:var(--sans);color:var(--text-secondary);border-radius:24px;align-items:center;gap:6px;padding:8px 16px;transition:all .2s;display:flex}.member-tab:hover{background:var(--glass-hover);color:var(--text)}.member-tab.active{background:linear-gradient(135deg, var(--accent), var(--pink));color:#fff;border-color:#0000;box-shadow:0 4px 16px #a855f740}.wishes-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;width:100%;max-width:100%;display:grid}.wish-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);flex-direction:column;min-width:0;padding:0;transition:all .2s;display:flex;overflow:hidden}.wish-card:hover{box-shadow:var(--shadow-lg);border-color:#ffffff2e;transform:translateY(-2px)}.wish-card.reserved{opacity:.55}.wish-card-image{background:linear-gradient(135deg,#a855f714,#ec48990f);height:100px;position:relative;overflow:hidden}.wish-card-image img{object-fit:contain;background:#fff;width:100%;height:100%}.wish-card-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.wish-card-hearts-wrapper{-webkit-backdrop-filter:blur(6px);background:#0000008c;border-radius:6px;padding:3px 6px;position:absolute;top:6px;right:6px}.wish-card-hearts{align-items:center;gap:1px;display:inline-flex}.wish-card-hint{color:var(--text-muted);opacity:0;align-items:center;gap:4px;margin-top:6px;font-size:10px;transition:opacity .2s;display:flex}.wish-card:hover .wish-card-hint{opacity:1}.wish-card-body{flex:1;min-width:0;padding:10px 12px 4px}.wish-card-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text);margin-bottom:3px;font-size:13px;font-weight:600;overflow:hidden}.wish-card-owner{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:2px;font-size:11px;display:flex}.wish-card-price{color:var(--accent-light);font-size:13px;font-weight:700}.wish-card-actions{padding:8px 12px 10px}.wish-card-btn{justify-content:center;align-items:center;gap:4px;width:100%;padding:5px 8px;font-size:11px;display:flex}.wish-title{align-items:center;gap:8px;margin-bottom:4px;font-size:17px;font-weight:600;display:flex}.wish-title a{color:var(--accent-light);text-decoration:none;transition:color .15s}.wish-title a:hover{color:var(--accent);text-decoration:underline}.wish-meta{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-top:4px;font-size:13px;display:flex}.wish-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.priority-badge{letter-spacing:.2px;border-radius:20px;align-items:center;gap:2px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.priority-1{background:var(--red-soft);color:var(--red);border:1px solid #fb718533}.priority-2{color:var(--gold);background:#fbbf2426;border:1px solid #fbbf2433}.priority-3{background:var(--green-soft);color:var(--green);border:1px solid #34d39933}.reserved-badge{background:var(--green-soft);color:var(--green);border:1px solid #34d39933;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.comments-section{border-top:1px solid var(--glass-border);margin-top:14px;padding-top:14px}.comments-toggle{color:var(--text-muted);cursor:pointer;font-size:13px;font-family:var(--sans);background:0 0;border:none;transition:color .15s}.comments-toggle:hover{color:var(--accent-light)}.comment{gap:8px;margin-top:10px;font-size:14px;display:flex}.comment-avatar{flex-shrink:0;font-size:18px}.comment-body{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #ffffff0f;flex:1;padding:10px 14px}.comment-author{color:var(--accent-light);font-size:13px;font-weight:600}.comment-text{color:var(--text-secondary);margin-top:2px}.comment-form{gap:8px;margin-top:10px;display:flex}.comment-form input{border:1px solid var(--glass-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--sans);color:var(--text);background:#ffffff0f;flex:1;padding:8px 14px;transition:border-color .15s}.comment-form input::placeholder{color:var(--text-muted)}.comment-form input:focus{border-color:var(--accent);outline:none}.budget-card{background:var(--glass);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);margin-bottom:20px;padding:22px}.budget-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:12px;display:grid}.budget-stat{text-align:center;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0d;padding:12px}.budget-stat-value{background:linear-gradient(135deg, var(--text), var(--accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:700}.budget-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:12px}.sparkline{vertical-align:middle;display:inline-block}.sparkline svg{display:block}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg);background:#1e1b3cf2;border-radius:20px;width:100%;max-width:500px;max-height:90vh;padding:32px;animation:.25s slideUp;overflow-y:auto}.modal h2{letter-spacing:-.3px;margin-bottom:24px;font-size:22px;font-weight:700}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;color:var(--text-secondary);padding:56px 16px}.empty-state-icon{margin-bottom:14px;font-size:52px}.empty-state h3{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:600}.loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:48px;display:flex}.spinner{border:3px solid var(--glass-border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;margin-right:10px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}::selection{color:#fff;background:#a855f74d}.split-section{width:100%}.split-progress{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0f;padding:10px 14px;transition:background .15s}.split-progress:hover{background:#ffffff0d}.nav-active{border-color:var(--glass-border)!important;background:#ffffff14!important}.navbar-mobile-actions{align-items:center;gap:4px;display:none}.mobile-menu{z-index:99;-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--glass-border);background:#0f0c29f2;flex-direction:column;gap:2px;padding:8px 16px;animation:.2s slideDown;display:flex;position:sticky;top:60px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-item{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:15px;font-family:var(--sans);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:all .15s;display:flex}.mobile-menu-item:hover,.mobile-menu-item.active{color:var(--text);background:#ffffff14}.mobile-menu-divider{background:var(--glass-border);height:1px;margin:4px 0}@media (width<=640px){.main-content{padding:16px 10px;overflow-x:hidden}.page-header h1{font-size:22px}.form-row{grid-template-columns:1fr}.modal{padding:24px 20px}.navbar{padding:0 12px}.budget-grid{grid-template-columns:1fr 1fr}.auth-card{padding:32px 24px}.navbar-desktop{display:none!important}.navbar-mobile-actions{display:flex}.wishes-list{grid-template-columns:repeat(2,1fr);gap:8px}.wish-card{padding:10px 12px}.wish-title{font-size:13px}.wish-meta{gap:6px;font-size:11px}.events-grid{grid-template-columns:1fr 1fr;gap:10px}body:before{width:350px;height:350px}body:after{width:300px;height:300px}}
