.header-actions button.active{color:#4f46e5;background:#eef2ff}.dark-mode .header-actions button.active{background:#312e81}.events-list,.notes-list{flex-direction:column;gap:12px;display:flex}.event-item,.note-item{background:#f9fafb;border-radius:8px;align-items:flex-start;gap:12px;padding:12px;display:flex}.dark-mode .event-item,.dark-mode .note-item{background:#111827}.event-time,.event-date{color:#4f46e5;min-width:50px;font-size:12px;font-weight:600}.event-title,.note-title{color:#1f2937;word-break:break-word;flex:1;font-size:14px}.dark-mode .event-title,.dark-mode .note-title{color:#e5e7eb}.calendar-container{flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:24px;display:flex}.calendar-container .calendar-section{flex:480px;min-width:0}.day.selected{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e5}.dark-mode .day.selected{border-color:#818cf8;box-shadow:0 0 0 1px #818cf8}.calendar-day-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:0 320px;padding:20px}.dark-mode .calendar-day-panel{background:#1f2937;border-color:#374151}.calendar-day-panel h3{margin:0 0 16px;font-size:16px}.calendar-day-empty{color:#6b7280;margin:0 0 16px}.calendar-day-events{flex-direction:column;gap:12px;margin:0 0 16px;padding:0;list-style:none;display:flex}.calendar-event-item{border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.dark-mode .calendar-event-item{border-color:#374151}.calendar-event-time{color:#6b7280;margin-top:4px;font-size:13px;display:block}.calendar-event-desc{color:#4b5563;margin:8px 0 0;font-size:14px}.dark-mode .calendar-event-desc{color:#d1d5db}.calendar-event-delete{flex-shrink:0;padding:6px 10px;font-size:13px}.event-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.event-modal{background:#fff;border-radius:12px;width:100%;max-width:440px;padding:24px;box-shadow:0 20px 40px #00000026}.dark-mode .event-modal{color:#f9fafb;background:#1f2937}.event-modal h3{margin:0 0 20px}.event-field{flex-direction:column;gap:6px;margin-bottom:14px;font-size:14px;display:flex}.field-hint{color:#6b7280;font-size:12px;line-height:1.4}.dark-mode .field-hint{color:#9ca3af}.event-field input,.event-field textarea{font:inherit;border:1px solid #e5e7eb;border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px}.dark-mode .event-field input,.dark-mode .event-field textarea{color:#f9fafb;background:#111827;border-color:#374151}.event-field textarea{min-height:auto}.event-modal-actions{gap:10px;margin-top:8px;display:flex}.calendar-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.dark-mode .calendar-section{background:#1f2937;border-color:#374151}.calendar-title{margin:0 0 16px;font-size:18px;font-weight:600}.calendar-controls{gap:8px;margin-bottom:20px;display:flex}.calendar-controls button{cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:8px 16px;font-size:14px}.dark-mode .calendar-controls button{color:#e5e7eb;background:#374151;border-color:#4b5563}.calendar-controls button:hover{background:#e5e7eb}.dark-mode .calendar-controls button:hover{background:#4b5563}.calendar-grid{flex-direction:column;gap:12px;display:flex}.weekdays{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.weekday{text-align:center;color:#6b7280;padding:8px 0;font-size:12px;font-weight:600}.dark-mode .weekday{color:#9ca3af}.days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.day{aspect-ratio:auto;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;min-height:80px;padding:6px;transition:all .2s;display:flex}.dark-mode .day{background:#111827;border-color:#374151}.day:hover{background:#f9fafb;border-color:#d1d5db}.dark-mode .day:hover{background:#1f2937}.day.other{color:#d1d5db;background:#f9fafb}.dark-mode .day.other{color:#4b5563;background:#0f1419}.day.today{background:#fef08a;border:2px solid #f59e0b;font-weight:600;box-shadow:0 0 8px #f59e0b4d}.dark-mode .day.today{background:#78350f;border:2px solid #f59e0b;box-shadow:0 0 8px #f59e0b33}.day-number{font-size:12px;font-weight:600;line-height:1.2}.day-lunar{color:#6b7280;margin-top:1px;font-size:11px;font-style:italic;line-height:1.2}.dark-mode .day-lunar{color:#9ca3af}.day-events{color:#4f46e5;flex-direction:column;gap:2px;min-height:0;margin-top:auto;font-size:10px;display:flex}.event-label{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#4f46e51f;border-radius:4px;padding:1px 4px;display:block;overflow:hidden}.event-more{color:#6b7280;font-size:9px}.calendar-event-buttons{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.calendar-event-edit{padding:6px 10px;font-size:13px}.calendar-view-toggle{gap:8px;margin-top:12px;display:flex}.calendar-view-toggle .toggle-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 14px;font-size:14px}.calendar-view-toggle .toggle-btn.active{color:#4f46e5;background:#eef2ff;border-color:#4f46e5;font-weight:600}.dark-mode .calendar-view-toggle .toggle-btn{color:#e5e7eb;background:#1f2937;border-color:#374151}:root{--culture-solar-color:#2563eb;--culture-lunar-color:#d97706;--culture-term-color:#059669}.dark-mode{--culture-solar-color:#93c5fd;--culture-lunar-color:#fbbf24;--culture-term-color:#6ee7b7}.day-solar-holiday{color:var(--culture-solar-color);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;overflow:hidden}.day-lunar-festival{color:var(--culture-lunar-color);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;overflow:hidden}.day-term{color:var(--culture-term-color);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;overflow:hidden}.day-culture-more{color:#6b7280;font-size:8px;line-height:1.2}.dark-mode .day-culture-more{color:#9ca3af}.day.has-festival{box-shadow:inset 0 0 0 1px #f59e0b59}.day-culture-block{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px;font-size:14px}.dark-mode .day-culture-block{background:#111827}.day-culture-block h4{color:#6b7280;margin:0 0 8px;font-size:13px}.culture-term{color:var(--culture-term-color);font-weight:600}.culture-festivals{margin:8px 0 0;padding-left:18px}.culture-solar li{color:var(--culture-solar-color);font-weight:500}.culture-lunar li{color:var(--culture-lunar-color);font-weight:500}.calendar-event-meta{color:#6b7280;margin-top:4px;font-size:12px;display:block}.agenda-list{flex-direction:column;gap:16px;display:flex}.agenda-day-header{text-align:left;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;flex-direction:column;gap:4px;width:100%;padding:12px;display:flex}.dark-mode .agenda-day-header{color:#f9fafb;background:#111827}.agenda-lunar{color:#6b7280;font-size:12px}.agenda-badge{border-radius:999px;width:fit-content;margin-top:4px;padding:2px 8px;font-size:11px;display:inline-block}.agenda-badge.term{color:#065f46;background:#d1fae5}.agenda-badge.solar-holiday{color:#1d4ed8;background:#dbeafe}.dark-mode .agenda-badge.solar-holiday{color:#93c5fd;background:#1e3a5f}.agenda-badge.festival{color:#92400e;background:#fef3c7}.agenda-day ul{margin:8px 0 0;padding:0;list-style:none}.agenda-event{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;margin-bottom:8px;padding:10px 12px}.dark-mode .agenda-event{color:#f9fafb;background:#1f2937;border-color:#374151}.agenda-event-title{font-weight:600;display:block}.agenda-event-time,.agenda-recurrence{color:#6b7280;margin-top:2px;font-size:12px;display:block}@media (width<=768px){.calendar-page .page-title{flex-direction:column;align-items:stretch;gap:12px}.calendar-page .primary-button{width:100%;min-height:44px}.calendar-container{flex-direction:column}.calendar-day-panel{z-index:5;flex:auto;width:100%;max-height:45vh;position:sticky;bottom:0;overflow:auto;box-shadow:0 -8px 24px #00000014}.day{min-height:72px}.event-modal{border-radius:12px 12px 0 0;max-height:90vh;margin:auto 0 0;overflow:auto}.event-modal-overlay{align-items:flex-end;padding:0}}.lunar-section{display:none}.notes-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:24px;margin-bottom:24px;display:grid}.stat-item{text-align:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.dark-mode .stat-item{background:#111827;border-color:#374151}.stat-label{color:#6b7280;text-transform:uppercase;margin-bottom:8px;font-size:12px;display:block}.dark-mode .stat-label{color:#9ca3af}.stat-value{color:#1f2937;font-size:24px;font-weight:700;display:block}.dark-mode .stat-value{color:#e5e7eb}.view-toggle{border-bottom:1px solid #e5e7eb;gap:12px;margin-bottom:24px;display:flex}.dark-mode .view-toggle{border-bottom-color:#374151}.toggle-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 16px;font-size:14px;font-weight:600;transition:all .2s}.dark-mode .toggle-btn{color:#9ca3af}.toggle-btn:hover{color:#1f2937}.dark-mode .toggle-btn:hover{color:#e5e7eb}.toggle-btn.active{color:#4f46e5;border-bottom-color:#4f46e5}.notes-controls{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.search-box{flex:1;min-width:250px}.search-input{color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:10px 16px;font-size:14px}.dark-mode .search-input{color:#e5e7eb;background:#111827;border-color:#374151}.search-input::placeholder{color:#9ca3af}.sort-select{min-width:150px}.tags-filter{background:#f9fafb;border-radius:8px;margin-bottom:24px;padding:16px}.dark-mode .tags-filter{background:#111827}.filter-label{color:#6b7280;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.dark-mode .filter-label{color:#9ca3af}.tags-list{flex-wrap:wrap;gap:8px;display:flex}.filter-tag{cursor:pointer;color:#1f2937;background:#e5e7eb;border:1px solid #d1d5db;border-radius:20px;padding:6px 12px;font-size:13px;transition:all .2s}.dark-mode .filter-tag{color:#e5e7eb;background:#374151;border-color:#4b5563}.filter-tag:hover{background:#d1d5db}.dark-mode .filter-tag:hover{background:#4b5563}.filter-tag.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.notes-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.note-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;padding:16px;transition:all .2s;display:flex}.dark-mode .note-card{background:#1f2937;border-color:#374151}.note-card:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e51a}.dark-mode .note-card:hover{box-shadow:0 4px 12px #4f46e533}.note-card.pinned{background:linear-gradient(135deg,#fffbeb 0%,#fff 100%);border:2px solid #f59e0b}.dark-mode .note-card.pinned{background:linear-gradient(135deg,#78350f 0%,#1f2937 100%);border-color:#f59e0b}.note-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.note-card-header h3{color:#1f2937;word-break:break-word;flex:1;margin:0;font-size:15px;font-weight:600}.dark-mode .note-card-header h3{color:#e5e7eb}.pin-badge{margin-left:8px;font-size:16px}.note-card-preview{flex:1;margin-bottom:8px}.note-card-preview p{color:#6b7280;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.dark-mode .note-card-preview p{color:#9ca3af}.note-card-tags{flex-wrap:wrap;gap:6px;min-height:20px;margin-bottom:8px;display:flex}.tag-badge{color:#4f46e5;background:#e0e7ff;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.dark-mode .tag-badge{background:#312e81}.note-card-footer{color:#9ca3af;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding-top:8px;font-size:12px;display:flex}.dark-mode .note-card-footer{border-top-color:#374151}.note-date{color:#9ca3af;font-size:12px}.dark-mode .note-date{color:#6b7280}.trash-actions{gap:6px;display:flex}.trash-actions button{color:#1f2937;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;font-size:11px;transition:all .2s}.dark-mode .trash-actions button{color:#e5e7eb;background:#111827;border-color:#374151}.restore-btn:hover{color:#4f46e5;background:#e0e7ff;border-color:#4f46e5}.delete-btn:hover{color:#ef4444;background:#fee2e2;border-color:#ef4444}.empty-state{text-align:center;color:#9ca3af;grid-column:1/-1;padding:60px 20px}.empty-state p{margin:0;font-size:16px}.note-editor-container{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.note-editor{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.dark-mode .note-editor{background:#1f2937}.note-editor h3{color:#1f2937;margin:0 0 16px;font-size:18px}.dark-mode .note-editor h3{color:#e5e7eb}.note-title-input{color:#1f2937;background:0 0;border:none;border-bottom:1px solid #e5e7eb;width:100%;margin-bottom:16px;padding:12px 0;font-size:18px;font-weight:600}.dark-mode .note-title-input{color:#e5e7eb;border-bottom-color:#374151}.note-title-input::placeholder{color:#9ca3af}.note-textarea{resize:vertical;color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;width:100%;min-height:300px;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.6}.dark-mode .note-textarea{color:#e5e7eb;background:#111827;border-color:#374151}.note-textarea::placeholder{color:#9ca3af}.dark-mode .note-textarea::placeholder{color:#6b7280}.note-detail-textarea{margin-bottom:16px}.editor-toolbar{border-bottom:1px solid #e5e7eb;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.dark-mode .editor-toolbar{border-bottom-color:#374151}.editor-toolbar button{cursor:pointer;color:#1f2937;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;font-size:14px}.dark-mode .editor-toolbar button{color:#e5e7eb;background:#374151;border-color:#4b5563}.editor-toolbar button:hover{background:#e5e7eb}.dark-mode .editor-toolbar button:hover{background:#4b5563}.editor-toolbar button.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.editor-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:300px;margin-bottom:16px;padding:16px;font-size:14px;line-height:1.6}.dark-mode .editor-content{color:#e5e7eb;background:#111827;border-color:#374151}.editor-content p{margin:.5em 0}.editor-content h2{margin:.5em 0;font-size:18px}.editor-content ul{margin:.5em 0;padding-left:20px}.editor-content li{margin:.25em 0}.editor-actions{justify-content:flex-end;gap:12px;display:flex}.primary-button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600}.primary-button:hover{background:#4338ca}.secondary-button{color:#1f2937;cursor:pointer;background:#e5e7eb;border:none;border-radius:6px;padding:10px 20px;font-size:14px}.dark-mode .secondary-button{color:#e5e7eb;background:#374151}.secondary-button:hover{background:#d1d5db}.dark-mode .secondary-button:hover{background:#4b5563}.note-detail-overlay{z-index:1001;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.note-detail-modal{background:#fff;border-radius:12px;flex-direction:column;width:90%;max-width:700px;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.dark-mode .note-detail-modal{background:#1f2937}.note-detail-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:24px;display:flex}.dark-mode .note-detail-header{border-bottom-color:#374151}.note-detail-header h2{color:#1f2937;margin:0 0 8px;font-size:20px}.dark-mode .note-detail-header h2{color:#e5e7eb}.note-detail-title-input{color:#1f2937;background:0 0;border:none;border-bottom:2px solid #4f46e5;width:100%;margin-bottom:8px;padding:8px 0;font-size:20px;font-weight:600}.dark-mode .note-detail-title-input{color:#e5e7eb;border-bottom-color:#6366f1}.note-detail-meta{color:#9ca3af;margin:0;font-size:12px;line-height:1.4}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.close-btn:hover{color:#1f2937;background:#f3f4f6}.dark-mode .close-btn:hover{color:#e5e7eb;background:#374151}.note-detail-tags{flex-wrap:wrap;align-items:center;gap:8px;padding:0 24px 16px;display:flex}.tag{color:#4f46e5;background:#e0e7ff;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.dark-mode .tag{background:#312e81}.tag-remove{color:#4f46e5;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:14px}.tag-remove:hover{color:#ef4444}.note-tag-editor{align-items:center;gap:8px;padding:0 24px 16px;display:flex}.note-tag-editor .tag-input{flex:1}.tag-removable{padding-right:8px}.tag-input-group{align-items:center;gap:4px;display:flex}.tag-input{color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px;font-size:13px}.dark-mode .tag-input{color:#e5e7eb;background:#111827;border-color:#374151}.tag-add-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;padding:6px 10px;font-size:14px}.tag-add-btn:hover{background:#4338ca}.note-detail-content{color:#1f2937;flex:1;padding:0 24px 24px;font-size:14px;line-height:1.6;overflow-y:auto}.dark-mode .note-detail-content{color:#e5e7eb}.note-detail-content p{margin:.5em 0}.note-detail-content h2{margin:.5em 0;font-size:18px}.note-detail-content ul{margin:.5em 0;padding-left:20px}.note-detail-actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:12px;padding:16px 24px;display:flex}.dark-mode .note-detail-actions{border-top-color:#374151}.pin-button{cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:10px 16px;font-size:14px;transition:all .2s}.dark-mode .pin-button{background:#374151;border-color:#4b5563}.pin-button:hover{background:#e5e7eb}.dark-mode .pin-button:hover{background:#4b5563}.pin-button.active{background:#fef08a;border-color:#f59e0b}.danger-button{color:#ef4444;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-left:auto;padding:10px 16px;font-size:14px;transition:all .2s}.dark-mode .danger-button{background:#7f1d1d;border-color:#dc2626}@media (width<=768px){.notes-list{grid-template-columns:1fr}.notes-controls{flex-direction:column}.search-box,.sort-select{min-width:100%}.note-detail-modal{width:95%;max-height:90vh}}.confirm-overlay{z-index:1001;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background:#fff;border-radius:12px;max-width:400px;padding:32px;animation:.2s ease-out slideIn;box-shadow:0 20px 25px -5px #0000001a}.dark-mode .confirm-modal{background:#1f2937}.confirm-modal h3{color:#1f2937;margin:0 0 16px;font-size:18px;font-weight:600}.dark-mode .confirm-modal h3{color:#e5e7eb}.confirm-modal p{color:#6b7280;margin:0 0 24px;font-size:14px;line-height:1.5}.dark-mode .confirm-modal p{color:#9ca3af}.confirm-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-actions .danger-button,.confirm-actions .secondary-button{flex:1}.settings-page .settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:24px}.dark-mode .settings-page .settings-card{background:#1f2937;border-color:#374151}.settings-page .settings-card h3{margin:0 0 8px}.settings-page .settings-card p{color:#6b7280;margin:0 0 16px}.dark-mode .settings-page .settings-card p{color:#9ca3af}.settings-import-mode{flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.settings-import-mode label{align-items:center;gap:8px;display:flex}.settings-danger{border-color:#fecaca}.dark-mode .settings-danger{border-color:#7f1d1d}*{box-sizing:border-box}body{color:#1f2937;background:#f7f8fa;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{cursor:pointer;border:none;font-family:inherit}.app{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:240px;min-height:100vh;display:flex}.logo{padding:28px 24px;font-size:20px;font-weight:700}.navigation{flex-direction:column;gap:4px;padding:10px 12px;display:flex}.navigation a,.sidebar-bottom a{text-align:left;color:#6b7280;background:0 0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:11px 14px;font-size:14px;text-decoration:none;display:flex}.navigation a:hover,.sidebar-bottom a:hover{background:#f3f4f6}.navigation a.active,.sidebar-bottom a.active{color:#4f46e5;background:#eef2ff;font-weight:600}.sidebar-bottom{margin-top:auto;padding:12px}.dialog-overlay{z-index:1100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-modal{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 40px #00000026}.dark-mode .dialog-modal{color:#f9fafb;background:#1f2937}.dialog-modal h3{margin:0 0 12px}.dialog-modal p{color:#4b5563;margin:0 0 20px}.dialog-message{white-space:pre-line}.dialog-warning{color:#92400e;white-space:pre-line;background:#fef3c7;border-radius:8px;margin:0 0 20px;padding:10px 12px;font-size:14px;line-height:1.45}.dark-mode .dialog-modal p{color:#d1d5db}.dark-mode .dialog-warning{color:#fcd34d;background:#fbbf2426}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.search-modal{background:#fff;border-radius:12px;width:min(560px,100%);max-height:min(80vh,640px);padding:20px;overflow:auto}.dark-mode .search-modal{color:#f9fafb;background:#1f2937}.search-modal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.search-modal-input{width:100%;font:inherit;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:12px 14px}.dark-mode .search-modal-input{color:#f9fafb;background:#111827;border-color:#374151}.search-results section+section{margin-top:16px}.search-results h4{color:#6b7280;margin:0 0 8px;font-size:14px}.search-results ul{margin:0;padding:0;list-style:none}.search-result-item{text-align:left;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;width:100%;margin-bottom:8px;padding:10px 12px;display:flex}.dark-mode .search-result-item{color:#f9fafb;background:#111827;border-color:#374151}.search-result-item span{color:#6b7280;font-size:12px}.search-empty{color:#9ca3af;margin:0;font-size:13px}.main{flex:1;min-width:0}.header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex}.header h1{margin:0;font-size:20px}.header p{color:#9ca3af;margin:4px 0 0;font-size:13px}.header-actions{gap:8px;display:flex}.header-actions button{background:#f3f4f6;border-radius:8px;width:38px;height:38px;font-size:16px}.content{padding:32px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.page{max-width:1200px;margin:0 auto}.page h2{margin:0;font-size:26px}.today{color:#6b7280;margin-top:6px}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;display:grid}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;min-height:180px;padding:22px}.card h3{margin:0 0 20px}.empty{color:#9ca3af;font-size:14px}.page-title{justify-content:space-between;align-items:center;display:flex}.page-title p{color:#9ca3af;margin-top:6px}.primary-button{color:#fff;background:#4f46e5;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.primary-button:hover{opacity:.9}.danger-button{color:#ef4444;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.danger-button:hover{background:#fecaca;border-color:#ef4444}.dark-mode .danger-button{color:#fecaca;background:#7f1d1d;border-color:#dc2626}.dark-mode .danger-button:hover{background:#991b1b}.dialog-actions .danger-button{margin-left:0}.calendar-placeholder,.notes-placeholder{color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:500px;margin-top:28px;display:flex}.calendar-placeholder-icon{font-size:48px}.calendar-placeholder h3,.notes-placeholder h3{color:#374151;margin-bottom:4px}.notes-placeholder{font-size:40px}.notes-placeholder h3{font-size:18px}.notes-placeholder p{font-size:14px}.dark-mode,.dark-mode body{color:#e5e7eb;background:#0f1419}.dark-mode .sidebar{background:#111827;border-right-color:#374151}.dark-mode .logo{color:#e5e7eb}.dark-mode .navigation a,.dark-mode .sidebar-bottom a{color:#9ca3af}.dark-mode .navigation a:hover,.dark-mode .sidebar-bottom a:hover{background:#1f2937}.dark-mode .navigation a.active,.dark-mode .sidebar-bottom a.active{color:#a5b4fc;background:#312e81}.dark-mode .header{background:#111827;border-bottom-color:#374151}.dark-mode .header h1,.dark-mode .header p{color:#e5e7eb}.dark-mode .header-actions button{color:#e5e7eb;background:#374151}.dark-mode .header-actions button:hover{background:#4b5563}.dark-mode .content{background:#0f1419}.dark-mode .page h2{color:#e5e7eb}.dark-mode .today{color:#9ca3af}.dark-mode .card{background:#111827;border-color:#374151}.dark-mode .card h3{color:#e5e7eb}.dark-mode .empty{color:#6b7280}.dark-mode .primary-button{background:#6366f1}.dark-mode .primary-button:hover{background:#4f46e5}.dark-mode .page-title p{color:#9ca3af}.dark-mode .calendar-placeholder,.dark-mode .notes-placeholder{color:#6b7280;background:#111827;border-color:#374151}.dark-mode .calendar-placeholder h3,.dark-mode .notes-placeholder h3{color:#9ca3af}@media (width<=800px){.sidebar{width:70px}.logo{font-size:0}.logo:after{content:"📅";font-size:22px}.navigation a,.sidebar-bottom a{justify-content:center;font-size:0}.navigation a span,.sidebar-bottom a span{font-size:18px}.dashboard-grid{grid-template-columns:1fr}.content{padding:20px}}.app-select{color:#1f2937;cursor:pointer;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #e5e7eb;border-radius:8px;width:100%;min-height:44px;padding:10px 2.5rem 10px 12px;font-family:inherit;font-size:16px;line-height:1.25;transition:border-color .15s,box-shadow .15s,background-color .15s;display:block}.app-select:hover{border-color:#d1d5db}.app-select:focus-visible{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e538}.dark-mode .app-select{color:#f9fafb;background-color:#111827;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#374151}.dark-mode .app-select:hover{border-color:#4b5563}.dark-mode .app-select:focus-visible{border-color:#818cf8;box-shadow:0 0 0 3px #818cf847}.app-select--compact{width:auto;min-width:8.5rem;max-width:100%;min-height:38px;padding:6px 2.25rem 6px 10px;font-size:14px}.header-actions .app-select--compact{background-color:#f3f4f6}.dark-mode .header-actions .app-select--compact{background-color:#374151}.settings-select-wrap{max-width:320px}.settings-select-wrap .app-select{width:100%}.app-date-input{flex-wrap:wrap;gap:8px;width:100%;display:flex}.app-date-input-field{flex:5.5rem;min-width:0}.app-date-input-part,.sort-select .app-select{width:100%}@media (width<=640px){.header{flex-wrap:wrap;align-items:flex-start;gap:10px;height:auto;min-height:72px;padding:12px 16px}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;width:100%}.header-actions .app-select--compact{flex:100%;width:100%;min-width:0;min-height:44px;padding-top:10px;padding-bottom:10px;font-size:16px}}
