@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-gradient-start:#0f172a;--bg-gradient-end:#1e1b4b;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent:#6366f1;--accent-hover:#4f46e5;--danger:#ef4444;--danger-hover:#dc2626;--day-bg:#ffffff05;--day-hover-bg:#ffffff14;--event-bg:#6366f1;--sidebar-bg:#0f172a99;--input-bg:#0003;--sidebar-card-bg:#ffffff08;--sidebar-card-hover:#ffffff14}body.light-mode{--bg-gradient-start:#f8fafc;--bg-gradient-end:#e2e8f0;--glass-bg:#fff9;--glass-border:#0000000d;--text-primary:#0f172a;--text-secondary:#475569;--accent:#4f46e5;--accent-hover:#4338ca;--day-bg:#fff6;--day-hover-bg:#fffc;--sidebar-bg:#fff6;--input-bg:#fffc;--sidebar-card-bg:#fff6;--sidebar-card-hover:#fffc}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background:linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end));color:var(--text-primary);background-attachment:fixed;min-height:100vh;margin:0;padding:0;transition:background .3s,color .3s}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000001a}.master-layout{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);flex-direction:column;width:350px;min-width:350px;height:100%;padding:2rem;transition:background .3s;display:flex;overflow-y:auto}.logo-container{flex-direction:column;justify-content:flex-start;align-items:flex-start;margin-bottom:2rem;display:flex}.app-logo{max-width:140px;height:auto;margin-bottom:.5rem}.logo-container p{color:var(--text-secondary);font-size:.9rem}.sidebar-events-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sidebar-events-header h3{font-size:1.1rem;font-weight:600}.sidebar-events-list{flex-direction:column;flex-grow:1;gap:.75rem;display:flex}.sidebar-event-card{background:var(--sidebar-card-bg);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s;display:flex}.sidebar-event-card:hover{background:var(--sidebar-card-hover);transform:translateY(-2px)}.sidebar-event-header{justify-content:space-between;align-items:flex-start;display:flex}.sidebar-event-header h4{word-break:break-word;margin-right:.5rem;font-size:1rem;font-weight:600}.sidebar-event-actions{gap:.25rem;display:flex}.action-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.action-btn:hover{background:var(--glass-bg);color:var(--text-primary)}.action-btn.delete:hover{color:var(--danger);background:#ef444433}.sidebar-event-date{color:var(--accent);font-size:.75rem;font-weight:500}.sidebar-event-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.empty-state{color:var(--text-secondary);text-align:center;margin-top:2rem;font-size:.9rem;font-style:italic}.main-content{flex-grow:1;height:100%;padding:2rem;overflow-y:auto}.app-container{flex-direction:column;gap:2rem;width:100%;max-width:1400px;margin:0 auto;animation:.5s ease-out fadeIn;display:flex}.header-panel{border-radius:20px;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.header-left h2{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.75rem;font-weight:600}.header-subtitle{color:var(--text-secondary);font-size:.9rem}.header-actions{gap:.5rem;display:flex}.icon-button{border:1px solid var(--glass-border);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.icon-button:hover{background:var(--glass-bg);transform:translateY(-2px)}.primary-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.primary-button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.year-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.month-card{border-radius:16px;flex-direction:column;padding:1.25rem;display:flex}.month-title{text-align:center;color:var(--accent);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.calendar-grid-mini{grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.25rem;display:grid}.days-header{margin-bottom:.5rem}.weekday-mini{text-align:center;color:var(--text-secondary);font-size:.7rem;font-weight:600}.day-cell-mini{aspect-ratio:1;cursor:pointer;background:var(--day-bg);border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:.25rem;font-size:.75rem;transition:all .1s;display:flex;position:relative}.day-cell-mini:hover{background:var(--day-hover-bg)}.day-cell-mini.other-month{opacity:.2}.day-cell-mini.today{color:var(--accent);background:var(--glass-bg);border:1px solid var(--accent);font-weight:700}.day-cell-mini.range-start{background:var(--accent);color:#fff}.day-cell-mini.selecting{background:#6366f14d}.day-cell-mini.selected{box-shadow:inset 0 0 0 1px var(--accent);background:#6366f166}.day-cell-mini.has-event{background:var(--cell-bg,var(--accent));color:#fff;font-weight:600;box-shadow:0 2px 6px #00000026}.day-cell-mini.has-event:hover{filter:brightness(1.1)}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:20px;width:90%;max-width:420px;padding:2rem;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-header h3{margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.modal-subtitle{color:var(--accent);font-size:.85rem;font-weight:500}.close-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;transition:color .2s}.close-button:hover{color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;display:block}.form-control{background:var(--input-bg);border:1px solid var(--glass-border);width:100%;color:var(--text-primary);border-radius:10px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .2s}.form-control:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f133}textarea.form-control{resize:vertical;min-height:80px}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.secondary-button{color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;background:0 0;border-radius:10px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.secondary-button:hover{background:var(--glass-bg)}.event-item{background:var(--sidebar-card-bg);border:1px solid var(--glass-border);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.event-info h4{font-size:.95rem;font-weight:600}.event-info p{color:var(--text-secondary);font-size:.8rem}.delete-button{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s}.delete-button:hover{color:var(--danger-hover);background:#ef44441a}.toast{background:var(--accent);color:#fff;z-index:200;border-radius:99px;padding:.75rem 1.5rem;font-weight:500;animation:.3s ease-out slideUp;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #6366f180}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media (width<=1400px){.year-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.year-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=850px){.master-layout{flex-direction:column;overflow-y:auto}.sidebar{border-right:none;border-bottom:1px solid var(--glass-border);width:100%;min-width:100%;height:auto;padding:1.5rem}.main-content{height:auto;overflow:visible}}@media (width<=600px){.year-grid{grid-template-columns:1fr}.header-panel{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{justify-content:space-between;width:100%}}
