@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;700&display=swap";.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line-grey);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffef0f2}.header-menu{background:none;border:none;font-size:20px;font-family:Caveat,cursive;color:var(--ink-black);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;min-height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.header-menu:hover{background:var(--bg-hover)}.header-menu:active{transform:scale(.95)}.header-actions{display:flex;align-items:center;gap:4px}.header-view-switcher,.header-today-button{background:none;border:none;font-size:18px;font-family:Caveat,cursive;color:var(--ink-black);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;min-height:36px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.header-view-switcher:hover,.header-today-button:hover:not(.disabled){background:var(--bg-hover)}.header-view-switcher:active,.header-today-button:active:not(.disabled){transform:scale(.95)}.header-today-button.disabled{cursor:default;opacity:.7}.header-today-button.disabled .today-indicator{font-size:18px;display:flex;align-items:center;justify-content:center}.header-today-button:not(.disabled){font-weight:600;color:var(--ink-blue)}.header-today-button:not(.disabled):hover{background:#1e3a8a1a;color:var(--ink-blue)}.header-left{display:flex;align-items:center;gap:6px}.header-title-small{font-size:12px;font-family:Caveat,cursive;font-weight:400;color:var(--ink-black);opacity:.6;margin:0}.header-collection-name{font-size:16px;font-family:Caveat,cursive;font-weight:600;color:var(--ink-black);margin:0 0 0 8px;position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.header-view-switcher{font-size:20px;padding:4px 8px}.view-icon{font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}.header-settings{background:none;border:none;font-size:18px;font-family:Caveat,cursive;color:var(--ink-black);cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;min-height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.header-settings:hover{background:var(--bg-hover)}.header-settings:active{transform:scale(.95)}.settings-icon{font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.debug-clock{position:fixed;bottom:20px;right:20px;z-index:10000}.debug-clock-toggle{width:50px;height:50px;border-radius:50%;background:var(--ink-blue, #4A90E2);color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:transform .2s ease;-webkit-tap-highlight-color:transparent}.debug-clock-toggle:hover{transform:scale(1.1)}.debug-clock-toggle:active{transform:scale(.95)}.debug-clock-panel{position:absolute;bottom:60px;right:0;width:320px;max-height:80vh;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;padding:16px;animation:slideUp .3s ease-out;font-family:Caveat,cursive}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.debug-clock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #E0E0E0)}.debug-clock-header h3{margin:0;font-size:18px;color:var(--ink-black, #2C2C2C);font-weight:700}.debug-clock-header button{background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink-gray, #6B6B6B);padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.debug-clock-header button:hover{background:#0000000d}.debug-clock-status{margin-bottom:16px;padding:10px;border-radius:8px;background:var(--bg-hover, #F5F5F5);text-align:center;font-size:14px}.status-active{color:#27ae60;font-weight:700}.status-inactive{color:var(--ink-gray, #6B6B6B);font-weight:600}.debug-clock-input{margin-bottom:16px}.debug-clock-input label{display:block;margin-bottom:8px;font-size:15px;color:var(--ink-black, #2C2C2C);font-weight:700}.debug-clock-input input{width:100%;padding:10px;border:1.5px solid var(--border-color, #E0E0E0);border-radius:8px;font-size:14px;font-family:Caveat,cursive;background:#fff;transition:border-color .2s}.debug-clock-input input:focus{outline:none;border-color:var(--ink-blue, #4A90E2)}.debug-clock-controls h4,.debug-clock-presets h4{margin:16px 0 10px;font-size:16px;color:var(--ink-black, #2C2C2C);font-weight:700}.control-group{display:flex;align-items:center;gap:6px;margin-bottom:10px}.control-group label{width:60px;font-size:14px;color:var(--ink-gray, #6B6B6B);font-weight:600}.control-group button{flex:1;padding:8px 4px;background:#fff;border:1.5px solid var(--border-color, #E0E0E0);border-radius:6px;font-size:14px;font-family:Caveat,cursive;font-weight:700;cursor:pointer;transition:all .2s}.control-group button:hover{background:var(--bg-hover, #F5F5F5);border-color:var(--ink-blue, #4A90E2)}.control-group button:active{transform:scale(.95)}.debug-clock-presets{margin-top:16px}.debug-clock-presets button{width:100%;padding:10px;margin-bottom:8px;background:#fff;border:1.5px solid var(--border-color, #E0E0E0);border-radius:8px;font-size:14px;font-family:Caveat,cursive;font-weight:600;cursor:pointer;text-align:left;transition:all .2s}.debug-clock-presets button:hover{background:var(--bg-hover, #F5F5F5);border-color:var(--ink-blue, #4A90E2)}.debug-clock-presets button:active{transform:scale(.98)}.debug-clock-reset{width:100%;padding:12px;margin-top:16px;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:15px;font-family:Caveat,cursive;font-weight:700;cursor:pointer;transition:background .2s}.debug-clock-reset:hover{background:#c0392b}.debug-clock-reset:active{transform:scale(.98)}@media (max-width: 375px){.debug-clock-panel{width:calc(100vw - 40px);right:-10px}.debug-clock{right:10px;bottom:10px}}.debug-clock-panel::-webkit-scrollbar{width:6px}.debug-clock-panel::-webkit-scrollbar-track{background:transparent}.debug-clock-panel::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.debug-clock-panel::-webkit-scrollbar-thumb:hover{background:#0000004d}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.settings-modal{background:var(--paper-cream);border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026;animation:slideUp .3s ease-out;font-family:Caveat,cursive}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid var(--border-color)}.settings-title{font-size:28px;font-weight:600;color:var(--ink-black);margin:0}.settings-close{background:none;border:none;font-size:24px;color:var(--ink-black);cursor:pointer;padding:4px 8px;line-height:1;opacity:.7;transition:opacity .2s}.settings-close:hover{opacity:1}.settings-close:active{transform:scale(.95)}.settings-body{padding:24px}.settings-section{margin-bottom:24px}.settings-section-title{font-size:22px;font-weight:600;color:var(--ink-black);margin:0 0 8px}.settings-section-description{font-size:18px;color:var(--ink-black);opacity:.7;margin:0 0 20px;line-height:1.5}.settings-loading{text-align:center;padding:40px 20px;font-size:20px;color:var(--ink-black);opacity:.7}.settings-timezone-select{max-height:400px;overflow-y:auto;margin-bottom:20px}.settings-timezone-group{margin-bottom:24px}.settings-timezone-group-title{font-size:20px;font-weight:600;color:var(--ink-black);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.settings-timezone-options{display:flex;flex-direction:column;gap:8px}.settings-timezone-option{display:flex;align-items:center;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.settings-timezone-option:hover{border-color:var(--ink-blue);background:#3b82f60d}.settings-timezone-option.selected{border-color:var(--ink-blue);background:#3b82f61a}.settings-timezone-option input[type=radio]{margin-right:12px;width:20px;height:20px;cursor:pointer;accent-color:var(--ink-blue)}.settings-timezone-label{font-size:18px;color:var(--ink-black);cursor:pointer;flex:1}.settings-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#dc2626;font-size:16px}.settings-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:2px solid var(--border-color)}.settings-button{padding:12px 24px;border:none;border-radius:8px;font-family:Caveat,cursive;font-size:20px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.settings-button:disabled{opacity:.5;cursor:not-allowed}.settings-button-cancel{background:#fff;color:var(--ink-black);border:2px solid var(--border-color)}.settings-button-cancel:not(:disabled):hover{background:#0000000d}.settings-button-save{background:var(--ink-blue);color:#fff}.settings-button-save:not(:disabled):hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f64d}.settings-button-save:not(:disabled):active{transform:translateY(0)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;background:var(--paper-cream);box-shadow:2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;animation:slideInLeft .3s ease-out;font-family:Caveat,cursive}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:2px solid var(--border-color)}.sidebar-title{font-size:24px;font-weight:600;color:var(--ink-black);margin:0}.sidebar-close{background:none;border:none;font-size:24px;color:var(--ink-black);cursor:pointer;padding:4px 8px;line-height:1;opacity:.7;transition:opacity .2s;-webkit-tap-highlight-color:transparent}.sidebar-close:hover{opacity:1}.sidebar-close:active{transform:scale(.95)}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.sidebar-item{width:100%;display:flex;align-items:center;gap:12px;padding:16px 24px;background:none;border:none;text-align:left;font-family:Caveat,cursive;font-size:20px;color:var(--ink-black);cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.sidebar-item:hover{background:#0000000d}.sidebar-item:active{background:#0000001a;transform:scale(.98)}.sidebar-icon{font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;width:28px}.sidebar-label{font-weight:500;flex:1}.sidebar-section{margin-bottom:24px}.sidebar-section-title{font-size:14px;font-weight:600;color:var(--ink-black);opacity:.6;text-transform:uppercase;letter-spacing:.5px;padding:8px 24px;margin:0;font-family:Caveat,cursive}.date-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.date-picker-modal{background:var(--paper-cream);width:90%;max-width:400px;border-radius:16px;padding:24px;animation:scaleIn .2s ease;max-height:90vh;overflow-y:auto}.date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.date-picker-header h3{margin:0;font-size:22px;font-family:Caveat,cursive;color:var(--ink-black)}.date-picker-close{background:none;border:none;font-size:24px;color:var(--ink-black);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease;-webkit-tap-highlight-color:transparent}.date-picker-close:active{opacity:1}.date-picker-quick-picks{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.date-picker-quick-btn{flex:1;min-width:100px;padding:12px 16px;font-size:18px;font-family:Caveat,cursive;border:2px solid var(--border-color);border-radius:8px;background:#fff;color:var(--ink-black);cursor:pointer;transition:all .2s ease;min-height:48px;-webkit-tap-highlight-color:transparent}.date-picker-quick-btn:active{background:var(--bg-hover);border-color:var(--ink-blue)}.date-picker-calendar{margin-top:20px}.date-picker-month-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.date-picker-month-title{font-size:20px;font-family:Caveat,cursive;font-weight:700;color:var(--ink-black)}.date-picker-nav-btn{background:none;border:2px solid var(--border-color);border-radius:8px;width:40px;height:40px;font-size:24px;color:var(--ink-black);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.date-picker-nav-btn:active{background:var(--bg-hover);border-color:var(--ink-blue)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.date-picker-weekday{text-align:center;font-size:14px;font-family:Caveat,cursive;font-weight:700;color:var(--ink-blue);padding:8px 0}.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-picker-day{aspect-ratio:1;min-height:44px;border:2px solid transparent;border-radius:8px;background:#fff;color:var(--ink-black);font-size:16px;font-family:Caveat,cursive;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.date-picker-day:not(.empty):not(:disabled):active{background:var(--bg-hover);border-color:var(--ink-blue)}.date-picker-day.today{border-color:var(--ink-blue);font-weight:700}.date-picker-day.selected{background:var(--ink-blue);color:#fff;border-color:var(--ink-blue)}.date-picker-day.other-month{opacity:.3;cursor:not-allowed}.date-picker-day.empty{background:transparent;border:none;cursor:default}.sortable-task-list{display:flex;flex-direction:column;gap:4px}.sortable-task-item{display:flex;align-items:center;gap:10px;position:relative}.sortable-task-item.dragging{opacity:.4;z-index:1000}.sortable-task-item.drag-over{position:relative}.drop-indicator{position:absolute;left:0;right:0;height:3px;background:var(--ink-blue);border-radius:2px;z-index:10;animation:pulse 1s ease-in-out infinite}.drop-indicator-above{top:-2px}.drop-indicator-below{bottom:-2px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;cursor:grab;opacity:.3;transition:opacity .2s ease;touch-action:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}.drag-handle:active{cursor:grabbing;opacity:.6}.sortable-task-item:hover .drag-handle,.sortable-task-item.dragging .drag-handle{opacity:.6}.drag-handle-icon{font-size:16px;color:var(--ink-black);line-height:1;-webkit-user-select:none;user-select:none;font-family:Caveat,cursive;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.drag-overlay-item{display:flex;align-items:flex-start;gap:8px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;transform:rotate(2deg);opacity:.95;cursor:grabbing}.drag-overlay-item .drag-handle{opacity:.8}@media (max-width: 768px){.drag-handle{opacity:.2}.sortable-task-item:active .drag-handle,.sortable-task-item.dragging .drag-handle{opacity:.6}}.date-navigator{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--paper-bg);border-bottom:1px solid var(--line-grey);min-height:48px}.date-navigator-button{background:none;border:1.5px solid var(--border-color);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ink-black);cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;flex-shrink:0;font-family:Caveat,cursive;line-height:1}.date-navigator-button:hover{border-color:var(--ink-blue);background:var(--bg-hover)}.date-navigator-button:active{transform:scale(.95);background:var(--ink-blue);color:#fff;border-color:var(--ink-blue)}.date-navigator-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;padding:0 12px;min-height:28px}.date-navigator-badge-container{height:16px;display:flex;align-items:center;justify-content:center}.date-navigator-badge{font-size:10px;font-family:Caveat,cursive;font-weight:700;color:var(--ink-blue);text-transform:uppercase;letter-spacing:.5px;line-height:1}.date-navigator-badge-placeholder{height:10px;width:1px;visibility:hidden}.date-navigator-date{font-size:16px;font-family:Caveat,cursive;font-weight:600;color:var(--ink-black);text-align:center;line-height:1.2}@media (max-width: 375px){.date-navigator{padding:8px 10px;min-height:44px}.date-navigator-date{font-size:15px}.date-navigator-button{width:28px;height:28px;font-size:18px}.date-navigator-content{padding:0 8px}}.weekly-board-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1920px){.weekly-board-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 2560px){.weekly-board-grid{grid-template-columns:repeat(2,1fr);max-width:2000px;margin:0 auto}}:root{--paper-bg: #FFFEF0;--paper-cream: #FFFEF0;--ink-black: #2C2C2C;--ink-blue: #1E3A8A;--line-grey: #E5E7EB;--border-color: #E5E7EB;--accent-green: #10B981;--accent-purple: #8B5CF6;--accent-red: #EF4444;--bg-hover: #F5F5DC}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{font-family:Caveat,cursive;font-size:20px;line-height:1.6;color:var(--ink-black);background:var(--paper-bg);min-height:100vh;height:100vh;overflow:hidden;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}#root{height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden}button,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{user-select:none;-webkit-user-select:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper-bg)}::-webkit-scrollbar-thumb{background:var(--line-grey);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-blue)}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
