:root{--bg-color: #0d0e12;--surface-color: rgba(255, 255, 255, .03);--surface-border: rgba(255, 255, 255, .08);--accent-primary: #8e2de2;--accent-secondary: #4a00e0;--accent-glow: rgba(142, 45, 226, .4);--text-primary: #f8f9fa;--text-secondary: #a0a0a0;--glass-bg: rgba(255, 255, 255, .05);--glass-blur: 12px;--font-main: "Outfit", "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}h1,h2,h3{font-weight:700;letter-spacing:-.02em}a{color:var(--accent-primary);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}.App{min-height:100vh;padding:1.5rem;background:radial-gradient(circle at top right,rgba(74,0,224,.1),transparent),radial-gradient(circle at bottom left,rgba(142,45,226,.1),transparent),var(--bg-color)}.App-header{max-width:1000px;margin:0 auto}.header-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;position:relative}.header-actions{display:flex;gap:.5rem;align-items:center;position:absolute;top:-.5rem;right:0}.separator{color:var(--surface-border);font-size:.65rem;opacity:.5}.logout-link{background:transparent;border:none;color:var(--text-secondary);font-size:.65rem;cursor:pointer;text-decoration:underline;transition:color .2s;opacity:.7}.logout-link:hover{color:var(--accent-primary)}.App-header h1{font-size:1.5rem;margin:0;background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:left}.dashboard-content{max-width:1000px;margin:0 auto}.search-bar-container{margin-bottom:1.5rem;width:100%}.search-input{width:100%;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--surface-border);padding:.85rem 1.25rem;border-radius:1rem;color:#fff;font-size:1rem;outline:none;transition:all .2s ease}.search-input:focus{border-color:var(--accent-primary);background:#ffffff14;box-shadow:0 0 15px var(--accent-glow)}.item-list{display:flex;flex-direction:column;gap:.75rem;width:100%}.item-card{display:flex;align-items:center;justify-content:flex-start;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--surface-border);padding:.75rem 1rem;border-radius:1rem;transition:all .2s ease;gap:.75rem;width:100%;text-align:left;overflow:hidden;box-sizing:border-box}.item-card.single-line:hover{background:#ffffff14;border-color:#ffffff26}.add-button{background:transparent;border:1px dashed var(--surface-border);cursor:pointer;color:var(--text-secondary);justify-content:center}.add-button:hover{border-color:var(--accent-primary);color:#fff;background:#8e2de20d}.add-content{display:flex;align-items:center;gap:.75rem;font-weight:500}.plus-icon{font-size:1.25rem;margin-top:-2px}.subscriber-name-chip{flex:1;min-width:0;padding:.35rem .75rem;border-radius:2rem;transition:all .2s ease}.subscriber-name-chip.clickable{cursor:pointer}.subscriber-name-chip.clickable:hover{filter:brightness(1.2);transform:translateY(-1px)}.subscriber-name-chip.clickable:active{transform:translateY(0)}.subscriber-name-chip.payed{background:#2ed5731a;border:1px solid rgba(46,213,115,.2)}.subscriber-name-chip.to_pay{background:#ff47571a;border:1px solid rgba(255,71,87,.2)}.subscriber-name-chip h3{font-size:.9rem;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.subscription-summary{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.subscription-info{display:flex;justify-content:flex-end;flex-grow:1}.session-chip{padding:.35rem .75rem;border-radius:2rem;font-size:.8rem;font-weight:600;font-family:monospace;white-space:nowrap;min-width:50px;text-align:center;flex-shrink:0}.session-chip.clickable{cursor:pointer;transition:transform .1s active,box-shadow .2s ease}.session-chip.clickable:hover{filter:brightness(1.2)}.session-chip.clickable:active{transform:scale(.95)}.session-chip.payed{background:#2ed5731f;color:#2ed573;border:1px solid rgba(46,213,115,.25)}.session-chip.to_pay{background:#ff47571f;color:#ff4757;border:1px solid rgba(255,71,87,.25)}.add-session-btn{width:44px;height:44px;border-radius:50%;background:var(--accent-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .2s cubic-bezier(.2,.8,.2,1);flex-shrink:0;box-shadow:0 4px 10px #0000004d}.add-session-btn:hover{transform:scale(1.1);background:#9d3bf5;box-shadow:0 0 15px var(--accent-glow)}.add-session-btn:active{transform:scale(.9)}.calendar-btn{width:44px;height:44px;border-radius:.75rem;background:#ffffff0d;color:#fff;border:1px solid var(--surface-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;flex-shrink:0}.calendar-btn:hover{background:#ffffff1a;border-color:var(--accent-primary);transform:translateY(-2px)}.empty-state{color:var(--text-secondary);font-size:.8rem}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1a1b23;border:1px solid var(--surface-border);padding:2.5rem;border-radius:1.5rem;width:90%;max-width:400px;box-shadow:0 24px 48px #00000080}.modal-content h2{margin-bottom:.5rem;font-size:1.25rem;color:#fff}.modal-subtext{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}.form-group input{width:100%;background:#ffffff08;border:1px solid var(--surface-border);padding:.75rem 1rem;border-radius:.75rem;color:#fff;font-size:1rem;outline:none}.payment-switch-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:2rem 0;font-weight:600;font-size:.9rem}.active-red{color:#ff4757}.active-green{color:#2ed573}.switch{width:60px;height:30px;background:#ffffff0d;border-radius:15px;padding:3px;cursor:pointer;position:relative;transition:background .3s;border:1px solid var(--surface-border)}.switch.to_pay{background:#ff47571a;border-color:#ff47574d}.switch.payed{background:#2ed5731a;border-color:#2ed5734d}.switch-thumb{width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1)}.switch.payed .switch-thumb{transform:translate(30px);background:#2ed573;box-shadow:0 0 10px #2ed57380}.switch.to_pay .switch-thumb{background:#ff4757;box-shadow:0 0 10px #ff475780}.checkbox-group{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1rem;background:#ffffff05;border-radius:.75rem;border:1px solid var(--surface-border)}.checkbox-group input{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}.checkbox-group label{font-size:.9rem;color:var(--text-primary);cursor:pointer}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions button{flex:1;padding:.75rem;border-radius:.75rem;font-weight:600;cursor:pointer}.btn-primary{background:var(--accent-primary);color:#fff;border:none}.btn-primary:hover{background:#9d3bf5}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--surface-border)}@media(max-width:600px){.App{padding:1rem}.header-meta h1{font-size:1.25rem}.item-card{padding:.5rem .75rem;gap:.75rem}.progress-bar-small{display:none}.subscription-summary{gap:.5rem}.add-session-btn,.calendar-btn{width:36px;height:36px}.subscriber-name-chip{padding:.35rem .75rem}.subscriber-name-chip h3{font-size:.85rem}}@media(max-width:400px){.header-actions{gap:.5rem}.logout-link{font-size:.75rem}.item-card{padding:.4rem .6rem;gap:.4rem;flex-wrap:nowrap}.subscriber-name-chip{padding:.25rem .5rem}.add-session-btn,.calendar-btn{width:38px;height:38px;font-size:1.2rem}.session-chip{padding:.25rem .5rem;font-size:.7rem;min-width:40px}}.login-page{display:flex!important;align-items:center;justify-content:center;height:100vh;margin:0;padding:0}.login-container{width:100%;max-width:400px;animation:fadeIn .8s ease-out;padding:1rem}.login-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--surface-border);padding:3rem 2rem;border-radius:2rem;text-align:center;box-shadow:0 40px 100px #0006}.login-logo{margin-bottom:2rem}.logo-icon{font-size:3rem;display:block;margin-bottom:1rem;filter:drop-shadow(0 0 15px var(--accent-glow))}.login-logo h1{background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:2rem;margin:0;text-align:center!important}.login-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2.5rem}.login-btn{width:100%;margin-top:1rem;font-size:1rem;height:3.5rem;letter-spacing:.5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
