:root{--shell-bg:#f1f5f9;--panel-bg:#fff;--bg:#f8fafc;--bg-subtle:#f1f5f9;--surface:#fff;--surface-strong:#f8fafc;--surface-accent:#eff6ff;--popover-bg:#fff;--tone-base:#fff;--span-bar-height:22px;--span-bar-gap:3px;--border:#e2e8f0;--border-strong:#cbd5e1;--grid-border:#eef2f6;--grid-line:#f1f5f9;--text:#334155;--text-muted:#64748b;--text-heading:#0f172a;--text-on-accent:#fff;--btn-primary-bg:#2563eb;--btn-primary-text:#fff;--btn-primary-hover:#1d4ed8;--btn-primary-disabled-bg:#cbd5e1;--btn-primary-disabled-text:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--primary-soft:#eff6ff;--accent:#3b82f6;--ui-focus-border:#93c5fd;--ui-focus-ring:#2563eb26;--accent-sage:#86efac;--accent-yellow:#fde047;--accent-lavender:#c4b5fd;--accent-coral:#fca5a5;--accent-mint:#6ee7b7;--schedule-bar-bg:#eff6ff;--schedule-bar-text:#1e40af;--schedule-bar-accent-academy:#2563eb;--schedule-bar-accent-personal:#7c3aed;--schedule-bar-accent-width:4px;--category-accent-academy:#2563eb;--category-accent-personal:#7c3aed;--sunday:#ef4444;--saturday:#2563eb;--saturday-cell-bg:#f7fbff;--sunday-cell-bg:#fffaf4;--dashboard-widget-bg:#f8fafc;--dashboard-widget-text:#0f172a;--dashboard-widget-muted:#64748b;--dashboard-widget-border:#e2e8f0;--dashboard-widget-surface:#fff;--habit-check-bg:#fff;--habit-check-border:#cbd5e1;--habit-check-border-hover:#93c5fd;--habit-check-today-border:#2563eb;--habit-check-checked:#2563eb;--habit-check-past-checked:#93c5fd;--today-bg:#facc15;--today-text:#1f2937;--today-border:#eab308;--success:#16a34a;--shadow-sm:0 1px 2px #0f172a0d, 0 1px 3px #0f172a14;--shadow-md:0 4px 16px #0f172a14;--shadow-panel:0 8px 24px #0f172a0f;--glass-blur:0px;--glass-blur-strong:0px;--radius:16px;--radius-sm:12px;--radius-lg:20px;--radius-pill:999px;color:var(--text);background:var(--shell-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}:root[data-theme=dark]{--shell-bg:#0d1117;--panel-bg:#151b24;--bg:#0d1117;--bg-subtle:#161d27;--surface:#151b24;--surface-strong:#1b232e;--surface-accent:#1e2733;--popover-bg:#1b232e;--tone-base:#1b232e;--border:#2a3441;--border-strong:#3a4757;--grid-border:#232c38;--grid-line:#1d2531;--text:#cbd5e1;--text-muted:#93a1b3;--text-heading:#f1f5f9;--text-on-accent:#0d1117;--btn-primary-bg:#a5b4fc;--btn-primary-text:#10151d;--btn-primary-hover:#c7d2fe;--btn-primary-disabled-bg:#2f3a49;--btn-primary-disabled-text:#6b7a8d;--primary:#a5b4fc;--primary-hover:#c7d2fe;--primary-light:#2c3550;--primary-soft:#1d2432;--accent:#a5b4fc;--ui-focus-border:#8b9bf5;--ui-focus-ring:#a5b4fc38;--accent-sage:#4ba07a;--accent-yellow:#b99a2f;--accent-lavender:#8b7cc8;--accent-coral:#c06a6a;--accent-mint:#45a58c;--schedule-bar-bg:#232c3d;--schedule-bar-text:#c3cffb;--schedule-bar-accent-academy:#7d9bf0;--schedule-bar-accent-personal:#b28ce0;--category-accent-academy:#7d9bf0;--category-accent-personal:#b28ce0;--sunday:#f38b8b;--saturday:#8fadf5;--saturday-cell-bg:#141c28;--sunday-cell-bg:#1e1717;--dashboard-widget-bg:#151b24;--dashboard-widget-text:#f1f5f9;--dashboard-widget-muted:#93a1b3;--dashboard-widget-border:#2a3441;--dashboard-widget-surface:#1b232e;--habit-check-bg:#1b232e;--habit-check-border:#3a4757;--habit-check-border-hover:#8b9bf5;--habit-check-today-border:#a5b4fc;--habit-check-checked:#a5b4fc;--habit-check-past-checked:#4d5a86;--today-bg:#b99a2f;--today-text:#10151d;--today-border:#8f7620;--success:#4ade80;--shadow-sm:0 1px 2px #0006, 0 1px 3px #00000059;--shadow-md:0 4px 16px #00000073;--shadow-panel:0 8px 24px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--shell-bg);min-height:100vh;margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--text-heading);margin:0}button{font-family:inherit}.ui-btn-primary,.manager-form button[type=submit],.panel-add-form button[type=submit],.task-edit-actions button[type=submit],.dashboard-habit-add button,.add-task-form button,.work-list-modal-confirm,.sheet-settings-actions button:first-child,.sheet-settings-page-form .sheet-settings-actions button:first-child{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.ui-btn-primary:hover:not(:disabled),.manager-form button[type=submit]:hover:not(:disabled),.panel-add-form button[type=submit]:hover:not(:disabled),.task-edit-actions button[type=submit]:hover:not(:disabled),.dashboard-habit-add button:hover:not(:disabled),.add-task-form button:hover:not(:disabled),.work-list-modal-confirm:hover:not(:disabled),.sheet-settings-actions button:first-child:hover:not(:disabled),.sheet-settings-page-form .sheet-settings-actions button:first-child:hover:not(:disabled){background:var(--btn-primary-hover)}.ui-btn-primary:disabled,.manager-form button[type=submit]:disabled,.panel-add-form button[type=submit]:disabled,.task-edit-actions button[type=submit]:disabled,.dashboard-habit-add button:disabled,.add-task-form button:disabled,.work-list-modal-confirm:disabled,.sheet-settings-actions button:first-child:disabled,.sheet-settings-page-form .sheet-settings-actions button:first-child:disabled{background:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-text);opacity:1;cursor:not-allowed}input,textarea,select{font-family:inherit}.dashboard-content-panel input:not([type=checkbox]):not([type=radio]):not(.ideas-tag-input-field):not(.ideas-title-input):not(.agenda-quick-add-input),.dashboard-content-panel textarea:not(.ideas-textarea),.dashboard-content-panel select{background:var(--surface);border:1px solid var(--border);color:var(--text-heading)}.dashboard-content-panel input::placeholder,.dashboard-content-panel textarea::placeholder{color:var(--text-muted)}.dashboard-content-panel input:not([type=checkbox]):not([type=radio]):not(.ideas-tag-input-field):not(.ideas-title-input):not(.agenda-quick-add-input):focus,.dashboard-content-panel textarea:not(.ideas-textarea):focus,.dashboard-content-panel select:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}@media (width<=768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not(.memo-title-input):not(.panel-name-input),textarea,select{font-size:16px}}.app{max-width:1100px;margin:0 auto;padding:24px 16px 48px}.dashboard-shell{background-color:var(--shell-bg);color:#f4f4f5;min-height:100vh;display:flex;position:relative}.dashboard-shell:after{content:"";background-image:var(--dashboard-bg-image);opacity:var(--dashboard-bg-opacity,1);pointer-events:none;z-index:0;background-position:50%;background-size:cover;background-attachment:fixed;position:fixed;inset:0}.dashboard-shell:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#08080c6b 0%,#08080c9e 100%),radial-gradient(circle at 100% 0,#ffffff14,#0000 42%);position:fixed;inset:0}.dashboard-sidebar{z-index:250;-webkit-backdrop-filter:blur(20px);background:#12121685;border:1px solid #ffffff1f;border-radius:999px;flex-direction:column;flex-shrink:0;align-self:flex-start;align-items:center;width:92px;height:calc(100vh - 32px);margin:16px 0 16px 16px;padding:16px 10px;display:flex;position:sticky;top:16px;box-shadow:0 12px 40px #00000047}.dashboard-sidebar-brand{color:#f4f4f5;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.dashboard-sidebar-brand svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.dashboard-sidebar-brand:hover{background:#ffffff1a;border-color:#ffffff24}.dashboard-sidebar-brand.active{color:#111;background:#fff;border-color:#0000;box-shadow:0 4px 16px #0003}.dashboard-sidebar-nav,.dashboard-sidebar-bottom{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.dashboard-sidebar-nav{flex:1}.dashboard-settings-wrap,.dashboard-journal-wrap{z-index:1;justify-content:center;width:100%;display:flex;position:relative}.dashboard-journal-wrap{z-index:2}.dashboard-settings-menu,.dashboard-sidebar-flyout{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(260px,100vw - 96px);box-shadow:var(--shadow-md);z-index:20;color:var(--text-heading);padding:0;position:absolute;bottom:0;left:calc(100% + 12px);overflow:hidden}.dashboard-settings-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text-heading);text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s,color .15s;display:flex}.dashboard-settings-menu-item:hover,.dashboard-settings-menu-item.active{background:#ffffff1a}.dashboard-settings-menu-icon{width:32px;height:32px;color:var(--text-muted);background:#ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-settings-menu-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.dashboard-settings-menu-item:hover .dashboard-settings-menu-icon,.dashboard-settings-menu-item.active .dashboard-settings-menu-icon{color:var(--text-on-accent);background:#fff}.dashboard-settings-menu-item--text-only{align-items:center}.dashboard-settings-menu-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-settings-menu-text strong{font-size:.84rem;font-weight:700}.dashboard-settings-menu-text small{color:var(--text-muted);font-size:.72rem;line-height:1.35}.dashboard-nav-btn{color:#f4f4f59e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:72px;min-height:58px;padding:8px 4px 6px;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex}.dashboard-nav-label{letter-spacing:.01em;text-align:center;font-size:.58rem;font-weight:600;line-height:1.1}.dashboard-nav-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.dashboard-nav-btn .dashboard-nav-anticon{justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.dashboard-nav-btn .dashboard-nav-anticon svg{fill:currentColor;stroke:none;width:1em;height:1em}.dashboard-nav-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff0f}.dashboard-nav-btn.active{color:#111;background:#fff;border-color:#0000;box-shadow:0 4px 16px #0003}.dashboard-topbar{justify-content:space-between;align-items:center;gap:12px;padding:4px 8px 14px;display:flex}.dashboard-bg-switcher-wrap{flex-shrink:0;position:relative}.dashboard-bg-change-btn{color:#ffffff6b;letter-spacing:.01em;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 0;font-size:.68rem;font-weight:500;transition:color .15s}.dashboard-bg-change-btn:hover,.dashboard-bg-change-btn.active{color:#ffffffb8}.dashboard-bg-change-input{display:none}.dashboard-background-panel{z-index:320;background:#121216f5;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;gap:14px;width:min(92vw,360px);max-height:min(78vh,640px);padding:16px;display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 18px 48px #00000057}.dashboard-topbar-title{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700}.dashboard-content-panel{border-radius:var(--radius-lg);background:var(--panel-bg);min-height:0;-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-panel);border:1px solid #ffffff1f;flex-direction:column;flex:1;display:flex;overflow:hidden}.dashboard-content{color:var(--text);flex-direction:column;flex:1;align-items:center;padding:20px 24px 28px;display:flex;overflow:auto}.dashboard-content .calendar-app{width:100%;max-width:1070px;margin:0 auto}.dashboard-content:has(.economic-calendar-page--grid){align-items:stretch;padding:16px 18px 18px;overflow:hidden}.dashboard-content .economic-calendar-page--grid{flex-direction:column;flex:1;align-self:stretch;width:100%;max-width:none;min-height:0;display:flex;overflow:hidden}.dashboard-content:has(.economic-calendar-page--list){align-items:stretch;padding:16px 18px 18px;overflow:hidden}.dashboard-content .economic-calendar-page--list{flex-direction:column;flex:1;align-self:stretch;width:100%;max-width:none;min-height:0;display:flex;overflow:hidden}.dashboard-content .manager-page{width:100%;max-width:1100px;margin:0 auto}.dashboard-home{width:100%;max-width:1180px;margin:0 auto;position:relative}.dashboard-home-grid{flex-direction:column;gap:20px;display:flex}.dashboard-home-tasks-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.dashboard-panel{border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);background:#ffffff14;border:1px solid #ffffff1a;padding:22px}.dashboard-panel-title{color:var(--text-heading);margin:0 0 18px;font-size:1.2rem;font-weight:700}.dashboard-filter-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.dashboard-filter-btn{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;padding:8px 14px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.dashboard-filter-btn.active,.dashboard-filter-btn:hover{background:var(--surface-accent);color:var(--text-on-accent);border-color:#0000}.dashboard-weather-card{border-radius:var(--radius-sm);background:var(--dashboard-widget-bg);border:1px solid var(--dashboard-widget-border);color:var(--dashboard-widget-text);margin-bottom:0;padding:12px 14px}.dashboard-market-card{border-radius:var(--radius-sm);background:var(--dashboard-widget-bg);border:1px solid var(--dashboard-widget-border);color:var(--dashboard-widget-text);padding:12px 14px}.dashboard-market-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dashboard-market-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.dashboard-market-label{color:var(--dashboard-widget-muted);font-size:.76rem;font-weight:700}.dashboard-market-value{color:var(--dashboard-widget-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem;font-weight:700}.dashboard-market-change{text-align:right;font-variant-numeric:tabular-nums;min-width:58px;color:var(--dashboard-widget-muted);font-size:.74rem;font-weight:700}.dashboard-market-change.is-up{color:#c47a7a}.dashboard-market-change.is-down{color:#7a96b8}.dashboard-market-updated{border-top:1px solid var(--dashboard-widget-border);color:var(--dashboard-widget-muted);text-align:right;margin:10px 0 0;padding-top:8px;font-size:.66rem;font-weight:600}.dashboard-market-status{color:var(--dashboard-widget-muted);margin:0;font-size:.8rem;font-weight:600}.dashboard-market-status--error{color:#dc2626}.dashboard-weather-header{margin-bottom:8px}.dashboard-weather-location{color:var(--dashboard-widget-muted);font-size:.76rem;font-weight:700}.dashboard-weather-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-weather-current{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.dashboard-weather-current-top{align-items:center;gap:10px;display:flex}.dashboard-weather-icon{font-size:1.9rem;line-height:1}.dashboard-weather-temp-wrap{flex-direction:column;gap:1px;display:flex}.dashboard-weather-temp-wrap strong{color:var(--dashboard-widget-text);font-size:1.55rem;line-height:1}.dashboard-weather-temp-wrap span{color:var(--dashboard-widget-muted);font-size:.8rem;font-weight:600}.dashboard-weather-meta{color:var(--dashboard-widget-muted);flex-wrap:wrap;gap:4px 8px;padding-left:2px;font-size:.68rem;font-weight:600;line-height:1.3;display:flex}.dashboard-weather-forecast{border-left:1px solid var(--dashboard-widget-border);align-items:stretch;gap:6px;margin-left:auto;padding-left:12px;display:flex}.dashboard-weather-forecast-day{flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:38px;padding:2px 1px;display:flex}.dashboard-weather-forecast-weekday{color:var(--dashboard-widget-muted);margin-bottom:3px;font-size:.64rem;font-weight:700}.dashboard-weather-forecast-icon{margin-bottom:4px;font-size:.9rem;line-height:1}.dashboard-weather-forecast-temp{color:var(--dashboard-widget-text);flex-direction:column;align-items:center;gap:1px;font-size:.72rem;font-weight:700;line-height:1.2;display:flex}.dashboard-weather-forecast-temp small{color:var(--dashboard-widget-muted);font-size:.6rem;font-weight:600}.dashboard-weather-status{color:var(--dashboard-widget-muted);margin:0;font-size:.82rem}.dashboard-weather-status--error{color:#ef4444}.dashboard-mini-calendar{background:var(--dashboard-widget-bg);border:1px solid var(--dashboard-widget-border);color:var(--dashboard-widget-text);border-radius:18px;padding:14px}.dashboard-mini-calendar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dashboard-mini-calendar-header strong{color:var(--dashboard-widget-text);font-size:.92rem}.dashboard-mini-nav{border:1px solid var(--dashboard-widget-border);background:var(--dashboard-widget-surface);width:28px;height:28px;color:var(--dashboard-widget-text);cursor:pointer;border-radius:8px;transition:background .15s,border-color .15s}.dashboard-mini-nav:hover{background:var(--primary-light);border-color:var(--border-strong)}.dashboard-mini-weekdays,.dashboard-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.dashboard-mini-weekday{text-align:center;color:var(--dashboard-widget-muted);font-size:.68rem;font-weight:700}.dashboard-mini-weekday.sunday{color:var(--sunday)}.dashboard-mini-weekday.saturday{color:var(--saturday)}.dashboard-mini-day{aspect-ratio:1;color:var(--dashboard-widget-text);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,box-shadow .15s}.dashboard-mini-day:hover:not(.selected){background:#3434380f}.dashboard-mini-day.other-month{color:var(--text-muted);opacity:.45}.dashboard-mini-day.today:not(.selected){box-shadow:none;background:var(--today-bg);color:var(--today-text)}.dashboard-mini-day.selected{color:#111;background:#fff}.dashboard-home-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.dashboard-home-side{flex-direction:column;gap:20px;min-height:100%;display:flex}.dashboard-home-side .dashboard-panel{flex-direction:column;min-height:0;display:flex}.dashboard-background-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-background-panel .dashboard-panel-title{color:var(--text-heading);margin:0 0 6px;font-size:.95rem}.dashboard-background-caption{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.45}.dashboard-background-current{border-radius:var(--radius-pill);color:var(--text-heading);background:#ffffff1f;flex-shrink:0;padding:6px 10px;font-size:.72rem;font-weight:700}.dashboard-background-current-preview{flex-direction:column;gap:8px;display:flex}.dashboard-background-thumb--large{aspect-ratio:16/9}.dashboard-background-current-copy{flex-direction:column;gap:2px;display:flex}.dashboard-background-current-copy strong{color:var(--text-muted);font-size:.74rem}.dashboard-background-current-copy span{color:var(--text-heading);font-size:.86rem;font-weight:700}.dashboard-background-section-title{color:var(--text-muted);margin:0 0 8px;font-size:.78rem;font-weight:700}.dashboard-background-opacity-field{flex-direction:column;gap:8px;display:flex}.dashboard-background-opacity-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:600;display:flex}.dashboard-background-opacity-label strong{color:var(--text-heading);font-size:.82rem}.dashboard-background-opacity-field input[type=range]{accent-color:#fff;width:100%}.dashboard-background-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-background-options--history{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-background-option-wrap{position:relative}.dashboard-background-option-wrap.selected .dashboard-background-option{background:#ffffff1f;border-color:#ffffff8c;box-shadow:0 8px 24px #0000002e}.dashboard-background-remove-btn{color:#fff;cursor:pointer;background:#08080cb8;border:none;border-radius:999px;width:22px;height:22px;font-size:.9rem;line-height:1;position:absolute;top:6px;right:6px}.dashboard-background-paste-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.dashboard-background-paste-zone:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}.dashboard-background-paste-copy{min-width:0;color:var(--text-heading);align-items:center;gap:10px;display:flex}.dashboard-background-paste-copy strong{font-size:.82rem;display:block}.dashboard-background-paste-copy span{color:var(--text-muted);font-size:.74rem;display:block}.dashboard-background-upload-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.dashboard-background-upload-btn:hover{color:var(--text-heading);background:#ffffff1f;border-color:#ffffff59}.dashboard-background-option{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:8px;padding:8px;transition:border-color .15s,background .15s,transform .15s;display:flex}.dashboard-background-option:hover{background:#ffffff14;border-color:#ffffff38}.dashboard-background-option.selected{background:#ffffff1f;border-color:#ffffff8c;box-shadow:0 8px 24px #0000002e}.dashboard-background-thumb{aspect-ratio:16/10;background-position:50%;background-size:cover;border:1px solid #ffffff14;border-radius:12px;width:100%;display:block}.dashboard-background-label{text-align:center;font-size:.74rem;font-weight:700}.dashboard-habit-tracker{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.dashboard-habit-empty{color:var(--text-muted);margin:0;font-size:.82rem}.dashboard-habit-table-wrap{overflow-x:auto}.dashboard-habit-table{--habit-row-content-height:calc(.72rem * 1.35 * 2);border-collapse:collapse;table-layout:fixed;width:100%}.dashboard-habit-table th,.dashboard-habit-table td{text-align:center;vertical-align:middle;padding:0}.dashboard-habit-table thead th{padding-bottom:6px}.dashboard-habit-table tbody tr{height:1px}.dashboard-habit-table tbody td,.dashboard-habit-table tbody .dashboard-habit-name-cell{vertical-align:middle;height:1px;padding:4px 0}.dashboard-habit-name-col{width:76px;color:var(--text-muted);font-size:.72rem;font-weight:700;text-align:left!important}.dashboard-habit-day-col{width:28px;padding-left:2px;padding-right:2px}.dashboard-habit-weekday{color:var(--text-muted);font-size:.64rem;font-weight:700;line-height:1.2;display:block}.dashboard-habit-day{font-size:.72rem;font-weight:700;line-height:1.2;display:block}.dashboard-habit-row-slot{min-height:var(--habit-row-content-height);box-sizing:border-box;align-items:center;width:100%;height:100%;display:flex}.dashboard-habit-row-slot--center{justify-content:center}.dashboard-habit-name-cell{position:relative;text-align:left!important;padding-right:8px!important}.dashboard-habit-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;word-break:keep-all;white-space:normal;min-width:0;color:var(--text-heading);-webkit-box-orient:vertical;flex:1;font-size:.72rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.dashboard-habit-name-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.dashboard-habit-name-btn:hover{color:var(--accent)}.dashboard-habit-name-edit{border:1px solid var(--accent);background:var(--surface);width:100%;min-width:0;font:inherit;color:var(--text-heading);border-radius:4px;padding:2px 4px;font-size:.72rem;font-weight:600;line-height:1.35}.dashboard-habit-name-edit:focus{box-shadow:0 0 0 2px var(--ui-focus-ring);outline:none}.dashboard-habit-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1;display:none;position:absolute;top:4px;right:0}.dashboard-habit-name-cell:hover .dashboard-habit-remove{display:inline-block}.dashboard-habit-checkbox{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin:0;display:flex}.dashboard-habit-checkbox input[type=checkbox]{appearance:none;border:1.5px solid var(--habit-check-border);background:var(--habit-check-bg);cursor:pointer;border-radius:50%;width:20px;height:20px;margin:0;transition:background .15s,border-color .15s,box-shadow .15s}.dashboard-habit-checkbox input[type=checkbox]:hover{border-color:var(--habit-check-border-hover)}.dashboard-habit-checkbox input[type=checkbox]:checked{border-color:var(--habit-check-checked);background-color:var(--habit-check-checked);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:11px 11px}.dashboard-habit-table td.today .dashboard-habit-checkbox input[type=checkbox]{border-color:var(--habit-check-today-border);border-width:2px}.dashboard-habit-table td.today .dashboard-habit-checkbox input[type=checkbox]:hover{border-color:#6b6b72}.dashboard-habit-table td.today .dashboard-habit-checkbox input[type=checkbox]:checked{border-color:var(--habit-check-checked);background-color:var(--habit-check-checked);box-shadow:none;border-width:2px}.dashboard-habit-table td.past .dashboard-habit-checkbox input[type=checkbox]{border-color:var(--habit-check-border);background:var(--habit-check-bg);opacity:.88}.dashboard-habit-table td.past .dashboard-habit-checkbox input[type=checkbox]:checked{border-color:var(--habit-check-past-checked);background-color:var(--habit-check-past-checked);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:11px 11px}.dashboard-habit-add{gap:8px;display:flex}.dashboard-habit-add input{border:1px solid var(--border);background:#fff;border-radius:12px;outline:none;flex:1;min-width:0;padding:9px 11px;font-size:.82rem}.dashboard-habit-add input:focus{border-color:var(--primary)}.dashboard-habit-add button{cursor:pointer;border:none;border-radius:12px;flex-shrink:0;padding:9px 12px;font-size:.8rem;font-weight:700}.dashboard-habit-add button:disabled{cursor:not-allowed}.dashboard-add-todo{background:0 0;border:none;border-radius:0;align-items:stretch;gap:8px;margin-bottom:16px;padding:0;display:flex}.dashboard-add-todo input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);outline:none;flex:1;min-width:0;padding:10px 14px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.dashboard-add-todo button{border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;padding:10px 16px;font-size:.82rem;font-weight:700}.dashboard-todo-list{flex-direction:column;gap:2px;display:flex}.dashboard-todo-list .dashboard-todo-item{border-top:none;border-radius:12px;padding:10px;transition:background .15s}.dashboard-todo-list .dashboard-todo-item:hover{background:var(--primary-light)}.dashboard-todo-list .dashboard-empty{padding:12px 10px}.dashboard-past-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.dashboard-past-header .dashboard-panel-title{margin:0}.dashboard-past-title{letter-spacing:-.01em;font-size:1rem;line-height:1.3}.dashboard-todo-list--past .dashboard-todo-item{opacity:.95}.dashboard-todo-item--with-menu.is-menu-open{z-index:30;opacity:1}.dashboard-todo-item--past .dashboard-todo-text span{font-size:.8rem}.dashboard-todo-item--past .dashboard-todo-text small{font-size:.66rem}.dashboard-todo-item--past input[type=checkbox]{width:14px;height:14px;margin-top:2px}.dashboard-todo-section{border:1px solid var(--border);background:var(--primary-light);border-radius:16px;margin-bottom:10px;overflow:hidden}.dashboard-todo-section-header{width:100%;color:var(--text-heading);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:12px 14px;font-size:.88rem;font-weight:700;display:flex}.dashboard-todo-chevron{color:var(--text-muted);font-size:.75rem}.dashboard-todo-count{border:1px solid var(--border);min-width:22px;height:22px;color:var(--text-muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:.72rem;display:inline-flex}.dashboard-todo-section-body{padding:0 12px 10px}.dashboard-todo-item{border-top:1px solid var(--border);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 8px;display:flex}.dashboard-todo-item--with-menu{cursor:default;position:relative}.dashboard-todo-item-main{cursor:pointer;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.dashboard-todo-meatball{flex-shrink:0;margin-left:auto;position:relative}.dashboard-todo-meatball-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.dashboard-todo-meatball-btn:hover,.dashboard-todo-meatball-btn[aria-expanded=true]{background:var(--bg-subtle,#0f172a0f);color:var(--text-heading)}.dashboard-todo-meatball-menu{z-index:20;border:1px solid var(--border);background:var(--surface);min-width:104px;box-shadow:var(--shadow-md,0 8px 20px #0f172a1f);border-radius:10px;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.dashboard-todo-meatball-menu button{width:100%;color:var(--text-heading);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:600;display:block}.dashboard-todo-meatball-menu button:hover{background:var(--primary-light)}.dashboard-past-edit-panel{max-width:420px}.dashboard-past-edit-form{margin:0 18px 18px}.dashboard-past-edit-panel .dashboard-past-edit-form{width:auto}.dashboard-todo-item input{accent-color:var(--primary);margin-top:3px}.dashboard-todo-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dashboard-todo-text span{color:var(--text-heading);font-size:.88rem}.dashboard-todo-text small{color:var(--text-muted);font-size:.72rem}.dashboard-todo-item.completed .dashboard-todo-text span{color:var(--text-muted);text-decoration:line-through}.dashboard-empty{color:var(--text-muted);margin:0;padding:8px 8px 4px;font-size:.82rem}.main-page{flex-direction:column;justify-content:center;gap:32px;min-height:calc(100vh - 72px);display:flex;position:relative}.main-settings{z-index:10;position:absolute;top:0;right:0}.sheet-settings-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.sheet-settings-toggle:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.sheet-settings-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(420px,100vw - 32px);box-shadow:var(--shadow-md);padding:14px;position:absolute;top:36px;right:0}.sheet-settings-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sheet-settings-header strong{color:var(--text-heading);font-size:.92rem}.sheet-settings-header a{color:var(--primary);white-space:nowrap;font-size:.78rem;font-weight:700;text-decoration:none}.sheet-settings-panel input{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:10px 12px;font-size:.85rem}.sheet-settings-panel input:focus{border-color:var(--primary)}.sheet-settings-field{margin-top:10px}.sheet-settings-actions{gap:8px;margin-top:10px;display:flex}.sheet-settings-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;padding:8px 12px;font-size:.8rem;font-weight:700}.sheet-settings-actions button:first-child{border-color:#ffffffbf}.sheet-settings-panel p{color:var(--text-muted);margin:10px 0 0;font-size:.78rem}.sheet-settings-page-card{max-width:560px}.sheet-settings-page-form .sheet-settings-header{margin-bottom:12px}.sheet-settings-page-form .field-label{color:var(--text-heading);flex-direction:column;gap:6px;font-size:.82rem;font-weight:700;display:flex}.sheet-settings-page-form input{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:10px 12px;font-size:.85rem}.sheet-settings-page-form input:focus{border-color:var(--primary)}.sheet-settings-page-form .sheet-settings-actions{gap:8px;margin-top:12px;display:flex}.sheet-settings-page-form .sheet-settings-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;padding:8px 12px;font-size:.8rem;font-weight:700}.sheet-settings-page-form .sheet-settings-actions button:first-child{border-color:#ffffffbf}.sheet-settings-page-form p{color:var(--text-muted);margin:12px 0 0;font-size:.78rem}.main-hero{text-align:center}.main-eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.85rem;font-weight:700}.main-hero h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.main-description{max-width:520px;color:var(--text-muted);margin:16px auto 0;font-size:1rem}.main-menu{grid-template-columns:repeat(2,minmax(240px,360px));justify-content:center;gap:16px;display:grid}.main-menu-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:8px;padding:24px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.main-menu-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.main-menu-icon{font-size:2rem}.main-menu-title{color:var(--text-heading);font-size:1.15rem;font-weight:700}.main-menu-desc{color:var(--text-muted);font-size:.9rem}.main-admin-link{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-self:center;margin-top:4px;padding:0;font-size:.75rem;text-decoration:underline}.main-admin-link:hover{color:var(--primary)}.back-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;align-self:flex-start;padding:6px 12px;font-size:.85rem;transition:background .15s,border-color .15s,color .15s}.back-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.back-btn--home{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.back-btn--nav{padding:5px 10px;font-size:.8rem}.back-btn--home svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.manager-page{flex-direction:column;gap:20px;display:flex}.manager-header{flex-direction:column;gap:20px;margin-bottom:8px;display:flex}.manager-header h1{margin:0;font-size:2rem}.manager-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);border:none;padding:20px}.manager-card h2{margin-bottom:14px;font-size:1.1rem}.manager-form{flex-direction:column;gap:10px;display:flex}.manager-form input[type=text],.manager-form input[type=date],.item-library-panel input[type=date],.field-label select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);outline:none;padding:10px 12px;font-size:.9rem}.manager-form input:focus,.item-library-panel input:focus,.field-label select:focus{border-color:var(--primary)}.manager-form button[type=submit]{cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-size:.875rem;font-weight:700}.field-label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;display:flex}.manager-category-boxes{flex-wrap:wrap;gap:6px;display:flex}.manager-category-box{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.manager-category-box:hover:not(.selected){color:var(--text-heading);background:#ffffff1f;border-color:#ffffff59}.manager-category-box.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:#ffffffbf;box-shadow:0 4px 14px #0000002e}.manager-category-boxes--medium .manager-category-box{padding:6px 12px;font-size:.8rem}.date-picker{flex-direction:column;gap:6px;width:100%;display:flex;position:relative}.date-picker:has(.date-picker-trigger.open){z-index:50}.date-picker-label{color:var(--text-muted);font-size:.78rem;font-weight:700}.date-picker-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-heading);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.date-picker-trigger:hover,.date-picker-trigger.open{border-color:var(--primary);background:var(--primary-light)}.date-picker-trigger.open{box-shadow:0 0 0 3px var(--ui-focus-ring)}.date-picker-trigger-text{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.date-picker-trigger-icon{fill:none;width:18px;height:18px;stroke:var(--primary);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.date-picker-popover{z-index:320;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--popover-bg);width:min(100%,280px);min-width:0;box-shadow:var(--shadow-md);box-sizing:border-box;padding:10px;animation:.16s datePickerPop;position:absolute;top:calc(100% + 6px);left:0}@keyframes datePickerPop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.date-picker-header{justify-content:space-between;align-items:center;gap:6px;min-width:0;margin-bottom:10px;display:flex}.date-picker-header strong{text-align:center;min-width:0;color:var(--text-heading);white-space:nowrap;flex:1;font-size:.74rem;font-weight:700;line-height:1.2}.date-picker-nav{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary-light);width:26px;height:26px;color:var(--text-heading);cursor:pointer;flex-shrink:0;font-size:1rem;line-height:1;transition:background .15s,border-color .15s,color .15s}.date-picker-nav:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.date-picker-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-bottom:4px;display:grid}.date-picker-weekday{text-align:center;color:var(--text-muted);padding:2px 0;font-size:.62rem;font-weight:700;line-height:1}.date-picker-weekday.sunday{color:var(--sunday)}.date-picker-weekday.saturday{color:var(--saturday)}.date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.date-picker-day{aspect-ratio:1;width:100%;min-width:0;min-height:0;color:var(--text-heading);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:.65rem;font-weight:600;line-height:1;transition:background .15s,color .15s,box-shadow .15s;display:flex;overflow:hidden}.date-picker-day:hover:not(.disabled){background:var(--primary-light);color:var(--primary)}.date-picker-day.other-month{color:var(--border-strong)}.date-picker-day.today:not(.selected){box-shadow:none;background:var(--today-bg);color:var(--today-text)}.date-picker-day.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-sm)}.date-picker-day.disabled{color:var(--border);cursor:not-allowed}.date-picker-footer{border-top:1px solid var(--border);justify-content:flex-end;margin-top:10px;padding-top:8px;display:flex}.date-picker-today-btn{border:1px solid var(--border);background:var(--primary-light);color:var(--primary);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:700;transition:background .15s,border-color .15s}.date-picker-today-btn:hover{border-color:var(--primary);background:var(--primary-light)}.date-picker-required{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.time-picker{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex;position:relative}.time-picker:has(.time-picker-trigger.open){z-index:50}.time-picker-label{color:var(--text-muted);font-size:.7rem;font-weight:700}.time-picker-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:34px;color:var(--text-heading);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:space-between;align-items:center;gap:7px;padding:8px 10px;font-size:.765rem;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.time-picker-trigger:hover,.time-picker-trigger.open{border-color:var(--primary);background:var(--primary-light)}.time-picker-trigger.open{box-shadow:0 0 0 3px var(--ui-focus-ring)}.time-picker-trigger-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.time-picker-trigger-icon{fill:none;width:15px;height:15px;stroke:var(--primary);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.time-picker-popover{z-index:560;border:1px solid var(--border-strong);background:var(--popover-bg);box-shadow:var(--shadow-md);box-sizing:border-box;border-radius:18px;padding:10px 8px;animation:.16s datePickerPop;position:fixed;overflow:hidden}.time-picker-wheels{grid-template-columns:1.1fr .9fr .9fr;height:180px;display:grid;position:relative;overflow:hidden}.time-picker-wheel-highlight{z-index:1;background:color-mix(in srgb, var(--primary) 10%, transparent);pointer-events:none;border-radius:12px;height:36px;position:absolute;top:72px;left:6px;right:6px}.time-picker-wheel-wrap{min-width:0;height:180px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 82%,#0000 100%)}.time-picker-wheel{overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;height:180px;padding:72px 0;overflow-y:auto}.time-picker-wheel::-webkit-scrollbar{display:none}.time-picker-wheel-option{color:#94a3b8;font-variant-numeric:tabular-nums;scroll-snap-align:center;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:36px;padding:0;font-size:.92rem;font-weight:700;line-height:36px;display:flex}.time-picker-wheel-option.is-selected{color:var(--text-heading);font-size:1.05rem;font-weight:800}.time-range-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;width:100%;min-width:0;display:grid}.time-range-shortcuts>.time-range-shortcut-btn{justify-self:start}.time-range-durations{gap:6px;min-width:0;display:flex}.time-range-shortcut-btn{border:1px solid var(--border);background:var(--surface);min-height:24px;color:var(--text-heading);cursor:pointer;border-radius:999px;padding:3px 7px;font-size:.61rem;font-weight:700}.time-range-durations .time-range-shortcut-btn{flex:1;min-width:0}.time-range-shortcut-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.panel-time-fields{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.item-library-panel{flex-direction:column;gap:16px;margin-top:18px;display:flex}.item-library-panel--compact{gap:10px;margin-top:0}.item-library-panel--compact .item-library-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:320px;overflow-y:auto}.item-library-panel--compact .item-library-option{height:52px;min-height:52px}.item-library-panel--compact .item-library-select{min-width:0;overflow:hidden}.item-library-panel--compact .item-library-select span{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.82rem;display:-webkit-box;overflow:hidden}.item-library-panel--compact .item-library-select small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;display:block;overflow:hidden}.work-list-picker-trigger{flex-direction:column;gap:8px;display:flex}.work-list-open-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--primary);cursor:pointer;align-self:flex-start;padding:8px 14px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s}.work-list-open-btn:hover{border-color:var(--primary);background:var(--primary-light)}.work-list-selected{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary-light);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.work-list-selected span{color:var(--text-heading);font-size:.88rem;font-weight:700}.work-list-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:700}.work-list-clear-btn:hover{color:var(--primary);background:var(--primary-light)}.work-list-placeholder{color:var(--text-muted);font-size:.82rem}.work-list-modal-overlay{z-index:520;background:#0f172a73;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.work-list-modal{background:var(--surface);border-radius:var(--radius);width:min(520px,100%);max-height:min(72vh,560px);box-shadow:var(--shadow-md);flex-direction:column;animation:.2s modalPop;display:flex;overflow:hidden}@keyframes modalPop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.work-list-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.work-list-modal-header h3{margin:0;font-size:1rem;font-weight:700}.work-list-modal-body{flex:1;padding:14px 18px 10px;overflow-y:auto}.work-list-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.work-list-modal-cancel,.work-list-modal-confirm{border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-size:.82rem;font-weight:700}.work-list-modal-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.work-list-modal-confirm{border:none}.item-library-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.item-library-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:64px;color:var(--text-heading);align-items:stretch;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.item-library-option:hover,.item-library-option.selected{border-color:var(--primary);background:var(--primary-light)}.item-library-option.selected{box-shadow:inset 0 0 0 1px var(--primary)}.item-library-select{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.item-library-select span{font-size:.9rem;font-weight:700}.item-library-select small{color:var(--text-muted);font-size:.72rem;font-weight:700}.sync-message{color:var(--text-muted);grid-column:1/-1;margin:-2px 0 0;font-size:.78rem}.sync-message.loaded{color:var(--success)}.sync-message.saving{color:var(--primary)}.sync-message.saved{color:var(--success)}.sync-message.error{color:#ef4444}.manager-sync-status{margin:-6px 0 18px}.admin-page .main-description{max-width:none;margin-top:8px}.admin-tab-group{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:6px;padding:4px;display:inline-flex}.admin-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:700}.admin-tab-btn.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.admin-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-form-card h2,.admin-list-card h2{margin:0 0 16px;font-size:1rem}.admin-form-actions{gap:8px;display:flex}.admin-secondary-btn{border-color:var(--border)!important;background:var(--surface)!important;color:var(--text-muted)!important}.admin-checkbox-label{align-items:center;gap:8px;display:flex}.admin-checkbox-label input{width:auto}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 8px}.admin-table th{color:var(--text-muted);font-size:.75rem;font-weight:700}.admin-table td:last-child{width:120px}.admin-row-actions{gap:6px;display:flex}.admin-row-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;padding:4px 8px;font-size:.72rem;font-weight:700}.admin-row-actions button.danger{color:#ef4444;border-color:#fecaca}.admin-row-actions button:hover{border-color:var(--primary);color:var(--primary)}.admin-row-actions button.danger:hover{color:#ef4444;border-color:#ef4444}.manager-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:.9rem}.manager-form textarea:focus{border-color:var(--primary)}.calendar-header{flex-direction:column;gap:16px;margin-bottom:24px;display:flex;position:relative}.calendar-header-top{justify-content:flex-end;align-items:flex-start;gap:12px;width:100%;min-height:36px;display:flex}.calendar-header-top-right{flex-direction:row;align-items:center;gap:12px;margin-left:auto;display:flex}.header-nav{justify-content:center;align-items:center;gap:16px;display:flex}.header-nav h1{text-align:center;min-width:200px;font-size:1.75rem;font-weight:700}.nav-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:40px;height:40px;color:var(--text-heading);cursor:pointer;font-size:1.25rem;transition:background .15s,border-color .15s}.nav-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.header-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.action-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:6px 14px;font-size:.875rem;transition:background .15s,border-color .15s}.action-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.view-toggle-group{flex-flow:row;justify-content:center;align-items:center;gap:8px;display:flex}.view-toggle-row{background:var(--primary-light);border-radius:999px;flex-flow:row;justify-content:center;align-items:center;width:max-content;max-width:100%;padding:4px;display:flex}.view-toggle-btn{width:auto;color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:5px 12px;font-size:.82rem;font-weight:700;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.view-toggle-btn.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-sm)}.calendar-settings-wrap{z-index:20;position:relative}.calendar-settings-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:700}.calendar-settings-btn:hover{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.calendar-settings-panel{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(310px,100vw - 32px);box-shadow:var(--shadow-md);padding:14px;position:absolute;top:calc(100% + 6px);right:0}.calendar-toggle-row{color:var(--text-heading);justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-toggle-row span{flex-direction:column;gap:3px;display:flex}.calendar-toggle-row strong{font-size:.86rem}.calendar-toggle-row small{color:var(--text-muted);font-size:.74rem;line-height:1.35}.calendar-toggle-row input{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .15s;position:relative}.calendar-toggle-row input:before{width:16px;height:16px;box-shadow:var(--shadow-sm);content:"";background:#fff;border-radius:999px;transition:transform .15s;position:absolute;top:3px;left:3px}.calendar-toggle-row input:checked{background:var(--primary)}.calendar-toggle-row input:checked:before{transform:translate(16px)}.calendar-secondary-actions{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:-6px;font-size:.74rem;display:flex}.calendar-secondary-actions button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.calendar-secondary-actions button:hover{color:var(--primary);text-decoration:underline}.weekday-header{grid-template-columns:repeat(7,1fr);gap:clamp(4px,.6vw,8px);width:100%;margin-bottom:8px;padding:0 4px;display:grid}.weekday-label{text-align:center;color:var(--text-muted);padding:4px 0;font-size:.8rem;font-weight:600}.weekday-label.sunday{color:var(--sunday)}.weekday-label.saturday{color:var(--saturday)}.weeks-container{flex-direction:column;gap:18px;width:100%;display:flex}.week-section{border-top:1px solid var(--border);padding-top:12px}.week-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:0 4px 10px;transition:color .15s;display:flex}.week-header:hover{color:var(--primary)}.week-toggle-icon{color:var(--text-muted);flex-shrink:0;width:12px;font-size:.62rem}.week-label{color:var(--text-heading);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;font-size:.76rem;font-weight:700}.week-range{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.week-summary{flex-wrap:wrap;gap:8px;margin-left:auto;font-size:.8rem;display:flex}.week-task-count{color:var(--primary);font-weight:500}.week-pending,.week-empty{color:var(--text-muted)}.week-content{padding:0}.week-calendar-layout{flex-direction:column;gap:0;width:100%;display:flex}.week-grid-stack{--week-cols:7;flex-direction:column;gap:clamp(4px,.5cqi,8px);width:100%;display:flex}.week-schedule-band{width:100%;min-height:var(--span-area-height);flex-shrink:0}.week-schedule-band .spanning-bars-layer{height:var(--span-area-height);justify-content:flex-start;gap:var(--span-bar-gap);pointer-events:none;flex-direction:column-reverse;display:flex}.week-grid-stack .week-grid,.week-grid-stack .split-week-grid{flex-shrink:0}.week-section .week-calendar-layout{gap:0;container:week-calendar/inline-size}.week-grid{grid-template-columns:repeat(var(--week-cols,7), minmax(0, 1fr));gap:clamp(4px,.6vw,8px);width:100%;display:grid}.week-grid.split-week-grid{gap:clamp(6px,.45cqi,10px)}.week-grid:not(.weekly-grid) .day-cell,.weekly-grid .day-cell,.split-week-grid .day-cell,.weekend-split-half{gap:clamp(2px,1.4cqi,14px);padding:clamp(2px,1.1cqi,10px);container:day-cell/inline-size}.weekly-calendar-view{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.weekly-summary{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:.86rem;display:flex}.weekly-summary strong{color:var(--primary)}.weekly-calendar-layout{flex-direction:column;gap:0;width:100%;display:flex;container:week-calendar/inline-size}.weekly-calendar-weeks{flex-direction:column;gap:18px;display:flex}.weekly-calendar-week-block{flex-direction:column;gap:8px;display:flex}.weekly-week-label{color:var(--text-muted);padding:0 2px;font-size:.82rem;font-weight:700}.weekly-calendar-view .spanning-bars-layer{gap:var(--span-bar-gap)}.weekly-calendar-view .spanning-bar-row{height:var(--span-bar-height);margin-bottom:0}.weekly-grid .day-cell{aspect-ratio:4/5;height:auto;min-height:160px;max-height:none}.split-week-calendar-view{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.split-week-calendar-weeks{flex-direction:column;gap:18px;display:flex}.split-week-week-block{flex-direction:column;gap:8px;display:flex}.split-week-week-label{color:var(--text-muted);padding:0 2px;font-size:.82rem;font-weight:700}.split-week-calendar-layout{flex-direction:column;gap:clamp(14px,1.8cqi,24px);width:100%;display:flex;container:split-calendar/inline-size}.split-week-row-group{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:0;padding:0;display:flex;container:week-calendar/inline-size}.split-week-row-group+.split-week-row-group{background:0 0}.split-spanning-band{pointer-events:none}.split-week-grid .day-cell{aspect-ratio:auto;height:auto;min-height:144px;max-height:none;overflow:hidden}.agenda-view{flex-direction:column;gap:14px;width:100%;max-width:760px;margin:0 auto;display:flex}.agenda-overdue{border:1px solid color-mix(in srgb, var(--sunday) 40%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--sunday) 6%, var(--surface));padding:12px 14px}.agenda-overdue-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.agenda-overdue-header strong{color:var(--sunday);font-size:.84rem;font-weight:800}.agenda-overdue-more{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;margin-top:6px;padding:4px 10px;font-size:.7rem;font-weight:700}.agenda-overdue-header em{color:var(--text-muted);font-size:.74rem;font-style:normal;font-weight:700}.agenda-days{flex-direction:column;gap:4px;display:flex}.agenda-day{border-radius:var(--radius-sm);border:1px solid #0000;padding:10px 12px 8px}.agenda-day.is-today{border-color:color-mix(in srgb, var(--primary) 35%, transparent);background:var(--primary-soft)}.agenda-day-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.agenda-day-label{cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:0;display:inline-flex}.agenda-day-label strong{color:var(--text-heading);font-size:.98rem;font-weight:800}.agenda-day-label span{color:var(--text-muted);font-size:.78rem;font-weight:700}.agenda-today-badge{background:var(--primary);color:var(--text-on-accent);border-radius:999px;padding:2px 7px;font-size:.62rem;font-style:normal;font-weight:800}.agenda-day-progress{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:700}.agenda-list{flex-direction:column;gap:2px;margin:6px 0 0;padding:0;list-style:none;display:flex}.agenda-item{border-left:3px solid var(--category-accent-academy);border-radius:2px;align-items:center;gap:8px;padding:5px 4px 5px 9px;display:flex}.agenda-item.category-personal{border-left-color:var(--category-accent-personal)}.agenda-check{border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;box-sizing:border-box;flex-shrink:0;width:15px;height:15px;padding:0}.agenda-check--todo{border-radius:50%}.agenda-check--schedule{border-radius:4px}.agenda-check.is-done{border-color:var(--success);background:var(--success)}.agenda-item-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.agenda-item-title{min-width:0;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;line-height:1.35;overflow:hidden}.agenda-item.is-done .agenda-item-title{color:var(--text-muted);text-decoration:line-through}.agenda-priority{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.62rem;font-style:normal;font-weight:800}.agenda-priority.is-veryHigh{background:color-mix(in srgb, var(--sunday) 16%, transparent);color:var(--sunday)}.agenda-time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:.72rem;font-style:normal;font-weight:700}.agenda-move-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:.68rem;font-weight:700}.agenda-move-btn:hover{border-color:var(--primary);color:var(--primary)}.agenda-quick-add{align-items:center;gap:6px;margin-top:4px;padding-left:9px;display:flex}.agenda-quick-add-plus{color:var(--text-muted);font-size:.9rem;font-weight:700}.agenda-view .agenda-quick-add-input{min-width:0;color:var(--text-heading);box-shadow:none;background:0 0;border:none;border-bottom:1px dashed #0000;border-radius:0;flex:1;padding:4px 2px;font-size:.8rem}.agenda-view .agenda-quick-add-input:focus{border-bottom-color:var(--primary);box-shadow:none;outline:none}.agenda-quick-add-input::placeholder{color:var(--text-muted);opacity:.7}.agenda-quick-add-input:focus{border-bottom-color:var(--primary);outline:none}.agenda-quick-add-submit{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:.68rem;font-weight:800}@media (width<=640px){.agenda-item-title{font-size:.735rem}.agenda-time{font-size:.66rem}}.vertical-split-memo{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:6px;padding:clamp(10px,1.1vw,14px);display:flex}.vertical-split-memo-label{color:var(--text-heading);font-size:.9rem;font-weight:700}.vertical-split-memo textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;min-height:160px;font:inherit;color:var(--text);padding:10px 12px;font-size:.85rem;line-height:1.5}.vertical-split-memo textarea:focus{border-color:var(--primary);background:var(--surface);outline:none}.cascade-week-view{flex-direction:column;gap:14px;min-width:0;display:flex}.cascade-week-toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.cascade-week-toolbar .cascade-span-toggle{margin-left:auto}.cascade-preset-row{gap:6px;display:inline-flex}.cascade-preset-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);letter-spacing:.01em;cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:.74rem;font-weight:700;transition:border-color .15s,color .15s}.cascade-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.cascade-outside-chip{border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:.72rem;font-weight:700}.cascade-outside-chip:hover,.cascade-outside-chip.is-active{border-style:solid;border-color:var(--primary);color:var(--primary)}.cascade-preset-save-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.cascade-preset-save-btn{white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-width:0;min-height:34px;color:var(--text-heading);cursor:pointer;border-radius:999px;flex:1;padding:7px 10px;font-size:.74rem;font-weight:700}.cascade-preset-save-btn:hover:not(:disabled),.cascade-preset-save-btn.is-pending{border-color:var(--primary);color:var(--primary)}.cascade-preset-confirm{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;display:flex}.cascade-preset-confirm p{color:var(--text-heading);margin:0;font-size:.78rem;font-weight:700}.cascade-preset-confirm-actions{gap:6px;margin-left:auto;display:flex}.cascade-preset-confirm-cancel,.cascade-preset-confirm-save{cursor:pointer;border-radius:999px;min-height:30px;padding:6px 14px;font-size:.74rem;font-weight:700}.cascade-preset-confirm-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.cascade-preset-confirm-save{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.cascade-preset-save-btn:disabled{opacity:.45;cursor:not-allowed}.cascade-preset-toast{z-index:400;background:color-mix(in srgb, var(--text-heading) 88%, transparent);color:var(--surface);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);border-radius:999px;margin:0;padding:10px 18px;font-size:.8rem;font-weight:700;animation:1.6s forwards cascade-preset-toast;position:fixed;top:50%;left:50%}@keyframes cascade-preset-toast{0%{opacity:0;transform:translate(-50%,-46%)}12%{opacity:1;transform:translate(-50%,-50%)}70%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-54%)}}.cascade-span-toggle{border:1px solid var(--border);background:var(--bg-subtle);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.cascade-span-toggle button{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:700}.cascade-span-toggle button.is-active{color:#fff;background:#0f172a}.cascade-hour-slider{color:var(--text-heading);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:inline-flex}.cascade-hour-slider input[type=range]{width:min(160px,36vw)}.cascade-hour-slider em{color:var(--text-muted);font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.cascade-toolbar-chip,.cascade-mobile-day-nav button,.cascade-collapse-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-heading);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:.76rem;font-weight:700}.cascade-hours-settings{width:min(100%,420px)}.cascade-hours-settings .cascade-hour-slider{width:100%;margin-top:4px;display:flex}.cascade-hours-settings .cascade-hour-slider input[type=range]{flex:1;width:auto;min-width:0}.cascade-hours-time-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0;margin-top:4px;display:grid}.cascade-hours-settings .cascade-hours-time-row input[type=time]{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text-heading);font-variant-numeric:tabular-nums;outline:none;padding:10px 8px;font-size:16px}.cascade-hours-time-row input[type=time]:focus{border-color:var(--primary)}.cascade-hours-midnight{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-heading);cursor:pointer;border-radius:999px;align-self:flex-end;padding:6px 12px;font-size:.76rem;font-weight:700}.cascade-hours-midnight.is-active,.cascade-hours-midnight:hover{border-color:var(--primary);color:var(--primary)}.cascade-hours-settings-preview,.cascade-hours-settings-error{text-align:center;margin:4px 0 0;font-size:.82rem;font-weight:700}.cascade-hours-settings-preview{color:var(--primary);font-variant-numeric:tabular-nums}.cascade-hours-settings-error{color:#dc2626}.cascade-hours-settings-footer{border-top:1px solid var(--grid-border);justify-content:flex-end;gap:8px;padding:12px 20px 18px;display:flex}.cascade-hours-settings-apply{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:999px;min-height:32px;padding:7px 14px;font-size:.76rem;font-weight:700}.cascade-hours-settings-apply:disabled{opacity:.45;cursor:not-allowed}.cascade-toolbar-chip.is-active,.cascade-toolbar-chip:hover,.cascade-mobile-day-nav button:hover:not(:disabled),.cascade-collapse-btn:hover{border-color:var(--primary);color:var(--primary)}.cascade-mobile-day-nav{justify-content:space-between;align-items:center;gap:8px;display:none}.cascade-board{background:var(--surface);border:1px solid #e8edf3;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px #0f172a0a}.cascade-board-header,.cascade-allday-row,.cascade-board-body{min-width:0;display:grid}.cascade-corner-cell,.cascade-allday-label{border-right:1px solid var(--grid-border);border-bottom:1px solid var(--grid-border);background:var(--surface)}.cascade-allday-label{color:#94a3b8;letter-spacing:.02em;justify-content:flex-end;align-items:center;padding:0 10px;font-size:.68rem;font-weight:700;display:flex}.cascade-day-heading{border:none;border-right:1px solid var(--grid-border);border-bottom:1px solid var(--grid-border);background:var(--surface);min-height:64px;color:var(--text-muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px 6px 12px;display:flex}.cascade-day-heading:last-child{border-right:none}.cascade-day-heading-week{letter-spacing:.04em;font-size:.68rem;font-weight:700}.cascade-day-heading-date{color:var(--text-heading);font-size:1.15rem;font-weight:800;line-height:1}.cascade-day-heading.is-today,.cascade-day-heading.is-today .cascade-day-heading-date{color:var(--primary)}.cascade-allday-cell{border-right:1px solid var(--grid-border);border-bottom:1px solid var(--grid-border);flex-direction:column;gap:4px;min-width:0;padding:6px;display:flex}.cascade-allday-cell:last-child{border-right:none}.cascade-board-body{align-items:stretch;position:relative}.cascade-time-axis{border-right:1px solid var(--grid-border);background:var(--surface);height:100%;position:relative}.cascade-time-label{color:#94a3b8;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem;font-weight:700;line-height:1.2;position:absolute;right:10px;transform:translateY(-50%)}.cascade-time-label.is-flush-top{transform:translateY(3px)}.cascade-now-badge{z-index:5;background:var(--primary);color:var(--text-on-accent);font-variant-numeric:tabular-nums;box-shadow:0 4px 10px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:800;position:absolute;right:6px;transform:translateY(-50%)}.cascade-days-canvas{background:var(--surface);min-width:0;height:100%;display:grid;position:relative}.cascade-now-line{z-index:4;background:var(--primary);pointer-events:none;height:2px;position:absolute;left:0;right:0}.cascade-now-line:before{content:"";background:var(--primary);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.cascade-day-column{border-right:1px solid var(--grid-border);min-width:0;height:100%;position:relative}.cascade-day-column:last-child{border-right:none}.cascade-day-column.is-creatable{cursor:cell}.cascade-day-column.is-creatable .cascade-card,.cascade-day-column.is-creatable .cascade-cluster-expanded{cursor:pointer}.cascade-day-column.is-today{background:color-mix(in srgb, var(--primary) 2%, transparent)}.cascade-hour-line{border-top:1px solid var(--grid-line);pointer-events:none;position:absolute;left:0;right:0}.cascade-cluster{position:absolute;left:6px;right:6px}.cascade-expanded-item,.cascade-card{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:stretch;gap:0;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.cascade-all-day-schedule,.cascade-card{background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--text-heading)}.cascade-card.category-academy,.cascade-all-day-schedule.category-academy,.cascade-expanded-item.category-academy{background:color-mix(in srgb, var(--category-accent-academy) 11%, var(--surface))}.cascade-card.category-personal,.cascade-all-day-schedule.category-personal,.cascade-expanded-item.category-personal{background:color-mix(in srgb, var(--category-accent-personal) 13%, var(--surface))}.cascade-all-day-schedule{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:stretch;width:100%;min-height:30px;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.cascade-all-day-schedule-body{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;padding:5px 10px;display:flex}.cascade-all-day-schedule .cascade-card-title{padding:0}.cascade-all-day-schedule.is-completed .cascade-card-title{color:#94a3b8;text-decoration:line-through}.cascade-all-day-todo{border:1px dashed var(--border-strong);background:var(--surface);box-sizing:border-box;border-radius:8px;align-items:center;gap:6px;width:100%;min-height:28px;padding:3px 8px 3px 6px;display:flex}.cascade-all-day-todo.category-academy{border-color:color-mix(in srgb, var(--primary) 35%, transparent);background:color-mix(in srgb, var(--category-accent-academy) 4%, var(--surface))}.cascade-all-day-todo.category-personal{border-color:color-mix(in srgb, var(--category-accent-personal) 32%, transparent);background:color-mix(in srgb, var(--category-accent-personal) 4%, var(--surface))}.cascade-all-day-todo.is-important{border-style:solid}.cascade-all-day-todo-check{background:var(--surface);cursor:pointer;box-sizing:border-box;border:2px solid #94a3b8;border-radius:50%;flex-shrink:0;width:14px;height:14px;padding:0;transition:background .12s,border-color .12s}.cascade-all-day-todo-check.category-academy{border-color:var(--primary)}.cascade-all-day-todo-check.category-personal{border-color:var(--category-accent-personal)}.cascade-all-day-todo-check.is-done{background-color:#94a3b8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:9px 9px;border-color:#94a3b8}.cascade-all-day-todo-text{min-width:0;color:var(--text-heading);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:.74rem;font-weight:600;line-height:1.25;overflow:hidden}.cascade-all-day-todo.is-completed .cascade-all-day-todo-text{color:#94a3b8;font-weight:500;text-decoration:line-through}.cascade-card{transition:box-shadow .15s,border-color .15s,transform .15s;position:absolute;left:0}.cascade-card:hover,.cascade-card:focus-visible{border-color:color-mix(in srgb, var(--primary) 35%, transparent);outline:none;box-shadow:0 8px 20px #0f172a1f;z-index:40!important}.cascade-card-body,.cascade-expanded-body{flex:1;min-width:0;padding:8px 10px}.cascade-card-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text-heading);font-size:.78rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.cascade-card-time{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.68rem;font-weight:600;display:block;overflow:hidden}.cascade-overflow-badge{color:#fff;text-align:center;background:#0f172a;border-radius:999px;min-width:22px;height:18px;padding:0 5px;font-size:.62rem;font-weight:800;line-height:18px;position:absolute;top:6px;right:6px}.cascade-cluster-expanded{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;padding:10px;animation:.18s cascade-expand-in;display:flex;position:absolute;left:6px;right:6px;box-shadow:0 14px 32px #0f172a1f}@keyframes cascade-expand-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.cascade-expanded-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cascade-expanded-item{background:var(--bg-subtle);width:100%;min-height:58px;padding:0}.cascade-expanded-body{flex-direction:column;gap:2px;display:flex}.cascade-expanded-body strong{color:var(--text-heading);font-size:.86rem}.cascade-expanded-body small{color:#64748b;font-size:.72rem;font-weight:600}.cascade-collapse-btn{align-self:center}@media (width<=640px){.cascade-week-toolbar{justify-content:flex-start}.cascade-week-toolbar .cascade-span-toggle{display:none}.cascade-mobile-day-nav{display:flex}.cascade-mobile-date-picker{flex:1;min-width:0}.cascade-mobile-date-picker .date-picker-trigger{justify-content:center;min-height:36px;padding:7px 10px;font-size:.82rem}.cascade-board-header,.cascade-allday-row,.cascade-board-body,.cascade-days-canvas{grid-template-columns:56px minmax(0,1fr)!important}.cascade-days-canvas{display:block}.cascade-day-column{border-right:none;position:absolute;inset:0}}.day-cell--split{align-items:flex-start}.split-cell-date-label{flex-shrink:0;align-items:center;gap:5px;line-height:1;display:inline-flex}.split-cell-weekday,.weekend-split-weekday{color:var(--text-muted);flex-shrink:0;font-size:clamp(.65rem,8cqi,.92rem);font-weight:700;line-height:1}.split-span-weekend-tag{min-width:1.1rem;color:inherit;background:#ffffff8c;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;padding:0 4px;font-size:.58rem;font-weight:700;display:inline-flex}.weekend-split-cell{aspect-ratio:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);z-index:1;flex-direction:column;min-height:144px;display:flex;position:relative;overflow:hidden}.weekend-split-half{text-align:left;width:100%;min-height:0;font:inherit;cursor:pointer;border:none;flex-direction:column;flex:auto;align-items:flex-start;gap:clamp(2px,1.4cqi,14px);margin:0;padding:clamp(2px,1.1cqi,10px);transition:border-color .15s,box-shadow .15s,filter .15s;display:flex;overflow:visible}.weekend-split-half.saturday{background:var(--saturday-cell-bg)}.weekend-split-half.sunday{background:var(--sunday-cell-bg)}.weekend-split-half:hover{filter:brightness(.98)}.weekend-split-half:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.weekend-split-cell:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.weekend-split-divider{background:var(--border);flex-shrink:0;height:1px}.weekend-split-half .day-tasks-preview{width:100%;margin-top:0}.spanning-bars-layer{justify-content:flex-start;gap:var(--span-bar-gap);pointer-events:none;flex-direction:column-reverse;flex-shrink:0;display:flex}.week-section .spanning-bars-layer{gap:var(--span-bar-gap)}.spanning-bar-row{grid-template-columns:repeat(var(--week-cols,7), minmax(0, 1fr));height:var(--span-bar-height);flex-shrink:0;align-items:end;gap:clamp(4px,.6vw,8px);margin-bottom:0;display:grid}.split-week-section .week-grid-stack .spanning-bar-row,.split-week-section .week-grid-stack .week-grid.split-week-grid{gap:clamp(6px,.45cqi,10px)}.week-section .spanning-bar-row{height:var(--span-bar-height);gap:clamp(2px,.55cqi,8px);margin-bottom:0}.week-section .week-grid-stack .week-grid,.week-section .week-grid-stack .spanning-bar-row{gap:clamp(2px,.55cqi,8px)}.week-grid-stack .week-grid,.week-grid-stack .spanning-bar-row{gap:clamp(4px,.6vw,8px)}.spanning-bar-row:last-child{margin-bottom:0}.spanning-bar{height:var(--span-bar-height);text-align:center;cursor:pointer;pointer-events:auto;background:var(--surface);min-width:0;color:var(--schedule-bar-text);border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 8px;font-size:.68rem;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.week-section .spanning-bar{height:var(--span-bar-height);min-height:var(--span-bar-height);border-radius:4px;padding:0 8px;font-size:.68rem;line-height:1.2}.week-section .span-bar-text{line-height:1.2}.spanning-bar:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.spanning-bar.completed{opacity:.6}.spanning-bar.completed .span-bar-text{text-decoration:line-through}.span-bar-text{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;overflow:hidden}.week-collapsed-preview{flex-wrap:wrap;gap:6px;padding:0 4px 2px 26px;display:flex}.collapsed-chip{background:var(--primary-light);color:var(--primary);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:160px;padding:3px 10px;font-size:.75rem;overflow:hidden}.collapsed-chip.done{background:var(--primary-light);color:var(--text-muted);text-decoration:line-through}.collapsed-chip.more{background:var(--primary-light);color:var(--text-muted)}.day-cell{aspect-ratio:5/4;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;width:100%;min-width:0;height:auto;min-height:72px;max-height:none;padding:clamp(4px,.5vw,8px);transition:border-color .15s,box-shadow .15s,background .15s;display:flex;position:relative;overflow:hidden}.day-cell:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.day-cell.other-month{opacity:.45}.day-number{color:var(--text-heading);flex-shrink:0;font-size:.875rem;font-weight:600;line-height:1}.week-grid:not(.weekly-grid) .day-number,.weekly-grid .day-number,.split-week-grid .day-number,.split-week-grid .day-number,.weekend-split-half .day-number{font-size:clamp(.75rem,9cqi,1.05rem);line-height:clamp(1,.92 + .08cqi,1.15)}.day-number.today{background:var(--today-bg);color:var(--today-text);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:999px;padding:2px 6px}.week-grid:not(.weekly-grid) .day-number.today,.weekly-grid .day-number.today,.split-week-grid .day-number.today,.split-week-grid .day-number.today,.weekend-split-half .day-number.today{border-radius:clamp(3px,.8cqi,5px);padding:clamp(1px,.45cqi,3px) clamp(4px,1.2cqi,8px)}.split-week-grid .day-number,.split-week-grid .day-number,.weekend-split-half .day-number{font-size:clamp(.68rem,7.5cqi,.92rem)}.split-week-grid .split-cell-weekday,.split-week-grid .split-cell-weekday,.weekend-split-half .weekend-split-weekday{font-size:clamp(.58rem,6.5cqi,.8rem)}.split-week-grid .day-number.today,.split-week-grid .day-number.today,.weekend-split-half .day-number.today{padding:clamp(1px,.35cqi,2px) clamp(3px,1cqi,7px)}.day-tasks-preview{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;width:100%;min-width:0;min-height:0;margin:6px 0 0;padding:0 2px 0 0;list-style:none;overflow:hidden auto}.week-grid:not(.weekly-grid) .day-tasks-preview,.weekly-grid .day-tasks-preview,.split-week-grid .day-tasks-preview,.split-week-grid .day-tasks-preview,.weekend-split-half .day-tasks-preview{flex-direction:column;gap:clamp(1px,.45cqi,6px);margin-top:0;padding-right:clamp(0px,.4cqi,4px);display:flex}.split-week-grid .day-tasks-preview,.split-week-grid .day-tasks-preview,.weekend-split-half .day-tasks-preview{flex:0 auto;overflow:visible}.day-tasks-preview::-webkit-scrollbar{width:4px}.week-grid:not(.weekly-grid) .day-tasks-preview::-webkit-scrollbar{width:clamp(3px,.55cqi,6px)}.weekly-grid .day-tasks-preview::-webkit-scrollbar{width:clamp(3px,.55cqi,6px)}.split-week-grid .day-tasks-preview::-webkit-scrollbar{width:clamp(3px,.55cqi,6px)}.split-week-grid .day-tasks-preview::-webkit-scrollbar{width:clamp(3px,.55cqi,6px)}.weekend-split-half .day-tasks-preview::-webkit-scrollbar{width:clamp(3px,.55cqi,6px)}.day-tasks-preview::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.day-tasks-preview::-webkit-scrollbar-track{background:0 0}.day-tasks-preview li{color:var(--text);white-space:normal;overflow-wrap:anywhere;word-break:break-word;align-items:flex-start;gap:5px;margin-bottom:2px;padding:2px 0;font-size:.62rem;line-height:1.2;display:flex}.day-tasks-preview li:before{content:"";border:1.5px solid var(--border-strong);box-sizing:border-box;background:#fff;border-radius:50%;flex-shrink:0;align-self:flex-start;width:9px;height:9px;margin-top:calc(.5lh - 4.5px)}.week-grid:not(.weekly-grid) .day-tasks-preview li,.weekly-grid .day-tasks-preview li,.split-week-grid .day-tasks-preview li,.split-week-grid .day-tasks-preview li,.split-week-grid .day-tasks-preview li,.weekend-split-half .day-tasks-preview li{gap:clamp(3px,.6cqi,6px);margin-bottom:0;padding-top:clamp(0px,.3cqi,4px);padding-bottom:clamp(0px,.3cqi,4px);font-size:clamp(.55rem,7.5px + 2cqi,12.5px);line-height:clamp(1.1,.95 + .1cqi,1.35)}.week-grid:not(.weekly-grid) .day-tasks-preview li:not(.completed)+li.completed,.weekly-grid .day-tasks-preview li:not(.completed)+li.completed,.split-week-grid .day-tasks-preview li:not(.completed)+li.completed,.split-week-grid .day-tasks-preview li:not(.completed)+li.completed,.weekend-split-half .day-tasks-preview li:not(.completed)+li.completed{margin-top:clamp(3px,.45cqi,5px)}.week-grid:not(.weekly-grid) .day-tasks-preview li:before,.weekly-grid .day-tasks-preview li:before,.split-week-grid .day-tasks-preview li:before,.split-week-grid .day-tasks-preview li:before,.weekend-split-half .day-tasks-preview li:before{--todo-check-size:clamp(7px, 1.8cqi, 11px);width:var(--todo-check-size);height:var(--todo-check-size);margin-top:calc((1lh - var(--todo-check-size)) / 2);border-width:clamp(1px,.35cqi,1.5px)}.day-tasks-preview li.completed{opacity:.6;text-decoration:line-through}.day-tasks-preview li:not(.completed)+li.completed{margin-top:4px}.day-tasks-preview li.completed:before{border-color:var(--text-muted);background-color:var(--text-muted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:70% 70%}.day-tasks-preview li.more{color:var(--primary);font-weight:500}.day-tasks-preview li.more:before{display:none}.spanning-bar.category-academy{background:var(--surface);color:var(--schedule-bar-text);border:1px solid var(--border);border-left:var(--schedule-bar-accent-width) solid var(--schedule-bar-accent-academy);box-shadow:none}.spanning-bar.category-personal{background:var(--surface);color:var(--schedule-bar-text);border:1px solid var(--border);border-left:var(--schedule-bar-accent-width) solid var(--schedule-bar-accent-personal);box-shadow:none}.spanning-bar.category-academy:hover,.spanning-bar.category-personal:hover{background:var(--surface);border-color:var(--border-strong)}.spanning-bar.is-important{background:#fef2f2;border-color:#fca5a5;font-weight:800;box-shadow:0 0 0 1px #ef44442e}.spanning-bar.is-important .span-bar-text{color:#b91c1c}.day-tasks-preview li.is-important{color:#b91c1c;font-weight:800}.day-tasks-preview li.is-important:before{background:#fecaca;border-color:#ef4444!important}.day-task-check.is-important{background:var(--surface);border-color:#ef4444!important}.day-task-check.is-important.is-done{background-color:#ef4444!important;border-color:#ef4444!important}.day-schedule-check.is-important{background:0 0;border-color:#ef4444!important}.day-schedule-check.is-important.is-done{background-color:#ef4444!important;border-color:#ef4444!important}.day-schedule-pill.is-important{color:#b91c1c;outline-offset:0;background:#fef2f2;outline:2px solid #ef44448c;font-weight:800}.task-important-badge{color:#b91c1c;letter-spacing:-.01em;vertical-align:middle;background:#fef2f2;border:1px solid #fca5a5;border-radius:999px;align-items:center;margin-right:6px;padding:1px 6px;font-size:.68rem;font-style:normal;font-weight:800;display:inline-flex}.task-item.is-important .task-title,.dashboard-todo-item.is-important .dashboard-todo-text span{color:#b91c1c;font-weight:800}.dashboard-todo-item.is-important input{accent-color:#ef4444}.day-tasks-preview li.category-academy:before{border-width:2px;border-color:var(--category-accent-academy)}.day-tasks-preview li.category-personal:before{border-width:2px;border-color:var(--category-accent-personal)}.week-grid:not(.weekly-grid) .day-tasks-preview li.category-academy:before,.weekly-grid .day-tasks-preview li.category-academy:before,.split-week-grid .day-tasks-preview li.category-academy:before,.split-week-grid .day-tasks-preview li.category-academy:before,.weekend-split-half .day-tasks-preview li.category-academy:before,.week-grid:not(.weekly-grid) .day-tasks-preview li.category-personal:before,.weekly-grid .day-tasks-preview li.category-personal:before,.split-week-grid .day-tasks-preview li.category-personal:before,.split-week-grid .day-tasks-preview li.category-personal:before,.weekend-split-half .day-tasks-preview li.category-personal:before{border-width:clamp(1.5px,.45cqi,2px)}.day-tasks-preview li.category-academy.completed:before,.day-tasks-preview li.category-personal.completed:before{border-color:var(--text-muted);background-color:var(--text-muted)}.day-list-tags{flex-wrap:wrap;gap:2px;width:100%;margin-top:4px;display:flex}.list-tag{background:var(--primary-light);color:var(--primary);border-radius:3px;padding:1px 4px;font-size:.55rem;font-weight:600;line-height:1.3}.preview-list-name{color:var(--primary);margin-right:3px;font-size:.6rem;font-weight:600}.preview-range{color:#a16207;background:#fef9c3;border-radius:2px;margin-right:3px;padding:0 3px;font-size:.55rem;font-weight:600}.collapsed-chip .chip-list{opacity:.8;margin-right:4px;font-weight:600}.chip-range{opacity:.85;margin-right:4px;font-size:.65rem}.pending-badge{background:var(--btn-primary-bg);min-width:18px;height:18px;color:var(--btn-primary-text);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.65rem;font-weight:600;display:flex;position:absolute;top:6px;right:6px}.panel-overlay{-webkit-backdrop-filter:blur(2px);z-index:500;background:#0f172a40;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.panel-overlay--center{justify-content:center;align-items:center;padding:24px 16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.day-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:100%;max-width:420px;height:100%;animation:.25s slideIn;display:flex;box-shadow:-4px 0 24px #0f172a1a}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.day-panel--center{border-left:none;border-radius:20px;max-width:480px;height:auto;max-height:min(88vh,760px);animation:.2s modalPop;box-shadow:0 18px 48px #0f172a2e}@keyframes dayPanelSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 20px 16px;display:flex}.panel-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-back-btn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-heading);cursor:pointer;border-radius:999px;padding:0 12px;font-size:.76rem;font-weight:700}.panel-back-btn:hover{border-color:var(--primary);color:var(--primary)}.day-wizard-choices{gap:10px;display:grid}.day-wizard-choice{border:1px solid var(--primary-light);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:16px 18px;display:flex}.day-wizard-choice strong{color:var(--text-heading);font-size:1rem;font-weight:800}.day-wizard-choice span{color:var(--text-muted);font-size:.8rem;font-weight:600;line-height:1.4}.day-wizard-choice:hover{border-color:var(--primary);box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 10%, transparent);background:#f8fbff}.day-wizard-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.day-wizard-category-card{min-height:104px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:20px 18px;display:flex}.day-wizard-category-card.category-academy{background:color-mix(in srgb, var(--category-accent-academy) 11%, var(--surface));color:color-mix(in srgb, var(--category-accent-academy) 72%, var(--text-heading))}.day-wizard-category-card.category-personal{background:color-mix(in srgb, var(--category-accent-personal) 13%, var(--surface));color:color-mix(in srgb, var(--category-accent-personal) 72%, var(--text-heading))}.day-wizard-category-card strong{font-size:1.05rem;font-weight:800;line-height:1.2}.day-wizard-category-desc{color:inherit;opacity:.72;font-size:.76rem;font-weight:600;line-height:1.35}.day-wizard-category-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.day-wizard-category-card.category-academy:hover{border-color:var(--primary)}.day-wizard-category-card.category-personal:hover{border-color:var(--category-accent-personal)}.day-panel-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 0 24px;display:flex;overflow-y:auto}.panel-header h2{font-size:1.125rem;font-weight:700}.panel-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.close-btn{border-radius:var(--radius-sm);background:var(--primary-light);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:none;flex-shrink:0;font-size:.875rem}.close-btn:hover{background:var(--border);color:var(--text-heading)}.panel-section{flex-direction:column;flex-shrink:0;gap:12px;padding:0 20px;display:flex}.panel-section-title{margin:0;font-size:1rem;font-weight:700}.panel-section-desc{color:var(--text-muted);margin:0;font-size:.75rem}.panel-section-divider{background:var(--border);flex-shrink:0;height:1px;margin:0 20px}.panel-item-list{margin-top:4px}.day-panel-body .empty-state{padding:12px 0 4px;font-size:.85rem}.chip-kind{margin-right:4px;font-size:.65rem;font-weight:700}.add-list-form{background:0 0;gap:8px;padding:0 0 12px;display:flex}.add-list-form input{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;padding:8px 12px;font-size:.85rem}.add-list-form input:focus{border-color:var(--primary)}.add-list-form button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:8px 12px;font-size:.8rem;font-weight:600}.add-list-form button:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.add-list-form button:disabled{opacity:.5;cursor:not-allowed}.add-task-form{gap:8px;display:flex}.list-add-form{margin-top:4px;padding:8px 0 0}.list-add-form input{padding:8px 10px;font-size:.85rem}.list-add-form button{padding:8px 12px;font-size:.8rem}.add-task-form input{border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.add-task-form input:focus{border-color:var(--primary)}.add-task-form button{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 16px;font-size:.875rem;font-weight:600;transition:background .15s}.add-task-form button:hover:not(:disabled){background:var(--btn-primary-hover)}.task-lists{padding:0}.task-list-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--primary-light);margin-bottom:16px;padding:14px}.task-list-section:last-child{margin-bottom:0}.list-section-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.list-title-row{align-items:center;gap:8px;display:flex}.list-color-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.task-list-section:nth-child(2) .list-color-dot{background:#8b5cf6}.task-list-section:nth-child(3) .list-color-dot{background:#f59e0b}.task-list-section:nth-child(4) .list-color-dot{background:#10b981}.task-list-section:nth-child(5) .list-color-dot{background:#ec4899}.list-section-header h3{font-size:.95rem;font-weight:700}.list-count{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.75rem}.delete-list-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.7rem}.delete-list-btn:hover{color:#ef4444;background:#fef2f2}.completed-group{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.completed-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.7rem;font-weight:600;display:block}.spanning-section{border-style:dashed}.spanning-dot{background:#a16207}.range-options{margin-top:8px}.range-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.8rem;display:flex}.range-toggle input{accent-color:var(--primary)}.range-fields{align-items:center;gap:8px;margin-top:8px;font-size:.8rem;display:flex}.range-start{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.75rem}.range-arrow{color:var(--text-muted)}.range-fields input[type=date]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:.8rem}.task-text-wrap{flex-direction:column;gap:2px;display:flex}.task-text-meta{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.task-text-meta .task-important-badge{margin-right:0}.task-list-label{color:var(--primary);font-size:.7rem;font-weight:600}.task-category-label{color:var(--primary);font-size:.7rem;font-weight:700}.task-range-label{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:.7rem}.panel-add-form{flex-direction:column;gap:8px;display:flex}.panel-quick-add-toolbar{justify-content:flex-end;margin-bottom:2px;display:flex}.panel-work-list-open-btn{border:1px solid var(--border);background:var(--surface);color:var(--primary);cursor:pointer;border-radius:999px;padding:4px 8px;font-size:.61rem;font-weight:600;transition:background .15s,border-color .15s}.panel-work-list-open-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.panel-work-list-selection{flex-direction:column;gap:6px;display:flex}.panel-quick-add-form{border:1px solid var(--primary-light);border-radius:var(--radius-sm);background:var(--primary-soft);flex-direction:column;gap:10px;margin-bottom:0;padding:10px 12px 12px;display:flex;position:relative}.panel-name-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;display:grid}.panel-name-row input[type=text]{width:100%;min-width:0}.panel-name-row .panel-work-list-open-btn{white-space:nowrap;flex-shrink:0}.panel-quick-add-form .panel-category-field{min-width:0;padding-right:7.5rem}.panel-work-list-field{gap:6px}.panel-add-form input[type=text],.panel-add-form input[type=date],.panel-add-form input[type=time],.panel-add-form select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);outline:none;padding:10px 12px;font-size:.9rem}.day-panel .panel-add-form .panel-name-input,.day-panel .task-edit-form .panel-name-input{font-size:.765rem}.panel-add-form input:focus,.panel-add-form select:focus{border-color:var(--primary)}.panel-add-row{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex}.panel-date-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:8px;width:100%;display:grid}.panel-category-field,.panel-date-field{min-width:130px;color:var(--text-muted);flex-direction:column;flex:1;gap:6px;font-size:.78rem;font-weight:700;display:flex}.panel-category-field .manager-category-boxes{margin-top:2px}.panel-important-field{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:34px;margin-left:6px;display:inline-flex}.panel-important-check{accent-color:#ef4444;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:0}.panel-important-label{color:var(--text-heading);font-size:.8rem;font-weight:700;line-height:1.2}.panel-important-field:has(.panel-important-check:checked) .panel-important-label{color:#b91c1c}.panel-priority-field{flex-direction:column;gap:2px;margin-top:4px;font-size:.7rem;display:flex}.panel-time-row{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-items:stretch;gap:8px;width:100%;min-width:0;display:grid}.panel-time-row .field-label{flex-direction:column;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.panel-time-row input[type=time]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:40px;padding-left:8px;padding-right:8px}.panel-time-row input[type=time]::-webkit-calendar-picker-indicator{flex-shrink:0;margin-left:0}.panel-time-row input[type=time]::-webkit-datetime-edit{min-width:0;overflow:hidden}.panel-add-form .range-fields{margin-top:0}.panel-schedule-actions{justify-content:flex-end;gap:8px}.panel-same-day-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:32px;color:var(--text-heading);cursor:pointer;padding:8px 13px;font-size:.7rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.panel-same-day-btn:hover,.panel-same-day-btn.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.panel-add-form button[type=submit]{border-radius:var(--radius-sm);cursor:pointer;border:none;min-height:34px;padding:8px 14px;font-size:.74rem;font-weight:600;transition:background .15s}.panel-add-form button[type=submit]:hover:not(:disabled){background:var(--btn-primary-hover)}.todo-add-form .add-task-form{margin-top:0}.task-list{margin:0;padding:0;list-style:none}.task-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;display:flex}.task-item-main{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.task-item-check{border:2px solid var(--border-strong);cursor:pointer;box-sizing:border-box;background:0 0;flex-shrink:0;width:16px;height:16px;margin-top:3px;padding:0;transition:background .12s,border-color .12s}.task-item-check--todo{border-radius:50%}.task-item-check--schedule{border-radius:3px}.task-item.category-academy .task-item-check{border-color:var(--category-accent-academy)}.task-item.category-personal .task-item-check{border-color:var(--category-accent-personal)}.task-item.is-important .task-item-check{border-color:#ef4444}.task-item-check.is-done{color:var(--border-strong);background-color:currentColor;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 6l2.5 2.5 4.5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:70% 70%;border-color:currentColor}.task-item.category-academy .task-item-check.is-done{background-color:var(--category-accent-academy);border-color:var(--category-accent-academy);color:var(--category-accent-academy)}.task-item.category-personal .task-item-check.is-done{background-color:var(--category-accent-personal);border-color:var(--category-accent-personal);color:var(--category-accent-personal)}.task-item.is-important .task-item-check.is-done{color:#ef4444;background-color:#ef4444;border-color:#ef4444}.task-item label{cursor:pointer;flex:1;align-items:center;gap:10px;font-size:.9rem;display:flex}.task-text-button{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:.9rem}.task-text-button:hover .task-title{color:var(--primary)}.task-title{color:var(--text-heading)}.task-item.completed .task-title{color:var(--text-muted);text-decoration:line-through}.task-item-editing{z-index:10;flex-direction:column;align-items:stretch;position:relative}.task-edit-form{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary-light);flex-direction:column;gap:10px;width:100%;padding:12px;display:flex}.task-edit-form .field-label{color:var(--text-heading);flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;display:flex}.day-panel .task-edit-form{background:var(--primary-soft)}.day-panel .task-edit-form .field-label,.day-panel .panel-category-field,.day-panel .panel-priority-field,.day-panel .date-picker-label,.day-panel .time-picker-label{color:var(--text-muted);font-size:.7rem;font-weight:700}.day-panel .date-picker-trigger{font-size:.765rem;font-weight:700}.task-edit-inline-row{align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.task-edit-inline-row .panel-category-field{flex:none;min-width:0}.task-edit-inline-row .panel-priority-field{flex:1;min-width:0;margin-top:0}.panel-priority-slider-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-priority-slider-value{color:var(--primary);font-size:.72rem;font-style:normal;font-weight:700}.panel-priority-slider-value.is-veryHigh{color:#b91c1c}.panel-priority-slider{width:100%;min-width:0;height:24px;accent-color:var(--primary);cursor:pointer;margin:0}.panel-priority-slider.is-veryHigh{accent-color:#b91c1c}.panel-priority-slider-ticks{color:var(--text-muted);justify-content:space-between;gap:2px;font-size:.62rem;font-weight:700;display:flex}.panel-priority-slider-ticks em{white-space:nowrap;font-style:normal}.panel-priority-slider-ticks em.is-active{color:var(--primary)}.panel-priority-slider.is-veryHigh~.panel-priority-slider-ticks em.is-active{color:#b91c1c}.day-panel .manager-category-box.selected{border-color:var(--btn-primary-bg);background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 2px 8px color-mix(in srgb, var(--primary) 30%, transparent)}.task-edit-form input[type=text]{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:8px 10px;font-size:.85rem}.task-edit-form .task-edit-title-input{margin-top:6px}.task-edit-actions{gap:8px;display:flex}.task-edit-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;padding:8px 12px;font-size:.8rem;font-weight:700}.task-edit-actions button[type=submit]{border-color:#ffffffbf}.task-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin-top:2px}.task-item:last-child{border-bottom:none}.delete-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-size:.75rem}.delete-btn:hover{color:#ef4444;background:#fef2f2}.empty-state{text-align:center;color:var(--text-muted);padding:32px 0;font-size:.9rem}@media (width<=768px){.view-toggle-row{padding:3px}.view-toggle-btn{padding:4px 11px;font-size:.74rem}.dashboard-shell--sidebar-collapsed .dashboard-sidebar{width:60px;padding:16px 8px}.dashboard-content{padding:12px 14px 24px}.dashboard-home-top,.dashboard-home-tasks-row,.dashboard-home-tasks-row.has-past{grid-template-columns:1fr}.dashboard-home-side{grid-template-rows:auto auto}.dashboard-weather-main{flex-direction:column;align-items:stretch}.dashboard-weather-forecast{border-left:none;border-top:1px solid var(--dashboard-widget-border);justify-content:space-around;margin-left:0;padding-top:12px;padding-left:0}.dashboard-settings-menu,.dashboard-sidebar-flyout{left:auto;right:calc(100% + 12px)}.app{padding:16px 8px 32px}.main-menu,.admin-layout{grid-template-columns:1fr}.header-nav{gap:11px}.header-nav h1{min-width:140px;font-size:1.225rem}.header-nav .nav-btn{width:28px;height:28px;font-size:.875rem}.weekday-header{display:none}.week-grid:not(.split-week-grid):not(.weekly-grid){grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.day-cell{aspect-ratio:5/4;height:auto;min-height:64px;max-height:none;padding:4px}.pending-badge{min-width:14px;height:14px;font-size:.6rem;top:3px;right:3px}.week-header{gap:6px;padding:10px 12px}.week-range{font-size:.75rem}.week-summary{font-size:.7rem}.day-panel{border-left:none;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:100%;max-width:100%;height:min(88vh,720px);max-height:88vh;animation:.25s dayPanelSlideUp;box-shadow:0 -8px 28px #0f172a29}.day-panel--center{border-top:none;border-radius:20px;width:min(100%,480px);height:auto;max-height:min(88vh,760px);margin:0 auto;animation:.2s modalPop;box-shadow:0 18px 48px #0f172a2e}.panel-overlay{justify-content:stretch;align-items:flex-end}.panel-overlay--center{justify-content:center;align-items:center;padding:16px}.panel-header{padding:14px 16px 12px}.panel-header h2{font-size:1rem}.day-panel-body{gap:16px;padding:14px 0 18px}.panel-section{gap:10px;padding:0 14px}.panel-section-title{font-size:.92rem}.panel-quick-add-form{gap:8px;padding:10px}.panel-quick-add-form .panel-category-field{padding-right:7rem}.panel-work-list-open-btn{padding:3px 8px;font-size:.58rem}.split-week-calendar-view .week-grid.split-week-grid,.split-week-calendar-view .spanning-bar-row{grid-template-columns:repeat(var(--week-cols,3), minmax(0, 1fr));gap:6px}.split-week-grid .day-cell,.split-week-calendar-view .weekend-split-cell{min-height:108px}.split-week-grid .day-tasks-preview li,.split-week-calendar-view .weekend-split-half .day-tasks-preview li{word-break:keep-all;overflow-wrap:break-word}}@media (width<=640px){.split-week-calendar-view .week-grid.split-week-grid{grid-template-columns:1fr}.split-week-calendar-view .spanning-bar-row{flex-direction:column;gap:4px;height:auto;display:flex}.split-week-calendar-view .spanning-bar{width:100%;grid-column:auto!important}.split-week-calendar-view .weekend-split-cell{flex-direction:row;min-height:88px}.split-week-calendar-view .weekend-split-divider{align-self:stretch;width:1px;height:auto}.split-week-grid .day-cell{min-height:auto}}@media (width<=480px){.week-label{display:none}}.trade-journal-layout{grid-template-columns:minmax(360px,520px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.trade-journal-form-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.trade-journal-form-card-header h2{margin-bottom:0}.trade-journal-form-reset{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.72rem;line-height:1.4;text-decoration:underline}.trade-journal-form-reset:hover{color:var(--text-heading)}.trade-journal-inline-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.trade-journal-symbol-block,.trade-journal-timing-block,.trade-journal-chart-block,.trade-journal-memo-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary-light);flex-direction:column;gap:12px;padding:14px;display:flex}.trade-journal-symbol-block{gap:10px}.trade-journal-chart-block .field-label{gap:8px}.trade-journal-section-title{color:var(--text-heading);font-size:.88rem}.trade-journal-memo-block textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:.85rem}.trade-journal-memo-layout{flex-direction:column;gap:10px;display:flex}.trade-journal-memo-block textarea:focus{border-color:var(--primary)}.trade-journal-detail-memo p{margin:0 0 8px}.trade-journal-detail-memo p:last-child{margin-bottom:0}.trade-journal-detail-memo strong{color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.trade-journal-symbol-block select,.trade-journal-symbol-block input[type=text]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-heading);outline:none;font-size:.85rem}.trade-journal-symbol-block select{padding:8px 36px 8px 10px}.trade-journal-symbol-block input[type=text]{padding:8px 10px}.trade-journal-symbol-block select:focus,.trade-journal-symbol-block input[type=text]:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring)}.trade-journal-symbol-block select:disabled{color:var(--text-muted);cursor:not-allowed;background:#ffffff0a}.trade-journal-symbol-help{color:var(--text-muted);margin:0;font-size:.76rem}.trade-journal-pair-row{flex-direction:row;align-items:flex-start;gap:12px;display:flex}.trade-journal-pair-field{flex:1 1 0;min-width:0}.trade-journal-pair-field input[type=number],.trade-journal-inline-field input[type=number]{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:8px 10px;font-size:.85rem}.trade-journal-price-qty-group{flex:1 1 0;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:8px;min-width:0;display:grid}.trade-journal-inline-field{min-width:0}.trade-journal-trade-summary{border-top:1px dashed var(--border);gap:12px;padding-top:10px;display:flex}.trade-journal-summary-item{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.trade-journal-summary-label{color:var(--text-muted);font-size:.72rem;font-weight:700}.trade-journal-summary-value{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);padding:8px 10px;font-size:.85rem;font-weight:700;display:block}.trade-journal-summary-value.positive{color:#16a34a}.trade-journal-summary-value.negative{color:#ef4444}.trade-journal-timing-head{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.trade-journal-timing-head strong{color:var(--text-heading);font-size:.88rem}.trade-journal-position-boxes{flex-wrap:nowrap}.trade-journal-position-boxes .manager-category-box{padding:3px 8px;font-size:.68rem}.trade-journal-entry-side{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.trade-journal-datetime-row{align-items:center;gap:8px;display:flex}.trade-journal-now-btn{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);letter-spacing:-.01em;cursor:pointer;border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.72rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s}.trade-journal-now-btn:hover{color:var(--text-heading);background:#ffffff1f;border-color:#ffffff59}.trade-journal-now-btn:active{background:#ffffff14}.trade-journal-now-btn:focus-visible{outline:2px solid var(--ui-focus-border);outline-offset:2px}.trade-journal-datetime-row input[type=datetime-local]{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;width:100%;min-width:0;padding:8px 10px;font-size:.85rem}.trade-journal-timeframe-boxes{flex-wrap:wrap}.trade-journal-paste-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);flex-direction:column;gap:8px;padding:16px;display:flex}.trade-journal-paste-zone strong{color:var(--text-heading);font-size:.88rem}.trade-journal-paste-zone p{color:var(--text-muted);margin:0;font-size:.78rem}.trade-journal-upload-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;align-self:flex-start;padding:8px 12px;font-size:.8rem;font-weight:700;position:relative;overflow:hidden}.trade-journal-upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.trade-journal-image-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.trade-journal-image-card,.trade-journal-detail-image{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;margin:0;overflow:hidden}.trade-journal-image-card img,.trade-journal-detail-image img{width:100%;height:auto;display:block}.trade-journal-image-remove{border:none;border-top:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-muted);cursor:pointer;padding:6px 8px;font-size:.75rem}.trade-journal-entry-list{flex-direction:column;gap:12px;display:flex}.trade-journal-entry-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffd1;padding:14px}.trade-journal-entry-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--ui-focus-ring)}.trade-journal-entry-head{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.trade-journal-entry-head strong{color:var(--text-heading);font-size:1rem}.trade-side-badge{border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:700}.trade-side-badge.buy{color:#dc2626;background:#ef44441f}.trade-side-badge.sell{color:#4a4a4f;background:#4a4a4f1f}.trade-journal-entry-date,.trade-journal-entry-meta,.trade-journal-entry-memo{color:var(--text-muted);margin:8px 0 0;font-size:.82rem;line-height:1.45}.trade-journal-entry-actions{gap:8px;margin-top:12px;display:flex}.trade-journal-entry-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;padding:6px 10px;font-size:.78rem}.trade-journal-entry-actions button.danger{color:#dc2626}.trade-journal-detail-card{margin-top:20px}.trade-journal-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trade-journal-detail-header h2{margin:0}.trade-journal-detail-header p,.trade-journal-detail-memo{color:var(--text-muted);margin:8px 0 0}.trade-journal-detail-images{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}@media (width<=960px){.trade-journal-layout{grid-template-columns:1fr}}@media (width<=480px){.trade-journal-pair-row,.trade-journal-trade-summary{flex-direction:column}}.ideas-page .main-description{max-width:640px}.ideas-category-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;padding:8px 16px;font-size:.88rem;font-weight:600;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.ideas-category-tab.selected{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);box-shadow:none}.ideas-category-icon{font-size:.95em;line-height:1}.ideas-category-badge .ideas-category-label{gap:5px}.ideas-list-header h2 .ideas-category-label{gap:6px}.ideas-list-title{color:var(--text-heading);align-items:center;gap:6px;margin:0;font-size:1.05rem;font-weight:700;line-height:1;display:inline-flex}.ideas-list-title .ideas-category-label{align-items:center;display:inline-flex}.ideas-list-title .ideas-category-icon{justify-content:center;align-items:center;font-size:1em;line-height:1;display:inline-flex}.ideas-list-title-suffix{align-items:center;line-height:1;display:inline-flex}.ideas-layout{display:block}.ideas-composer-card{padding:18px}.ideas-composer-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.ideas-composer-header-badge{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.05rem;display:inline-flex}.ideas-composer-header-badge--학원,.ideas-composer-header-badge--사업,.ideas-composer-header-badge--주식,.ideas-composer-header-badge--개인{background:var(--primary-soft);color:var(--primary)}.ideas-composer-header-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.ideas-composer-header-copy h2{color:var(--text-heading);margin:0;font-size:1.02rem}.ideas-composer-header-copy span{color:var(--text-muted);font-size:.74rem;font-weight:600}.ideas-composer-form{flex-direction:column;gap:12px;display:flex}.ideas-title-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}.ideas-title-box:focus-within{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring)}.ideas-title-input{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--text-heading);background:0 0;border:none;padding:12px 16px;font-size:.96rem;font-weight:700;line-height:1.4}.ideas-title-input::placeholder{color:var(--text-muted);font-weight:600}.ideas-title-input:focus{outline:none}.ideas-title-input--card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px;font-size:.9rem}.ideas-write-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s}.ideas-write-box:focus-within{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring)}.ideas-textarea{border-radius:var(--radius-sm);width:100%;min-height:148px;font:inherit;resize:vertical;color:var(--text-heading);background:0 0;border:none;padding:14px 16px;font-size:.92rem;line-height:1.6}.ideas-textarea::placeholder{color:var(--text-muted)}.ideas-textarea:focus{outline:none}.ideas-textarea--card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:100px;padding:10px 12px}.ideas-textarea--card:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring)}.ideas-image-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ideas-image-attach-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.ideas-image-attach-zone:focus,.ideas-image-attach-zone:focus-visible{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}.ideas-image-attach-main{align-items:center;gap:10px;min-width:0;display:flex}.ideas-image-attach-icon-wrap{width:36px;height:36px;color:var(--text-heading);background:#ffffff14;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.ideas-image-attach-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.ideas-image-attach-copy strong{color:var(--text-heading);font-size:.82rem}.ideas-image-attach-copy span{color:var(--text-muted);font-size:.74rem}.ideas-image-upload-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative;overflow:hidden}.ideas-image-upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.ideas-save-actions{margin-top:4px}.ideas-save-btn{border-radius:var(--radius-sm);background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:.86rem;font-weight:700;line-height:1;transition:background .15s,opacity .15s;display:inline-flex}.ideas-save-btn:hover:not(:disabled),.ideas-save-btn:active:not(:disabled){background:var(--btn-primary-hover)}.ideas-save-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.ideas-image-hint{color:var(--text-muted);font-size:.78rem}.ideas-image-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.ideas-image-thumb{aspect-ratio:1;border:1px solid var(--border);background:var(--primary-light);border-radius:10px;margin:0;position:relative;overflow:hidden}.ideas-image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ideas-image-placeholder{width:100%;height:100%;color:var(--text-muted);place-items:center;font-size:.75rem;display:grid}.ideas-image-remove{color:#fff;cursor:pointer;background:#0f172ab8;border:none;border-radius:999px;width:22px;height:22px;font-size:.9rem;line-height:1;position:absolute;top:4px;right:4px}.ideas-list-section{flex-direction:column;gap:12px;display:flex}.ideas-list-count{color:var(--text-muted);font-size:.82rem;font-weight:600}.ideas-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.ideas-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}.ideas-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.ideas-category-badge{color:#fff;border-radius:999px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.ideas-card-date{color:var(--text-muted);white-space:nowrap;font-size:.74rem}.ideas-card-title{color:var(--text-heading);overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:700;line-height:1.4}.ideas-card-content{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.6}.ideas-card-content--rich{white-space:normal;color:var(--text)}.ideas-card-edit{flex-direction:column;gap:10px;display:flex}.ideas-card-edit-actions{gap:8px;display:flex}.ideas-card-save-btn,.ideas-card-cancel-btn{border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:9px 12px;font-size:.8rem;font-weight:700}.ideas-card-save-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.ideas-card-save-btn:disabled{opacity:.45;cursor:not-allowed}.ideas-card-cancel-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.ideas-card-cancel-btn:hover{border-color:var(--ui-focus-border);color:var(--text-heading)}.ideas-card-image-attach{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ideas-card-image-attach:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}.ideas-card-image-attach-copy{min-width:0;color:var(--text-heading);align-items:center;gap:8px;display:flex}.ideas-card-image-attach-copy strong{font-size:.78rem;display:block}.ideas-card-image-attach-copy span{color:var(--text-muted);font-size:.7rem;display:block}.ideas-card-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;display:flex}.ideas-card-action-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:5px 9px;font-size:.7rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.ideas-card-action-btn:hover,.ideas-card-action-btn.active{border-color:var(--ui-focus-border);background:var(--primary-soft);color:var(--primary)}.ideas-card-delete-btn{color:#ff9a9a;cursor:pointer;background:#ff9a9a14;border:1px solid #ff9a9a59;border-radius:999px;margin-left:auto;padding:5px 9px;font-size:.7rem;font-weight:600}.ideas-card-delete-btn:hover{background:#ff9a9a24;border-color:#ff9a9a80}.ideas-open-composer-btn{border-radius:var(--radius-pill);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;padding:10px 16px;font-size:.84rem;font-weight:700;transition:background .15s}.ideas-composer-overlay{z-index:1200;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ideas-composer-backdrop{z-index:0;background:#0f172a61;position:absolute;inset:0}.ideas-composer-modal{z-index:1;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-bg);width:min(920px,92vw);max-height:calc(100vh - 48px);box-shadow:var(--shadow-md);pointer-events:auto;flex-direction:column;gap:12px;padding:18px;display:flex;position:relative;overflow:auto}.ideas-composer-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ideas-composer-close-btn{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);cursor:pointer;padding:8px 12px;font-size:.78rem;font-weight:600}.ideas-composer-category-tabs{flex-wrap:wrap;gap:8px;display:flex}@media (width<=960px){.ideas-composer-overlay{padding:12px}.ideas-composer-modal{border-radius:var(--radius-lg);width:min(80vw,100%);max-width:80vw;height:min(80vh,100%);max-height:80vh;box-shadow:0 16px 40px #0f172a33}}.day-cell{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border:none}.day-cell:hover{box-shadow:inset 0 0 0 1px var(--text-heading), var(--shadow-sm);border-color:#0000}.day-cell.sunday{background:var(--sunday-cell-bg)}.day-cell.saturday{background:var(--saturday-cell-bg)}.manager-category-box.selected{border-color:var(--text-heading);background:var(--primary-light);color:var(--text-heading);box-shadow:inset 0 0 0 1px var(--text-heading)}.ideas-category-tab--학원.selected,.ideas-category-tab--사업.selected,.ideas-category-tab--주식.selected,.ideas-category-tab--개인.selected{background:var(--primary-soft)}.ideas-category-badge--학원,.ideas-category-badge--사업,.ideas-category-badge--주식,.ideas-category-badge--개인{background:var(--primary-soft);color:var(--primary)}.ideas-save-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.ideas-image-attach-icon-wrap{color:var(--text-heading);background:#ffffff14}.ideas-image-upload-btn{border-color:var(--border);background:var(--surface);color:var(--text-muted)}.ideas-image-upload-btn:hover{color:var(--text-heading);background:#ffffff1f;border-color:#ffffff59}.dashboard-habit-table thead th.today{color:var(--text-heading)}@media (width<=900px){.dashboard-shell--sidebar-collapsed .dashboard-sidebar{width:76px;padding-inline:6px}.dashboard-shell--sidebar-collapsed .dashboard-nav-btn{width:64px;min-height:54px}.dashboard-main{padding-right:10px}}.economic-calendar-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.economic-external-link{color:#8e8e93;white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-top:2px;font-size:.72rem;font-weight:500;text-decoration:none}.economic-external-link:hover{color:#636366;text-underline-offset:2px;text-decoration:underline}.economic-calendar-page .economic-calendar-status{flex-shrink:0;margin:0 0 8px;padding:0 4px;font-size:.82rem}.economic-list-app{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.economic-list-header{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.economic-list-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.economic-list-nav{align-items:center;gap:8px;min-width:0;display:flex}.economic-list-nav-btn,.economic-list-today-btn{height:34px;color:var(--text-heading);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;padding:0 12px;font-size:.84rem;font-weight:600}.economic-list-nav-btn{width:34px;padding:0}.economic-list-today-btn{min-width:52px}.economic-list-nav-btn:hover,.economic-list-today-btn:hover{background:#ffffff1f}.economic-list-title{color:var(--text-heading);white-space:nowrap;margin:0;font-size:1.05rem;font-weight:700}.economic-list-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.economic-list-view-tabs{background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;gap:4px;padding:3px;display:inline-flex}.economic-list-view-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:7px 12px;font-size:.78rem;font-weight:600}.economic-list-view-tab.selected{color:var(--text-heading);background:#ffffff24}.economic-list-add-btn{background:var(--btn-primary-bg);height:34px;color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:10px;padding:0 14px;font-size:.82rem;font-weight:700}.economic-list-add-btn:hover{filter:brightness(1.05)}.economic-list-header-meta{align-items:center;display:flex}.economic-list-investing-link{color:var(--text-muted)}.economic-list-shell{-webkit-backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;flex:1;min-height:0;overflow:hidden}.economic-list-table-wrap{height:100%;overflow:auto}.economic-list-table{border-collapse:collapse;table-layout:fixed;width:100%}.economic-list-table thead{z-index:2;position:sticky;top:0}.economic-list-table thead th{color:var(--text-muted);text-align:left;white-space:nowrap;background:#121216f5;border-bottom:1px solid #ffffff1f;padding:12px 14px;font-size:.74rem;font-weight:700}.economic-list-table thead th.economic-list-col-importance,.economic-list-table thead th.economic-list-col-actual,.economic-list-table thead th.economic-list-col-forecast,.economic-list-table thead th.economic-list-col-previous{text-align:center}.economic-list-table thead th.economic-list-col-time{padding-left:20px}.economic-list-col-time{width:88px}.economic-list-col-importance{text-align:center;width:92px}.economic-list-col-actual,.economic-list-col-forecast,.economic-list-col-previous{text-align:center;width:108px}.economic-list-date-row td{border-bottom:1px solid #ffffff14;padding:0}.economic-list-date-banner{color:var(--text-heading);text-align:center;background:#ffffff08;justify-content:center;align-items:center;gap:8px;padding:14px 16px 10px;font-size:.92rem;font-weight:700;display:flex}.economic-list-date-banner.is-today{background:#ffffff0f}.economic-list-today-badge{color:var(--text-heading);background:#ffffff24;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:700}.economic-list-empty-row td{color:var(--text-muted);text-align:center;border-bottom:1px solid #ffffff0f;padding:14px 16px 18px;font-size:.82rem}.economic-list-event-row{border-bottom:1px solid #ffffff0f;transition:background .15s}.economic-list-event-row:hover{background:#ffffff0a}.economic-list-event-row--economic{box-shadow:inset 3px 0 #b8a9e88c}.economic-list-event-row--earnings{box-shadow:inset 3px 0 #9ec5ff8c}.economic-list-event-row--ipo{box-shadow:inset 3px 0 #9edfb88c}.economic-list-event-row--dividend{box-shadow:inset 3px 0 #ffc9a68c}.economic-list-event-row--other{box-shadow:inset 3px 0 #ffffff38}.economic-list-event-row td{vertical-align:middle;padding:0}.economic-list-row-hit{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 14px;display:block}.economic-list-row-hit--event{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.economic-list-col-time .economic-list-row-hit{font-variant-numeric:tabular-nums;color:var(--text-heading);white-space:nowrap;padding:12px 14px 12px 20px;font-size:.82rem;font-weight:600}.economic-list-event-title{color:var(--text-heading);word-break:break-word;font-size:.84rem;font-weight:600;line-height:1.35}.economic-list-event-type{color:var(--text-muted);font-size:.68rem;font-weight:600}.economic-list-col-importance,.economic-list-col-actual,.economic-list-col-forecast,.economic-list-col-previous{padding:12px 14px}.economic-list-importance{justify-content:center;gap:3px;width:100%;display:inline-flex}.economic-list-importance span{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:14px;height:14px}.economic-list-importance span.is-filled{background:#ffd666f2}.economic-list-importance span.is-empty{background:#ffffff29}.economic-list-value{color:var(--text-heading);font-variant-numeric:tabular-nums;text-align:center;font-size:.82rem;font-weight:600;display:block}.economic-list-value.is-empty{color:#ffffff47;font-weight:500}.economic-list-empty-range{color:var(--text-muted);text-align:center;margin:0;padding:28px 16px;font-size:.86rem}@media (width<=900px){.dashboard-content:has(.economic-calendar-page--list){padding:12px 12px 14px}.economic-list-header-main{flex-direction:column;align-items:stretch}.economic-list-header-actions{justify-content:space-between}.economic-list-title{font-size:.95rem}.economic-list-col-forecast,.economic-list-col-previous,.economic-list-table thead .economic-list-col-forecast,.economic-list-table thead .economic-list-col-previous{display:none}.economic-list-col-actual,.economic-list-table thead .economic-list-col-actual{width:84px}}@media (width<=640px){.economic-list-col-importance,.economic-list-table thead .economic-list-col-importance{display:none}.economic-list-col-time{width:72px}}.dashboard-content-panel .economic-list-shell{background:#ffffff0f;border-color:#ffffff1a}.dashboard-content-panel .economic-list-table thead th{background:#ffffff14}.dashboard-content-panel .economic-list-date-banner{background:#ffffff0a}.dashboard-content-panel .economic-list-date-banner.is-today{background:#ffffff12}.economic-day-panel{max-width:min(920px,96vw)}.economic-side-overlay{z-index:120;background:#0f0f106b;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.economic-side-panel{border-left:1px solid var(--border);background:#121216f5;flex-direction:column;width:min(100%,360px);height:100%;animation:.24s slideIn;display:flex;box-shadow:-8px 0 32px #00000052}.economic-side-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 18px 14px;display:flex}.economic-side-header-copy{min-width:0}.economic-side-eyebrow{color:var(--text-muted);letter-spacing:.02em;margin:0 0 4px;font-size:.72rem;font-weight:700}.economic-side-header h2{color:var(--text-heading);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.economic-side-close{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:.85rem}.economic-side-close:hover{color:var(--text-heading);background:#ffffff1f}.economic-side-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px 16px 20px;display:flex;overflow-y:auto}.economic-side-block{border:1px solid var(--border);background:var(--bg-subtle);border-radius:14px;padding:14px}.economic-side-block-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.economic-side-block h3,.economic-side-block-title{color:var(--text-heading);margin:0 0 12px;font-size:.88rem;font-weight:700}.economic-side-block-head h3{margin:0}.economic-side-form{flex-direction:column;gap:12px;display:flex}.economic-side-field{flex-direction:column;gap:6px;width:100%;display:flex}.economic-side-check{color:var(--text-heading);flex-direction:row;align-items:center;gap:8px;padding:2px 0;font-size:.84rem;font-weight:500}.economic-side-label{color:var(--text-muted);font-size:.72rem;font-weight:700}.economic-side-input,.economic-side-textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-heading);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.84rem}.economic-side-input:focus,.economic-side-textarea:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}.economic-side-textarea{resize:vertical;min-height:72px}.economic-side-importance-pills{flex-direction:row;gap:6px;display:flex}.economic-side-importance-pill{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text-muted);text-align:center;cursor:pointer;border-radius:10px;flex:1;padding:9px 8px;font-size:.78rem;font-weight:600}.economic-side-importance-pill.selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.economic-side-submit{background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:12px 14px;font-size:.86rem;font-weight:700}.economic-side-submit:disabled{opacity:.45;cursor:not-allowed}.economic-side-error{color:#b42318;margin:0;font-size:.78rem}.economic-side-text-btn{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.76rem;font-weight:600;text-decoration:underline}.economic-side-text-btn.is-danger{color:#8e8e93}.economic-side-empty{color:var(--text-muted);margin:0;padding:8px 2px;font-size:.8rem}.economic-side-event-list{flex-direction:column;gap:8px;display:flex}.economic-side-event-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:12px}.economic-side-event-card.is-editing{border-color:var(--ui-focus-border);box-shadow:0 0 0 1px var(--ui-focus-border)}.economic-side-event-card--economic{border-left:4px solid #b8a9e8}.economic-side-event-card--earnings{border-left:4px solid #9ec5ff}.economic-side-event-card--ipo{border-left:4px solid #9edfb8}.economic-side-event-card--dividend{border-left:4px solid #ffc9a6}.economic-side-event-card--other{border-left:4px solid #c7c7cc}.economic-side-event-card-top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.economic-side-event-time,.economic-side-event-country{color:var(--text-muted);font-size:.72rem;font-weight:700}.economic-side-event-title{width:100%;color:var(--text-heading);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.86rem;font-weight:700;line-height:1.35;display:block}.economic-side-event-title:hover{text-decoration:underline}.economic-side-event-values{grid-template-columns:auto 1fr;gap:4px 10px;margin:8px 0 0;font-size:.76rem;display:grid}.economic-side-event-values dt{color:var(--text-muted);margin:0;font-weight:700}.economic-side-event-values dd{color:var(--text-heading);margin:0}.economic-side-event-values dd.is-actual{font-weight:700}.economic-side-event-actions{gap:12px;margin-top:10px;display:flex}.economic-side-importance{gap:3px;margin-left:auto;display:inline-flex}.economic-side-importance span{background:#c7c7cc;border-radius:50%;width:6px;height:6px}.economic-side-importance--2 span:nth-child(2),.economic-side-importance--3 span{background:#3a3a3c}@media (width<=720px){.economic-side-panel{width:100%;max-width:100%}}.economic-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.economic-week-nav{align-items:center;gap:8px;display:flex}.economic-week-range{color:var(--text-muted);margin-left:4px;font-size:.88rem;font-weight:700}.economic-filters{flex-wrap:wrap;gap:10px;display:flex}.economic-filter-label{min-width:120px}.economic-filter-label select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:8px 10px;font-size:.85rem}.economic-layout{grid-template-columns:minmax(320px,400px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.economic-form-card{position:sticky;top:12px}.economic-form{flex-direction:column;gap:12px;display:flex}.economic-form-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:2px;display:flex}.economic-form-header h2{margin:0;font-size:1rem}.economic-form-reset{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.72rem;text-decoration:underline}.economic-inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.economic-values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.economic-form .field-label input,.economic-form .field-label select,.economic-form .field-label textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;color:var(--text-heading);padding:8px 10px;font-family:inherit;font-size:.85rem}.economic-form .field-label textarea{resize:vertical;min-height:72px}.economic-events-panel{flex-direction:column;gap:18px;display:flex}.economic-status,.economic-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);color:var(--text-muted);text-align:center;padding:24px}.economic-empty p{margin:0 0 6px}.economic-empty p:last-child{margin-bottom:0}.economic-day-group{flex-direction:column;gap:10px;display:flex}.economic-day-heading{border-bottom:1px solid var(--border);margin:0;padding-bottom:6px;font-size:.95rem}.economic-day-events{flex-direction:column;gap:10px;display:flex}.economic-event-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);padding:14px 16px}.economic-event-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.economic-event-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.economic-event-time{color:var(--text-heading);font-size:.82rem;font-weight:700}.economic-event-country,.economic-event-currency{background:var(--primary-light);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.economic-event-type{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.economic-event-type--economic{color:#d8cff5;background:#b8a9e838}.economic-event-type--earnings{color:#c8ddff;background:#9ec5ff38}.economic-event-type--ipo{color:#c2edd4;background:#9edfb838}.economic-event-type--dividend{color:#ffd8bf;background:#ffc9a638}.economic-event-type--other{color:var(--text-muted);background:#ffffff1a}.economic-importance{align-items:center;gap:3px;display:inline-flex}.economic-importance-dot{background:#ffffff47;border-radius:50%;width:7px;height:7px}.economic-importance--2 .economic-importance-dot:nth-child(2),.economic-importance--3 .economic-importance-dot{background:#ffffffd9}.economic-event-card-actions{flex-shrink:0;gap:6px;display:flex}.economic-event-title{margin:0 0 8px;font-size:.95rem}.economic-event-values{grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px 10px;margin:0 0 8px;font-size:.82rem;display:grid}.economic-event-values dt{color:var(--text-muted);margin:0;font-weight:700}.economic-event-values dd{color:var(--text-heading);margin:0}.economic-event-actual{font-weight:700}.economic-event-notes{color:var(--text-muted);white-space:pre-wrap;margin:0 0 8px;font-size:.84rem;line-height:1.5}.economic-event-source{color:var(--text-muted);font-size:.78rem}.economic-delete-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:#8e8e93;cursor:pointer;padding:6px 10px;font-size:.78rem}.economic-delete-btn:hover{color:#111;border-color:#aeaeb2}@media (width<=960px){.economic-layout{grid-template-columns:1fr}.economic-form-card{position:static}.economic-values-grid{grid-template-columns:1fr}.economic-calendar-header{flex-direction:column}}.economic-time-grid-app{flex-direction:column;flex:1;gap:12px;width:100%;max-width:100%;min-height:0;display:flex}.economic-time-grid-header{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.economic-time-grid-header-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.economic-time-grid-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.economic-time-grid-nav-btn,.economic-time-grid-today-btn{border:1px solid var(--border);background:var(--surface);min-width:34px;height:34px;color:var(--text-heading);cursor:pointer;border-radius:10px;padding:0 10px;font-size:.9rem}.economic-time-grid-today-btn{font-size:.78rem;font-weight:600}.economic-time-grid-title{color:var(--text-heading);margin:0 0 0 4px;font-size:1.15rem;font-weight:700}.economic-time-grid-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.economic-time-grid-view-tabs{align-items:center;gap:6px;display:flex}.economic-time-grid-view-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:600}.economic-time-grid-view-tab.selected{background:var(--surface-accent);color:var(--text-on-accent);border-color:#0000}.economic-time-grid-header-meta{justify-content:flex-end;display:flex}.economic-time-grid-add-btn{border-radius:var(--radius-pill);background:var(--surface-accent);color:var(--text-on-accent);cursor:pointer;white-space:nowrap;border:none;padding:10px 16px;font-size:.82rem;font-weight:700}.economic-time-grid-add-btn:hover{background:#ffffffd1}.economic-time-grid-filters{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.economic-time-grid-filter-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.economic-time-grid-investing-link{white-space:nowrap;flex-shrink:0;align-self:center}.economic-time-grid-filter{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:600}.economic-time-grid-filter.selected{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.economic-time-grid-shell{border:1px solid var(--border);background:var(--surface);min-height:0;box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;flex:1;display:flex;overflow:hidden}.economic-time-grid-table-area{flex-direction:column;flex:1;min-height:0;display:flex}.economic-time-grid-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0}.economic-time-grid-scroll.is-fitted{overflow:hidden}.economic-time-grid-scroll.is-scrollable{overflow:auto}.economic-time-grid-board{grid-template-columns:var(--economic-time-gutter,48px) repeat(var(--economic-day-count,7), minmax(0, 1fr));grid-template-rows:var(--economic-header-height,44px) var(--economic-grid-height,864px);width:100%;min-width:0;height:calc(var(--economic-header-height,44px) + var(--economic-grid-height,864px));display:grid;position:relative;container:economic-grid/inline-size}.economic-time-grid-board.has-allday-row{grid-template-rows:var(--economic-header-height,44px) var(--economic-allday-height,0px) var(--economic-grid-height,864px);height:calc(var(--economic-header-height,44px) + var(--economic-allday-height,0px) + var(--economic-grid-height,864px))}.economic-time-grid-board.has-allday-row .economic-time-grid-times,.economic-time-grid-board.has-allday-row .economic-time-grid-day-column{grid-row:3}.economic-time-grid-board:not(.has-allday-row) .economic-time-grid-times,.economic-time-grid-board:not(.has-allday-row) .economic-time-grid-day-column{grid-row:2}.economic-time-grid-corner{z-index:4;min-height:var(--economic-header-height,44px);background:var(--surface);border-bottom:1px solid var(--border);grid-area:1/1;position:sticky;top:0}.economic-time-grid-day-head{z-index:4;min-height:var(--economic-header-height,44px);border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--bg-subtle);color:var(--text-muted);flex-direction:row;grid-row:1;justify-content:center;align-items:center;gap:4px;padding:4px 2px;display:flex;position:sticky;top:0}.economic-time-grid-day-head.is-today{color:var(--text-heading);background:#ffffff29}.economic-time-grid-day-num{font-size:clamp(.78rem,1.6cqi,.95rem);font-weight:800;line-height:1}.economic-time-grid-day-label{font-size:clamp(.7rem,1.35cqi,.82rem);font-weight:600}.economic-time-grid-times{border-right:1px solid var(--border);background:var(--bg-subtle);height:var(--economic-grid-height,864px);box-sizing:border-box;flex-direction:column;grid-area:2/1;padding-inline:10px 8px;display:flex;position:relative}.economic-time-grid-segment{box-sizing:border-box;flex-shrink:0;position:relative}.economic-time-grid-segment--gap{background:repeating-linear-gradient(-45deg,#ffffff08,#ffffff08 4px,#ffffff0f 4px 8px);border-top:1px dashed #ffffff1a;justify-content:center;align-items:center;display:flex}.economic-time-grid-segment--slot,.economic-time-grid-segment--hour{background:#ffffff05;border-top:1px solid #ffffff0f}.economic-time-grid-segment--slot.is-hour-start,.economic-time-grid-segment--hour{border-top:1px solid #ffffff24}.economic-time-grid-segment--slot.has-events{background:#ffffff0a}.economic-time-grid-segment--hour{background-image:linear-gradient(#ffffff14 0 1px,#0000 1px 25%,#ffffff0d 25% calc(25% + 1px),#0000 calc(25% + 1px) 50%,#ffffff0d 50% calc(50% + 1px),#0000 calc(50% + 1px) 75%,#ffffff0d 75% calc(75% + 1px),#0000 calc(75% + 1px))}.economic-time-grid-gap-label,.economic-time-grid-gap-mark{color:#ffffff59;-webkit-user-select:none;user-select:none;font-size:.82rem;font-weight:700;line-height:1}.economic-time-grid-gap-mark{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.economic-time-grid-time-label{box-sizing:border-box;width:100%;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:-.01em;justify-content:center;align-items:flex-start;padding:3px 0 0;font-size:clamp(.64rem,1.25cqi,.74rem);font-weight:600;display:flex}.economic-time-grid-quarter-label{box-sizing:border-box;color:#ffffff61;font-variant-numeric:tabular-nums;letter-spacing:-.01em;justify-content:center;align-items:flex-start;width:100%;padding:2px 0 0;font-size:clamp(.56rem,1cqi,.64rem);font-weight:500;display:flex}.economic-time-grid-day-column{border-left:1px solid var(--border);background:0 0;flex-direction:column;grid-row:2;min-width:0;display:flex}.economic-time-grid-day-column.is-today{background:#ffffff08}.economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--slot,.economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--hour{background:#ffffff05}.economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--gap{background:repeating-linear-gradient(-45deg,#ffffff05,#ffffff05 4px,#ffffff0d 4px 8px)}.economic-time-grid-allday-gutter{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-subtle);box-sizing:border-box;grid-area:2/1;justify-content:center;align-items:flex-start;padding:8px 6px 0;display:flex}.economic-time-grid-allday-gutter-label{color:var(--text-muted);text-align:center;word-break:keep-all;font-size:clamp(.58rem,1.1cqi,.68rem);font-weight:700;line-height:1.3}.economic-time-grid-allday-cell{border-left:1px solid var(--border);border-bottom:1px solid var(--border);box-sizing:border-box;background:0 0;flex-direction:column;grid-row:2;gap:4px;min-width:0;padding:6px;display:flex}.economic-time-grid-allday-cell.is-today{background:#ffffff08}.economic-time-grid-slot{cursor:pointer;background:0 0;border:none;flex-direction:column;width:100%;min-width:0;padding:0;display:flex;position:relative;overflow:visible}.economic-time-grid-slot .economic-time-grid-segment--gap{background:repeating-linear-gradient(-45deg,#ffffff05,#ffffff05 4px,#ffffff0d 4px 8px);border-top:1px dashed #ffffff1a}.economic-time-grid-slot .economic-time-grid-segment--slot,.economic-time-grid-slot .economic-time-grid-segment--hour{border-top:1px solid #ffffff0f}.economic-time-grid-slot .economic-time-grid-segment--slot.is-hour-start,.economic-time-grid-slot .economic-time-grid-segment--hour{border-top:1px solid #ffffff24}.economic-time-grid-slot .economic-time-grid-segment--slot.has-events{background:#ffffff08}.economic-slot-event-stack{pointer-events:none;flex-direction:column;gap:6px;width:calc(100% - 6px);min-width:0;display:flex;position:absolute;left:3px}.economic-slot-event-stack .economic-grid-event-card{pointer-events:auto}.economic-grid-event-bundle{box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff1f;border-radius:clamp(6px,1.2cqi,10px);flex-direction:column;gap:4px;width:calc(100% - 6px);padding:4px 5px;display:flex;position:absolute;left:3px;overflow:hidden}.economic-grid-event-bundle.is-slot-bundle{gap:3px;padding:4px}.economic-grid-event-bundle-time{color:var(--text-muted);flex-shrink:0;font-size:clamp(.58rem,1.1cqi,.68rem);font-weight:700;line-height:1.2}.economic-grid-event-bundle-items{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow:hidden}.economic-grid-event-card.is-bundle-item{flex:1 1 0;width:100%;height:auto;min-height:0;position:relative;top:auto;left:auto;overflow:hidden}.economic-grid-event-card{z-index:2;text-align:left;cursor:pointer;box-sizing:border-box;min-width:0;min-height:0;line-height:normal;font:inherit;border:1px solid #ffffff1f;border-radius:clamp(5px,1cqi,8px);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;padding:5px 6px;display:flex;position:absolute;overflow:hidden}.economic-grid-event-card.is-slot-card{flex-shrink:0;width:100%;height:auto;min-height:0;position:relative;top:auto;left:auto;overflow:visible}.economic-grid-event-card.is-slot-card strong,.economic-grid-event-card.is-slot-card .economic-grid-event-meta{-webkit-line-clamp:unset;display:block;overflow:visible}.economic-grid-event-card strong{color:var(--text-heading);white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:1;max-width:100%;min-height:0;font-size:clamp(.62rem,1.25cqi,.72rem);line-height:1.3;display:-webkit-box;overflow:hidden}.economic-grid-event-card-head{justify-content:space-between;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.economic-grid-event-card-head strong{flex:1;min-width:0}.economic-grid-event-time{color:var(--text-muted);flex-shrink:0;font-size:clamp(.58rem,1.1cqi,.68rem);font-weight:600;line-height:1.35}.economic-grid-event-meta{color:var(--text-muted);white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:1;max-width:100%;min-height:0;font-size:clamp(.54rem,.95cqi,.62rem);line-height:1.25;display:-webkit-box;overflow:hidden}.economic-grid-event-card--economic{background:#b8a9e833}.economic-grid-event-card--earnings{background:#9ec5ff33}.economic-grid-event-card--ipo{background:#9edfb833}.economic-grid-event-card--dividend{background:#ffc9a633}.economic-grid-event-card--other{background:#ffffff1a}.economic-grid-event-card.is-allday{width:100%;height:auto;min-height:auto;position:static;overflow:visible}.economic-grid-importance{flex-shrink:0;gap:2px;display:inline-flex}.economic-grid-importance span{background:#ffffff47;border-radius:50%;width:5px;height:5px}.economic-grid-importance--2 span:nth-child(2),.economic-grid-importance--3 span{background:#ffffffd9}.economic-time-grid-now-line{left:var(--economic-time-gutter,48px);z-index:6;pointer-events:none;background:#fff;height:2px;position:absolute;right:0}.economic-time-grid-now-line:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.economic-time-grid-now-badge{color:#111;white-space:nowrap;background:#fff;border-radius:999px;margin-left:-8px;padding:4px 8px;font-size:.68rem;font-weight:700;position:absolute;top:50%;left:0;transform:translate(-100%,-50%)}@media (width<=900px){.dashboard-content:has(.economic-calendar-page--grid){padding:12px 12px 14px}.economic-time-grid-header-main{flex-direction:column}.economic-time-grid-header-actions{justify-content:space-between;width:100%}.economic-time-grid-view-tabs{flex:1}.economic-time-grid-title{font-size:1rem}.economic-time-grid-filter{padding:6px 10px;font-size:.72rem}.economic-time-grid-filter-row{flex-wrap:wrap;align-items:center}.economic-time-grid-investing-link{margin-left:auto}}@container economic-grid (width<=820px){.economic-grid-event-meta{display:none}}@container economic-grid (width<=640px){.economic-grid-event-time,.economic-grid-importance{display:none}}@container economic-grid (width<=480px){.economic-time-grid-day-label{display:none}}.dashboard-content-panel .economic-time-grid-shell,.dashboard-content-panel .economic-grid-event-bundle,.dashboard-content-panel .economic-grid-event-card{color:var(--text);background:#ffffff14;border-color:#ffffff1f}.dashboard-content-panel .economic-time-grid-day-head,.dashboard-content-panel .economic-time-grid-times,.dashboard-content-panel .economic-time-grid-allday-gutter,.dashboard-content-panel .economic-time-grid-corner{color:var(--text-muted);background:#ffffff0f}.dashboard-content-panel .economic-time-grid-day-head.is-today{color:var(--text-heading);background:#ffffff29}.dashboard-content-panel .economic-time-grid-day-column,.dashboard-content-panel .economic-time-grid-allday-cell{background:0 0}.dashboard-content-panel .economic-time-grid-day-column.is-today,.dashboard-content-panel .economic-time-grid-allday-cell.is-today{background:#ffffff08}.dashboard-content-panel .economic-time-grid-segment--slot,.dashboard-content-panel .economic-time-grid-segment--hour,.dashboard-content-panel .economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--slot,.dashboard-content-panel .economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--hour{background:#ffffff05;border-top-color:#ffffff14}.dashboard-content-panel .economic-time-grid-segment--slot.has-events{background:#ffffff0a}.dashboard-content-panel .economic-time-grid-segment--gap,.dashboard-content-panel .economic-time-grid-slot .economic-time-grid-segment--gap,.dashboard-content-panel .economic-time-grid-day-column.is-empty-day .economic-time-grid-slot .economic-time-grid-segment--gap{background:repeating-linear-gradient(-45deg,#ffffff05,#ffffff05 4px,#ffffff0d 4px 8px);border-top-color:#ffffff1a}.dashboard-content-panel .economic-grid-event-card--economic{background:#b8a9e833}.dashboard-content-panel .economic-grid-event-card--earnings{background:#9ec5ff33}.dashboard-content-panel .economic-grid-event-card--ipo{background:#9edfb833}.dashboard-content-panel .economic-grid-event-card--dividend{background:#ffc9a633}.dashboard-content-panel .economic-grid-event-card--other{background:#ffffff1a}.dashboard-content-panel .economic-time-grid-now-line,.dashboard-content-panel .economic-time-grid-now-line:after{background:#fff}.dashboard-content-panel .economic-time-grid-now-badge{color:#111;background:#fff}.dashboard-content-panel .manager-page .panel,.dashboard-content-panel .ideas-page .panel,.dashboard-content-panel .trade-journal-form-card,.dashboard-content-panel .trade-journal-list-card,.dashboard-content-panel .database-admin-card,.dashboard-content-panel .sheet-settings-card{-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff1a}@media (width<=900px){.dashboard-background-options{grid-template-columns:1fr}.dashboard-shell--sidebar-collapsed .dashboard-sidebar{width:76px;margin-left:10px}}.stock-analysis-page{max-width:1200px}.stock-analysis-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.stock-analysis-description{color:var(--text-muted);margin:6px 0 0;font-size:.86rem;line-height:1.5}.stock-analysis-add-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;font-size:.84rem;font-weight:700;display:inline-flex}.stock-analysis-add-btn:hover{background:var(--btn-primary-hover)}.stock-analysis-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.stock-analysis-filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.stock-analysis-filter-btn.selected{color:var(--text-heading);background:#ffffff29;border-color:#ffffff59}.stock-analysis-count{color:var(--text-muted);margin-left:auto;font-size:.8rem;font-weight:600}.stock-analysis-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.stock-analysis-card{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;min-height:280px;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.stock-analysis-card:hover{box-shadow:var(--shadow-sm);border-color:#ffffff47;transform:translateY(-2px)}.stock-analysis-card-cover{aspect-ratio:16/10;background:linear-gradient(145deg,#ffffff14,#ffffff08);position:relative;overflow:hidden}.stock-analysis-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.stock-analysis-card-placeholder{color:#ffffffb8;place-items:center;width:100%;height:100%;font-size:2rem;font-weight:800;display:grid}.stock-analysis-card-body{flex-direction:column;gap:6px;min-height:0;padding:14px;display:flex}.stock-analysis-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.stock-analysis-status-badge{color:#fff;border-radius:999px;align-items:center;padding:3px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.stock-analysis-status-badge--watching{background:#6b6b72}.stock-analysis-status-badge--holding{background:#5a5a60}.stock-analysis-status-badge--analyzing{background:#8e8e93}.stock-analysis-status-badge--archived{background:#3a3a3c}.stock-analysis-card-ticker{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}.stock-analysis-card-symbol{color:var(--text-heading);font-size:1rem;font-weight:800;line-height:1.3}.stock-analysis-card-title{color:var(--text-heading);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.84rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.stock-analysis-card-summary{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.5;display:-webkit-box;overflow:hidden}.stock-analysis-card-date{color:var(--text-muted);margin-top:auto;padding-top:4px;font-size:.72rem;font-weight:600}.stock-analysis-card--add{min-height:280px;color:var(--text-muted);background:0 0;border-style:dashed;justify-content:center;align-items:center;gap:10px;font-size:.86rem;font-weight:700}.stock-analysis-card--add:hover{color:var(--text-heading);background:#ffffff0a;transform:none}.stock-analysis-card-add-icon{background:#ffffff14;border-radius:12px;place-items:center;width:42px;height:42px;font-size:1.1rem;display:grid}.stock-analysis-empty-card{border:1px dashed var(--border);background:var(--bg-subtle);color:var(--text-muted);text-align:center;border-radius:16px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.stock-analysis-empty-icon{color:#ffffff73;font-size:1.6rem}.stock-analysis-empty-card p{margin:0}.stock-analysis-empty-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-heading);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.8rem;font-weight:700}.stock-analysis-overlay{z-index:120;background:#08080c85;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.stock-analysis-panel{border-left:1px solid var(--border);background:#121216f5;flex-direction:column;width:min(100%,400px);height:100%;animation:.24s slideIn;display:flex;box-shadow:-8px 0 32px #00000052}.stock-analysis-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 18px 14px;display:flex}.stock-analysis-panel-eyebrow{color:var(--text-muted);margin:0 0 4px;font-size:.72rem;font-weight:700}.stock-analysis-panel-header h2{color:var(--text-heading);margin:0;font-size:1.08rem}.stock-analysis-panel-close{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:10px;font-size:1rem}.stock-analysis-panel-form{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 18px 20px;display:flex;overflow-y:auto}.stock-analysis-panel-form .field-label input,.stock-analysis-panel-form .field-label textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;color:var(--text-heading);padding:10px 12px;font-family:inherit;font-size:.86rem}.stock-analysis-panel-form .field-label textarea{resize:vertical;min-height:120px}.stock-analysis-status-pills{flex-wrap:wrap;gap:6px;display:flex}.stock-analysis-status-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:700}.stock-analysis-status-pill.selected{color:var(--text-heading);background:#ffffff29;border-color:#ffffff59}.stock-analysis-image-zone{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--primary-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.stock-analysis-image-zone-copy{min-width:0;color:var(--text-heading);align-items:center;gap:10px;display:flex}.stock-analysis-image-zone-copy strong{font-size:.82rem;display:block}.stock-analysis-image-zone-copy span{color:var(--text-muted);font-size:.74rem;display:block}.stock-analysis-upload-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.76rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.stock-analysis-upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.stock-analysis-image-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.stock-analysis-image-thumb{aspect-ratio:1;border:1px solid var(--border);border-radius:10px;margin:0;position:relative;overflow:hidden}.stock-analysis-image-thumb img{object-fit:cover;width:100%;height:100%;display:block}.stock-analysis-image-remove{color:#fff;cursor:pointer;background:#08080cb8;border:none;border-radius:999px;width:22px;height:22px;font-size:.9rem;position:absolute;top:4px;right:4px}.stock-analysis-panel-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.stock-analysis-delete-btn{border-radius:var(--radius-sm);color:#ff9a9a;cursor:pointer;background:#ff9a9a14;border:1px solid #ff9a9a59;margin-right:auto;padding:8px 12px;font-size:.82rem;font-weight:600}.stock-analysis-save-btn{border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;padding:11px 16px;font-size:.86rem;font-weight:700}.stock-analysis-save-btn:disabled{opacity:.45;cursor:not-allowed}@media (width<=720px){.stock-analysis-header{flex-direction:column}.stock-analysis-add-btn{align-self:flex-start}.stock-analysis-count{width:100%;margin-left:0}.stock-analysis-gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.dashboard-shell{background-color:var(--shell-bg);width:100%;max-width:1564px;min-height:100vh;color:var(--text);--dashboard-sidebar-offset:236px;--sidebar-rail:#151b2e;--sidebar-rail-border:#94a3b824;--sidebar-icon:#e2e8f0b8;--sidebar-icon-hover:#fff;--sidebar-active-pill:#93c5fd;--sidebar-active-ink:#0f172a;--sidebar-hover-bg:#ffffff14;--sidebar-active-soft:#3b82f638;margin-left:auto;margin-right:auto;display:flex;position:relative}.dashboard-shell:before,.dashboard-shell:after{display:none}.dashboard-sidebar{z-index:250;border:1px solid var(--sidebar-rail-border);background:var(--sidebar-rail);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:28px;flex-direction:column;flex-shrink:0;align-self:flex-start;align-items:stretch;width:204px;height:calc(100vh - 136px);margin:68px 8px 68px 16px;padding:18px 12px;transition:width .2s,padding .2s,border-radius .2s;display:flex;position:sticky;top:68px;overflow:visible;box-shadow:0 18px 40px #0f172a38}.dashboard-shell--sidebar-collapsed .dashboard-sidebar{border-radius:999px;align-items:center;width:72px;padding:18px 10px}.dashboard-shell--sidebar-collapsed{--dashboard-sidebar-offset:96px}.dashboard-sidebar-top{justify-content:center;align-items:center;gap:8px;margin-bottom:18px;display:flex}.dashboard-shell--sidebar-collapsed .dashboard-sidebar-top{flex-direction:column;align-items:center;gap:12px}.dashboard-sidebar-brand{width:42px;height:42px;color:var(--sidebar-icon);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:0;padding:0;transition:background .15s,box-shadow .15s,border-color .15s;display:inline-flex;overflow:hidden}.dashboard-shell--sidebar-collapsed .dashboard-sidebar-brand{width:42px;height:42px}.dashboard-brand-image{object-fit:cover;width:100%;height:100%;display:block}.dashboard-brand-mark{font-size:1.1rem;font-weight:800;line-height:1}.dashboard-sidebar-brand:hover{box-shadow:none;background:#ffffff1a;border-color:#ffffff2e}.dashboard-sidebar-brand.active{color:#fff;border-color:var(--sidebar-active-pill);background:#93c5fd2e;box-shadow:0 0 0 2px #93c5fd59}.dashboard-sidebar-bottom{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:14px}.dashboard-sidebar-user{color:#e2e8f073;text-align:center;word-break:break-all;margin:4px 0 0;padding:0 4px;font-size:.68rem;font-weight:600;line-height:1.3}.dashboard-sidebar-flyout{z-index:40;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(260px,100vw - 96px);box-shadow:var(--shadow-md);padding:0;animation:.16s dashboard-flyout-in;position:absolute;bottom:0;left:calc(100% + 14px);overflow:hidden}.dashboard-journal-wrap .dashboard-sidebar-flyout{top:50%;bottom:auto;transform:translateY(-50%)}@keyframes dashboard-flyout-in{0%{opacity:0;translate:-6px}to{opacity:1;translate:0}}.dashboard-sidebar-flyout-header{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;padding:12px 14px 10px;font-size:.72rem;font-weight:700}.dashboard-sidebar-flyout-list{flex-direction:column;gap:4px;padding:6px;display:flex}.dashboard-sidebar-flyout-item{width:100%;color:var(--text-heading);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:flex-start;gap:12px;padding:10px;transition:background .15s,color .15s;display:flex}.dashboard-sidebar-flyout-item:hover,.dashboard-sidebar-flyout-item.active{background:var(--primary-soft)}.dashboard-sidebar-flyout-icon{background:var(--bg-subtle);width:36px;height:36px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-sidebar-flyout-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.dashboard-sidebar-flyout-item:hover .dashboard-sidebar-flyout-icon,.dashboard-sidebar-flyout-item.active .dashboard-sidebar-flyout-icon{background:var(--primary);color:#fff}.dashboard-sidebar-flyout-text{flex-direction:column;gap:3px;min-width:0;padding-top:2px;display:flex}.dashboard-sidebar-flyout-text strong{color:var(--text-heading);font-size:.86rem;font-weight:700;line-height:1.3}.dashboard-sidebar-flyout-text small{color:var(--text-muted);font-size:.74rem;line-height:1.35}.dashboard-sidebar-flyout-item.active .dashboard-sidebar-flyout-text strong{color:var(--primary)}.dashboard-shell .dashboard-sidebar .dashboard-nav-btn,.dashboard-shell .dashboard-sidebar .dashboard-nav-subbtn{color:var(--sidebar-icon);background:0 0}.dashboard-shell .dashboard-sidebar .dashboard-nav-btn:hover,.dashboard-shell .dashboard-sidebar .dashboard-nav-subbtn:hover{color:var(--sidebar-icon-hover);background:var(--sidebar-hover-bg)}.dashboard-shell .dashboard-sidebar .dashboard-nav-btn.active,.dashboard-shell .dashboard-sidebar .dashboard-nav-subbtn.active{color:var(--sidebar-active-pill);background:var(--sidebar-active-soft)}.dashboard-nav-btn{width:100%;min-height:44px;color:var(--sidebar-icon);cursor:pointer;z-index:0;border:none;border-radius:14px;justify-content:flex-start;align-items:center;gap:12px;padding:10px 12px;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative}.dashboard-shell--sidebar-collapsed .dashboard-nav-btn{border-radius:50%;justify-content:center;gap:0;width:44px;min-height:44px;padding:0;overflow:visible}.dashboard-shell--sidebar-collapsed .dashboard-sidebar .dashboard-nav-btn.active{color:var(--sidebar-active-ink);z-index:2;background:0 0}.dashboard-shell--sidebar-collapsed .dashboard-sidebar .dashboard-nav-btn.active:before{content:"";background:var(--sidebar-active-pill);z-index:-1;pointer-events:none;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #3b82f661}.dashboard-shell--sidebar-collapsed .dashboard-sidebar .dashboard-nav-btn.active .dashboard-nav-icon,.dashboard-shell--sidebar-collapsed .dashboard-sidebar .dashboard-nav-btn.active .dashboard-nav-anticon{color:var(--sidebar-active-ink)}.dashboard-nav-icon{color:inherit;z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.dashboard-sidebar .dashboard-nav-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.dashboard-sidebar .dashboard-nav-anticon{color:inherit;z-index:1;justify-content:center;align-items:center;display:inline-flex;position:relative}.dashboard-sidebar .dashboard-nav-anticon svg{fill:currentColor;stroke:none}.dashboard-nav-label{text-align:left;white-space:nowrap;font-size:.84rem;font-weight:600;line-height:1.2;display:block}.dashboard-shell--sidebar-collapsed .dashboard-nav-label{display:none}.dashboard-sidebar-nav,.dashboard-sidebar-bottom{align-items:stretch;gap:8px}.dashboard-sidebar-nav{scrollbar-width:thin;flex:1;min-height:0;overflow:hidden auto}.dashboard-shell--sidebar-collapsed .dashboard-sidebar-nav{overflow:visible}.dashboard-shell--sidebar-collapsed .dashboard-sidebar-nav,.dashboard-shell--sidebar-collapsed .dashboard-sidebar-bottom{align-items:center;gap:10px}.dashboard-settings-wrap,.dashboard-journal-wrap,.dashboard-nav-group{z-index:1;flex-direction:column;gap:4px;width:100%;display:flex;position:relative}:is(.dashboard-shell--sidebar-collapsed .dashboard-nav-group:has(.dashboard-sidebar-flyout),.dashboard-shell--sidebar-collapsed .dashboard-settings-wrap:has(.dashboard-sidebar-flyout),.dashboard-shell--sidebar-collapsed .dashboard-journal-wrap:has(.dashboard-sidebar-flyout)){z-index:30}.dashboard-shell--sidebar-collapsed .dashboard-settings-wrap,.dashboard-shell--sidebar-collapsed .dashboard-journal-wrap,.dashboard-shell--sidebar-collapsed .dashboard-nav-group{align-items:center}.dashboard-shell--sidebar-expanded .dashboard-settings-wrap,.dashboard-shell--sidebar-expanded .dashboard-journal-wrap,.dashboard-shell--sidebar-expanded .dashboard-nav-group{align-items:stretch}.dashboard-sidebar-spacer,.dashboard-sidebar-backdrop{display:none}@media (width<=1280px) and (width>=769px){.dashboard-shell,.dashboard-shell--sidebar-collapsed,.dashboard-shell--sidebar-expanded{--dashboard-sidebar-offset:96px}.dashboard-sidebar-spacer{visibility:hidden;pointer-events:none;flex-shrink:0;width:96px;height:1px;display:block}.dashboard-sidebar,.dashboard-shell--sidebar-collapsed .dashboard-sidebar,.dashboard-shell--sidebar-expanded .dashboard-sidebar{height:calc(100vh - 136px);margin:0;position:fixed;top:68px;left:16px}.dashboard-shell--sidebar-expanded .dashboard-sidebar-backdrop{z-index:240;cursor:pointer;background:#0f172a38;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}}.dashboard-sidebar-collapse-btn{width:32px;height:32px;color:var(--sidebar-icon);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.78rem;transition:background .15s,color .15s,border-color .15s,width .2s,border-radius .2s;display:inline-flex}.dashboard-shell--sidebar-expanded .dashboard-sidebar-collapse-btn--desktop{border-radius:12px;width:100%;height:36px;font-size:.9rem}.dashboard-sidebar-collapse-btn:hover{color:var(--sidebar-icon-hover);background:#ffffff1f;border-color:#fff3}.dashboard-sidebar-close-btn--mobile,.dashboard-mobile-menu-btn{display:none}.dashboard-shell--sidebar-expanded .dashboard-nav-btn{flex-direction:row}.dashboard-shell--sidebar-collapsed .dashboard-nav-btn{flex-direction:column}.dashboard-shell--sidebar-expanded .dashboard-brand-image{width:42px;height:42px}.dashboard-nav-btn:hover,.dashboard-nav-subbtn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-icon-hover);border-color:#0000}.dashboard-nav-btn.active,.dashboard-nav-subbtn.active{background:var(--sidebar-active-soft);color:var(--sidebar-active-pill);box-shadow:none}.dashboard-nav-group{flex-direction:column;gap:4px;width:100%;display:flex;position:relative}.dashboard-nav-btn.dashboard-nav-group-btn{justify-content:flex-start}.dashboard-nav-chevron{color:#e2e8f073;margin-left:auto;font-size:.62rem;transition:transform .15s}.dashboard-nav-btn.active .dashboard-nav-anticon,.dashboard-nav-btn.active .dashboard-nav-icon,.dashboard-nav-subbtn.active .dashboard-nav-anticon,.dashboard-nav-subbtn.active .dashboard-nav-icon{color:inherit}.dashboard-nav-chevron.open{transform:rotate(180deg)}.dashboard-shell--sidebar-collapsed .dashboard-nav-chevron{display:none}.dashboard-nav-sublist{border-left:1px solid #ffffff1f;flex-direction:column;gap:2px;margin-left:18px;padding-left:12px;display:flex}.dashboard-nav-subbtn{width:100%;min-height:36px;color:var(--sidebar-icon);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.dashboard-nav-subbtn .dashboard-nav-icon{width:18px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dashboard-nav-subbtn .dashboard-nav-anticon{color:inherit;justify-content:center;align-items:center;font-size:.95rem;line-height:1;display:inline-flex}.dashboard-nav-subbtn .dashboard-nav-anticon svg{fill:currentColor;stroke:none;width:1em;height:1em}.dashboard-nav-subbtn .dashboard-nav-icon>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.dashboard-nav-subbtn .dashboard-nav-label{font-size:.8rem}.dashboard-shell--sidebar-collapsed .dashboard-nav-group .dashboard-sidebar-flyout,.dashboard-shell--sidebar-collapsed .dashboard-journal-wrap .dashboard-sidebar-flyout,.dashboard-shell--sidebar-collapsed .dashboard-settings-wrap .dashboard-sidebar-flyout{top:0;bottom:auto}.dashboard-shell--sidebar-collapsed .dashboard-sidebar-bottom .dashboard-sidebar-flyout{top:auto;bottom:0}.dashboard-shell--sidebar-expanded .dashboard-sidebar-bottom .dashboard-nav-group{flex-direction:column-reverse}.dashboard-shell--sidebar-expanded .dashboard-sidebar-bottom .dashboard-nav-sublist{margin-bottom:4px;margin-left:18px;padding-left:12px}.dashboard-main{z-index:1;flex-direction:column;flex:1;min-width:0;padding:0;display:flex;position:relative}.dashboard-header{background:0 0;border-bottom:none;justify-content:space-between;align-items:center;gap:16px;padding:28px 28px 4px;display:flex}.dashboard-header-left{align-items:center;gap:28px;min-width:0;display:flex}.dashboard-header-title{color:var(--text-heading);letter-spacing:-.02em;margin:0;font-size:calc(1.15rem + 2px);font-weight:800}.dashboard-header-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dashboard-header-nav-btn{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.86rem;font-weight:600;transition:background .15s,color .15s}.dashboard-header-nav-btn:hover{background:var(--bg-subtle);color:var(--text-heading)}.dashboard-header-nav-btn.active{background:var(--primary-soft);color:var(--primary)}.dashboard-content-panel{background:var(--shell-bg);-webkit-backdrop-filter:none;backdrop-filter:none;min-height:0;box-shadow:none;border:none;border-radius:0;flex:1}.dashboard-content{flex:1;align-items:stretch;padding:8px 28px 32px;overflow:auto}.dashboard-home{max-width:1280px}.dashboard-home-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.dashboard-home-left{flex-direction:column;gap:20px;min-width:0;display:flex}.dashboard-home-right{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboard-card--today-work{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px 18px 16px;display:flex}.dashboard-today-work-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.dashboard-today-work-eyebrow{color:var(--primary);letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}.dashboard-today-work-header .dashboard-panel-title{color:var(--text-heading);margin:0;font-size:1.05rem;font-weight:800}.dashboard-card--today-work .dashboard-todo-section{background:color-mix(in srgb, var(--primary) 4%, var(--surface));margin-bottom:0}.dashboard-card--today-work .dashboard-todo-section+.dashboard-todo-section{margin-top:8px}.dashboard-card--today-work .dashboard-empty{color:var(--text-muted);margin:0;padding:10px 12px 12px;font-size:.7rem}.dashboard-card--today-work .dashboard-todo-section-header{font-size:.75rem}.dashboard-card--today-work .dashboard-todo-chevron{font-size:.64rem}.dashboard-card--today-work .dashboard-todo-count{font-size:.61rem}.dashboard-card--today-work .dashboard-todo-text span{font-size:.75rem}.dashboard-card--today-work .dashboard-todo-text small{font-size:.61rem}.dashboard-card--today-work .dashboard-todo-item--past .dashboard-todo-text span{font-size:.68rem}.dashboard-card--today-work .dashboard-todo-item--past .dashboard-todo-text small{font-size:.56rem}.dashboard-home-left .dashboard-card{flex-direction:column;width:100%;display:flex}.dashboard-home-left .dashboard-card--info{gap:16px}.dashboard-home-left .dashboard-weather-card{width:100%}.dashboard-home-left .dashboard-card--github-contributions{padding:24px 40px}.dashboard-home-left .github-contributions-heatmap{gap:20px}.dashboard-home-left .github-contributions-grid{gap:8px;padding:4px 10px 0}.dashboard-home-left .github-contributions-row{grid-template-columns:34px minmax(0,1fr);gap:12px}.dashboard-home-left .github-contributions-day-label{font-size:.68rem}.dashboard-home-left .github-contributions-row-cells{grid-template-columns:repeat(12,minmax(0,31px));justify-content:center;gap:6px;max-width:100%}.dashboard-home-left .github-contributions-cell{border-radius:5px;width:100%;max-width:31px;margin:0 auto}.dashboard-home-left .github-contributions-footer{gap:16px;padding-top:12px}.dashboard-home-left .github-contributions-range{min-width:100px;font-size:.76rem}.dashboard-card--github-contributions{flex-direction:column;min-width:0;display:flex}@media (width<=767px){.dashboard-home-split{flex-direction:column;align-items:stretch;gap:16px;display:flex}.dashboard-home-left,.dashboard-home-right{display:contents}.dashboard-home-split>.dashboard-card{box-sizing:border-box;width:100%;min-width:0}.dashboard-card--info{order:1}.dashboard-card--today-work{order:2}.dashboard-card--github-contributions{order:3;padding:16px 14px;display:flex}.dashboard-home-left .github-contributions-row-cells{grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}.dashboard-home-left .github-contributions-cell{max-width:none}}.github-contributions-heatmap{flex-direction:column;flex:1;gap:20px;width:100%;min-width:0;display:flex}.github-contributions-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.github-contributions-eyebrow{color:#16a34a;letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:.72rem;font-weight:800}.github-contributions-title{color:var(--text-heading);margin:0;font-size:1rem;font-weight:800}.github-contributions-profile{color:var(--text-muted);font-size:.78rem;font-weight:600;text-decoration:none}.github-contributions-profile:hover{color:var(--text-heading)}.github-contributions-empty{color:var(--text-muted);text-align:center;margin:0;padding:24px 16px;font-size:.84rem}.github-contributions-empty--error{color:#b91c1c}.github-contributions-grid{flex-direction:column;gap:10px;width:100%;padding:8px 6px 0;display:flex}.github-contributions-row{grid-template-columns:42px minmax(0,1fr);align-items:center;gap:16px;display:grid}.github-contributions-day-label{color:#94a3b8;text-align:left;font-size:.72rem;font-weight:500}.github-contributions-row-cells{grid-template-columns:repeat(12,minmax(0,1fr));gap:9px;display:grid}.github-contributions-cell{aspect-ratio:1;background:#ebedf0;border-radius:6px}.github-contributions-cell[data-level="1"]{background:#9be9a8}.github-contributions-cell[data-level="2"]{background:#40c463}.github-contributions-cell[data-level="3"]{background:#30a14e}.github-contributions-cell[data-level="4"]{background:#216e39}.github-contributions-footer{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding-top:12px;display:flex}.github-contributions-range{text-align:center;min-width:120px;color:var(--text-muted);font-size:.82rem;font-weight:500}.github-contributions-total{color:var(--text-muted);font-size:.76rem}.dashboard-card--info{flex-direction:column;gap:16px;display:flex}.dashboard-home-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.dashboard-home-main,.dashboard-home-aside{flex-direction:column;gap:16px;min-width:0;display:flex}.dashboard-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-sm);padding:20px 22px}.dashboard-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dashboard-card-title{color:var(--text-heading);margin:0;font-size:1rem;font-weight:700}.dashboard-panel,.dashboard-home .dashboard-panel{border:1px solid var(--border);background:var(--panel-bg);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-sm)}.dashboard-home-tasks-row.has-past{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.dashboard-filter-btn{border-color:var(--border);background:var(--surface);color:var(--text-muted)}.dashboard-filter-btn.active,.dashboard-filter-btn:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.dashboard-weather-card{background:0 0;border:none;margin:0;padding:0}.dashboard-mini-calendar{background:0 0;border:none;padding:0}.dashboard-mini-day.selected{background:var(--primary);color:#fff}.dashboard-mini-day.today:not(.selected){border-color:var(--primary);color:var(--primary)}.dashboard-add-todo{background:0 0;border:none;gap:8px;margin-bottom:16px;padding:0}.dashboard-add-todo input{color:var(--text-heading);background:var(--surface);border-color:var(--border)}.dashboard-add-todo input::placeholder{color:var(--text-muted)}.dashboard-add-todo input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ui-focus-ring)}.dashboard-add-todo button{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.dashboard-add-todo button:hover:not(:disabled){background:var(--btn-primary-hover)}.dashboard-add-todo button:disabled{background:var(--btn-primary-disabled-bg);color:var(--btn-primary-disabled-text);cursor:not-allowed}.dashboard-todo-item{border-color:var(--border);background:var(--surface)}.dashboard-todo-item input[type=checkbox]{accent-color:var(--primary)}.dashboard-todo-section-header{color:var(--text-muted)}.dashboard-habit-table th,.dashboard-habit-table td{border-color:var(--border)}.dashboard-habit-day-col.today{color:var(--primary)}.dashboard-habit-check{border-color:var(--habit-check-border);background:var(--habit-check-bg)}.dashboard-habit-check.checked{background:var(--habit-check-checked);border-color:var(--habit-check-checked)}.dashboard-habit-add input{border-color:var(--border);background:var(--surface)}.calendar-app{background:var(--panel-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);border-radius:var(--radius);padding:20px 24px 24px;overflow:hidden}.day-cell{background:var(--surface);border-color:var(--border);color:var(--text)}.spanning-bar{background:var(--schedule-bar-bg);color:var(--schedule-bar-text)}.dashboard-content .routines-page{max-width:1280px}.routines-shell{flex-direction:column;gap:20px;display:flex}.routines-shell--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.routines-week-toolbar{margin-bottom:12px}.routines-panel--habits,.routines-panel--tasks{min-width:0}.recurring-work-board{flex-direction:column;gap:18px;display:flex}.recurring-work-board-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.recurring-work-board-title{color:var(--text-heading);margin:0;font-size:.95rem;font-weight:700}.recurring-work-board-actions{align-items:center;gap:6px;display:flex}.recurring-work-section{flex-direction:column;gap:10px;display:flex}.recurring-work-section-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recurring-work-section-title{letter-spacing:.02em;color:var(--text-heading);margin:0;font-size:.78rem;font-weight:700}.recurring-work-section-hint{color:var(--text-muted);margin:0;font-size:.68rem}.recurring-work-section-empty{color:var(--text-muted);margin:0;padding:12px 0;font-size:.78rem}.recurring-work-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recurring-work-row{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.recurring-work-row--waiting{background:color-mix(in srgb, var(--surface-muted) 70%, var(--surface));border-color:color-mix(in srgb, var(--border) 80%, transparent);opacity:.88}.recurring-work-row--waiting .recurring-work-row-title,.recurring-work-row--waiting .recurring-work-row-meta{color:var(--text-muted)}.recurring-work-row--overdue{border-color:color-mix(in srgb, #c45c5c 35%, var(--border))}.recurring-work-row--done{opacity:.85}.recurring-work-row-main{flex:1;min-width:0}.recurring-work-row-title{color:var(--text-heading);margin:0 0 4px;font-size:.88rem;font-weight:600}.recurring-work-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:.7rem;display:flex}.recurring-work-section--daily .recurring-work-row-title{font-size:.78rem}.recurring-work-section--daily .recurring-work-row-meta{font-size:.64rem}.recurring-work-status{background:var(--surface-muted);color:var(--text-muted);border-radius:999px;align-items:center;padding:1px 7px;font-size:.65rem;font-weight:600;display:inline-flex}.recurring-work-status--due{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary)}.recurring-work-status--done{color:#2f9e6a;background:#2f9e6a24}.recurring-work-status--overdue{color:#c45c5c;background:#c45c5c24}.recurring-work-dday{letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:.65rem;font-weight:700;display:inline-flex}.recurring-work-dday--urgent{color:#c45c5c;background:#c45c5c29}.recurring-work-dday--warn{color:#c67a28;background:#d8893a29}.recurring-work-dday--muted{background:var(--surface-muted);color:var(--text-muted)}.recurring-work-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.recurring-work-active-toggle{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.recurring-work-active-toggle-btn{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:4px 9px;font-size:.66rem;font-weight:600}.recurring-work-active-toggle-btn:hover{color:var(--text-heading)}.recurring-work-active-toggle-btn.is-active{background:var(--surface);color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 25%, transparent)}.recurring-work-check{border:1.5px solid var(--border);background:var(--surface);color:#0000;cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.recurring-work-check:hover:not(:disabled){border-color:var(--primary)}.recurring-work-check.is-done{color:#2f9e6a;background:#2f9e6a29;border-color:#2f9e6a}.recurring-work-check:disabled{opacity:.4;cursor:not-allowed}.recurring-work-add-toggle{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;align-self:flex-start;padding:8px 12px;font-size:.78rem;font-weight:600}.recurring-work-add-toggle:hover{border-color:var(--primary);color:var(--primary)}.recurring-work-add{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.recurring-work-add input[type=text]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:8px 10px;font-size:.84rem}.recurring-work-add-name-row{align-items:center;gap:8px;display:flex}.recurring-work-add-name-row input[type=text]{flex:1;min-width:0}.recurring-work-add-name-row .weekly-tracker-list-btn{flex-shrink:0}.recurring-work-add-actions{justify-content:flex-end;gap:8px;display:flex}.recurring-work-add-actions button[type=submit]{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600}.recurring-work-add-actions button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.recurring-work-schedule-picker{flex-direction:column;gap:8px;display:flex}.recurring-work-schedule-picker-label{color:var(--text-muted);font-size:.72rem;font-weight:600}.recurring-work-schedule-mode{flex-wrap:wrap;gap:10px;display:flex}.recurring-work-schedule-mode-option{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.recurring-work-schedule-window{align-items:flex-end;gap:8px;display:flex}.recurring-work-schedule-day-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.7rem;display:flex}.recurring-work-schedule-day-field input{border:1px solid var(--border);background:var(--surface);width:64px;color:var(--text);border-radius:8px;padding:6px 8px;font-size:.84rem}.recurring-work-schedule-window-sep{color:var(--text-muted);padding-bottom:8px}.recurring-work-schedule-active{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.weekly-tracker-board{flex-direction:column;gap:14px;display:flex}.weekly-tracker-board-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.weekly-tracker-board-title{color:var(--text-heading);white-space:nowrap;min-width:0;margin:0;font-size:.95rem;font-weight:700}.weekly-tracker-board-actions{align-items:center;gap:6px;display:flex}.weekly-tracker-icon-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.weekly-tracker-icon-btn:hover{background:var(--surface-muted);color:var(--text-heading)}.weekly-tracker-list-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.68rem;font-weight:600}.weekly-tracker-list-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.work-list-browse-status{margin:0 0 12px;font-size:.78rem}.item-library-readonly-row{color:var(--text);flex-direction:column;gap:2px;padding:10px 12px;font-size:.84rem;display:flex}.item-library-readonly-row small{color:var(--text-muted);font-size:.72rem}.item-library-option--readonly{cursor:default}.weekly-tracker-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.weekly-tracker-card{border-radius:18px;padding:14px 16px 12px}.weekly-tracker-card-top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.weekly-tracker-card-title{margin:0;font-size:.92rem;font-weight:600;line-height:1.3}.weekly-tracker-card-title.is-editable{cursor:text}.weekly-tracker-rename-form{flex:1;min-width:0}.weekly-tracker-rename-input{border:1px solid color-mix(in srgb, currentColor 35%, transparent);width:100%;color:inherit;font:inherit;box-sizing:border-box;background:#ffffffb8;border-radius:6px;margin:0;padding:2px 6px;font-size:.92rem;font-weight:600;line-height:1.3}.weekly-tracker-rename-input:focus{border-color:color-mix(in srgb, currentColor 55%, transparent);background:var(--surface);outline:none}.weekly-tracker-card-subtitle{white-space:nowrap;font-size:.72rem;font-weight:600}.weekly-tracker-card-subtitle-btn{cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s}.weekly-tracker-card-subtitle-btn:hover{text-decoration-color:currentColor}.weekly-schedule-edit-modal .work-list-modal-body{flex-direction:column;gap:12px;display:flex}.weekly-schedule-edit-item-name{color:var(--text-heading);margin:0;font-size:.9rem;font-weight:700}.weekly-tracker-manage-modal .work-list-modal-body{max-height:min(70vh,520px);overflow-y:auto}.weekly-tracker-manage-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.weekly-tracker-manage-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.weekly-tracker-manage-item-main{align-items:center;gap:10px;padding:10px 12px;display:flex}.weekly-tracker-manage-order{flex-direction:column;gap:4px;display:flex}.weekly-tracker-manage-order-btn{border:1px solid var(--border);background:var(--surface);width:26px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.weekly-tracker-manage-order-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.weekly-tracker-manage-order-btn:disabled{opacity:.35;cursor:not-allowed}.weekly-tracker-manage-item-content{flex:1;min-width:0}.weekly-tracker-manage-item-title{color:var(--text-heading);margin:0;font-size:.88rem;font-weight:700}.weekly-tracker-manage-item-schedule{color:var(--text-muted);margin:2px 0 0;font-size:.72rem}.weekly-tracker-manage-item-actions{flex-shrink:0;gap:6px;display:flex}.weekly-tracker-manage-action-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:600}.weekly-tracker-manage-action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.weekly-tracker-manage-action-btn--danger:hover{color:#d9534f;background:#fdeeee;border-color:#d9534f}.weekly-tracker-manage-edit{border-top:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;gap:10px;padding:0 12px 12px 48px;display:flex}.weekly-tracker-manage-edit-field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;display:flex}.weekly-tracker-manage-edit-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:8px 12px;font-size:.84rem}.weekly-tracker-manage-edit-actions{justify-content:flex-end;display:flex}.weekly-tracker-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekly-tracker-day{z-index:0;flex-direction:column;align-items:center;gap:6px;padding:6px 0 4px;display:flex;position:relative}.weekly-tracker-day.is-today:before{content:"";background:var(--weekly-today-bg,#00000014);z-index:-1;border-radius:999px;width:30px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.weekly-tracker-day-label{letter-spacing:.02em;font-size:.62rem;font-weight:600}.weekly-tracker-day-label.is-today{color:var(--weekly-today-label,var(--text-heading));font-weight:800}.weekly-tracker-day.is-today.is-inactive{opacity:1}.weekly-tracker-day.is-today.is-inactive .weekly-tracker-day-label,.weekly-tracker-day.is-today.is-inactive .weekly-tracker-check{opacity:.45}.weekly-tracker-day.is-today.is-inactive:before{opacity:.7}.weekly-tracker-check{color:#fff;cursor:pointer;border:1.5px solid;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex}.weekly-tracker-check svg{width:12px;height:12px}.weekly-tracker-check:not(.is-done):hover{background:#ffffff73}.weekly-tracker-empty{text-align:center;color:var(--text-muted);margin:0;padding:24px 12px;font-size:.84rem}.weekly-tracker-add{flex-direction:column;gap:10px;margin-top:4px;display:flex}.weekly-tracker-add input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;color:var(--text);padding:8px 12px;font-size:.84rem}.weekly-tracker-add-actions{justify-content:flex-end;gap:8px;display:flex}.weekly-tracker-add button{border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;padding:8px 14px;font-size:.8rem;font-weight:600}.weekly-tracker-add-cancel{border-color:var(--border)!important;background:var(--surface)!important;color:var(--text-muted)!important}.weekly-tracker-add button:disabled{opacity:.5;cursor:not-allowed}.weekly-schedule-picker{flex-direction:column;gap:8px;display:flex}.weekly-schedule-picker-label{color:var(--text-muted);font-size:.72rem;font-weight:700}.weekly-schedule-mode{flex-wrap:nowrap;gap:12px;display:flex}.weekly-schedule-mode-option{color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.weekly-schedule-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekly-schedule-days.is-disabled{opacity:.45}.weekly-schedule-day-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 0;font-size:.68rem;font-weight:700}.weekly-schedule-day-btn.is-active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.weekly-tracker-day.is-inactive{opacity:.35}.weekly-tracker-day.is-inactive.is-today{opacity:1}.weekly-tracker-day.is-inactive .weekly-tracker-check{cursor:not-allowed}.routines-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-sm);padding:20px 24px 24px}.routines-panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.routines-panel-heading{flex-direction:column;gap:0;display:flex}.routines-panel-heading h2{color:var(--text-heading);margin:0;font-size:1.05rem;font-weight:700}.routines-panel-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:.72rem;font-weight:700}.routines-panel-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:.84rem}.routines-week-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.routines-week-nav-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.routines-week-nav-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.routines-week-nav-label{color:var(--text-heading);white-space:nowrap;font-size:.84rem;font-weight:600}.routines-week-today-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600}.routines-week-today-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.dashboard-content .ideas-page{max-width:1180px}.ideas-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.ideas-shell--folders{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.ideas-filter-tabs{border-bottom:1px solid var(--border);background:var(--surface);scrollbar-width:none;gap:4px;padding:4px 18px 0;display:flex;overflow-x:auto}.ideas-filter-tabs::-webkit-scrollbar{display:none}.ideas-filter-tab{--tab-accent:var(--primary);color:var(--text-muted);letter-spacing:-.01em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:12px 14px 11px;font-size:.86rem;font-weight:700;transition:color .15s,border-color .15s;position:relative}.ideas-filter-tab:hover{color:var(--text-heading)}.ideas-filter-tab.is-selected{border-bottom-color:var(--tab-accent);color:var(--tab-accent)}.ideas-filter-tab--학원{--tab-accent:#3b82f6}.ideas-filter-tab--사업{--tab-accent:#d97706}.ideas-filter-tab--주식{--tab-accent:#059669}.ideas-filter-tab--개인{--tab-accent:#db2777}.ideas-main-panel{flex-direction:column;gap:16px;min-width:0;padding:20px 22px 24px;display:flex}.ideas-list-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.ideas-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.ideas-category-tabs{flex-wrap:wrap;gap:8px;display:flex}.ideas-category-tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:600}.ideas-category-tab.selected,.ideas-category-tab--전체.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.ideas-open-composer-btn{border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:5px;padding:8px 13px;font-size:.67rem;font-weight:700;display:inline-flex}.ideas-open-composer-btn:hover{background:var(--btn-primary-hover)}.ideas-list-panel{flex-direction:column;gap:16px;display:flex}.ideas-list-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ideas-list-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.ideas-list-title{color:var(--text-heading);align-items:baseline;gap:8px;margin:0;font-size:1.2rem;display:inline-flex}.ideas-list-title-suffix{color:var(--text-muted);font-size:.92rem;font-weight:600}.ideas-list-subtitle{color:var(--text-muted);margin:0;font-size:.84rem}.ideas-list-count{border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-muted);flex-shrink:0;padding:5px 8px;font-size:.62rem;font-weight:700}.ideas-card-list,.ideas-card-grid{flex-direction:column;gap:12px;display:flex}.ideas-card{--idea-tone:var(--primary);--idea-tone-soft:color-mix(in srgb, var(--primary) 2.5%, #f7f9fc);--idea-tone-soft-strong:color-mix(in srgb, var(--primary) 5%, #f3f7fc);--idea-tone-chip:color-mix(in srgb, var(--primary) 14%, #fff);--idea-tone-ink:var(--primary);background:var(--idea-tone-soft);box-shadow:none;cursor:default;border:none;border-radius:28px;flex-direction:column;gap:0;padding:0;transition:background .18s,box-shadow .18s;display:flex;overflow:hidden}.ideas-card:hover,.ideas-card.is-expanded{background:var(--idea-tone-soft-strong);box-shadow:none}.ideas-card.is-expanded{background:var(--idea-tone-soft-strong)}.ideas-card--학원{--idea-tone:#3b82f6;--idea-tone-soft:color-mix(in srgb, #3b82f6 5%, var(--tone-base));--idea-tone-soft-strong:color-mix(in srgb, #3b82f6 9%, var(--tone-base));--idea-tone-chip:color-mix(in srgb, #3b82f6 18%, var(--tone-base));--idea-tone-ink:#1d4ed8}.ideas-card--사업{--idea-tone:#d97706;--idea-tone-soft:color-mix(in srgb, #d97706 6%, var(--tone-base));--idea-tone-soft-strong:color-mix(in srgb, #d97706 10%, var(--tone-base));--idea-tone-chip:color-mix(in srgb, #d97706 18%, var(--tone-base));--idea-tone-ink:#b45309}.ideas-card--주식{--idea-tone:#059669;--idea-tone-soft:color-mix(in srgb, #059669 5%, var(--tone-base));--idea-tone-soft-strong:color-mix(in srgb, #059669 9%, var(--tone-base));--idea-tone-chip:color-mix(in srgb, #059669 18%, var(--tone-base));--idea-tone-ink:#047857}.ideas-card--개인{--idea-tone:#db2777;--idea-tone-soft:color-mix(in srgb, #db2777 5%, var(--tone-base));--idea-tone-soft-strong:color-mix(in srgb, #db2777 9%, var(--tone-base));--idea-tone-chip:color-mix(in srgb, #db2777 18%, var(--tone-base));--idea-tone-ink:#be185d}.ideas-accordion-header{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 18px 22px;display:flex}.ideas-accordion-heading{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.ideas-card-title{letter-spacing:-.02em;color:var(--text-heading);margin:0;font-size:.82rem;font-weight:800;line-height:1.4}.ideas-accordion-toggle{background:color-mix(in srgb, var(--idea-tone) 10%, white);width:36px;height:36px;color:var(--idea-tone-ink);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:0;font-size:.92rem;transition:background .15s,color .15s,transform .15s;display:inline-flex}.ideas-accordion-toggle:hover{background:color-mix(in srgb, var(--idea-tone) 18%, white);color:var(--idea-tone-ink)}.ideas-card.is-expanded .ideas-accordion-toggle{background:color-mix(in srgb, var(--idea-tone) 16%, white);color:var(--idea-tone-ink)}.ideas-card-date{color:var(--text-muted);font-size:.7rem;font-weight:600;display:block}.ideas-card-tags,.ideas-tag-list{flex-wrap:wrap;gap:6px;display:flex}.ideas-tag-chip{background:var(--idea-tone-chip,var(--primary-soft));color:var(--idea-tone-ink,var(--primary));border:none;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.59rem;font-weight:700;display:inline-flex}@media (width>=769px){.ideas-tag-chip{font-size:.66rem}}.ideas-tag-chip--removable{cursor:pointer}.ideas-tag-chip--removable:hover{background:color-mix(in srgb, var(--idea-tone,var(--primary)) 24%, white)}.ideas-tag-empty,.ideas-tag-empty-inline{color:color-mix(in srgb, var(--idea-tone-ink,var(--text-muted)) 45%, var(--text-muted));margin:0;font-size:.78rem}.ideas-tag-input{z-index:5;flex-direction:column;gap:6px;display:flex;position:relative}.ideas-tag-input-box{border:1px solid var(--border);background:var(--surface);cursor:text;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px 10px;display:flex}.ideas-tag-input-box:focus-within{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 12%, transparent)}.ideas-tag-input-field{width:auto;min-width:160px;min-height:28px;caret-color:var(--text-heading);font:inherit;appearance:none;pointer-events:auto;-webkit-user-select:text;user-select:text;flex:160px;margin:0;padding:6px 4px;font-size:.88rem;line-height:1.4;box-shadow:none!important;color:var(--text-heading)!important;background:0 0!important;border:0!important;outline:0!important}.ideas-tag-input-field:focus,.ideas-tag-input-field:focus-visible{box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.dashboard-content-panel input.ideas-tag-input-field:not([type=checkbox]):not([type=radio]),.dashboard-content-panel input.ideas-tag-input-field:not([type=checkbox]):not([type=radio]):focus,body input.ideas-tag-input-field,body input.ideas-tag-input-field:focus{pointer-events:auto;box-shadow:none!important;color:var(--text-heading)!important;background:0 0!important;border:0!important;outline:0!important}.ideas-tag-suggest{z-index:40;border:1px solid var(--border);background:var(--surface);max-height:220px;box-shadow:var(--shadow-md,0 10px 24px #0f172a1f);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.ideas-tag-suggest-item{width:100%;color:var(--text-heading);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.ideas-tag-suggest-item:hover,.ideas-tag-suggest-item:focus-visible{background:var(--primary-soft);outline:none}.ideas-tag-suggest-item strong{font-size:.86rem;font-weight:700}.ideas-tag-suggest-item small{color:var(--text-muted);font-size:.72rem}.ideas-tag-suggest-item--create strong{color:var(--primary)}.ideas-tag-input-hint{color:#b91c1c;margin:0;font-size:.76rem}.ideas-field-block{flex-direction:column;gap:8px;display:flex}.ideas-field-label{color:var(--text-muted);font-size:.78rem;font-weight:700}.ideas-category-tabs--edit{gap:6px}.ideas-category-tabs--edit .ideas-category-tab{padding:6px 10px;font-size:.78rem}.ideas-card-detail,.ideas-accordion-panel{cursor:default;border-top:none;flex-direction:column;gap:12px;padding:0 22px 20px;animation:.18s ideas-accordion-in;display:flex}@keyframes ideas-accordion-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ideas-card-content{color:var(--text);white-space:pre-wrap;margin:0;font-size:.82rem;line-height:1.7}.ideas-card-content--empty{color:var(--text-muted)}.ideas-card-content--rich{white-space:normal}.ideas-card-content--rich p,.ideas-card-content--rich h2,.ideas-card-content--rich h3{margin:0 0 .55em}.ideas-card-content--rich p:last-child,.ideas-card-content--rich h2:last-child,.ideas-card-content--rich h3:last-child{margin-bottom:0}.ideas-card-content--rich h2{color:var(--text-heading);font-size:1.1rem;font-weight:700}.ideas-card-content--rich h3{color:var(--text-heading);font-size:.98rem;font-weight:700}.ideas-card-content--rich ul,.ideas-card-content--rich ol{margin:0 0 .55em;padding-left:1.2em}.ideas-card-content--rich li{margin:.15em 0}.note-rich-editor--ideas .note-rich-surface{min-height:160px;max-height:280px}.note-rich-editor--ideas-card .note-rich-surface{min-height:120px;max-height:220px}.ideas-card-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ideas-card-action-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;padding:5px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.ideas-card-action-btn:hover,.ideas-card-action-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.ideas-card-delete-btn{color:#dc2626;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:.7rem;font-weight:600}.ideas-card-delete-btn:hover{text-decoration:underline}.ideas-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 20px;display:flex}.ideas-empty-state p{margin:0}.ideas-empty-action{border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;padding:10px 16px;font-weight:700}.ideas-empty-action:hover{background:var(--btn-primary-hover)}.ideas-composer-modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(720px,100%);max-height:min(90vh,860px);box-shadow:var(--shadow-md);position:relative;overflow:auto}.ideas-composer-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 0;display:flex}.ideas-composer-modal-eyebrow{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}.ideas-composer-modal-header h2{margin:0;font-size:1.15rem}.ideas-composer-category-tabs,.ideas-composer-body{padding-left:22px;padding-right:22px}.ideas-composer-category-tabs{flex-wrap:wrap;gap:8px;padding-top:16px;padding-bottom:4px;display:flex}.ideas-composer-body{padding-top:8px;padding-bottom:22px}.ideas-title-box,.ideas-write-box{background:var(--surface)}.ideas-image-attach-zone{background:var(--bg-subtle);border-color:var(--border)}.ideas-save-btn{border-radius:var(--radius-sm);justify-content:center;width:100%}.ideas-composer-close-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:.78rem;font-weight:600}.ideas-composer-close-btn:hover{border-color:var(--ui-focus-border);color:var(--text-heading)}.ideas-composer-form{flex-direction:column;gap:12px;padding-bottom:0;padding-left:0;padding-right:0;display:flex}.ideas-category-label{align-items:center;gap:6px;display:inline-flex}.ideas-category-icon{font-size:.95em}.dashboard-content .study-notes-page{max-width:1180px}.dashboard-content .study-notes-page--document{width:100%;max-width:none;margin:0;padding:0}.study-note-document{flex-direction:column;gap:0;min-height:calc(100vh - 96px);display:flex}.study-note-document-chrome{z-index:8;background:color-mix(in srgb, var(--shell-bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);margin:0 -8px;padding:8px 8px 10px;position:sticky;top:0}.study-note-document-nav{flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:760px;margin:0 auto;display:flex}.study-note-document-back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:7px 10px;font-size:.84rem;font-weight:600;display:inline-flex}.study-note-document-back:hover{border-color:color-mix(in srgb, var(--text-heading) 18%, var(--border));background:var(--bg-subtle)}.study-note-document-pills{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.study-note-document-category-badge{min-width:0;color:var(--text-muted);flex:none;align-items:center;font-size:.84rem;font-weight:650;display:inline-flex}.study-note-document-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.study-note-document-actions .organize-primary-btn{align-items:center;gap:6px;display:inline-flex}.study-note-document-sheet{width:min(720px,100%);margin:0 auto;padding:28px 8px 72px}.study-note-document-title-input{box-sizing:border-box;width:100%;color:var(--text-heading);letter-spacing:-.02em;margin:0;padding:4px 0 4px 10px;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:750;line-height:1.25;display:block;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.study-note-document-title-input::placeholder{color:color-mix(in srgb, var(--text-muted) 75%, transparent)}.study-note-document-meta{color:var(--text-muted);opacity:.85;margin:0 0 12px;padding:0 0 0 10px;font-size:.72rem;font-weight:500;line-height:1.3}.study-note-document-title{color:var(--text-heading);letter-spacing:-.02em;margin:0 0 10px;padding:0 0 0 10px;font-size:clamp(1.55rem,2.4vw,2rem);font-weight:750;line-height:1.25}.study-note-document-summary-input{box-sizing:border-box;border-radius:var(--radius-sm);width:100%;color:var(--text);margin:0;padding:8px 12px;font-size:.92rem;font-weight:500;line-height:1.45;display:block;border:1px solid var(--border)!important;box-shadow:none!important;background:var(--surface)!important;outline:0!important}.study-note-document-summary-input::placeholder{color:color-mix(in srgb, var(--text-muted) 75%, transparent)}.study-note-document-summary{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);margin:0 0 16px;padding:10px 12px;font-size:.9rem;font-weight:600;line-height:1.5}.study-note-document-body{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:0 12px;font-size:12px;line-height:1.8}.study-note-document-body--rich{white-space:normal}.study-note-document-body--rich p,.study-note-document-body--rich h2,.study-note-document-body--rich h3{margin:0 0 .75em}.study-note-document-body--rich p:last-child,.study-note-document-body--rich h2:last-child,.study-note-document-body--rich h3:last-child{margin-bottom:0}.study-note-document-body--rich h2{color:var(--text-heading);letter-spacing:-.015em;font-size:1.35rem;font-weight:750}.study-note-document-body--rich h3{color:var(--text-heading);font-size:1.12rem;font-weight:700}.study-note-document-body--rich ul,.study-note-document-body--rich ol{margin:0 0 .75em;padding-left:1.3em}.study-note-document-body--rich li{margin:.2em 0}.study-note-document-body--empty{color:var(--text-muted)}.note-rich-editor--document .note-rich-title-row{align-items:center;gap:12px;min-width:0;margin:0 0 10px;display:flex}.note-rich-editor--document .note-rich-header-extra{margin:0 0 14px}.note-rich-editor--document .note-rich-title-slot{flex:1;min-width:0}.note-rich-editor--document .note-rich-toolbar--docked{border:1px solid var(--border);background:var(--surface);max-width:100%;box-shadow:none;border-radius:10px;flex-wrap:nowrap;flex-shrink:0;margin:0;padding:4px 6px}.note-rich-editor--document .note-rich-surface{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:min(62vh,640px);max-height:none;padding:18px 28px 48px;font-size:12px;line-height:1.8;overflow:visible}.study-notes-load-error{margin:0 0 12px}.study-notes-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 16px;padding:2px 0 8px;display:flex}.study-notes-pills{flex-wrap:wrap;flex:1;align-items:stretch;gap:7px;min-width:0;display:flex}.study-notes-pill{cursor:pointer;text-align:center;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-width:64px;padding:8px 13px;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 1px 2px #1c19170d,0 4px 10px #1c19170f}.study-notes-pill:hover{transform:translateY(-1px);box-shadow:0 2px 4px #1c19170f,0 8px 16px #1c191714}.study-notes-pill.is-selected{border-color:var(--pill-border);box-shadow:0 2px 4px var(--pill-shadow), 0 8px 18px var(--pill-shadow);transform:translateY(-1px)}.study-notes-pill-label{letter-spacing:-.01em;font-size:.7rem;font-weight:700;line-height:1.2}.study-notes-form-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.study-notes-add-btn{flex-shrink:0;gap:5px;padding:9px 13px;font-size:.76rem}.study-notes-heading-bar{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:4px;padding-left:16px;padding-right:16px;display:flex}.study-notes-heading-title{color:var(--text-heading);min-width:0;margin:0;font-size:1.05rem;font-weight:700}.study-notes-search-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:5px 11px 5px 9px;font-size:.72rem;font-weight:600;transition:border-color .15s,color .15s,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #1c19170a}.study-notes-search-toggle-icon{font-size:.78rem}.study-notes-search-toggle:hover{border-color:var(--ui-focus-border);color:var(--text-heading);background:var(--bg-subtle);box-shadow:0 2px 6px #1c19170f}.study-notes-search{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;width:min(280px,52vw);min-width:180px;max-width:280px;padding:6px 10px;display:flex}.study-notes-search.is-filled,.study-notes-search:focus-within{border-color:var(--ui-focus-border)}.study-notes-search-icon{color:var(--text-muted);flex-shrink:0;font-size:.78rem}.study-notes-search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.76rem}.study-notes-search input::placeholder{color:var(--text-muted)}.study-notes-search-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.85rem;display:inline-flex}.study-notes-search-close:hover{color:var(--text-heading)}@media (width<=768px){.study-notes-toolbar{flex-direction:column;align-items:stretch}.study-notes-pills{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.study-notes-pill{flex:none}.study-notes-add-btn{align-self:flex-end}.study-notes-heading-bar{gap:8px}.study-note-document{min-height:calc(100vh - 72px)}.study-note-document-chrome{margin:0 -4px;padding:6px 4px 8px}.study-note-document-nav{gap:8px}.study-note-document-pills{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:100%;order:3;padding-bottom:2px;overflow-x:auto}.study-note-document-category-badge{flex:100%;order:3}.study-note-document-actions{margin-left:auto}.study-note-document-sheet{padding:18px 4px 56px}.note-rich-editor--document .note-rich-title-row{flex-wrap:wrap;align-items:flex-start;gap:8px}.note-rich-editor--document .note-rich-title-slot{flex:100%}.note-rich-editor--document .note-rich-toolbar--docked{-webkit-overflow-scrolling:touch;flex:auto;overflow-x:auto}.note-rich-editor--document .note-rich-surface{min-height:55vh;padding:14px 18px 40px}.study-notes-search{width:min(200px,48vw);min-width:0}}.organize-note-detail-meta{color:var(--text-heading);margin:0;font-size:.9rem;font-weight:600}.organize-note-detail-summary{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary);margin:0;padding:10px 12px;font-size:.88rem;font-weight:600;line-height:1.5}.organize-note-detail-content{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--text);white-space:pre-wrap;max-height:360px;margin:0;padding:12px 14px;font-size:.88rem;line-height:1.7;overflow:auto}.organize-note-detail-content--rich{white-space:normal}.organize-note-detail-content--rich p,.organize-note-detail-content--rich h2,.organize-note-detail-content--rich h3{margin:0 0 .65em}.organize-note-detail-content--rich p:last-child,.organize-note-detail-content--rich h2:last-child,.organize-note-detail-content--rich h3:last-child{margin-bottom:0}.organize-note-detail-content--rich h2{color:var(--text-heading);font-size:1.2rem;font-weight:700}.organize-note-detail-content--rich h3{color:var(--text-heading);font-size:1.05rem;font-weight:700}.organize-note-detail-content--rich ul,.organize-note-detail-content--rich ol{margin:0 0 .65em;padding-left:1.25em}.organize-note-detail-content--rich li{margin:.2em 0}.organize-modal--note-editor{width:min(640px,94vw)}.note-rich-editor{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.note-rich-editor.note-rich-editor--document{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.note-rich-editor--docked{overflow:visible}.note-rich-title-row{align-items:center;gap:12px;min-width:0;display:flex}.note-rich-title-slot{flex:1;min-width:0}.note-rich-toolbar{border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-wrap:wrap;align-items:center;gap:4px;padding:8px 10px;display:flex}.note-rich-toolbar--docked{border-bottom:0}.note-rich-toolbar-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.note-rich-tool-btn{min-width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.84rem;display:inline-flex}.note-rich-tool-btn:hover{border-color:var(--border);background:var(--surface);color:var(--text-heading)}.note-rich-tool-btn--text{font-size:.72rem;font-weight:600}.note-rich-size-group{align-items:center;gap:4px;display:inline-flex}.note-rich-size-icon{color:var(--text-muted);margin-right:2px;font-size:.8rem}.note-rich-size-input{border:1px solid var(--border);background:var(--surface);width:52px;height:28px;color:var(--text-heading);text-align:center;appearance:textfield;border-radius:8px;margin:0;padding:0 6px;font-size:.78rem;font-weight:650;line-height:1}.note-rich-size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.note-rich-size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.note-rich-size-input:focus{border-color:color-mix(in srgb, var(--text-heading) 28%, var(--border));outline:none}.note-rich-size-unit{color:var(--text-muted);font-size:.72rem;font-weight:600}.note-rich-surface{min-height:220px;max-height:360px;color:var(--text);outline:none;padding:12px 14px;font-size:.88rem;line-height:1.7;overflow:auto}.note-rich-surface:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.note-rich-surface p,.note-rich-surface h2,.note-rich-surface h3{margin:0 0 .65em}.note-rich-surface h2{color:var(--text-heading);font-size:1.2rem;font-weight:700}.note-rich-surface h3{color:var(--text-heading);font-size:1.05rem;font-weight:700}.note-rich-surface ul,.note-rich-surface ol{margin:0 0 .65em;padding-left:1.25em}.note-rich-surface li{margin:.2em 0}.organize-note-detail-date{color:var(--text-muted);margin:0;font-size:.78rem}.organize-link-row-icon .anticon{font-size:18px}.dashboard-content .organize-page,.dashboard-content .links-page{max-width:1180px}.links-load-error{margin:0 0 12px}.links-page-shell{gap:14px}.links-heading-bar{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.links-heading-title{color:var(--text-heading);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:750;line-height:1.3}.links-search-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.links-search-toggle:hover{border-color:color-mix(in srgb, var(--text-heading) 18%, var(--border));color:var(--text-heading);background:var(--bg-subtle)}.links-search-toggle-icon{font-size:.9em}.links-search{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:min(280px,100%);max-width:360px;padding:6px 10px;display:inline-flex}.links-search.is-filled,.links-search:focus-within{border-color:color-mix(in srgb, var(--text-heading) 22%, var(--border))}.links-search-icon{color:var(--text-muted);font-size:.9rem}.links-search input{min-width:0;color:var(--text-heading);flex:1;font-size:.84rem;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.links-search input::placeholder{color:var(--text-muted)}.links-search-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.links-search-close:hover{color:var(--text-heading)}.links-toolbar{flex-direction:column;gap:10px;padding:2px 0 4px;display:flex}.links-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 14px;display:flex}.links-category-list{flex-wrap:wrap;flex:1;align-items:center;gap:4px 2px;min-width:0;display:flex}.links-category-item-wrap{align-items:center;display:inline-flex;position:relative}.links-category-item{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;padding:5px 10px;font-size:.78rem;font-weight:500;line-height:1.35;display:inline-flex}.links-category-item:hover{color:var(--text-heading);background:color-mix(in srgb, var(--bg-subtle) 80%, transparent)}.links-category-item.is-selected{color:var(--text-heading);background:var(--bg-subtle);font-weight:700}.links-category-remove{background:var(--bg-subtle);width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:.7rem;line-height:1;transition:opacity .15s;display:inline-flex;position:absolute;top:-4px;right:-2px}.links-category-item-wrap:hover .links-category-remove,.links-category-item-wrap:focus-within .links-category-remove{opacity:1}.links-category-add-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.links-category-add-btn:hover{color:var(--text-heading);background:var(--bg-subtle)}.links-toolbar-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.links-view-toggle{border:1px solid var(--border);background:var(--bg-subtle);border-radius:10px;align-items:center;padding:2px;display:inline-flex}.links-view-toggle-btn{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.links-view-toggle-btn:hover{color:var(--text-heading)}.links-view-toggle-btn.is-active{background:var(--surface);color:var(--text-heading);box-shadow:0 1px 2px #1c191714}.links-toolbar-actions .links-search{min-width:180px;max-width:260px}.links-add-btn{align-items:center;gap:5px;padding:9px 13px;font-size:.76rem;display:inline-flex}.links-list{flex-direction:column;gap:10px;display:flex}.links-row-actions{align-self:center;padding-right:12px;opacity:1!important}.links-open-btn{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text-heading);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:.78rem;font-weight:650;display:inline-flex}.links-open-btn:hover{border-color:color-mix(in srgb, var(--text-heading) 20%, var(--border));background:var(--bg-subtle)}.links-category-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.links-category-form input{flex:1;min-width:160px}.links-page-content{padding-top:4px}.links-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.links-gallery-card{border:1px solid var(--border);background:var(--surface);min-height:188px;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.links-gallery-card:hover{border-color:color-mix(in srgb, var(--text-heading) 16%, var(--border));box-shadow:var(--shadow-md,0 8px 20px #1c191714);transform:translateY(-1px)}.links-gallery-card-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:8px;width:100%;min-height:0;padding:16px 16px 12px;display:flex}.links-gallery-card-title-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.links-gallery-card-icon{width:22px;height:22px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.links-gallery-card-icon img{width:16px;height:16px}.links-gallery-card-title{min-width:0;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:750;line-height:1.3;overflow:hidden}.links-gallery-card .organize-importance{gap:3px}.links-gallery-card .organize-importance-star{font-size:.72rem}.links-gallery-card .organize-importance-star.empty{color:color-mix(in srgb, var(--text-muted) 35%, transparent)}.links-gallery-card-tags{flex-wrap:wrap;gap:6px;display:flex}.links-gallery-card-tag{border:1.5px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.links-gallery-card-url{width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.35;overflow:hidden}.links-gallery-card-memo{width:100%;color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:auto;font-size:.84rem;font-weight:500;line-height:1.45;display:-webkit-box;overflow:hidden}.links-gallery-card-memo--empty{color:var(--text-muted);font-weight:450}.links-gallery-card-actions{opacity:0;justify-content:flex-end;align-items:center;gap:2px;padding:0 10px 10px;transition:opacity .15s;display:flex}.links-gallery-card:hover .links-gallery-card-actions,.links-gallery-card:focus-within .links-gallery-card-actions{opacity:1}.links-gallery-action{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.links-gallery-action:hover{background:var(--bg-subtle);color:var(--text-heading)}.links-gallery-action.danger:hover{color:#dc2626;background:color-mix(in srgb, #dc2626 10%, var(--surface))}.links-form-choice-buttons{flex-wrap:wrap;gap:6px;display:flex}.links-form-choice-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:42px;height:30px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:4px 8px;font-size:.66rem;font-weight:650;line-height:1;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.links-form-choice-btn:hover{border-color:var(--ui-focus-border);color:var(--text-heading)}.links-form-choice-btn.is-selected{border-color:var(--text-heading);background:var(--bg-subtle);color:var(--text-heading);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-heading) 10%, transparent)}.links-form-choice-btn--add{min-width:30px;padding:4px 0;font-size:.9rem;font-weight:700}.organize-field .links-form-choice-buttons+input{margin-top:8px}.links-row.is-important{border-color:color-mix(in srgb, #d4a017 28%, var(--border));background:color-mix(in srgb, #fbf6e4 55%, var(--surface))}.links-row-host{color:var(--text-muted);font-size:.76rem}.links-row-memo{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden;color:var(--text)!important;margin:2px 0 0!important;font-size:.84rem!important;line-height:1.45!important}@media (width<=768px){.links-page-shell{min-width:0;overflow-x:clip}.links-toolbar{width:100%;min-width:0}.links-heading-bar{flex-wrap:wrap;gap:8px}.links-search{width:100%;max-width:none}.links-toolbar-row{flex-direction:column;align-items:stretch;min-width:0}.links-category-list{flex-wrap:wrap;align-content:flex-start;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;padding:2px 0 4px;display:flex;overflow:visible}.links-category-item-wrap{max-width:100%}.links-category-item{text-overflow:ellipsis;border:1px solid var(--border);background:var(--surface);max-width:100%;color:var(--text-heading);white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:.74rem;font-weight:600;line-height:1.2;overflow:hidden}.links-category-add-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex-shrink:0;width:32px;height:32px}.links-category-item:hover{border-color:color-mix(in srgb, var(--text-heading) 18%, var(--border));background:var(--bg-subtle);color:var(--text-heading)}.links-category-item.is-selected{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary);font-weight:700}.links-category-remove{opacity:1;border:1px solid var(--border);background:var(--panel-bg);top:-5px;right:-4px}.links-toolbar-actions{justify-content:flex-end}.links-gallery{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.links-gallery-card-actions{opacity:1}.links-gallery-card{min-height:172px}}.link-detail-document{flex-direction:column;gap:0;min-height:420px;display:flex}.link-detail-document-chrome{z-index:8;background:color-mix(in srgb, var(--shell-bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);margin:0 -8px 12px;padding:8px 8px 10px;position:sticky;top:0}.link-detail-document-nav{flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:760px;margin:0 auto;display:flex}.link-detail-document-back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-heading);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:7px 10px;font-size:.84rem;font-weight:600;display:inline-flex}.link-detail-document-back:hover{border-color:color-mix(in srgb, var(--text-heading) 18%, var(--border));background:var(--bg-subtle)}.link-detail-document-category-badge{min-width:0;color:var(--text-muted);flex:none;align-items:center;font-size:.84rem;font-weight:650;display:inline-flex}.link-detail-document-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.link-detail-document-actions .organize-primary-btn,.link-detail-document-actions .organize-secondary-btn{align-items:center;gap:6px;display:inline-flex}.link-detail-document-delete:hover{border-color:color-mix(in srgb, #dc2626 35%, var(--border));color:#dc2626}.link-detail-document-sheet{max-width:760px;margin:0 auto;padding:8px 4px 32px}.link-detail-document-meta{color:var(--text-muted);margin:0 0 14px;font-size:.8rem}.link-detail-document-title-row{align-items:center;gap:12px;margin-bottom:10px;display:flex}.link-detail-document-icon{border:1px solid var(--border);background:var(--bg-subtle);width:36px;height:36px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.link-detail-document-icon img{width:20px;height:20px}.link-detail-document-title{color:var(--text-heading);margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800;line-height:1.25}.link-detail-document-url{color:var(--accent,#2563eb);margin-top:12px;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-block}.link-detail-document-url:hover{text-decoration:underline}.link-detail-document-url-full{color:var(--text-muted);word-break:break-all;margin:6px 0 0;font-size:.82rem;line-height:1.45}.link-detail-document-body{border:1px solid var(--border);background:var(--surface);color:var(--text-body);white-space:pre-wrap;border-radius:14px;margin:24px 0 0;padding:18px 20px;font-size:.96rem;line-height:1.7}.link-detail-document-body--empty{color:var(--text-muted);font-style:italic}@media (width<=768px){.link-detail-document-nav{gap:8px}.link-detail-document-actions{width:100%;margin-left:0}.link-detail-document-actions .organize-primary-btn,.link-detail-document-actions .organize-secondary-btn{flex:auto;justify-content:center}}.organize-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.organize-page-eyebrow{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:700}.organize-page-header h1{color:var(--text-heading);margin:0;font-size:1.5rem;font-weight:700}.organize-page-desc{color:var(--text-muted);margin:8px 0 0;font-size:.88rem;line-height:1.5}.organize-page-desc--error{color:#dc2626}.organize-page-shell{flex-direction:column;gap:16px;padding:18px 20px 20px;display:flex}.organize-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px 0;display:flex}.organize-category-tabs{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.organize-category-tab-wrap{align-items:center;display:inline-flex;position:relative}.organize-category-tab{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel-bg);min-height:36px;color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.organize-category-tab:hover{background:var(--bg-subtle);color:var(--text-heading)}.organize-category-tab.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.organize-category-tab-count{border-radius:var(--radius-pill);background:#0000000f;min-width:18px;padding:1px 6px;font-size:.72rem;font-weight:700}.organize-category-tab.selected .organize-category-tab-count{background:#ffffffb3}.organize-category-tab-remove{background:var(--panel-bg);width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;box-shadow:var(--shadow-sm);border:none;border-radius:50%;font-size:.82rem;line-height:1;position:absolute;top:-6px;right:-4px}.organize-category-tab-wrap:hover .organize-category-tab-remove,.organize-category-tab-wrap:focus-within .organize-category-tab-remove{opacity:1}.organize-category-add-btn{border:1px dashed var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.organize-category-add-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.organize-category-form{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.organize-category-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);flex:1;min-width:180px;padding:8px 12px}.organize-toolbar-meta{width:100%;color:var(--text-muted);margin:0;font-size:.8rem}.organize-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.organize-layout{grid-template-columns:220px minmax(0,1fr);min-height:520px;display:grid}.organize-page-content{flex-direction:column;gap:14px;min-width:0;display:flex}.organize-sidebar{border-right:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;gap:12px;padding:18px 14px;display:flex}.organize-sidebar-header{justify-content:space-between;align-items:center;gap:8px;padding:0 6px;display:flex}.organize-sidebar-header strong{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}.organize-sidebar-add-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.organize-sidebar-add-btn:hover{border-color:var(--ui-focus-border);color:var(--primary)}.organize-sidebar-nav{flex-direction:column;gap:4px;display:flex}.organize-sidebar-item-wrap{align-items:center;gap:4px;display:flex}.organize-sidebar-item{min-width:0;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:600;display:flex}.organize-sidebar-item span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.organize-sidebar-item:hover{background:var(--surface);color:var(--text-heading)}.organize-sidebar-item.selected{background:var(--surface);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary-light)}.organize-sidebar-count{background:var(--bg-subtle);min-width:22px;color:var(--text-muted);text-align:center;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.72rem;font-weight:700}.organize-sidebar-item.selected .organize-sidebar-count{background:var(--primary-soft);color:var(--primary)}.organize-sidebar-remove-btn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;font-size:1rem;line-height:1;transition:opacity .15s}.organize-sidebar-item-wrap:hover .organize-sidebar-remove-btn,.organize-sidebar-item-wrap:focus-within .organize-sidebar-remove-btn{opacity:1}.organize-sidebar-remove-btn:hover{color:#dc2626;background:#fef2f2}.organize-sidebar-category-form{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 6px 0;display:flex}.organize-sidebar-category-form input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;padding:10px 12px;font-size:.84rem}.organize-sidebar-category-actions{gap:6px;display:flex}.organize-sidebar-category-actions .organize-primary-btn,.organize-sidebar-category-actions .organize-secondary-btn{flex:1;padding:8px 10px}.organize-main{flex-direction:column;gap:14px;min-width:0;padding:18px 20px 20px;display:flex}.organize-main-toolbar{align-items:center;display:flex}.organize-search{border-radius:var(--radius-sm);background:var(--bg-subtle);min-width:0;max-width:100%;color:var(--text-muted);border:none;flex:1;align-items:center;gap:14px;padding:0 14px 0 18px;transition:background .15s,box-shadow .15s;display:flex;box-shadow:inset 0 1px 3px #0f172a12,inset 0 0 0 1px #0f172a0d}.organize-search--filled{background:#e9eef4}.organize-search:focus-within{background:var(--surface);box-shadow:inset 0 1px 1px #0f172a08, 0 0 0 3px var(--ui-focus-ring)}.organize-search-icon{color:var(--text-muted);flex-shrink:0;font-size:.95rem;transition:color .15s}.organize-search:focus-within .organize-search-icon{color:var(--primary)}.organize-search input{min-width:0;font:inherit;color:var(--text-heading);appearance:none;background:0 0;border:none;flex:1;padding:10px 0 10px 10px;font-size:.88rem}.organize-search input::-webkit-search-decoration{appearance:none;display:none}.organize-search input::-webkit-search-cancel-button{appearance:none;display:none}.organize-search input::-webkit-search-results-button{appearance:none;display:none}.organize-search input::-webkit-search-results-decoration{appearance:none;display:none}.organize-search input::placeholder{color:var(--text-muted)}.organize-search input:focus{outline:none}.organize-search-clear{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:opacity .15s,color .15s;display:inline-flex}.organize-search-clear:hover{opacity:1;color:var(--text-heading)}.organize-main-heading h2{color:var(--text-heading);margin:0;font-size:1rem;font-weight:700}.organize-primary-btn,.organize-secondary-btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.84rem;font-weight:700;display:inline-flex}.organize-primary-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.organize-primary-btn:hover:not(:disabled){background:var(--btn-primary-hover)}.organize-primary-btn:disabled{opacity:.45;cursor:not-allowed}.organize-secondary-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.organize-secondary-btn:hover{border-color:var(--ui-focus-border);color:var(--text-heading)}.organize-link-list{flex-direction:column;gap:8px;display:flex}.organize-link-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:stretch;gap:8px;transition:border-color .15s,box-shadow .15s;display:flex}.organize-link-row:hover{border-color:var(--ui-focus-border);box-shadow:var(--shadow-sm)}.organize-link-row-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:flex-start;gap:12px;min-width:0;padding:14px 16px;display:flex}.organize-link-row-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.organize-link-row-icon img{width:20px;height:20px}.organize-link-row-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.organize-link-row-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.organize-link-row-copy strong{color:var(--text-heading);font-size:.94rem}.organize-link-row-copy small{color:var(--text-muted);font-size:.78rem}.organize-link-row-copy p{color:var(--text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:2px 0 0;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.organize-link-row-summary{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:.84rem;font-weight:550;line-height:1.45;display:-webkit-box;overflow:hidden}.organize-link-row-category{background:var(--bg-subtle);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.study-notes-category-chip{background:var(--bg-subtle);color:var(--text-muted);border:1.5px solid #0000;line-height:1.2}.study-note-document-category-badge.study-notes-category-chip{border-radius:999px;flex:none;align-items:center;min-width:0;padding:6px 12px;font-size:.7rem;font-weight:700;display:inline-flex}.organize-link-row-actions{opacity:0;align-items:center;gap:4px;padding:8px 10px 8px 0;transition:opacity .15s;display:flex}.organize-link-row:hover .organize-link-row-actions,.organize-link-row:focus-within .organize-link-row-actions{opacity:1}.organize-link-row-action{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.organize-link-row-action:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.organize-link-row-action.danger:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.organize-empty-state{border:1px dashed var(--border);background:var(--bg-subtle);color:var(--text-muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 20px;display:flex}.organize-empty-state p{margin:0}.organize-modal-overlay{top:0;bottom:0;right:0;left:var(--dashboard-sidebar-offset,0px);z-index:900;place-items:center;padding:24px;display:grid;position:fixed}.organize-modal-backdrop{background:#0f172a61;position:absolute;inset:0}.organize-modal{z-index:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);width:min(520px,92vw);max-height:calc(100vh - 48px);box-shadow:var(--shadow-md);position:relative;overflow:auto}.organize-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 12px;display:flex}.organize-modal-eyebrow{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}.organize-modal-header h2{margin:0;font-size:1.1rem}.organize-modal-close-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:600}.organize-modal-close-btn:hover{border-color:var(--ui-focus-border);color:var(--text-heading)}.organize-form{flex-direction:column;gap:14px;padding:18px 22px 22px;display:flex}.organize-field{flex-direction:column;gap:6px;display:flex}.organize-field>span{color:var(--text-muted);font-size:.78rem;font-weight:700}.organize-field input,.organize-field select,.organize-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;color:var(--text);padding:10px 12px;font-size:.88rem}.organize-field select+input{margin-top:8px}.organize-field textarea{resize:vertical;min-height:88px}.organize-form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.organize-importance{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.organize-importance--sm{gap:2px}.organize-importance-buttons{flex-wrap:wrap;gap:6px;display:flex}.organize-importance-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:#d1d5db;cursor:pointer;justify-content:center;align-items:center;gap:2px;min-width:42px;height:30px;padding:4px 8px;font-size:.66rem;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.organize-importance-btn:hover{border-color:var(--ui-focus-border);color:#fbbf24}.organize-importance-btn.selected{color:#f59e0b;background:#fffbeb;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.organize-importance-btn:focus-visible{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);outline:none}.organize-importance-star{justify-content:center;align-items:center;display:inline-flex}.organize-importance--sm .organize-importance-star{font-size:.78rem}.organize-importance-star.filled,.organize-importance-star.active{color:#f59e0b}.organize-importance-star.empty{color:color-mix(in srgb, var(--text-muted) 35%, transparent)}.organize-importance--readonly .organize-importance-star{cursor:default}@media (width<=1024px){.dashboard-home-layout{grid-template-columns:1fr}.dashboard-header-nav{display:none}}@media (width<=768px){.dashboard-shell,.dashboard-shell--sidebar-collapsed,.dashboard-shell--sidebar-expanded{--dashboard-sidebar-offset:0px}.dashboard-sidebar-spacer{width:0;display:none}.dashboard-mobile-menu-btn{border:1px solid var(--border);background:var(--bg-subtle);width:40px;height:40px;color:var(--text-heading);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.05rem;display:inline-flex}.dashboard-mobile-menu-btn:hover{background:var(--panel-bg)}.dashboard-sidebar-collapse-btn--desktop{display:none}.dashboard-shell--mobile-nav-open .dashboard-sidebar-close-btn--mobile{display:inline-flex}.dashboard-sidebar-backdrop{z-index:300;cursor:pointer;background:#0f172a5c;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.dashboard-shell--mobile-nav-open .dashboard-sidebar-backdrop{display:block}.dashboard-sidebar,.dashboard-shell--sidebar-collapsed .dashboard-sidebar,.dashboard-shell--sidebar-expanded .dashboard-sidebar{z-index:400;border:none;border-right:1px solid var(--sidebar-rail-border);background:var(--sidebar-rail);width:min(280px,86vw);height:100vh;box-shadow:none;pointer-events:none;visibility:hidden;border-radius:0 24px 24px 0;align-items:stretch;margin:0;padding:16px 12px;transition:transform .22s,box-shadow .22s,visibility .22s;position:fixed;top:0;left:0;overflow:hidden auto;transform:translate(-105%)}.dashboard-shell--mobile-nav-open .dashboard-sidebar,.dashboard-shell--mobile-nav-open.dashboard-shell--sidebar-collapsed .dashboard-sidebar,.dashboard-shell--mobile-nav-open.dashboard-shell--sidebar-expanded .dashboard-sidebar{pointer-events:auto;visibility:visible;transform:translate(0);box-shadow:8px 0 28px #0f172a59}.dashboard-shell--mobile-nav .dashboard-nav-btn.active,.dashboard-shell--mobile-nav .dashboard-nav-subbtn.active{color:var(--sidebar-active-pill);background:var(--sidebar-active-soft)}.dashboard-shell--mobile-nav .dashboard-nav-btn.active:before{content:none}.dashboard-sidebar-top{margin-bottom:16px}.dashboard-shell--mobile-nav .dashboard-sidebar-top{flex-direction:row;justify-content:space-between;align-items:center}.dashboard-shell--mobile-nav .dashboard-nav-label{display:block}.dashboard-shell--mobile-nav .dashboard-nav-btn{flex-direction:row;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:10px 12px}.dashboard-shell--mobile-nav .dashboard-nav-chevron{display:inline-flex}.dashboard-shell--mobile-nav .dashboard-sidebar-nav,.dashboard-shell--mobile-nav .dashboard-sidebar-bottom{align-items:stretch}.dashboard-shell--mobile-nav .dashboard-nav-group,.dashboard-shell--mobile-nav .dashboard-settings-wrap,.dashboard-shell--mobile-nav .dashboard-journal-wrap{align-items:stretch;width:100%}.dashboard-header{padding:12px 16px}.dashboard-header-left{gap:12px}body.ideas-composer-open .ideas-composer-overlay{padding:10px}body.ideas-composer-open .ideas-composer-modal{border-radius:var(--radius-lg);border:1px solid var(--border);width:min(80vw,100%);max-width:80vw;height:min(80vh,100%);max-height:80vh;box-shadow:var(--shadow-md)}body.ideas-composer-open .ideas-composer-modal .ideas-composer-modal-eyebrow{font-size:.58rem}body.ideas-composer-open .ideas-composer-modal .ideas-composer-modal-header h2{font-size:.92rem}body.ideas-composer-open .ideas-composer-modal .ideas-composer-close-btn{padding:6px 11px;font-size:.62rem}body.ideas-composer-open .ideas-composer-modal .ideas-category-tab{padding:6px 11px;font-size:.67rem}body.ideas-composer-open .ideas-composer-modal .ideas-field-label{font-size:.62rem}body.ideas-composer-open .ideas-composer-modal .ideas-tag-chip{padding:3px 8px;font-size:.47rem}body.ideas-composer-open .ideas-composer-modal .ideas-tag-input-box{gap:5px;min-height:34px;padding:5px 8px}body.ideas-composer-open .ideas-composer-modal input.ideas-tag-input-field,body.ideas-composer-open .ideas-composer-modal input.ideas-tag-input-field:focus,body.ideas-composer-open .ideas-composer-modal input.ideas-tag-input-field:focus-visible{min-height:22px;padding:4px 2px;font-size:13px!important}body.ideas-composer-open .ideas-composer-modal .ideas-tag-suggest-item{padding:8px 10px;font-size:.7rem}body.ideas-composer-open .ideas-composer-modal input.ideas-title-input,body.ideas-composer-open .ideas-composer-modal input.ideas-title-input:focus{padding:10px 13px;font-size:13px!important}body.ideas-composer-open .ideas-composer-modal textarea.ideas-textarea,body.ideas-composer-open .ideas-composer-modal textarea.ideas-textarea:focus{min-height:118px;padding:11px 13px;font-size:13px!important}body.ideas-composer-open .ideas-composer-modal .ideas-image-attach-zone{gap:10px;padding:10px 11px}body.ideas-composer-open .ideas-composer-modal .ideas-image-attach-icon-wrap{width:29px;height:29px;font-size:.8rem}body.ideas-composer-open .ideas-composer-modal .ideas-image-attach-copy strong{font-size:.66rem}body.ideas-composer-open .ideas-composer-modal .ideas-image-attach-copy span{font-size:.59rem}body.ideas-composer-open .ideas-composer-modal .ideas-image-upload-btn{gap:5px;padding:6px 10px;font-size:.62rem}body.ideas-composer-open .ideas-composer-modal .ideas-save-btn{gap:6px;padding:9px 13px;font-size:.69rem}body.ideas-composer-open .ideas-composer-modal .ideas-sync-message,body.ideas-composer-open .ideas-composer-modal .sync-message{font-size:.7rem}.dashboard-content,.calendar-app{padding:16px}.calendar-app .split-week-calendar-view{margin:0 -4px}.routines-shell{gap:16px}.routines-shell--split{grid-template-columns:1fr}.routines-panel{padding:16px}.routines-panel-header{flex-direction:column;align-items:stretch}.weekly-tracker-board-title{font-size:.84rem}.ideas-shell,.ideas-main-panel{padding:16px}.ideas-list-header{flex-direction:row;align-items:center;gap:8px}.ideas-list-heading{flex:1;min-width:0}.ideas-list-title{font-size:1.05rem}.ideas-list-title-suffix{font-size:.8rem}.ideas-list-header-actions{flex-shrink:0;justify-content:flex-end;gap:6px}.ideas-open-composer-btn{width:auto}.organize-toolbar{flex-direction:column;align-items:stretch;padding:16px 16px 0}.organize-layout{grid-template-columns:1fr}.organize-sidebar{border-right:none;border-bottom:1px solid var(--border)}.organize-sidebar-nav{flex-flow:wrap}.organize-sidebar-item-wrap{flex:auto}.organize-sidebar-remove-btn{opacity:1}.organize-page-header{flex-direction:column;align-items:stretch}.organize-page-header .organize-primary-btn{width:100%}.organize-link-row-actions{opacity:1;padding-right:8px}.ideas-toolbar{flex-direction:column;align-items:stretch}.ideas-card-grid,.dashboard-home-tasks-row,.dashboard-home-tasks-row.has-past{grid-template-columns:1fr}}.dashboard-content .memo-page{max-width:1180px}.memo-page-shell{box-shadow:none;background:0 0;border:none;gap:20px;padding:0}.memo-heading-bar{justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.memo-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.memo-heading-actions .memo-search{min-width:min(220px,100%);max-width:280px}.memo-search-modal{max-width:480px}.memo-search-modal .organize-modal-eyebrow{font-size:.61rem}.memo-search-modal .organize-modal-header h2{font-size:1.02rem}.memo-search-modal .organize-modal-close-btn{font-size:.72rem}.memo-search-modal .organize-field>span,.memo-search-modal .organize-field .field-label,.memo-search-modal .memo-recent-header>span{font-size:.66rem}.memo-search-modal .organize-field input,.memo-search-modal .organize-field textarea{font-size:.78rem}.memo-search-modal .organize-primary-btn,.memo-search-modal .organize-secondary-btn{gap:5px;font-size:.74rem}.memo-search-scope{flex-wrap:wrap;gap:6px;display:flex}.memo-search-scope-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:.7rem;font-weight:600}.memo-search-scope-btn.is-selected,.memo-search-scope-btn:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--text-heading)}.memo-recent-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.memo-recent-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:.64rem;font-weight:600}.memo-recent-clear:hover{color:var(--text-heading)}.memo-recent-list{flex-wrap:wrap;gap:6px;display:flex}.memo-recent-chip{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text-heading);cursor:pointer;border-radius:999px;padding:5px 9px;font-size:.66rem;font-weight:600}.memo-recent-chip:hover{border-color:color-mix(in srgb, var(--text-heading) 18%, var(--border));background:var(--surface)}.memo-search-results-count{color:var(--text-muted);font-size:.64rem;font-style:normal;font-weight:500}.memo-search-results-empty{color:var(--text-muted);margin:0;padding:10px 2px;font-size:.72rem}.memo-search-results{flex-direction:column;gap:6px;max-height:min(280px,42vh);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.memo-search-result-item{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:9px 10px;display:flex}.memo-search-result-item:hover{border-color:color-mix(in srgb, var(--text-heading) 16%, var(--border));background:var(--bg-subtle)}.memo-search-result-accent{border-radius:999px;flex-shrink:0;align-self:stretch;width:4px}.memo-search-result-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.memo-search-result-copy strong{color:var(--text-heading);font-size:.74rem;font-weight:700;line-height:1.3}.memo-search-result-copy small{color:var(--text-muted);white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.66rem;line-height:1.4;display:-webkit-box;overflow:hidden}.memo-active-search{border:1px solid var(--border);background:var(--surface);color:var(--text-heading);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:.84rem;font-weight:600;display:flex}.memo-active-search em{color:var(--text-muted);margin-left:8px;font-style:normal;font-weight:500}.memo-active-search-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:.76rem;font-weight:600}.memo-active-search-clear:hover{color:var(--text-heading);background:var(--bg-subtle)}.memo-workspace.is-split{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.memo-workspace.is-split .memo-list{max-height:calc(100vh - 220px);padding-right:4px;overflow-y:auto}.memo-detail-pane{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px 20px 20px;position:sticky;top:0}.memo-detail-empty{color:var(--text-muted);text-align:center;margin:0;padding:40px 0;font-size:.84rem;font-weight:600}.memo-row.is-selected{border-color:var(--primary);background:var(--primary-soft)}.memo-list{flex-direction:column;gap:8px;width:100%;display:flex}.memo-row{--memo-surface:#fdeecd;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 16px 12px 20px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.memo-row:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.memo-row-accent{background:color-mix(in srgb, var(--memo-surface) 88%, var(--text-muted));width:10px;position:absolute;top:0;bottom:0;left:0}.memo-row-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.memo-row-title{min-width:0;color:var(--text-heading);align-items:center;gap:6px;font-size:.86rem;font-weight:700;line-height:1.3;display:flex}.memo-row-star{color:#d97706;flex-shrink:0;font-size:.68rem;font-style:normal;line-height:1}.memo-row-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;font-weight:500;line-height:1.4;overflow:hidden}.memo-row-date{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.7rem;font-weight:600}.memo-template-btn{border:1px dashed var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-self:flex-start;margin-top:6px;padding:6px 12px;font-size:.74rem;font-weight:700}.memo-template-btn:hover{border-style:solid;border-color:var(--primary);color:var(--primary)}.memo-edit-modal{max-width:520px}.memo-important-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:700;display:inline-flex}[data-theme=dark] .memo-row-accent{background:color-mix(in srgb, var(--memo-surface) 62%, #0c1016)}.memo-important-toggle.is-active{color:#b45309;background:#fffbeb;border-color:#f59e0b}.memo-edit-actions-right{gap:8px;margin-left:auto;display:flex}.organize-form-actions:has(.memo-edit-actions-right){justify-content:space-between}@media (width<=640px){.memo-heading-bar{flex-direction:column;align-items:stretch}.memo-heading-actions{width:100%}.memo-heading-actions .memo-search{flex:1;max-width:none}.memo-row{padding:11px 12px 11px 22px}.memo-row-accent{width:12px}}.login-page{background:radial-gradient(circle at top left, #3b82f629, transparent 42%), var(--shell-bg);min-height:100vh;color:var(--text);justify-content:center;align-items:center;padding:24px;display:flex}.login-page--loading{color:var(--text-muted);font-size:.95rem;font-weight:600}.login-card{border:1px solid var(--border);background:var(--panel-bg);width:min(100%,400px);box-shadow:var(--shadow-md);border-radius:20px;flex-direction:column;gap:14px;padding:28px 26px 24px;display:flex}.login-card-header h1{color:var(--text-heading);letter-spacing:-.03em;margin:4px 0 0;font-size:1.55rem;font-weight:800}.login-eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.login-subtitle{color:var(--text-muted);margin:8px 0 0;font-size:.86rem;line-height:1.45}.login-field{color:var(--text-heading);flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;display:flex}.login-field input{border:1px solid var(--border);background:var(--bg-subtle);width:100%;min-height:44px;color:var(--text-heading);border-radius:12px;padding:10px 12px;font-size:16px;font-weight:500}.login-field input:focus{border-color:var(--ui-focus-border);box-shadow:0 0 0 3px var(--ui-focus-ring);background:var(--surface);outline:none}.login-error{color:#dc2626;margin:0;font-size:.82rem;font-weight:600}.login-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:44px;margin-top:4px;font-size:.92rem;font-weight:700;transition:background .15s}.login-submit:hover:not(:disabled){background:var(--primary-hover)}.login-submit:disabled{opacity:.7;cursor:default}
