@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary-h: 215;--primary-s: 90%;--primary-l: 52%;--primary-color: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-dark: hsl(var(--primary-h), var(--primary-s), 42%);--primary-light: hsl(var(--primary-h), var(--primary-s), 96%);--secondary-color: hsl(280, 80%, 60%);--text-main: hsl(215, 30%, 15%);--text-muted: hsl(215, 15%, 50%);--bg-body: #f3f6f9;--bg-card: #ffffff;--bg-glass: rgba(255, 255, 255, .85);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .03), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-body);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,0) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,0) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,0) 0,transparent 50%);background-size:cover;background-attachment:fixed;margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}button{font-family:inherit;transition:var(--transition);cursor:pointer}button:active{transform:scale(.96)}.card-glass{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-md);border-radius:var(--radius-lg)}.login-card{box-shadow:var(--shadow-lg)!important;background:#ffffffe6!important;border:1px solid rgba(255,255,255,.8)}.calendar-container{max-width:1600px;margin:0 auto;padding:0 20px}@media(max-width:768px){.calendar-container{padding:0 10px}}.checkbox-wrapper .checkmark{border-color:#cbd5e1!important}.checkbox-wrapper input:checked~.checkmark{background-color:var(--primary-color)!important;border-color:var(--primary-color)!important;box-shadow:0 2px 5px #2563eb40}.parent-panel{background:#fffc!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.05);box-shadow:var(--shadow-sm)}.selector-group select{background-color:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-sm);padding:6px 12px;font-size:.95rem;color:var(--text-main);box-shadow:var(--shadow-sm)}.selector-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4285f426}.badge{background:linear-gradient(135deg,gold,#fdb931);color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 2px 4px #fdb9314d;border:none!important;font-weight:600;letter-spacing:.5px}.app-header{background:#fffc!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;margin-bottom:20px}.login-card[data-v-4e63fd49]{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 30px #0000001a;text-align:center;max-width:400px;width:100%}.title[data-v-4e63fd49]{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;color:var(--text-color)}.subtitle[data-v-4e63fd49]{color:#666;margin-bottom:2rem}.google-btn[data-v-4e63fd49]{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;background-color:#fff;border:1px solid #ddd;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.google-btn[data-v-4e63fd49]:hover{background-color:#f8f9fa;border-color:#ccc;box-shadow:0 2px 5px #0000000d}.icon[data-v-4e63fd49]{font-weight:700;color:#4285f4}.error[data-v-4e63fd49]{margin-top:1rem;color:#dc3545;font-size:.9rem}.task-item[data-v-2347f2e1]{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;background:transparent;border-bottom:1px solid #f0f0f0;margin-bottom:4px;transition:all .2s;position:relative}.task-item[data-v-2347f2e1]:last-child{border-bottom:none}.task-item[data-v-2347f2e1]:hover{background:#00000005}.task-item:hover .actions[data-v-2347f2e1]{opacity:1}.task-item.completed .task-title[data-v-2347f2e1]{text-decoration:line-through;color:#999}.task-item.completed .subject-tag[data-v-2347f2e1]{opacity:.6}.task-content[data-v-2347f2e1]{flex:1;display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.subject-tag[data-v-2347f2e1]{font-size:.75rem;background:#eef2ff;color:var(--primary-color, #4285F4);padding:1px 6px;border-radius:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.checkbox-wrapper[data-v-2347f2e1]{position:relative;cursor:pointer;display:flex;align-items:center;margin-top:2px}.checkbox-wrapper input[data-v-2347f2e1]{opacity:0;width:0;height:0}.checkmark[data-v-2347f2e1]{width:18px;height:18px;border:2px solid #ddd;border-radius:4px;display:inline-block;position:relative;transition:all .2s}.checkbox-wrapper input:checked~.checkmark[data-v-2347f2e1]{background-color:var(--primary-color, #4285F4);border-color:var(--primary-color, #4285F4)}.checkmark[data-v-2347f2e1]:after{content:"";position:absolute;display:none;left:5px;top:1px;width:4px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-wrapper input:checked~.checkmark[data-v-2347f2e1]:after{display:block}.task-title[data-v-2347f2e1]{font-size:.95rem;line-height:1.4;word-break:break-all;color:var(--text-main)}.actions[data-v-2347f2e1]{display:flex;opacity:1;margin-left:auto}.delete-btn[data-v-2347f2e1],.edit-btn[data-v-2347f2e1]{background:none;border:none;font-size:1rem;cursor:pointer;padding:2px 4px;color:#999}.edit-btn[data-v-2347f2e1]:hover{color:var(--primary-color)}.delete-btn[data-v-2347f2e1]:hover{color:#ff4d4f}@media(max-width:640px){.task-title[data-v-2347f2e1]{font-size:1.15rem}.subject-tag[data-v-2347f2e1]{font-size:.9rem;padding:2px 8px}.task-item[data-v-2347f2e1]{padding:10px 8px}.checkmark[data-v-2347f2e1]{width:22px;height:22px}.checkmark[data-v-2347f2e1]:after{left:6px;top:2px;width:6px;height:12px}}.modal-overlay[data-v-dc7ff946]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-dc7ff946]{background:#fff;padding:24px;border-radius:16px;width:90%;max-width:400px;box-shadow:0 10px 25px #0000001a}.modal-header[data-v-dc7ff946]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.date-nav[data-v-dc7ff946]{display:flex;align-items:center;gap:8px;background:#f8f9fa;padding:4px;border-radius:20px}.nav-btn[data-v-dc7ff946]{background:#fff;border:1px solid #e2e8f0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-main);font-weight:700;transition:all .2s}.nav-btn[data-v-dc7ff946]:hover{background:var(--primary-light);color:var(--primary-color);border-color:var(--primary-light)}.current-date[data-v-dc7ff946]{font-weight:700;color:var(--primary-color);min-width:45px;text-align:center}h3[data-v-dc7ff946]{margin:0;color:var(--text-main)}.form-group[data-v-dc7ff946]{margin-bottom:20px}label[data-v-dc7ff946]{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;color:#666}.subject-tags[data-v-dc7ff946]{display:flex;flex-wrap:wrap;gap:8px}.tag-btn[data-v-dc7ff946]{border:1px solid #ddd;background:#fff;border-radius:20px;padding:4px 12px;cursor:pointer;color:#666;font-size:.9rem;transition:all .2s}.tag-btn[data-v-dc7ff946]:hover{background:#f8f9fa}.tag-btn.active[data-v-dc7ff946]{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 4px #4285f44d}input[type=text][data-v-dc7ff946]{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}input[type=text][data-v-dc7ff946]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #4285f41a}.modal-actions[data-v-dc7ff946]{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.cancel-btn[data-v-dc7ff946],.save-btn[data-v-dc7ff946]{padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;border:none}.cancel-btn[data-v-dc7ff946]{background:#f1f3f5;color:#495057}.save-btn[data-v-dc7ff946]{background:var(--primary-color);color:#fff}.cancel-btn[data-v-dc7ff946]:hover{background:#e9ecef}.save-btn[data-v-dc7ff946]:hover{background:var(--primary-dark)}.mini-task-list[data-v-dc7ff946]{margin-top:20px;border-top:1px solid #eee;padding-top:15px}.mini-task-list h4[data-v-dc7ff946]{margin:0 0 10px;font-size:.9rem;color:#888}.task-items-scroll[data-v-dc7ff946]{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.mini-task-item[data-v-dc7ff946]{display:flex;align-items:center;gap:8px;padding:6px;background:#f9f9f9;border-radius:6px;font-size:.9rem}.mini-subject[data-v-dc7ff946]{font-size:.75rem;padding:2px 6px;background:#eee;border-radius:4px;color:#555;min-width:24px;text-align:center}.mini-title[data-v-dc7ff946]{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkbox-label[data-v-dc7ff946]{display:flex;align-items:center;cursor:pointer;font-weight:600;color:#666;margin-bottom:12px;position:relative;-webkit-user-select:none;user-select:none}.checkbox-label input[data-v-dc7ff946]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark[data-v-dc7ff946]{height:18px;width:18px;background-color:#fff;border:2px solid #ddd;border-radius:4px;margin-right:8px;position:relative}.checkbox-label:hover input~.checkmark[data-v-dc7ff946]{background-color:#f5f5f5}.checkbox-label input:checked~.checkmark[data-v-dc7ff946]{background-color:var(--primary-color);border-color:var(--primary-color)}.checkmark[data-v-dc7ff946]:after{content:"";position:absolute;display:none;left:5px;top:1px;width:4px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input:checked~.checkmark[data-v-dc7ff946]:after{display:block}.recurrence-options[data-v-dc7ff946]{background:#f8f9fa;padding:12px;border-radius:8px;margin-top:8px;display:flex;gap:12px}.date-input-group[data-v-dc7ff946]{flex:1;display:flex;flex-direction:column}.date-input-group label[data-v-dc7ff946]{font-weight:400;font-size:.85rem;margin-bottom:4px}.date-input-group input[data-v-dc7ff946]{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}@media(max-width:640px){.modal-content[data-v-dc7ff946]{width:95%;padding:20px}.nav-btn[data-v-dc7ff946]{width:36px;height:36px;font-size:1.2rem}.current-date[data-v-dc7ff946]{font-size:1.1rem}h3[data-v-dc7ff946]{font-size:1.3rem}label[data-v-dc7ff946]{font-size:1rem;margin-bottom:6px}.tag-btn[data-v-dc7ff946]{padding:8px 16px;font-size:1rem}input[type=text][data-v-dc7ff946],.date-input-group input[data-v-dc7ff946]{font-size:16px;padding:12px}.save-btn[data-v-dc7ff946],.cancel-btn[data-v-dc7ff946]{padding:12px 24px;font-size:1rem}.checkbox-label[data-v-dc7ff946]{font-size:1rem;padding:8px 0}.checkmark[data-v-dc7ff946]{width:22px;height:22px}}.modal-overlay[data-v-f63603af]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content[data-v-f63603af]{background:#fff;padding:24px;border-radius:16px;width:90%;max-width:320px;box-shadow:0 10px 25px #00000026;text-align:center;animation:popIn-f63603af .2s ease-out}@keyframes popIn-f63603af{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header[data-v-f63603af]{margin-bottom:12px}h3[data-v-f63603af]{margin:0;color:var(--text-main);font-size:1.2rem}.modal-body[data-v-f63603af]{margin-bottom:24px;color:#666;font-size:1rem;line-height:1.5}.modal-actions[data-v-f63603af]{display:flex;justify-content:center;gap:12px}button[data-v-f63603af]{flex:1;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:1rem;transition:all .2s}.cancel-btn[data-v-f63603af]{background:#f1f3f5;color:#495057}.cancel-btn[data-v-f63603af]:hover{background:#e9ecef}.confirm-btn[data-v-f63603af]{background:var(--primary-color);color:#fff}.confirm-btn[data-v-f63603af]:hover{filter:brightness(.9)}.confirm-btn.danger[data-v-f63603af]{background:#ff4d4f}.confirm-btn.danger[data-v-f63603af]:hover{background:#ff7875}.calendar-container[data-v-9ffdc109]{padding:20px}.week-row[data-v-9ffdc109]{display:grid;gap:12px;margin-bottom:24px;grid-template-columns:repeat(7,1fr)}.header-row[data-v-9ffdc109]{margin-bottom:8px}.day-header[data-v-9ffdc109]{text-align:center;font-weight:700;color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.day-cell[data-v-9ffdc109]{background:#ffffffe6;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-md);min-height:160px;display:flex;flex-direction:column;padding:12px;transition:var(--transition);position:relative;box-shadow:var(--shadow-sm)}.day-cell[data-v-9ffdc109]:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);z-index:1}.day-cell.today[data-v-9ffdc109]{border:2px solid var(--primary-color)!important;background:linear-gradient(160deg,#ffffff 0%,var(--primary-light) 100%);box-shadow:0 0 0 4px #4285f41a}.day-cell.holiday-cell[data-v-9ffdc109]{border:1px solid #ffccc7;background:snow}.day-header-info[data-v-9ffdc109]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.04)}.day-date[data-v-9ffdc109]{font-size:1rem;font-weight:700;color:var(--text-main);font-family:Outfit,sans-serif}.today .day-date[data-v-9ffdc109]{color:var(--primary-color)}.is-holiday[data-v-9ffdc109]{color:#d93025!important}.is-weekend[data-v-9ffdc109]{color:#d93025}.holiday-name[data-v-9ffdc109]{font-size:.75rem;background:#fce8e6;color:#d93025;padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;font-weight:400;white-space:nowrap}.add-btn[data-v-9ffdc109]{background:var(--primary-light);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:1.2rem;font-weight:700;opacity:.8;transition:var(--transition)}.day-cell:hover .add-btn[data-v-9ffdc109],.add-btn[data-v-9ffdc109]:hover{opacity:1;background:var(--primary-color);color:#fff;transform:scale(1.1)}.tasks-list[data-v-9ffdc109]{flex:1;display:flex;flex-direction:column;gap:8px}.load-more-btn[data-v-9ffdc109]{display:flex;align-items:center;justify-content:center;gap:8px;margin:30px auto;padding:12px 28px;background:#fff;border:1px solid #e2e8f0;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--text-main);box-shadow:var(--shadow-md);transition:var(--transition)}.load-more-btn[data-v-9ffdc109]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-light);color:var(--primary-color)}.controls-row[data-v-9ffdc109]{display:flex;justify-content:flex-end;margin-bottom:16px;padding:0 4px}.edit-mode-toggle[data-v-9ffdc109]{display:flex;align-items:center;gap:10px;background:#fff;padding:6px 12px;border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid #e2e8f0}.toggle-label[data-v-9ffdc109]{font-size:.9rem;font-weight:600;color:var(--text-muted)}.switch[data-v-9ffdc109]{position:relative;display:inline-block;width:40px;height:22px}.switch input[data-v-9ffdc109]{opacity:0;width:0;height:0}.slider[data-v-9ffdc109]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider[data-v-9ffdc109]:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider[data-v-9ffdc109]{background-color:var(--primary-color)}input:focus+.slider[data-v-9ffdc109]{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider[data-v-9ffdc109]:before{transform:translate(18px)}.slider.round[data-v-9ffdc109]{border-radius:34px}.slider.round[data-v-9ffdc109]:before{border-radius:50%}@media(max-width:1024px){.week-row[data-v-9ffdc109]{grid-template-columns:repeat(3,1fr);gap:16px}.header-row[data-v-9ffdc109]{display:none}.day-date[data-v-9ffdc109]:before{content:attr(data-dayname) " ";font-size:.9em;color:var(--text-muted);margin-right:6px;font-weight:400}}@media(max-width:640px){.calendar-container[data-v-9ffdc109]{padding:10px}.controls-row[data-v-9ffdc109]{position:sticky;top:72px;z-index:40;margin-bottom:20px;padding-right:8px;pointer-events:none}.edit-mode-toggle[data-v-9ffdc109]{pointer-events:auto;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.week-row[data-v-9ffdc109]{grid-template-columns:1fr;gap:30px}.day-cell[data-v-9ffdc109]{min-height:auto;padding:20px 16px;min-height:140px;opacity:.5;transform:scale(.92);transition:opacity .4s ease,transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,border-color .4s ease,min-height .4s ease;filter:grayscale(.6)}.day-cell.is-focused[data-v-9ffdc109]{opacity:1;transform:scale(1.05);min-height:250px;z-index:10;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-color:var(--primary-color);filter:grayscale(0);background:#fff}.day-cell.today[data-v-9ffdc109]{border-width:2px}.header-row[data-v-9ffdc109]{display:none}.day-date[data-v-9ffdc109]{font-size:1.4rem}.day-date[data-v-9ffdc109]:before{content:attr(data-dayname) " ";display:inline-block;font-size:.8em;opacity:.8}.day-cell:not(.is-focused) .add-btn[data-v-9ffdc109]{display:none}.add-btn[data-v-9ffdc109]{width:36px;height:36px;font-size:1.6rem}.load-more-btn[data-v-9ffdc109]{width:100%;border-radius:var(--radius-md);padding:14px;font-size:1.1rem}}.user-switcher[data-v-f6ca29fc]{margin-right:12px}.switcher-select[data-v-f6ca29fc]{padding:6px 12px;border-radius:20px;border:1px solid #e2e8f0;background-color:#f8f9fa;font-size:.9rem;color:#333;cursor:pointer;outline:none;transition:all .2s}.switcher-select[data-v-f6ca29fc]:hover{border-color:var(--primary-color);background-color:#fff}:root{--primary-color: #4285F4;--text-color: #333;--bg-color: #f0f2f5}body{margin:0;font-family:Inter,system-ui,sans-serif;background-color:var(--bg-color);color:var(--text-color)}.app-container{min-height:100vh;display:flex;flex-direction:column}.login-view{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.loading{flex:1;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#666}.app-header{background:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000000d;gap:8px}.header-left{flex:1;display:flex;justify-content:flex-start;align-items:center;min-width:0}.header-center{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center;min-width:0}.user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.avatar{width:32px;height:32px;border-radius:50%}.badge{background-color:#fff3cd;color:#856404;padding:2px 8px;border-radius:12px;font-size:.8rem;border:1px solid #ffeeba}.logout-btn{background:none;border:1px solid #ddd;padding:6px 12px;border-radius:6px;cursor:pointer}.placeholder-calendar{padding:2rem;text-align:center;color:#666}
