@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}[data-theme=dark]{--bg-primary: #0f0f0f;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-app: #0a0a0a;--bg-header: #1a1a1a;--bg-card: #1e1e1e;--bg-input: #2a2a2a;--bg-button: #2a2a2a;--text-primary: #e8eaed;--text-item: #c8ccd2;--text-secondary: #9aa0a6;--text-muted: #71767b;--text-past: #5a5f66;--border-color: #2a2a2a;--border-light: #1a1a1a;--accent-blue: #6898D8;--accent-green: #48B880;--accent-red: #D07070;--accent-yellow: #C89840;--accent-purple: #9070D0;--accent-blue-past: #406088;--accent-red-past: #804848;--accent-yellow-past: #806028;--accent-purple-past: #584880;--accent-orange: #D08858;--btn-primary-bg: #5080B8;--btn-primary-hover: #6090C8;--btn-primary-active: #4068A0;--btn-danger-bg: #A85858;--btn-danger-hover: #B86060;--btn-danger-active: #904848;--today-bg: #0d1520;--today-header: #152030;--done-bg: #0f1f18;--done-border: #1a3028}html{font-size:130%}body{font-family:IBM Plex Sans,-apple-system,sans-serif;background:var(--bg-app);min-height:100vh;color:var(--text-primary);overflow:hidden}@media(max-width:600px){body{overflow:hidden}}.loading-screen{position:fixed;inset:0;width:100vw;height:100dvh;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-screen:before{content:"";width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:loadingSpinner .8s linear infinite;will-change:transform}@keyframes loadingSpinner{to{transform:rotate(360deg)}}.collapsible{overflow:hidden;max-height:0;transition:max-height .2s ease-out}.collapsible.expanded{max-height:3000px;transition:max-height .25s ease-in}.popover{position:fixed;background:var(--bg-primary);border-radius:8px;box-shadow:0 10px 40px #0006;padding:12px;z-index:10000;width:336px}[data-theme=dark] .popover{background:var(--bg-card)}.popover.ready{animation:popIn .1s ease-out}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.draggable{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.draggable:active{cursor:grabbing}.dragging{box-shadow:inset 0 0 0 1px var(--text-primary)!important}.item-urgent-card,.item-editing,.item-selected,.dragging{padding-left:6px!important;padding-right:6px!important;margin:0 -6px;border-radius:4px}.item-urgent-card{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-red) 60%,transparent)}.item-urgent-card.item-muted{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-red-past) 60%,transparent)}.item-editing,.item-selected{box-shadow:inset 0 0 0 1px var(--text-primary)}.drop-zone{transition:background .1s}.drop-indicator{height:0;background:var(--accent-blue);border-radius:1px;margin:0;opacity:0;transition:all .1s}.drop-indicator.visible{height:2px;margin:2px 0;opacity:1}@keyframes shimmerLR{0%{background-position:-100% 0}to{background-position:200% 0}}@keyframes shimmerRL{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes bgFlash{0%{background-color:#ffffff26}to{background-color:transparent}}.just-dropped,.just-grabbed,.just-shimmered{position:relative;overflow:hidden}.just-dropped:after,.just-grabbed:after,.just-shimmered:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat;pointer-events:none;border-radius:2px}.just-dropped{animation:bgFlash .45s ease-out}.just-dropped:after{animation:shimmerLR .45s linear}.just-grabbed{animation:bgFlash .45s ease-out .3s both}.just-grabbed:after{animation:shimmerRL .45s linear .3s both}.just-shimmered{animation:bgFlash .45s ease-out}.just-shimmered:after{animation:shimmerRL .45s linear}.bs-important-active{background:var(--accent-yellow)!important;color:#fff!important}.bs-urgent-active{background:var(--accent-red)!important;color:#fff!important}[data-theme=dark] .just-dropped:after,[data-theme=dark] .just-grabbed:after,[data-theme=dark] .just-shimmered:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}.btn{padding:3px 8px;background:var(--bg-input);border:none;border-radius:4px;font-size:.625rem;color:var(--text-secondary);cursor:pointer;font-weight:500;line-height:1.4;touch-action:manipulation}.btn:hover{background:var(--bg-tertiary)}.btn:active:not(:disabled){background:var(--bg-card)}.btn-primary{background:var(--btn-primary-bg);color:#fff}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-primary:active:not(:disabled){background:var(--btn-primary-active)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed}.btn-danger{background:var(--btn-danger-bg);color:#fff}.btn-danger:hover{background:var(--btn-danger-hover)}.btn-danger:active:not(:disabled){background:var(--btn-danger-active)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon-danger{padding:6px 8px;background:var(--bg-input);border:none;border-radius:4px;cursor:pointer;color:var(--accent-red);font-size:.75rem}.btn-icon-danger:hover{background:var(--bg-button)}.btn-icon-danger:active{filter:brightness(.82)}.btn-icon-neutral{padding:6px 8px;background:var(--bg-input);border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.btn-icon-neutral:hover{background:var(--bg-button)}.btn-icon-neutral:active,.bs-action-btn:active,.fab:active,.footer-tab:active{filter:brightness(.82)}.clickable{cursor:pointer}.clickable:hover{opacity:.8}.slot-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.slots-scrollable{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;touch-action:pan-y;overscroll-behavior:contain}.slot-row{padding:10px;min-height:50px}.slot-row:last-child{flex:1}.slot-row-done{height:145px;min-height:145px;max-height:145px;overflow-y:auto;padding:8px 10px;border-top:1px solid var(--border-light)}.section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.section-toggle:hover{background:var(--bg-tertiary)}.category-heading{cursor:pointer;-webkit-user-select:none;user-select:none}.category-heading:hover{background:var(--bg-tertiary)}.toast{position:fixed;bottom:20px;left:0;right:0;margin:0 auto;width:fit-content;max-width:400px;background:var(--bg-primary);color:var(--text-primary);padding:12px 20px;border-radius:8px;box-shadow:0 4px 20px #0006;z-index:10001;display:flex;align-items:center;gap:12px;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.discard-overlay{position:fixed;inset:0;background:#0009;z-index:10001;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.discard-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);border-radius:8px;padding:16px 20px;box-shadow:0 10px 40px #00000080;z-index:10002;width:300px;animation:dialogPopIn .15s ease-out}@keyframes dialogPopIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}[data-theme=dark] .discard-dialog{background:var(--bg-card)}.mobile-only{display:none}.desktop-only{display:flex}.bottom-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;animation:fadeIn .2s ease-out}.bottom-sheet-overlay.closing{animation:fadeOut .2s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.bottom-sheet-safe-bg{position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);background:var(--bg-primary);z-index:10002}[data-theme=dark] .bottom-sheet-safe-bg{background:var(--bg-card)}.bottom-sheet{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);bottom:0;background:var(--bg-primary);padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));overflow:hidden;z-index:10001;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.bs-scroll{flex:1;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;display:flex;flex-direction:column}.bottom-sheet-safe-bg.closing{animation:fadeOut .2s ease-out forwards}.bottom-sheet.closing{animation:bsSlideOut .2s ease-out forwards}@keyframes bsSlideOut{0%{transform:translateY(0)}to{transform:translateY(100%)}}[data-theme=dark] .bottom-sheet{background:var(--bg-card)}.mobile-footer{display:none;background:var(--bg-header);border-top:1px solid var(--border-color);padding:8px 20px 0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);height:calc(120px + env(safe-area-inset-bottom,0px));touch-action:none;position:relative}.mobile-footer-inner{display:flex;align-items:center;justify-content:center}.mobile-footer-section{display:flex;align-items:center;gap:4px}.mobile-footer-section.center{justify-content:center;gap:2px}.mobile-footer-section.right{justify-content:flex-end}.mobile-tab-btn{padding:12px 20px;border:none;background:none;font-size:1.125rem;opacity:.35;filter:grayscale(100%);cursor:pointer;touch-action:manipulation}.mobile-tab-btn.active{opacity:1;filter:none}@media(prefers-reduced-motion:reduce){.popover.ready,.just-dropped,.just-grabbed,.just-shimmered,.item-urgent,.bs-important-active,.bs-urgent-active,.toast{animation:none!important}.just-dropped:after,.just-grabbed:after,.just-shimmered:after{animation:none!important}.discard-overlay,.discard-dialog,.bottom-sheet-overlay,.bottom-sheet,.bottom-sheet-safe-bg{animation:none!important}.drop-indicator,.checkbox-inner,.icon-box{transition:none!important}}@media(max-width:600px){html{font-size:150%;min-height:calc(100% + env(safe-area-inset-top));background:var(--bg-header, var(--bg-app));overflow:clip}body{margin:0;overflow:clip;position:fixed;inset:0;touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.mobile-only{display:flex}.desktop-only{display:none!important}.mobile-footer{display:flex}.toast{width:calc(100vw - 40px);max-width:400px;bottom:auto;top:calc(env(safe-area-inset-top,0px) + 12px);animation:toastSlideDown .2s ease-out}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sidebar-mobile{width:100%!important;border-left:none!important}.mobile-day-scroll{display:flex;overflow-x:scroll;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain}.mobile-day-column{flex:0 0 100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always}.btn{padding:8px 12px;font-size:.6875rem}.item-card{padding:8px 10px}.popover{width:calc(100vw - 32px);max-width:360px}.mobile-day-column .slot-row,.mobile-day-column .slot-row-done{padding-left:12px;padding-right:12px}.mobile-day-column .slot-row-done{border-top:none;padding-top:10px}.mobile-views-container{display:flex;width:200%;height:100%;transition:transform .3s ease-out}.mobile-views-container.view-calendar{transform:translate(0)}.mobile-views-container.view-categories{transform:translate(-50%)}.mobile-view-panel{width:50%;height:100%;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}}.form-control{width:100%;border:none;border-radius:4px;background:var(--bg-input);color:var(--text-primary);outline:none}.form-control-sm{padding:6px;font-size:.6875rem}.form-control-md{padding:8px;font-size:.75rem}.form-textarea{resize:none;font-family:inherit}.form-label{font-size:.625rem;color:var(--text-muted);margin-bottom:4px}.form-group{margin-bottom:8px}.form-group-lg{margin-bottom:10px}.form-group-rel{margin-bottom:8px;position:relative}.bottom-sheet .form-control{border-radius:8px}.bottom-sheet .form-group{margin-bottom:10px}.popover-info{margin-bottom:12px;font-size:.6875rem;color:var(--text-primary)}.popover-title{font-weight:500;margin-bottom:4px}.popover-subtitle{color:var(--text-muted)}.popover-actions{display:flex;gap:8px}.popover-actions-col{display:flex;flex-direction:column;gap:6px}.btn-action{padding:10px 12px;text-align:left;font-size:.6875rem}.btn-action-hint{color:var(--text-muted);font-size:.625rem;margin-top:2px}.btn-submit{flex:1;padding:8px}.btn-submit-lg{flex:1;padding:10px}.icon-box{display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-box-sm{width:20px;height:20px}.icon-box-md{width:24px;height:24px}.checkbox-inner{display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0}.mini-calendar{padding:8px;background:var(--bg-card);border-radius:8px;box-shadow:0 4px 20px #0000004d}.mini-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mini-calendar-month{font-size:.6875rem;font-weight:600;text-transform:capitalize}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:8px}.mini-calendar-day-label{text-align:center;font-size:.5625rem;color:var(--text-muted);padding:2px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-body{background:var(--bg-secondary);border-radius:12px;padding:20px;width:90%;max-width:400px;max-height:80vh;overflow:auto}.confirm-modal{max-width:380px}.confirm-modal-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}.confirm-modal-message{font-size:.8rem;line-height:1.5;color:var(--text-muted);margin-bottom:18px;white-space:normal;overflow-wrap:anywhere}.confirm-modal-actions{display:flex;gap:8px}.confirm-modal-btn{flex:1 1 0;padding:10px;border-radius:8px;font-size:.8rem;font-weight:500}.confirm-modal-cancel{border:1px solid var(--border-color);background:transparent;color:var(--text-primary)}.confirm-modal-cancel:hover{background:var(--bg-button)}.confirm-modal-confirm{border:none;background:var(--btn-primary-bg);color:#fff}.confirm-modal-confirm:hover{background:var(--btn-primary-hover)}.confirm-modal-destructive{border:none;background:var(--accent-red);color:#fff}.confirm-modal-destructive:hover{background:var(--accent-red);filter:brightness(1.1)}.search-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999}.search-header-btn,.options-header-btn{display:flex;align-items:center;gap:4px}.search-modal-body{max-width:480px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.search-modal-input{width:100%;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.75rem;font-family:inherit;outline:none;margin-bottom:12px;flex-shrink:0}.search-modal-input:focus{border-color:var(--accent-blue)}.search-results{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}.search-result-item{display:flex;align-items:baseline;gap:8px;padding:5px 4px;cursor:pointer;border-radius:4px}.search-result-item:hover{background:var(--bg-primary)}.search-result-gcal{cursor:default}.search-result-gcal:hover{background:transparent}.search-result-meta{flex-shrink:0;width:68px;font-size:.625rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-title{flex:1;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-month-header{font-size:.5625rem;font-weight:600;color:var(--text-muted);padding:8px 4px 2px;text-transform:capitalize}.search-month-header:first-child{padding-top:0}.search-section-divider{border-bottom:1px solid var(--border-color);margin:8px 0}.search-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0}.search-page-indicator{font-size:.625rem;color:var(--text-muted)}.search-empty{text-align:center;color:var(--text-muted);font-size:.6875rem;padding:24px 0}.habit-tracker-header{display:flex;align-items:center;gap:4px;min-width:0;flex-shrink:1}.habit-tracker-period{display:inline-flex;align-items:center;justify-content:center;min-width:44px;font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.habit-tracker-stats{display:flex;align-items:center;gap:8px;overflow-x:auto;min-width:0;flex-shrink:1;padding:0 4px}.habit-tracker-stat{font-size:.625rem;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-weight:500}.habit-tracker-stat-count{display:inline-block;min-width:30px;text-align:left}.habit-tracker-open{display:flex;align-items:center;gap:4px;flex-shrink:0}.habit-tracker-filter-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;flex-shrink:0}.habit-tracker-filter-pill{background:var(--bg-button);border:1px solid transparent;border-radius:12px;padding:4px 10px;font-size:.6875rem;color:var(--text-secondary);cursor:pointer;font-family:inherit}.habit-tracker-filter-pill:hover{background:var(--bg-button-hover)}.habit-tracker-filter-pill.active{background:var(--bg-button-hover);font-weight:600}.habit-tracker-overview{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 4px;margin-bottom:8px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);font-size:.8125rem;flex-shrink:0}.habit-tracker-overview-cell{display:inline-flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.habit-tracker-overview-period{color:var(--text-muted);font-weight:600}.habit-tracker-overview-count{color:var(--text-primary)}.warning-box{padding:8px;background:#d8808026;border-radius:6px;font-size:.625rem;color:var(--accent-red)}.dialog-title{font-size:.8125rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.dialog-text{font-size:.6875rem;color:var(--text-secondary);margin-bottom:16px}.column-header{padding:10px 12px 6px 16px;min-height:28px;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;min-width:0}.column-header [role=heading]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cat-open-links-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;margin-right:-2px;border-radius:4px;opacity:0;transition:opacity .15s;display:flex;align-items:center}.column-header:hover .cat-open-links-btn{opacity:1}.cat-open-links-btn:hover{color:var(--text-primary);background:var(--bg-button)}.column-items{flex:1;overflow-y:auto;padding:0 10px 8px 16px;display:flex;flex-direction:column;touch-action:pan-y;overscroll-behavior-y:contain}.column-click-area{min-height:20px;flex:1;cursor:pointer}.category-items-viewport{flex:1;overflow:hidden}.category-items-track{min-height:100%;display:flex}.category-items-column{flex:0 0 235px;width:235px;padding:0 10px 8px 16px;display:flex;flex-direction:column;min-height:100%}.category-items-column>[data-backlog-item=true]{flex:0 0 auto}.btn-add-dashed{width:100%;padding:4px 8px;background:transparent;border:1px dashed var(--border-color);border-radius:4px;color:var(--text-muted);font-size:.5625rem;cursor:pointer}.cat-swatch{width:12px;height:12px;border-radius:3px;margin-right:10px}.cat-swatch-lg{width:24px;height:24px;border-radius:4px;flex-shrink:0;cursor:pointer}.cat-name{font-weight:600;font-size:.8125rem;flex:1}.color-picker-dropdown{position:absolute;top:100%;left:32px;margin-top:4px;padding:8px;background:var(--bg-card);border-radius:8px;box-shadow:0 4px 20px #0006;z-index:10;display:flex;gap:4px;flex-wrap:nowrap}.more-options-dropdown{position:fixed;top:52px;right:10px;padding:12px;background:var(--bg-card);border-radius:8px;box-shadow:0 4px 20px #0006;z-index:100;width:260px}.more-options-backdrop{position:fixed;inset:0;z-index:99}.opts-group{display:flex;flex-direction:column;gap:4px}.opts-group-separated{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.opts-group-label{font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;padding:0 2px}.opts-destructive{color:var(--accent-red)!important}.opts-token-row{display:flex;gap:6px}.opts-token-input{flex:1}.opts-token-btn{padding:6px 10px;white-space:nowrap}.opts-mobile-btn{width:100%;padding:10px 12px;text-align:left;display:flex;align-items:center;gap:6px}.app-desktop{height:100vh;display:flex;flex-direction:column;background:var(--bg-app)}.header-bar{flex:0 0 auto;padding:8px 10px;background:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;height:44px;white-space:nowrap;overflow-x:auto}.header-bar>*{flex-shrink:0}.header-tabs{display:flex;align-items:center;gap:4px}.header-range-group{display:flex;align-items:center;gap:4px;flex:0 0 auto}.header-tab-btn{display:inline-flex;align-items:center;gap:4px}.header-tab-active{background:var(--bg-tertiary);color:var(--accent-blue)}.calendar-row{flex:50;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--border-color)}.categories-row{flex:50;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-header)}.app-desktop[data-layout-mode="1"] .calendar-row{flex:66}.app-desktop[data-layout-mode="1"] .categories-row{flex:33}.app-desktop[data-layout-mode="2"] .calendar-row{flex:1 1 auto}.app-desktop[data-layout-mode="2"] .categories-row,.app-desktop[data-layout-mode="3"] .calendar-row{display:none}.app-desktop[data-layout-mode="3"] .categories-row{flex:1 1 auto}.app-desktop[data-layout-mode="4"] .calendar-row{flex:33}.app-desktop[data-layout-mode="4"] .categories-row{flex:66}.header-layout-cycle{min-width:64px;justify-content:center;font-variant-numeric:tabular-nums}.header-layout-cycle:disabled{opacity:.4;cursor:not-allowed}.calendar-scroll{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;background:var(--bg-primary)}.categories-scroll{flex:1;display:flex;overflow-x:auto;overflow-y:hidden}.two-weeks-layout{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg-primary)}.two-weeks-row{flex:1;display:flex;min-height:0;overflow:hidden}.two-weeks-row-top{border-bottom:1px solid var(--border-color)}.month-view{height:100vh;display:flex;flex-direction:column;background:var(--bg-app)}.month-view-header{padding:8px 10px;background:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;height:44px}.month-view-title{font-size:.8125rem;font-weight:600;color:var(--text-primary);min-width:120px;text-align:center}.month-grid-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-header);border-bottom:1px solid var(--border-color)}.month-grid-weekday{text-align:center;font-size:.5625rem;font-weight:500;color:var(--text-muted);padding:4px 0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;min-height:0}.month-cell{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.month-cell:nth-child(7n){border-right:none}.month-cell-adjacent{opacity:.4}.month-cell-weekend{background:#64748b0f}.month-cell-header{padding:3px 6px 1px 8px;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;min-height:20px}.month-cell-header .day-number{font-size:.625rem;font-weight:600}.month-cell-header .today-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--accent-blue);color:#fff;font-size:.5625rem;font-weight:700}.column-items-compact{flex:1;overflow-y:auto;padding:0 4px 4px 8px;display:flex;flex-direction:column;touch-action:pan-y;overscroll-behavior-y:contain}.column-click-area-compact{min-height:20px;flex:1;cursor:pointer}.btn-header{background:var(--bg-button)}.btn-header:hover{background:var(--bg-tertiary)}.btn-header:active:not(:disabled){background:var(--bg-card)}.btn-header-calendar{font-weight:600;display:flex;align-items:center;gap:4px}.btn-header-range{min-width:130px;justify-content:center}.btn-header-icon{position:relative;top:1px}.header-tab-icon{top:0}.range-text{font-size:.6875rem;font-weight:600;color:var(--text-item);min-width:70px;text-align:center}.btn-today-highlight{background:var(--btn-primary-bg);color:#fff}.btn-today-highlight:hover{background:var(--btn-primary-hover)}.btn-today-highlight:active:not(:disabled){background:var(--btn-primary-active)}.header-tab-active:hover{background:var(--bg-tertiary);color:var(--accent-blue)}.header-tab-active:active:not(:disabled){background:var(--bg-tertiary);color:var(--accent-blue)}.gcal-stale-indicator{color:var(--accent-orange);opacity:.7;display:inline-flex;align-items:center;cursor:default;animation:gcalStaleFadeIn .3s ease}@keyframes gcalStaleFadeIn{0%{opacity:0}to{opacity:.7}}.sync-status-indicator{display:inline-flex;align-items:center;cursor:default;animation:gcalStaleFadeIn .3s ease}.sync-status-error{color:var(--accent-red);opacity:.8}.sync-status-pending{color:var(--text-muted);opacity:.5}.sync-status-text{font-size:.75rem;color:var(--text-muted);padding:4px 12px}.btn-import-export{width:100%;padding:8px 12px;text-align:left}.opts-demo-note{font-size:.75rem;line-height:1.45;color:var(--text-muted);padding:4px 12px;white-space:normal;overflow-wrap:anywhere;max-width:100%}.more-options-dropdown-demo{width:300px}.app-mobile{height:calc(100dvh + env(safe-area-inset-top));display:flex;flex-direction:column;background:var(--bg-app);padding-top:env(safe-area-inset-top);overflow:hidden}.mobile-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.mobile-day-scroll-wrapper{flex:1;display:flex}.mobile-categories-panel{background:var(--bg-header);display:flex;flex-direction:column}.mobile-categories-content{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 12px 100px}.floating-header{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));right:20px;z-index:100;display:flex;pointer-events:none;gap:6px;align-items:center}.floating-btn{font-size:.75rem;pointer-events:auto;touch-action:none}.fab{position:absolute;top:-84px;right:20px;font-size:.9rem;padding:18px 30px;border-radius:300px;box-shadow:0 4px 12px #0000004d;touch-action:manipulation;z-index:100;transition:top .2s ease-out}.footer-tab{flex:1;display:flex;align-items:center;padding:0 20px;padding-bottom:env(safe-area-inset-bottom,0px);border:none;background:transparent;cursor:pointer;height:100%}.footer-tab-left{justify-content:flex-end}.footer-tab-right{justify-content:flex-start}.footer-icon-inactive{opacity:.55;filter:grayscale(100%)}.focus-proxy{position:fixed;top:0;left:0;opacity:0;width:1px;height:1px;border:none;padding:0;pointer-events:none}.bs-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.bs-action-btn{flex:1;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:6px;cursor:pointer;font-size:.75rem}.section-toggle-content{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:2px 0}.section-toggle-arrow{transition:transform .15s;font-size:.5rem}.section-toggle-label{font-size:.5625rem;font-weight:500}.slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.slot-label{font-size:.5625rem;font-weight:400}.slot-items{flex:1;min-height:20px;display:flex;flex-direction:column}.cat-modal-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-primary);border-radius:8px;position:relative}.modal-body .drop-indicator{transition:none}.flex-spacer{flex:1}.nav-group{display:flex;align-items:center;gap:4px}.btn-top-adjust{position:relative;top:-1px}.toast-message{font-size:.75rem;min-width:0;flex:1;word-break:break-word;line-height:1.35}.toast-undo{padding:4px 10px;font-size:.6875rem;flex-shrink:0}.add-cat-cell{flex:0 0 60px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border-color);height:100%;cursor:pointer}.add-cat-plus{font-size:1.25rem;font-weight:400;color:var(--text-muted)}
