*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--forest: #1C2B1A;--deep-forest: #0F1A0E;--reef: #1A3A5C;--teal: #0E9E8E;--coral: #E85D3A;--sand: #F0EBE1;--cream: #FAFAF7;--muted: #9B8E7E;--border: #EDE8E0;--text: #2C2416;--text-light: #7A7065;--green-light: #C9E4B8;--green-mid: #8FA882}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--text);min-height:100vh}.header{background:var(--forest);padding:24px 24px 0;position:sticky;top:0;z-index:50;box-shadow:0 2px 16px #0000004d}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:12px;flex-wrap:wrap}.header-eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--green-mid);margin-bottom:4px}.header-title{font-family:Cormorant Garamond,serif;color:var(--sand);font-size:clamp(22px,5vw,36px);font-weight:600}.header-badges{font-size:11px;color:#52b788;line-height:1.8;text-align:right}.storage-badge{font-size:10px;letter-spacing:1px;padding:3px 8px;border-radius:10px;margin-top:4px;display:inline-block}.storage-badge.cloud{background:#0e9e8e33;color:#52b788}.storage-badge.local{background:#f59e0b33;color:#f59e0b}.nav{display:flex;overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-btn{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#6b8060;padding:12px 16px;cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.nav-btn.active{color:var(--green-light);border-bottom-color:#7abf5e}.nav-btn:hover:not(.active){color:var(--green-mid)}.content{padding:24px;max-width:860px;margin:0 auto}.section-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin:24px 0}.card{background:#fff;border-radius:14px;border:1px solid var(--border)}.card-header{background:var(--forest);border-radius:14px 14px 0 0;padding:10px 18px;display:flex;align-items:center;justify-content:space-between}.card-header-title{font-family:Cormorant Garamond,serif;font-size:17px;color:var(--green-light);font-weight:600}.serif{font-family:Cormorant Garamond,serif}.page-title{font-family:Cormorant Garamond,serif;font-size:26px;color:var(--text);font-weight:600;margin-bottom:4px}.page-sub{font-size:12px;color:var(--muted);margin-bottom:20px}.tag{display:inline-block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 8px;border-radius:20px;font-weight:500;margin-top:4px}.tag-health{background:#fff3e4;color:#7b4f1e}.tag-class{background:#ede9fe;color:#3b0764}.tag-lab{background:#ecfdf5;color:#065f46}.tag-career{background:#fef9e7;color:#78350f}.tag-fitness{background:#edf2fb;color:#1e3a8a}.tag-personal{background:#f5eef8;color:#6b3fa0}.tag-sleep{background:#e8f4f0;color:#2d6a4f}.tag-urgent{background:#fee2e2;color:#7f1d1d}.tag-carried{background:#fef3c7;color:#92400e}.tag-polish{background:#f5eef8;color:#6b3fa0}.todo-item{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:12px;padding:12px 16px;border:1px solid var(--border);margin-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .2s}.todo-item.done{opacity:.42}.todo-check{width:20px;height:20px;border-radius:50%;border:2px solid #D1D5DB;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;transition:all .2s}.todo-item.done .todo-check{background:#52b788;border-color:#52b788}.todo-check-mark{color:#fff;font-size:11px;font-weight:700;display:none}.todo-item.done .todo-check-mark{display:block}.todo-label{font-size:13px;color:var(--text);font-weight:500;line-height:1.4}.todo-item.done .todo-label{text-decoration:line-through;color:var(--muted)}.todo-note{font-size:11px;color:var(--text-light);margin-top:2px;line-height:1.4}.week-day-card{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;margin-bottom:14px}.week-day-card.today{border:2px solid var(--forest)}.week-day-header{background:#f7f6f3;padding:10px 16px;display:flex;justify-content:space-between;align-items:center}.week-day-card.today .week-day-header{background:var(--forest)}.week-day-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.week-day-card.today .week-day-label{color:var(--green-light)}.week-task-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #F5F3EF;cursor:pointer}.week-task-dot{width:18px;height:18px;border-radius:50%;border:2px solid #D1D5DB;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .2s}.week-task-row.done .week-task-dot{background:#52b788;border-color:#52b788}.week-task-row.done .week-task-text{text-decoration:line-through;opacity:.5}.week-task-row.carried{background:#fffbeb;margin:0 -16px;padding-left:16px;padding-right:16px}.week-task-row.carried .week-task-dot{border-color:#f59e0b}.cal-month-btns{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.cal-month-btn{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 14px;border-radius:20px;border:none;cursor:pointer;transition:all .2s;font-weight:500}.cal-month-btn.active{background:var(--forest);color:var(--green-light)}.cal-month-btn:not(.active){background:#f0ebe0;color:var(--text-light)}.cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:3px;min-width:320px}.cal-day-header{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px 0}.cal-cell{min-height:68px;background:#fff;border-radius:8px;border:1px solid var(--border);padding:5px;cursor:pointer;transition:all .15s}.cal-cell:hover{border-color:#a8c49a}.cal-cell.selected{background:#f7f9f5;border:2px solid var(--forest)}.cal-cell.today-cell{border-color:var(--teal)}.cal-day-num{font-size:11px;font-weight:500;color:var(--text)}.cal-evt{display:flex;align-items:center;gap:2px;margin-top:2px}.cal-evt-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.cal-evt-label{font-size:8px;color:#4a4035;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.accordion-header{background:var(--forest);border-radius:12px;padding:14px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;margin-bottom:2px}.accordion-header.open{border-radius:12px 12px 0 0}.accordion-body{background:#fff;border:1px solid var(--border);border-top:none;border-radius:0 0 12px 12px;padding:16px;margin-bottom:12px}.accordion-chevron{color:var(--green-light);font-size:14px;transition:transform .2s}.accordion-chevron.open{transform:rotate(180deg)}.routine-item{display:flex;gap:14px;margin-bottom:12px;background:#fff;border-radius:10px;padding:12px 16px;border:1px solid var(--border)}.routine-time{font-size:10px;color:#b0a898;min-width:58px;padding-top:2px;flex-shrink:0}.routine-icon{font-size:18px;min-width:24px;text-align:center}.routine-habit{font-family:Cormorant Garamond,serif;font-size:15px;color:var(--text);font-weight:600;margin-bottom:2px}.routine-detail{font-size:12px;color:var(--text-light);line-height:1.5}.study-class-header{background:var(--forest);border-radius:12px;padding:12px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;-webkit-user-select:none;user-select:none}.study-week-row{background:#f7f6f3;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.study-btn{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:16px;border:none;background:var(--forest);color:var(--green-light);cursor:pointer;white-space:nowrap}.file-row{display:flex;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid #F5F3EF;font-size:12px}.del-btn{font-size:10px;padding:2px 7px;border-radius:10px;border:1px solid #FECACA;background:transparent;color:#ef4444;cursor:pointer;flex-shrink:0}.fc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1628;z-index:9999;overflow-y:auto;padding:20px}.fc-inner{max-width:580px;margin:0 auto}.fc-card-wrap{perspective:1200px;margin-bottom:18px}.fc-card{min-height:280px;border-radius:18px;padding:26px;cursor:pointer;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.fc-card.flipped{transform:rotateY(180deg)}.fc-face{backface-visibility:hidden}.fc-back{position:absolute;top:0;right:0;bottom:0;left:0;padding:26px;background:#1a3a5c;border-radius:18px;transform:rotateY(180deg);backface-visibility:hidden}.fc-term{font-family:Cormorant Garamond,serif;font-size:clamp(18px,5vw,28px);color:var(--sand);font-weight:600;line-height:1.2}.fc-def{font-size:13px;color:#e8f4f0;line-height:1.7}.fc-tab-btn{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 14px;border-radius:20px;cursor:pointer;font-weight:500;transition:all .2s}.fc-tab-btn.active{background:var(--teal);color:#0a1628;border:none}.fc-tab-btn:not(.active){background:transparent;border:1px solid rgba(255,255,255,.2);color:#8fa882}.fc-ctrl-btn{font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:10px 18px;border-radius:24px;cursor:pointer;transition:all .2s}.scheduler-card{background:#fff;border-radius:14px;border:1px solid var(--border);padding:18px;margin-bottom:16px}.slot-option{background:#f7f9f5;border:1px solid #D1E8D0;border-radius:10px;padding:12px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.slot-option:hover{border-color:var(--teal);background:#f0f9f8}.slot-time{font-family:Cormorant Garamond,serif;font-size:17px;color:var(--text);font-weight:600}.slot-context{font-size:11px;color:var(--text-light);margin-top:2px}.slot-pick-btn{font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:16px;border:none;background:var(--forest);color:var(--green-light);cursor:pointer}.log-day-header{padding-bottom:8px;margin-bottom:10px}.log-day-title{font-family:Cormorant Garamond,serif;font-size:20px;color:var(--text);font-weight:600}.log-day-sub{font-size:11px;color:var(--muted);margin-top:1px}.log-item{display:flex;gap:10px;align-items:flex-start;padding:9px 14px;background:#fff;border-radius:10px;border:1px solid var(--border);margin-bottom:6px}.log-check{color:#52b788;font-size:13px;flex-shrink:0;margin-top:1px}.log-text{font-size:13px;color:var(--text)}.edit-entry{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;margin-bottom:14px}.edit-header{background:var(--forest);padding:10px 18px;display:flex;justify-content:space-between;align-items:center}.edit-change{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid #F5F3EF;font-size:12px;color:#4a4035}.info-section{background:#fff;border-radius:14px;border:1px solid var(--border);overflow:hidden;margin-bottom:14px}.info-row{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid #F5F3EF}.info-key{font-size:11px;color:var(--muted);min-width:100px;text-transform:capitalize}.info-val{font-size:12px;color:var(--text);flex:1}input,select,textarea{font-family:DM Sans,sans-serif;border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--text);background:#fff;outline:none;transition:border-color .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--teal)}textarea{resize:vertical;min-height:160px;line-height:1.6}.btn-primary{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 20px;border-radius:24px;border:none;background:var(--forest);color:var(--green-light);cursor:pointer;font-weight:600;transition:all .2s}.btn-primary:hover{background:#263d24}.btn-ghost{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:24px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s}.btn-ghost:hover{border-color:var(--text);color:var(--text)}.btn-danger{font-family:DM Sans,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:24px;border:1px solid #FECACA;background:transparent;color:#ef4444;cursor:pointer}.progress-track{height:4px;background:#ffffff26;border-radius:2px}.progress-fill{height:4px;background:var(--teal);border-radius:2px;transition:width .4s}@media (max-width: 600px){.content{padding:14px}.header{padding:16px 16px 0}.nav-btn{padding:10px 12px;font-size:10px}}
