*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-tertiary: #141414;--bg-elevated: #1a1a1a;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-muted: #666666;--accent: #3b82f6;--accent-hover: #2563eb;--accent-light: rgba(59, 130, 246, .1);--success: #10b981;--success-light: rgba(16, 185, 129, .1);--danger: #ef4444;--border: #262626;--border-light: #333333;--shadow: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .7);--radius: 8px;--radius-lg: 12px;--transition: all .2s ease}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border)}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.header-actions{display:flex;gap:1rem;align-items:center}.btn{padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);font-family:inherit;display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-light)}.btn-ghost{background:transparent;color:var(--text-muted);padding:.5rem}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}@media (max-width: 768px){.header{padding:1rem}.logo{font-size:1.25rem}.btn{padding:.5rem 1rem;font-size:.8125rem}}.sidebar{width:320px;background:var(--bg-secondary);border-right:1px solid var(--border);overflow-y:auto;height:calc(100vh - 65px)}.sidebar-content{padding:1.5rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.sidebar-title{font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:1px}.occasions-list{display:flex;flex-direction:column;gap:.75rem}.occasion-item{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:var(--transition);position:relative}.occasion-item:hover{background:var(--bg-tertiary);border-color:var(--border-light)}.occasion-item.active{background:var(--accent-light);border-color:var(--accent)}.occasion-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:var(--radius) 0 0 var(--radius)}.occasion-name{font-weight:600;font-size:.9375rem;margin-bottom:.625rem;color:var(--text-primary)}.occasion-stats{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-muted)}.progress-indicator{display:flex;align-items:center;gap:.625rem;width:100%}.progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--success);transition:var(--transition);border-radius:2px}@media (max-width: 768px){.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.sidebar-content{padding:1rem}}.section-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}.section-card:hover{border-color:var(--border-light);box-shadow:var(--shadow)}.section-header{background:var(--bg-tertiary);padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.section-title-group{display:flex;align-items:center;gap:.75rem}.section-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.section-count{background:var(--bg-elevated);color:var(--text-muted);padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.section-actions{display:flex;gap:.25rem;opacity:0;transition:var(--transition)}.section-card:hover .section-actions{opacity:1}.section-content{padding:.75rem;max-height:400px;overflow-y:auto}.items-list{display:flex;flex-direction:column;gap:.5rem}.item{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;display:flex;align-items:center;gap:.75rem;transition:var(--transition)}.item:hover{background:var(--bg-tertiary)}.item.checked{background:var(--success-light);border-color:var(--success)}.item-checkbox{width:18px;height:18px;accent-color:var(--success);cursor:pointer;flex-shrink:0}.item-text{flex:1;font-size:.875rem;color:var(--text-secondary);transition:var(--transition)}.item.checked .item-text{text-decoration:line-through;color:var(--text-muted)}.item-actions{display:flex;gap:.25rem;opacity:0;transition:var(--transition)}.item:hover .item-actions{opacity:1}.no-items{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.no-items p{margin-bottom:1rem;font-size:.875rem}.content{flex:1;overflow-y:auto;height:calc(100vh - 65px)}.content-inner{padding:2rem;max-width:1200px}.content-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.content-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.5px;color:var(--text-primary)}.content-subtitle{color:var(--text-muted);font-size:.9375rem}.content-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{width:80px;height:80px;background:var(--bg-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:2rem;color:var(--text-muted)}.empty-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.empty-text{color:var(--text-muted);margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6}.empty-categories{text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border:1px dashed var(--border);border-radius:var(--radius-lg)}.empty-categories p{color:var(--text-muted);margin-bottom:1.5rem}@media (max-width: 768px){.content{height:auto}.content-inner{padding:1.5rem}.content-title{font-size:1.5rem}.sections-grid{grid-template-columns:1fr;gap:1rem}.content-header{flex-direction:column;align-items:stretch}.content-actions{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:480px;width:100%;box-shadow:var(--shadow-lg);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.modal-content{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:var(--transition)}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder{color:var(--text-muted)}@media (max-width: 480px){.modal{margin:1rem;max-width:none}.modal-header,.modal-content,.modal-footer{padding:1rem}}.toast{position:fixed;top:1rem;right:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-lg);z-index:300;animation:slideIn .3s ease;color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{background:var(--success-light);border-color:var(--success);color:var(--success)}@media (max-width: 480px){.toast{left:1rem;right:1rem;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}}.app{min-height:100vh;display:flex;flex-direction:column}.main{display:flex;flex:1;max-width:1600px;width:100%;margin:0 auto}@media (max-width: 768px){.main{flex-direction:column}}
