:root{--bg-canvas: #F1F5F8;--bg-sidebar: #164E4A;--bg-topbar: #FFFFFF;--bg-panel: #FFFFFF;--bg-subheader: #F1F5F9;--bg-white: #FFFFFF;--day-odd: #E8EFF5;--day-even: #F5F8FA;--teal-primary: #164E4A;--teal-dark: #0F3D3A;--teal-accent: #0F766E;--teal-soft: #E6F2F0;--line: #CFDAD8;--line-soft: #E2E8F0;--line-sidebar: #0F3D3A;--border-frame: #CFDAD8;--border-zone: #94A3B8;--border-intra: #CBD5E1;--border-hair: #E2E8F0;--ink-strong: #0F172A;--ink-body: #1E293B;--ink-mid: #334155;--ink-muted: #475569;--cat-writing: #0D9488;--cat-related: #16A34A;--cat-study: #4F46E5;--cat-work: #2563EB;--cat-other: #64748B;--cat-waste: #E11D48;--cat-waste-bg: #F9BFC7;--cat-waste-fg: #7F1D1D;--cat-warn-bg: #FDE68A;--cat-warn-fg: #78350F;--radius-lg: 11px;--radius-md: 10px;--radius-sm: 7px;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--bg-canvas);color:var(--ink-body);font-family:var(--font-sans);font-size:14px;line-height:1.58;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible{outline:2.5px solid #2DD4BF;outline-offset:2px}h1,h2,h3,p{margin:0}.num-font{font-variant-numeric:tabular-nums;font-weight:700}.mono-font{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-shell{min-height:100vh;background:var(--bg-canvas)}.app-sidebar{position:fixed;inset:0 auto 0 0;width:208px;background:var(--bg-sidebar);border-right:2px solid var(--line-sidebar);box-shadow:2px 0 12px #0f3d3a1f;display:flex;flex-direction:column;padding:22px 14px 18px;z-index:35;color:#fff}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 4px 18px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}.sidebar-brand-mark{width:36px;height:36px;border-radius:9px;background:#5ed1c438;border:1px solid rgba(94,209,196,.42);color:#5ed1c4;display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.sidebar-brand-text{min-width:0}.sidebar-brand-title-row{display:flex;align-items:baseline;gap:5px}.sidebar-brand-text strong{display:inline-block;font-size:17.5px;font-weight:750;color:#fff;letter-spacing:.02em;line-height:1.22;white-space:nowrap}.sidebar-brand-en{font-size:10.5px;font-weight:600;color:#ccfbf1b8;letter-spacing:.03em;white-space:nowrap}.sidebar-year-badge{margin-top:5px;border:1px solid rgba(94,209,196,.42);padding:2.5px 9px;border-radius:6px;background:#5ed1c429;color:#e6fffa;font-size:12.6px;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease}.sidebar-year-badge:hover{background:#5ed1c447;border-color:#5ed1c4a6;color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:7px}.sidebar-nav-item{border:1px solid transparent;background:transparent;text-align:left;border-radius:8px;padding:11px 14px;color:#ffffffd6;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14.5px;font-weight:600;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.sidebar-nav-item-left{display:inline-flex;align-items:center;gap:11px;min-width:0}.sidebar-nav-item:hover{background:#ffffff1f;color:#fff}.sidebar-nav-item.active{background:#fff;color:var(--teal-dark);font-weight:700;border-color:#fff;box-shadow:0 2px 8px #042f2e2e}.sidebar-timer-pill{font-family:var(--font-mono);font-size:11.2px;font-weight:700;padding:2px 6px;border-radius:4px;background:#5ed1c4;color:#042f2e;white-space:nowrap}.sidebar-nav-item.active .sidebar-timer-pill{background:var(--teal-accent);color:#fff}.sidebar-timer-pill.paused{background:#fde68a;color:#78350f}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}.sidebar-settings-btn{width:100%;border:1px solid transparent;background:transparent;color:#ffffffd6;border-radius:8px;padding:11px 14px;font-size:14.5px;font-weight:600;text-align:left;white-space:nowrap;display:flex;align-items:center;justify-content:flex-start;gap:11px;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.sidebar-settings-btn:hover{background:#ffffff1f;color:#fff}.sidebar-settings-btn.active{background:#fff3;border-color:#ffffff4d;color:#fff;font-weight:700}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--cat-other)}.app-workspace{margin-left:208px;min-height:100vh;display:flex;flex-direction:column}.workspace-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 34px;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #CBD5E1;box-shadow:0 1px 6px #0f172a0a;gap:16px;flex-wrap:wrap}.connection-status{font-size:12.8px;font-weight:550;color:var(--ink-mid);display:flex;align-items:center;gap:9px;flex-wrap:wrap}.status-dot{width:7.5px;height:7.5px;border-radius:50%;background:#10b981;flex-shrink:0}.status-dot.warn{background:#f59e0b}.status-dot.syncing{background:#0d9488;animation:pulseSyncDot 1.1s ease-in-out infinite}@keyframes pulseSyncDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.topbar-divider{color:#94a3b8}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar-kbd{font-family:var(--font-sans);font-size:11px;font-weight:600;background:#f1f5f9;border:1px solid #CBD5E1;border-radius:4px;padding:1px 5px;color:#334155}.main-container{max-width:1460px;width:100%;margin:0 auto;padding:24px 34px 56px;flex:1}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.eyebrow{font-size:12px;color:var(--teal-accent);font-weight:700;margin-bottom:2px;letter-spacing:.03em}.page-title{font-size:26px;font-weight:700;color:var(--ink-strong);letter-spacing:.01em;line-height:1.24}.page-subtitle{font-size:13.2px;color:var(--ink-muted);margin-top:4px}.workbench-date-hero{display:flex;align-items:center;gap:14px}.date-calendar-tile{width:52px;height:54px;padding:0;border-radius:11px;border:1.5px solid #8FB8B3;background:#fff;box-shadow:0 3px 10px #164e4a1a;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.date-calendar-tile:hover{border-color:var(--teal-primary);transform:translateY(-1px);box-shadow:0 5px 14px #164e4a29}.date-calendar-tile-month{height:19px;width:100%;background:var(--teal-primary);color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;justify-content:center}.date-calendar-tile-day{flex:1;width:100%;background:#fff;color:#0f172a;font-size:22px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center}.workbench-date-main{display:flex;flex-direction:column;gap:3px}.workbench-date-headline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.workbench-date-digits{font-size:30px;font-weight:800;color:#0f172a;letter-spacing:-.015em;line-height:1.12;margin:0}.workbench-day-pill{display:inline-flex;align-items:center;padding:3.5px 10px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}.workbench-day-pill.is-today{background:#0f766e;color:#fff;box-shadow:0 2px 6px #0f766e38}.workbench-day-pill.is-history{background:#fef3c7;border:1px solid #F59E0B;color:#92400e}.workbench-date-sub{font-size:12.8px;font-weight:600;color:#475569;letter-spacing:.01em}.research-tabs{display:flex;align-items:center;gap:24px;border-bottom:1.5px solid #CBD5E1;margin-bottom:20px;overflow-x:auto}.research-tab-btn{background:transparent;border:0;border-bottom:2.5px solid transparent;padding:8px 3px 11px;font-size:14.2px;font-weight:600;color:var(--ink-muted);white-space:nowrap;transition:color .14s ease,border-color .14s ease}.research-tab-btn:hover{color:var(--ink-strong)}.research-tab-btn.active{color:var(--teal-primary);border-bottom-color:var(--teal-primary);font-weight:700}.academic-frame,.panel-surface{background:var(--bg-white);border:1px solid var(--border-frame);border-radius:var(--radius-lg);box-shadow:0 3px 14px #0f2d2a0b;overflow:hidden}.panel-padded{padding:20px 22px}.academic-card{background:var(--bg-white);border:1px solid #D5DFE2;border-top:3.5px solid var(--teal-primary);border-radius:var(--radius-md);padding:16px 19px;box-shadow:0 2px 10px #0f172a09;display:flex;flex-direction:column;justify-content:space-between;min-height:122px;transition:border-color .15s ease,box-shadow .15s ease}.academic-card:hover{box-shadow:0 5px 16px #0f172a11}.frame-header{background:#f8fafc;color:var(--ink-strong);border-bottom:1px solid #CBD5E1;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.frame-header-title{font-size:16px;font-weight:700;color:var(--ink-strong);display:flex;align-items:center;gap:8px;margin:0}.frame-header-sub{font-size:12.2px;color:var(--ink-muted);margin-top:2px}.frame-subheader{background:#f8fafc;border-bottom:1px solid #CBD5E1;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.kpi-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.kpi-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.drawer-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-label{font-size:12.8px;font-weight:700;color:var(--ink-muted);display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.kpi-label-left{display:inline-flex;align-items:center;gap:7px}.kpi-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;color:var(--ink-strong);line-height:1.2;letter-spacing:-.02em}.kpi-unit{font-size:12.8px;font-weight:600;color:var(--ink-muted);margin-left:4px}.kpi-sub{margin-top:5px;font-size:12px;font-weight:500;color:#64748b}.kpi-month-foot{margin-top:11px;padding-top:9px;border-top:1px dashed #CBD5E1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12.8px;font-weight:600;color:var(--ink-mid);white-space:nowrap}.kpi-month-avg-val{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;color:var(--ink-strong);letter-spacing:-.01em}.kpi-month-avg-unit{font-size:12px;font-weight:600;color:var(--ink-muted);margin-left:3px}.today-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(300px,1fr);gap:18px;align-items:stretch}.timer-panel{background:var(--bg-white);border:1px solid var(--border-frame);border-top:3.5px solid var(--teal-accent);border-radius:var(--radius-lg);padding:18px 22px;box-shadow:0 3px 14px #0f2d2a0b;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:border-color .16s ease,box-shadow .16s ease}.timer-panel.running{border-color:#2bb5a6;border-top-color:#0d9488;box-shadow:0 6px 22px #0f766e1f}.timer-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.timer-panel-head h2{font-size:17px;font-weight:700;color:var(--ink-strong)}.timer-input-row{display:grid;grid-template-columns:minmax(210px,1.55fr) minmax(185px,1fr);gap:11px;align-items:center}.type-options-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.type-option-btn{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #CBD5E1;border-radius:7px;background:#f8fafc;color:var(--ink-mid);font-size:13px;font-weight:600;padding:8px 6px;white-space:nowrap;transition:all .14s ease}.type-option-btn:hover{border-color:#94a3b8;background:#f1f5f9}.type-option-btn.selected{font-weight:700;box-shadow:0 1px 4px #0f172a14}.timer-console-deck{background:#f3f8f7;border:1px solid #C9E0DC;border-radius:10px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;transition:background .16s ease,border-color .16s ease}.timer-console-deck.running{background:#ecfeff;border-color:#5eead4}.timer-clock-cluster{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-width:0}.clock-digits{font-family:var(--font-mono);font-size:42px;font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--teal-dark);font-variant-numeric:tabular-nums;white-space:nowrap}.clock-meta-col{display:flex;flex-direction:column;gap:6px;min-width:0}.clock-state-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.clock-mode-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;color:var(--teal-dark);background:#fff;border:1px solid #B8D8D2;padding:3px 9px;border-radius:99px;white-space:nowrap}.clock-mode-badge.running{background:#ccfbf1;border-color:#2dd4bf;color:#042f2e}.running-dot{width:7px;height:7px;border-radius:50%;background:#0d9488}.clock-adjust-group{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.clock-adjust-pill{background:#fff;border:1px solid #CBD5E1;color:#475569;font-size:11.5px;font-weight:650;padding:2.5px 8px;border-radius:5px;line-height:1.3;transition:all .12s ease}.clock-adjust-pill:hover{border-color:var(--teal-accent);color:var(--teal-dark);background:#eaf4f3}.clock-adjust-pill.danger{color:#9f1239;border-color:#fecdd3}.clock-adjust-pill.danger:hover{background:#fff1f2;border-color:#fb7185}.timer-cta-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-timer-hero{height:46px;min-width:166px;padding:0 26px;border-radius:9px;background:linear-gradient(135deg,#164e4a,#0d9488);border:1px solid #0F3D3A;color:#fff;font-size:15.2px;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 12px #0d94883d;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform .12s ease,box-shadow .14s ease,filter .14s ease}.btn-timer-hero:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d948852;filter:brightness(1.04)}.btn-timer-pause{height:44px;min-width:108px;padding:0 18px;border-radius:9px;background:#fff;border:1.5px solid #0F766E;color:#0f3d3a;font-size:14.2px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:all .14s ease}.btn-timer-pause:hover{background:#e6f4f2}.distribution-list{margin:8px 0 6px}.distribution-row{margin:10px 0}.distribution-row-inline{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5.5px 0;border-bottom:1px dashed #EEF2F6;font-size:12.8px;font-variant-numeric:tabular-nums}.distribution-row-inline:last-child{border-bottom:0}.distribution-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.8px;font-weight:600;color:var(--ink-body);margin-bottom:5px;font-variant-numeric:tabular-nums}.distribution-label{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--ink-body);white-space:nowrap}.bar-track{height:7px;border-radius:99px;background:#e8eef3;overflow:hidden}.bar-fill{height:100%;border-radius:99px;transition:width .25s ease}.distribution-total{border-top:1.5px solid #CBD5E1;padding-top:10px;margin-top:6px;display:flex;align-items:center;justify-content:space-between;color:var(--ink-mid);font-size:12.8px;font-weight:600}.distribution-total strong{color:var(--ink-strong);font-size:16.5px;font-weight:700;font-variant-numeric:tabular-nums}.paper-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.paper-metric{background:var(--bg-white);border:1px solid #CFDAD8;border-top:3px solid var(--teal-primary);border-radius:10px;padding:14px 18px;text-align:left;box-shadow:0 2px 8px #0f172a08;transition:border-color .14s ease,box-shadow .14s ease}.paper-metric:hover{border-color:#64748b}.paper-metric.active{border-color:var(--teal-primary);box-shadow:0 0 0 1.5px var(--teal-primary);background:#f4fbf9}.stat-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #B7D4CF;background:#e8f3f1;border-radius:11px}.stat-insights>div{padding:15px 20px;border-right:1px solid #C6DFDA}.stat-insights>div:last-child{border-right:0}.stat-insights span{display:block;color:#1f4e4a;font-size:12.2px;font-weight:600}.stat-insights strong{display:block;color:#0f3d3a;font-size:22px;font-weight:700;margin:4px 0 3px;font-variant-numeric:tabular-nums}.stat-insights small{font-size:11.5px;color:#3d6662;line-height:1.5}.stat-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.average-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #E2E8F0;padding:10px 0;font-size:13px;color:var(--ink-mid)}.average-row strong{font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.focus-note{background:#fef9e7;border:1px solid #F3D179;border-left:4px solid #D97706;border-radius:10px;padding:15px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;color:#78350f}.focus-note h3{font-size:13px;font-weight:700;color:#78350f;margin-bottom:4px}.focus-note p{font-size:13.2px;line-height:1.72}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.plan-card{background:var(--bg-white);border:1px solid var(--border-frame);border-top:3.5px solid var(--teal-primary);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:0 2px 10px #0f172a09;display:flex;flex-direction:column}.plan-priority{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12.2px;color:var(--ink-muted);margin-bottom:9px}.plan-priority>span:first-child{color:var(--teal-primary);font-weight:700}.plan-card h2{font-size:16.5px;font-weight:700;color:var(--ink-strong);line-height:1.4}.plan-target{font-size:12.8px;color:var(--ink-mid);margin-top:6px}.plan-action{font-size:13px;color:var(--ink-body);margin:12px 0;line-height:1.72;flex:1;white-space:pre-wrap}.plan-time{display:flex;justify-content:space-between;gap:12px;font-size:12.2px;font-weight:600;color:var(--teal-accent);border-top:1px solid #E2E8F0;padding:10px 0 6px;font-variant-numeric:tabular-nums}.plan-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.reflection-list{display:grid;gap:15px}.reflection-card{background:var(--bg-white);border:1px solid var(--border-frame);border-left:4px solid var(--teal-primary);border-radius:var(--radius-lg);padding:18px 22px;box-shadow:0 2px 10px #0f172a08}.reflection-action{padding:11px 15px;background:#eaf4f2;border:1px solid #C6E2DC;border-radius:8px;margin-top:11px;font-size:13px;color:#0f3d3a;line-height:1.7}.acad-table-wrap{width:100%;overflow-x:auto}.acad-table{width:100%;border-collapse:collapse;font-size:13.5px}.acad-table thead th{background:var(--teal-primary);color:#fff;font-weight:700;font-size:12.6px;padding:10.5px 12px;border-bottom:2px solid var(--teal-dark);white-space:nowrap;text-align:center;letter-spacing:.02em}.acad-table thead th.th-left{text-align:left;padding-left:16px}.acad-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border-intra);vertical-align:middle}.acad-table tbody tr:last-child td{border-bottom:none}.acad-table tbody td.zone-left{border-left:1.5px solid #94A3B8}.acad-table tbody td.zone-right{border-right:1.5px solid #94A3B8}.acad-table tbody tr.stage-divider td,.acad-table tbody tr.day-divider-top td{border-top:1.5px solid #94A3B8}.acad-table tbody tr.day-divider-bottom td{border-bottom:1.5px solid #94A3B8}.acad-table tfoot td{background:#eef4f6;color:var(--ink-strong);font-weight:700;padding:12px 14px;border-top:2px solid var(--teal-primary)}.cat-pill{display:inline-flex;align-items:center;gap:6px;padding:3.5px 9px;border-radius:5px;font-size:12.2px;font-weight:700;line-height:1.38;white-space:nowrap}.subtle-tag{font-size:11.2px;font-weight:600;color:#334155;background:#e2e8f0;padding:2px 6px;border-radius:4px;display:inline-block;margin-left:6px}.cat-select-clean{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-width:106px;border-radius:6px;border:1px solid #94A3B8;padding:5px 22px 5px 10px;font-size:12.6px;font-weight:700;line-height:1.35;cursor:pointer;text-align:left;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:11px 11px;transition:border-color .14s ease,box-shadow .14s ease}.cat-select-clean:hover{border-color:var(--teal-accent)}.cat-select-clean:focus{outline:none;border-color:var(--teal-primary);box-shadow:0 0 0 2px #0f766e33}.proj-select-clean{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border-radius:6px;border:1px solid transparent;padding:5px 22px 5px 8px;font-size:13px;font-weight:600;line-height:1.35;color:inherit;cursor:pointer;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;background-size:11px 11px}.proj-select-clean:hover{border-color:#cbd5e1;background-color:#f8fafc}.proj-select-clean:focus{outline:none;border-color:var(--teal-primary);background-color:#fff;color:var(--ink-strong)}.acad-input,.acad-select{border:1px solid #CBD5E1;border-radius:7px;padding:8px 12px;font-size:13.5px;font-weight:500;color:var(--ink-strong);background-color:#fff;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.acad-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:12px 12px}.acad-input:focus,.acad-select:focus,textarea.acad-input:focus{outline:none;background-color:#fff;border-color:var(--teal-accent);box-shadow:0 0 0 2.5px #0f766e29}.inline-cell-input{width:100%;border:1px solid transparent;background:transparent;padding:5px 8px;border-radius:6px;font-size:13.5px;font-weight:500;color:inherit}.inline-cell-input:hover{border-color:#cbd5e1;background:#f8fafc}.inline-cell-input:focus{outline:none;border-color:var(--teal-accent);background:#fff;color:var(--ink-strong)}.btn-primary{background:var(--teal-primary);color:#fff;border:1px solid var(--teal-primary);padding:8.5px 16px;border-radius:var(--radius-sm);font-size:13.2px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .14s ease,border-color .14s ease;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--teal-dark);border-color:var(--teal-dark)}.btn-primary:disabled{background:#e2e8f0;border-color:#cbd5e1;color:#64748b;opacity:1}.help-trigger-btn{width:21px;height:21px;border-radius:50%;border:1px solid transparent;background:transparent;color:#94a3b8;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .14s ease}.help-trigger-btn:hover,.help-trigger-btn.active{background:#e6f2f0;border-color:#9ed1c9;color:var(--teal-primary)}.help-popover-card{background:#fff;border:1px solid #CBD5E1;border-top:3px solid var(--teal-primary);border-radius:10px;box-shadow:0 14px 36px #0f172a29;overflow:hidden;animation:fadeIn .12s ease-out}.help-popover-head{padding:9px 13px;background:#f8fafc;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink-strong)}.help-popover-close{border:0;background:transparent;color:#64748b;padding:2px;border-radius:4px;display:inline-flex;align-items:center}.help-popover-close:hover{background:#e2e8f0;color:var(--ink-strong)}.help-popover-body{padding:11px 14px;font-size:12.3px;color:var(--ink-body);line-height:1.65;display:flex;flex-direction:column;gap:6px}.btn-secondary{background:var(--teal-soft);color:var(--teal-dark);border:1px solid #99D5CE;padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .14s ease;white-space:nowrap}.btn-secondary:hover:not(:disabled){background:#d5ece9}.btn-outline{background:#fff;color:var(--teal-primary);border:1px solid #8FB8B3;padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .14s ease;white-space:nowrap}.btn-outline:hover:not(:disabled){background:#eaf4f3;border-color:var(--teal-primary)}.btn-ghost{background:transparent;color:var(--ink-mid);border:1px solid transparent;padding:7px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:background .14s ease,color .14s ease;white-space:nowrap}.btn-ghost:hover:not(:disabled){background:#e8eef3;color:var(--ink-strong)}.btn-link{border:0;padding:0;background:transparent;color:var(--teal-accent);font-size:12.8px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.btn-link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.btn-danger-soft{background:#fff;color:#9f1239;border:1px solid #FDA4AF;padding:6.5px 12px;border-radius:7px;font-size:12.8px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.btn-danger-soft:hover:not(:disabled){background:#fff1f2}.chip-btn{background:#fff;color:var(--ink-mid);border:1px solid #CBD5E1;padding:4.5px 11px;border-radius:6px;font-size:12.2px;font-weight:600;transition:all .12s ease;white-space:nowrap}.chip-btn:hover{border-color:var(--teal-accent);color:var(--teal-dark);background:#eaf4f3}.chip-btn.active{background:var(--teal-primary);color:#fff;border-color:var(--teal-primary)}.segmented-track{display:inline-flex;align-items:center;gap:2px;background:#e2e8f0;padding:3px;border-radius:7px}.segmented-btn{border:none;background:transparent;color:var(--ink-mid);padding:5px 11px;border-radius:5px;font-size:12.2px;font-weight:600;transition:all .14s ease;white-space:nowrap}.segmented-btn:hover{color:var(--ink-strong)}.segmented-btn.active{background:var(--teal-primary);color:#fff;box-shadow:0 1px 3px #0f172a24}.date-stepper-group{display:inline-flex;align-items:center;background:#fff;border:1px solid #CBD5E1;border-radius:8px;padding:2.5px}.date-step-btn{border:none;background:transparent;color:var(--ink-body);padding:5.5px 10px;border-radius:6px;font-size:12.8px;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:background .14s ease,color .14s ease}.date-step-btn:hover{background:#eaf4f3;color:var(--teal-primary)}.filter-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.filter-meta-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--ink-muted);font-size:12.8px;margin-bottom:12px}.action-text-btn{border:0;background:transparent;color:var(--teal-accent);padding:4px 7px;border-radius:5px;font-size:12.2px;font-weight:600;white-space:nowrap}.action-text-btn:hover{background:var(--teal-soft);color:var(--teal-dark)}.row-timer-btn{border:1px solid #CBD5E1;background:#fff;color:var(--teal-primary);border-radius:6px;padding:4px 7px;display:inline-flex;align-items:center;justify-content:center;transition:all .14s ease}.row-timer-btn:hover{background:var(--teal-soft);border-color:var(--teal-primary)}.row-timer-btn.active{background:var(--teal-primary);color:#fff;border-color:var(--teal-primary)}.row-del-btn{border:1px solid transparent;background:transparent;color:#94a3b8;border-radius:5px;padding:4px 6px;display:inline-flex;align-items:center;justify-content:center;transition:all .14s ease}tr:hover .row-del-btn{color:#64748b}.row-del-btn:hover{color:#be123c!important;background:#fff1f2;border-color:#fda4af}.row-del-confirm-btn{border:1px solid #BE123C;background:#be123c;color:#fff;border-radius:5px;padding:3px 8px;font-size:11.5px;font-weight:700;white-space:nowrap;animation:fadeIn .12s ease-out}.paper-title-btn{background:transparent;border:none;padding:2px 0;margin:0;text-align:left;font-size:13.6px;font-weight:650;color:var(--ink-strong);line-height:1.45;transition:color .14s ease}.paper-title-btn:hover{color:var(--teal-accent);text-decoration:underline;text-underline-offset:3px}.paper-edit-btn{border:1px solid transparent;background:transparent;color:#94a3b8;border-radius:5px;padding:3px 5px;display:inline-flex;align-items:center;flex-shrink:0}tr:hover .paper-edit-btn{color:#64748b}.paper-edit-btn:hover{color:var(--teal-primary)!important;background:var(--teal-soft)}.quick-add-row td{background:#f4f9f8!important;border-top:1.5px solid #94A3B8!important;padding-top:11px!important;padding-bottom:11px!important}.quick-helper-footer{background:#f8fafc;border-top:1px solid #CBD5E1;padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;display:flex;justify-content:flex-end;animation:fadeIn .16s ease-out}.drawer-panel{width:min(860px,95vw);height:100vh;background:#fff;border-left:1px solid #CBD5E1;box-shadow:-12px 0 40px #0f172a33;display:flex;flex-direction:column;overflow:hidden;animation:slideInRight .2s cubic-bezier(.16,1,.3,1)}.modal-card{width:min(680px,calc(100vw - 32px));max-height:88vh;background:#fff;border:1px solid #CBD5E1;border-radius:14px;box-shadow:0 20px 65px #0f172a3d;display:flex;flex-direction:column;overflow:hidden}.modal-card-wide{width:min(780px,calc(100vw - 32px))}.modal-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-bottom:1px solid #CBD5E1;background:#f8fafc}.modal-heading h2,.modal-heading h3{font-size:18px;font-weight:700;color:var(--ink-strong)}.modal-body{padding:20px 24px;overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid #CBD5E1;background:#f8fafc}.settings-section-box{border:1px solid #DCE5E7;border-radius:10px;padding:15px 18px;background:#fafcfd;display:flex;flex-direction:column;gap:11px}.settings-section-title{font-size:14.5px;font-weight:700;color:var(--ink-strong);display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed #E2E8F0;flex-wrap:wrap}.settings-row:last-child{border-bottom:0;padding-bottom:0}.tag-pill-removable{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:#fff;border:1px solid #CBD5E1;font-size:12.5px;font-weight:600;color:var(--ink-body)}.tag-pill-removable button{border:0;background:transparent;color:#64748b;padding:0 1px;display:inline-flex;align-items:center}.tag-pill-removable button:hover{color:#be123c}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid-2 .full{grid-column:1 / -1}.field-label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-mid);margin-bottom:6px}.field-label .optional{font-weight:450;color:#64748b;margin-left:6px}.undo-toast{position:fixed;bottom:24px;left:calc(50% + 90px);transform:translate(-50%);z-index:100;background:var(--teal-dark);color:#fff;border-radius:9px;padding:11px 18px;box-shadow:0 8px 28px #0f172a47;display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;max-width:min(680px,88vw);animation:fadeIn .18s ease-out}.clickable-row{cursor:pointer;transition:background-color .12s ease}.clickable-row:hover{background-color:#eaf4f3!important}.dash-silent{color:#94a3b8;font-variant-numeric:tabular-nums}.missing-duration{color:#92400e;font-size:12.2px;font-weight:550}.global-search-input::placeholder{color:#94a3b8;font-weight:450}.ledger-view-root.mode-table .ledger-desktop-section{display:block}.ledger-view-root.mode-table .ledger-mobile-section,.ledger-view-root.mode-cards .ledger-desktop-section{display:none}.ledger-view-root.mode-cards .ledger-mobile-section{display:flex}.ledger-view-root.mode-auto .ledger-desktop-section{display:block}.ledger-view-root.mode-auto .ledger-mobile-section{display:none}.ledger-mobile-section{flex-direction:column;gap:14px;padding:16px;background:#f8fafc}.mobile-quick-card{background:#fff;border:1px solid #CBD5E1;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.mobile-entry-card{background:#fff;border:1px solid #CBD5E1;border-left:3.5px solid var(--teal-primary);border-radius:9px;padding:11px 13px;display:flex;flex-direction:column;gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(32px);opacity:.7}to{transform:translate(0);opacity:1}}@keyframes pulseHighlight{0%{box-shadow:inset 3.5px 0 #0f766e,0 0 0 3px #0f766e40;background-color:#ccfbf1}to{box-shadow:inset 3.5px 0 0 transparent,0 0 #0f766e00}}.entry-row-highlight{animation:pulseHighlight 2.5s ease-out}@media (max-width: 1180px){.app-sidebar{width:172px;padding:20px 12px}.sidebar-brand-en{display:none}.app-workspace{margin-left:172px}.workspace-topbar{padding:12px 22px}.main-container{padding:22px 22px 48px}.kpi-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.today-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr)}.clock-digits{font-size:32px}}@media (max-width: 960px){.today-grid,.stat-bottom-grid,.plan-grid{grid-template-columns:1fr}.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-insights{grid-template-columns:1fr 1fr}.stat-insights>div:nth-child(2){border-right:0}.stat-insights>div:nth-child(-n+2){border-bottom:1px solid #C6DFDA}.undo-toast{left:55%}}@media (max-width: 768px){.ledger-view-root.mode-auto .ledger-desktop-section{display:none}.ledger-view-root.mode-auto .ledger-mobile-section{display:flex}}@media (max-width: 720px){.app-sidebar{position:sticky;top:0;width:100%;height:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px;border-right:0;border-bottom:2px solid var(--line-sidebar);gap:10px;flex-wrap:wrap}.sidebar-brand{margin-bottom:0;padding-bottom:0;border-bottom:0;gap:8px}.sidebar-footer{margin-top:0;padding-top:0;border-top:0}.sidebar-settings-btn{padding:6px 10px;font-size:12.5px;width:auto}.sidebar-nav{flex-direction:row;width:100%;overflow-x:auto;gap:5px;padding-bottom:2px}.sidebar-nav-item{padding:7px 11px;font-size:13px;white-space:nowrap}.app-workspace{margin-left:0}.workspace-topbar{position:static;padding:10px 14px}.main-container{padding:18px 14px 44px;overflow-x:clip}.kpi-grid-5{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-grid-5>.academic-card:last-child{grid-column:1 / -1}.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.paper-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.type-options-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.timer-input-row,.form-grid-2{grid-template-columns:1fr}.drawer-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-panel{width:100vw;height:100dvh}.undo-toast{left:50%;bottom:16px}}.lock-screen-backdrop{min-height:100dvh;width:100%;background:linear-gradient(155deg,#0f3a37,#164e4a 52%,#1d5e59);display:flex;align-items:center;justify-content:center;padding:20px}.lock-screen-card{width:min(440px,100%);background:#fff;border-radius:16px;border:1px solid rgba(255,255,255,.25);box-shadow:0 24px 64px #0516146b;padding:28px 28px 22px;display:flex;flex-direction:column;gap:20px;animation:fadeIn .2s ease-out}.lock-brand-header{display:flex;align-items:center;gap:13px;padding-bottom:16px;border-bottom:1px solid #E2E8F0}.lock-brand-badge{width:44px;height:44px;border-radius:11px;background:#164e4a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #164e4a3d}.lock-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--teal-accent);margin-bottom:2px}.lock-title{font-size:17.5px;font-weight:750;color:var(--ink-strong);line-height:1.3}.lock-checking-box{display:flex;align-items:center;justify-content:center;gap:11px;padding:24px 14px;background:#f4f9f8;border:1px solid #C6DFDA;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--teal-dark)}.lock-spinner{width:17px;height:17px;border-radius:50%;border:2.2px solid #99C7BF;border-top-color:#164e4a;animation:spinLoader .75s linear infinite;flex-shrink:0}@keyframes spinLoader{to{transform:rotate(360deg)}}.lock-form{display:flex;flex-direction:column;gap:15px}.lock-desc{font-size:13px;color:var(--ink-muted);line-height:1.55}.lock-input-wrap{position:relative;display:flex;align-items:center}.lock-input-icon{position:absolute;left:12px;color:#64748b;display:inline-flex;align-items:center;pointer-events:none}.lock-passcode-input{width:100%;padding:10px 40px 10px 38px!important;font-size:16px!important;height:44px}.lock-eye-btn{position:absolute;right:8px;border:0;background:transparent;color:#64748b;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.lock-eye-btn:hover{background:#f1f5f9;color:var(--ink-strong)}.lock-error-banner{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;background:#fff1f2;border:1px solid #FDA4AF;color:#9f1239;font-size:12.6px;font-weight:600}.lock-submit-btn{width:100%;height:44px;font-size:14.5px!important;font-weight:700!important;justify-content:center}.lock-footer-note{display:flex;align-items:center;justify-content:center;gap:6px;padding-top:12px;border-top:1px dashed #E2E8F0;font-size:11.8px;color:#64748b}
