@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";.task-followup-preview{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0;background:var(--panel);color:var(--text);cursor:pointer;min-width:0}.task-followup-preview>span{display:flex;align-items:center;gap:6px;color:var(--accent, #0d9488);font-weight:600;font-size:12px}.task-followup-preview small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--muted);line-height:1.5}.task-followup-preview .next-step{color:var(--text)}.task-followup-preview.is-due{border-color:#e5a23a}.task-followup-modal{width:min(820px,96vw)}.followup-task-name{margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere;line-height:1.5}.followup-hint,.memo-reminder-note{color:var(--muted);font-size:13px;line-height:1.6}.followup-form{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px}.followup-form label,.memo-capture label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px;min-width:0}.followup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.followup-form :is(input,select,textarea),.followup-link select,.memo-capture :is(textarea,input),.memo-filter input{width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit}.followup-actions{display:flex;justify-content:flex-end;gap:8px}.followup-textarea-wrap{position:relative;width:100%;border-radius:8px}.followup-textarea-wrap.drag-over textarea{border-color:var(--accent, #0d9488);background:#0d948814;outline:2px dashed var(--accent, #0d9488)}.followup-image-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:-2px;margin-bottom:2px;font-size:12px;color:var(--muted)}.followup-upload-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer}.followup-image-hint{font-size:12px;color:var(--muted);line-height:1.4}.followup-image-hint strong{color:var(--accent, #0d9488);font-weight:600}.followup-image-preview-list{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}.followup-image-preview-item{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--bg);flex-shrink:0}.followup-image-preview-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .2s ease}.followup-image-preview-item img:hover{transform:scale(1.05)}.followup-image-remove-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#000000a6;color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:2;transition:background .15s}.followup-image-remove-btn:hover{background:#ef4444}.followup-image-uploading-card{width:72px;height:72px;border-radius:8px;border:1px dashed var(--line);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;color:var(--muted)}.followup-image-spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent, #0d9488);border-radius:50%;animation:followup-spin .8s linear infinite}@keyframes followup-spin{to{transform:rotate(360deg)}}.followup-node-images{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.followup-node-image-btn{padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg);cursor:pointer;width:88px;height:88px;flex-shrink:0;transition:border-color .2s,transform .15s}.followup-node-image-btn:hover{border-color:var(--accent, #0d9488);transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.followup-node-image-btn img{width:100%;height:100%;object-fit:cover;display:block}.followup-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;animation:followup-fade .2s ease-out}.followup-lightbox-dialog{max-width:92vw;max-height:92vh;display:flex;flex-direction:column;background:var(--panel, #1e293b);border-radius:12px;border:1px solid rgba(255,255,255,.15);box-shadow:0 20px 40px #00000080;overflow:hidden}.followup-lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.followup-lightbox-open-btn{font-size:12px;text-decoration:none;padding:4px 10px;border-radius:6px;color:var(--text);border:1px solid var(--line)}.followup-lightbox-close-btn{border:0;background:transparent;color:var(--text);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px}.followup-lightbox-close-btn:hover{background:#ffffff1a}.followup-lightbox-content{overflow:auto;display:flex;align-items:center;justify-content:center;padding:12px;max-height:calc(92vh - 60px)}.followup-lightbox-content img{max-width:100%;max-height:calc(92vh - 84px);object-fit:contain;border-radius:6px}@keyframes followup-fade{0%{opacity:0}to{opacity:1}}.followup-toggle{margin-bottom:12px}.followup-link-details{margin-top:14px;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.followup-link-details summary{color:var(--muted);cursor:pointer;font-size:13px}.followup-actions .primary,.memo-capture .primary{color:#fff}.followup-actions button,.memo-capture button{display:inline-flex;align-items:center;gap:6px}.followup-link{display:flex;gap:8px;margin-top:14px}.followup-link button{flex-shrink:0}.followup-timeline-title{display:flex;gap:12px;align-items:center;font-size:16px;margin:24px 0 16px}.followup-timeline-title small{color:var(--muted);font-size:12px;font-weight:400}.task-followup-timeline{list-style:none;padding:0 0 0 18px;margin:0;border-left:2px solid var(--line)}.task-followup-timeline li{position:relative;padding:0 0 24px;overflow-wrap:anywhere}.task-followup-timeline li:before{content:"";position:absolute;left:-24px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--accent, #0d9488)}.followup-node-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.followup-node-head>span{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px}.followup-node-head time{color:var(--muted);font-size:12px}.followup-node-head>div{display:flex}.followup-node-head button,.memo-actions button{border:0;background:transparent;color:var(--muted);padding:8px;cursor:pointer}.task-followup-timeline p{white-space:pre-wrap;line-height:1.7;font-size:14px;margin:8px 0}.followup-node-next{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px;border-radius:8px;background:var(--panel);font-size:13px;line-height:1.6}.followup-node-next span{color:var(--muted)}.followup-node-next.is-due,.memo-item.is-due{border-left:3px solid #e5a23a}.followup-event-link{padding:6px 0;background:transparent;border:0;color:var(--accent, #0d9488);font-size:12px;cursor:pointer}.followup-error{color:#ef4444;font-size:14px}.followup-empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.work-memos{max-width:1000px;margin:0 auto}.memo-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.memo-heading h3{margin:0;font-size:22px}.memo-heading p{margin:8px 0 0;color:var(--muted)}.memo-heading>span{color:var(--muted);font-size:13px}.memo-capture{padding:16px}.memo-capture textarea{resize:vertical;font-size:16px}.memo-capture-footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-top:12px}.memo-capture-footer>div{display:flex;gap:8px}.memo-filter{display:flex;gap:12px;justify-content:space-between;margin:20px 0 8px}.memo-filter>div{display:flex;gap:6px;flex-wrap:wrap}.memo-filter button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;padding:8px 12px;cursor:pointer}.memo-filter button.active{color:var(--text);border-color:var(--accent, #0d9488)}.memo-filter input{width:220px}.memo-list{display:grid;gap:10px}.memo-item{display:flex;gap:12px;align-items:flex-start;padding:16px}.memo-item>input{width:18px;height:18px;margin-top:4px;flex-shrink:0;accent-color:#0d9488}.memo-text{flex:1;min-width:0}.memo-text p{margin:0 0 7px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.memo-text small{color:var(--muted);font-size:12px}.memo-item.completed .memo-text p{text-decoration:line-through;color:var(--muted)}.memo-actions{display:flex}.work-reminder-strip{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid #e5a23a;border-radius:12px;background:var(--panel)}.work-reminder-strip button{border:0;background:transparent;color:var(--text);padding:4px;cursor:pointer}.work-reminder-list{display:flex;flex-wrap:wrap;gap:8px;width:100%}.work-reminder-list button{border:1px solid var(--line);border-radius:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px}@media(max-width:600px){.followup-grid{grid-template-columns:minmax(0,1fr)}.followup-link,.memo-capture-footer,.memo-filter,.memo-heading{flex-direction:column;align-items:stretch}.memo-filter input{width:100%}.memo-capture-footer>div{justify-content:flex-end;flex-wrap:wrap}.memo-item{flex-wrap:wrap}.memo-actions{margin-left:auto}.memo-actions button,.followup-node-head button{min-width:44px;min-height:44px}.followup-node-head{align-items:flex-start}.followup-form{padding:12px}.task-followup-modal :is(input,select,textarea){font-size:16px;min-height:44px}.task-followup-modal button{min-height:44px}}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang SC,Noto Sans SC,system-ui,sans-serif;color:#dfe9f2;background:#071019;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;--bg:#071019;--panel:#0d1823;--panel2:#111f2c;--line:#20313f;--muted:#8293a3;--cyan:#26d9c7;--cyan2:#0fa696;--amber:#ffb545;--red:#ff6b6b}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 65% -20%,#163348 0,transparent 36%),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.shell>aside{position:fixed;inset:0 auto 0 0;width:245px;border-right:1px solid var(--line);background:#09131d;display:flex;flex-direction:column;z-index:20}.brand{height:88px;padding:20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.mark{width:42px;height:42px;border:1px solid #287a76;background:#0b3637;border-radius:12px;display:grid;place-items:center;color:var(--cyan);font:700 15px Space Grotesk}.brand b{display:block;font:700 19px Space Grotesk}.brand small{color:var(--muted);font-size:12px}.brand .close{display:none;margin-left:auto}nav{padding:18px 12px;display:grid;gap:4px;overflow:auto}nav button{height:44px;border:0;background:transparent;color:#91a3b3;border-radius:9px;display:flex;align-items:center;gap:12px;padding:0 13px;text-align:left;font-size:14px}nav button svg{width:18px}nav button:hover{background:#101e2a;color:#fff}nav button.active{background:#123039;color:#eafffc;box-shadow:inset 3px 0 var(--cyan)}nav button.active svg{color:var(--cyan)}nav em{margin-left:auto;font-style:normal;font-size:10px;background:#543710;color:#ffc66e;border-radius:4px;padding:2px 5px}.mantra{margin:auto 14px 16px;padding:15px;border:1px solid #244452;border-radius:12px;background:linear-gradient(145deg,#102633,#0d1b25)}.mantra svg{width:19px;color:var(--amber)}.mantra b{font-size:14px;margin-left:7px}.mantra p{color:var(--muted);font-size:12px;line-height:1.7;margin:8px 0 0}.shell>main{grid-column:2;min-width:0}.top{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#071019cc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);position:sticky;top:0;z-index:10}.top small,.card-title small{color:var(--muted);font-size:12px;letter-spacing:.08em}.top h1{font-size:22px;margin:2px 0 0}.date{display:flex;align-items:center;gap:12px;color:#aebdca;font-size:14px}.date i{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.menu{display:none}.content{padding:28px 34px 60px;max-width:1500px;margin:auto}.hero{min-height:220px;border:1px solid #245365;border-radius:18px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;background:linear-gradient(115deg,#102837,#0e1e2b 64%,#0a3234);position:relative}.hero:after{content:"";position:absolute;width:280px;height:280px;border:45px solid #25d8c710;border-radius:50%;right:-80px;top:-100px}.hero h2{font-size:30px;margin:18px 0 8px}.hero p{color:#a8bac8;margin:0;max-width:620px}.hero-ring{--p:0%;width:134px;height:134px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,#0e262f 77%,transparent 78% 99%),conic-gradient(var(--cyan) var(--p),#21424a 0);z-index:1}.hero-ring strong{font:700 26px Space Grotesk}.hero-ring span{font-size:12px;color:var(--muted)}.pill{display:inline-flex;padding:3px 8px;border-radius:5px;background:#153249;color:#a9d1ed;font-size:11px;white-space:nowrap}.pill.cyan{background:#0d3838;color:#70f0e3}.pill.amber{background:#4a3213;color:#ffd18d}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.metric{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;gap:13px}.metric>span{width:36px;height:36px;border-radius:9px;background:#103039;display:grid;place-items:center;color:var(--cyan)}.metric svg{width:18px}.metric small,.metric p{color:var(--muted);font-size:12px}.metric strong{display:block;font:700 21px Space Grotesk;margin:2px 0}.metric p{margin:0}.grid.two{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin:16px 0}.card{background:linear-gradient(145deg,var(--panel),#0b1620);border:1px solid var(--line);border-radius:15px;padding:22px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.card-title h3{margin:3px 0 0;font-size:18px}.text-btn{border:0;background:transparent;color:var(--cyan);display:inline-flex;align-items:center;gap:3px;font-size:13px}.text-btn svg{width:15px}.module-list{display:grid;gap:17px}.module-row>div{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px}.module-row span{color:var(--muted)}.progress{height:6px;border-radius:8px;background:#1b2b36;overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan2),var(--cyan));box-shadow:0 0 9px #26d9c766}.progress i.amber{background:linear-gradient(90deg,#db8d21,var(--amber))}.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.big-stat{background:#101f2b;border:1px solid #1c3442;border-radius:10px;padding:15px 10px;text-align:center}.big-stat strong{display:block;font:700 21px Space Grotesk;color:#fff}.big-stat span{color:var(--muted);font-size:11px}.big-stat.warn strong{color:var(--amber)}.primary,.secondary{border:0;border-radius:8px;min-height:40px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.primary{background:var(--cyan);color:#041717;font-weight:700}.primary:hover{background:#52eadb}.primary:disabled{opacity:.4}.secondary{border:1px solid #34505f;background:#12212d;color:#d9e4ec}.full{width:100%}.primary svg{width:17px}.trend{margin:16px 0}.legend{font-size:12px;color:var(--muted)}.bars{height:200px;display:flex;align-items:end;gap:20px;padding:18px 5px 0;border-bottom:1px solid var(--line)}.bars>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px;min-width:30px}.bars i{display:block;width:min(42px,75%);min-height:5px;background:linear-gradient(#29d7c7,#107a74);border-radius:5px 5px 0 0}.bars span,.bars b{font-size:11px;color:var(--muted)}.bars b{color:#dfe9f2}.note,.context-banner{display:flex;gap:13px;border:1px solid #58441f;background:#241d12;border-radius:12px;padding:15px 18px}.note svg{color:var(--amber);width:20px}.note b,.context-banner b{font-size:14px}.note p,.context-banner p{margin:4px 0 0;color:#ae9f87;font-size:13px;line-height:1.55}.mode-switch{display:grid;grid-template-columns:auto auto 1fr;background:#0c1822;border:1px solid var(--line);padding:8px;border-radius:12px;margin-bottom:16px;gap:6px}.mode-switch button,.tabs button,.route-tabs button{border:0;background:transparent;color:var(--muted);padding:10px 16px;border-radius:7px}.mode-switch button.active,.tabs button.active,.route-tabs button.active{background:#173640;color:var(--cyan)}.mode-switch div{display:flex;align-items:center;padding-left:15px;color:var(--muted);font-size:13px}.task-list{display:grid;gap:8px}.task{border:1px solid #1d3442;background:#0e1c27;border-radius:11px;padding:13px;display:grid;grid-template-columns:34px 1fr auto auto;align-items:center;gap:13px}.task.done{opacity:.58}.task.done .task-main b{text-decoration:line-through}.check{width:26px;height:26px;border:2px solid #3a5564;border-radius:7px;background:#10202c;color:var(--cyan);padding:0}.check svg{width:22px}.task-main>div{display:flex;align-items:center;gap:8px}.task-main b{font-size:14px}.task-main span,.task-main p{font-size:12px;color:var(--muted)}.task-main p{margin:5px 0 0}.duration{display:flex;align-items:center;color:var(--muted);font-size:12px}.duration svg{width:15px}.duration input{width:48px}.task select,.task input,.field input,.field select,.field textarea,.toolbar input,.goal-input input,.roadmap input,.roadmap select,.topic-grid select,.stage input{border:1px solid #29404e;background:#0a151e;color:#dce7ef;border-radius:7px;padding:8px;outline:none}.task input{border:0;background:transparent;text-align:right}.task select{min-width:96px}.icon{border:0;background:transparent;color:#9eb0be;padding:6px}.icon svg{width:19px;height:19px}.icon.danger{color:#e27c7c}.modal-back{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:#02070bbf;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(820px,100%);max-height:90vh;overflow:auto;background:#0d1923;border:1px solid #2b4655;border-radius:15px;padding:22px}.modal>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal h2{margin:0;font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field>span{font-size:12px;color:#91a3b3}.field input,.field select{height:42px}.field textarea{min-height:85px;resize:vertical}.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.switch{display:flex;align-items:center;gap:8px}.switch input{display:none}.switch i{width:40px;height:23px;border-radius:20px;background:#30404a;padding:3px}.switch i:after{content:"";display:block;width:17px;height:17px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+i{background:var(--cyan2)}.switch input:checked+i:after{transform:translate(17px)}.context-banner{background:#0d252d;border-color:#20505a;margin-bottom:16px}.context-banner svg{color:var(--cyan);width:22px}.context-banner p{color:#91aab5}.context-banner.slim{padding:12px 16px}.tabs,.route-tabs{display:flex;gap:5px;background:#0c1822;border:1px solid var(--line);padding:6px;border-radius:11px;margin-bottom:16px;overflow:auto}.toolbar{display:flex;gap:8px}.toolbar input{height:40px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}th{text-align:left;color:#8194a4;font-weight:500;background:#0b1720}th,td{padding:12px;border-bottom:1px solid #1e303d}td{max-width:220px;overflow:hidden;text-overflow:ellipsis}.empty{min-height:180px;display:grid;place-content:center;text-align:center;color:#607687}.empty svg{margin:auto}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.topic-grid article{border:1px solid var(--line);border-radius:10px;padding:15px;background:#0d1b25}.topic-grid article>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:13px}.topic-grid select{max-width:92px}.topic-grid p{font-size:11px;color:var(--muted);margin:10px 0 0}.review-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.roadmap{display:grid}.roadmap article{min-height:69px;display:grid;grid-template-columns:46px 1fr 65px auto 105px;align-items:center;gap:10px;border-bottom:1px solid #1b303d}.roadmap article:last-child{border:0}.roadmap .step{font:700 16px Space Grotesk;color:var(--cyan)}.roadmap p{margin:4px 0;color:var(--muted);font-size:12px}.roadmap article>span{font-size:12px;color:var(--muted)}.roadmap .locked{opacity:.45}.route-total{color:var(--cyan);font:700 16px Space Grotesk}.history,.month-row{display:grid;grid-template-columns:105px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.history span{color:var(--muted);font-size:13px}.goals{margin-bottom:16px}.goal-input{display:flex;gap:8px}.goal-input input{flex:1}.goal{display:flex;gap:10px;border-top:1px solid var(--line);padding:13px 4px;margin-top:8px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;overflow:auto}.day{min-width:165px;background:#0c1822;border:1px solid var(--line);border-radius:11px;min-height:350px;padding:12px}.day>header{display:flex;justify-content:space-between}.day>header span{color:var(--muted);font-size:12px}.default-plan{font-size:11px;color:#75909e;line-height:1.55;min-height:52px}.day article{border:1px solid #244250;border-left:3px solid var(--cyan);background:#10202b;border-radius:8px;padding:10px;margin-bottom:8px;display:grid;gap:5px}.day article b{font-size:12px}.day article small{color:var(--muted)}.weekday,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekday span{text-align:center;color:var(--muted);font-size:11px;margin-bottom:6px}.calendar div{aspect-ratio:1;display:grid;place-items:center;background:#111f29;border:1px solid #1b303b;border-radius:6px;font-size:12px}.calendar .s-全部完成{background:#157d73;color:#fff}.calendar .s-核心任务完成{background:#226357}.calendar .s-部分完成{background:#684a20}.heat-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px;color:var(--muted);font-size:11px}.heat-legend span{display:flex;align-items:center;gap:5px}.heat-legend i{width:10px;height:10px;background:#111f29;border:1px solid #273d49;border-radius:2px}.heat-legend i.all{background:#157d73}.heat-legend i.core{background:#226357}.heat-legend i.part{background:#684a20}.month-row{grid-template-columns:100px 1fr 90px}.month-row span{text-align:right;color:var(--muted);font-size:12px}.stage-list{display:grid;gap:14px}.stage{display:grid;grid-template-columns:90px 1fr;gap:22px;background:#0d1923;border:1px solid var(--line);border-radius:14px;padding:25px}.stage-no{font:700 42px Space Grotesk;color:#1e6968}.stage-title,.stage-date{display:block;border:0!important;background:transparent!important;padding:3px!important}.stage-title{font-size:19px;font-weight:700;width:100%}.stage-date{color:var(--cyan);font-size:12px}.stage p{color:#9cadba;line-height:1.7}.stage .progress{display:inline-block;width:calc(100% - 55px);margin-right:10px}.stage span{font-size:12px;color:var(--muted)}.log{border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:10px}.log header{display:flex;justify-content:space-between}.log div{display:grid;grid-template-columns:90px 1fr;margin-top:12px}.log span{color:var(--muted);font-size:12px}.log p{margin:0;font-size:13px}.data-card{text-align:center;min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center}.data-card>svg{color:var(--cyan);width:32px;height:32px}.data-card p{color:var(--muted);max-width:390px;font-size:13px}.file input{display:none}.toast{position:fixed;right:24px;bottom:24px;background:#14352f;border:1px solid #267769;color:#cafff8;border-radius:10px;padding:13px 17px;display:flex;align-items:center;gap:8px;z-index:100;box-shadow:0 15px 35px #0008}.toast svg{width:18px}code{color:#6ce8dd}.close{display:none}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(7,180px)}.topic-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.shell>aside{transform:translate(-100%);transition:.25s;box-shadow:20px 0 50px #0008}.shell>aside.open{transform:none}.brand .close,.menu{display:block}.shell>main{width:100%}.top{height:72px;padding:0 16px;justify-content:flex-start;gap:12px}.top .date{margin-left:auto}.date span{display:none}.content{padding:18px 14px 45px}.hero{min-height:190px;padding:24px}.hero h2{font-size:23px}.hero-ring{width:100px;height:100px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric>span{display:none}.task{grid-template-columns:30px 1fr auto}.duration{grid-column:2}.task>select{grid-column:3;grid-row:1/3}.form-grid,.review-form{grid-template-columns:1fr}.field.wide,.actions{grid-column:auto}.topic-grid{grid-template-columns:1fr}.roadmap article{grid-template-columns:38px 1fr 90px;padding:9px 0}.roadmap input,.roadmap article>span{display:none}.roadmap select{grid-column:3}.bars{gap:8px}.stage{grid-template-columns:50px 1fr;padding:18px}.stage-no{font-size:28px}.mode-switch{grid-template-columns:1fr 1fr}.mode-switch div{grid-column:1/-1;padding:8px}.card{padding:17px}.card-title{align-items:flex-start}.toolbar{flex-wrap:wrap;justify-content:flex-end}.hero p{font-size:13px}}@media(max-width:480px){.hero-ring{display:none}.metrics{grid-template-columns:1fr}.exam-grid{grid-template-columns:repeat(2,1fr)}.tabs button,.route-tabs button{white-space:nowrap}.top h1{font-size:19px}.history{grid-template-columns:90px 1fr}.history .pill{display:none}}.theme-switcher{display:inline-flex;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px;height:32px}.theme-btn{border:0;background:transparent;color:var(--muted);height:100%;padding:0 8px;border-radius:6px;display:inline-flex;align-items:center;gap:5px;font-size:12px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.theme-btn svg{width:14px;height:14px}.theme-btn:hover{color:var(--cyan)}.theme-btn.active{background:#173640;color:var(--cyan);font-weight:600}@media(max-width:850px){.theme-btn span{display:none}.theme-btn{padding:0 6px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 50% 20%,#16384e 0%,transparent 45%),radial-gradient(circle at 80% 80%,#0d2830 0%,transparent 40%),var(--bg);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(32,49,63,.25) 1px,transparent 1px),linear-gradient(to bottom,rgba(32,49,63,.25) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 30%,transparent 100%);pointer-events:none}.login-card{width:100%;max-width:420px;background:linear-gradient(150deg,#0e1c27,#0a151f 70%,#082124);border:1px solid #1f3747;border-radius:18px;padding:36px 32px 30px;box-shadow:0 25px 60px -10px #000000bf,0 0 25px #26d9c70f;position:relative;z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-header{display:flex;align-items:center;gap:14px;margin-bottom:12px}.login-mark{width:48px;height:48px;font-size:18px;border-radius:13px;box-shadow:0 0 15px #26d9c733}.login-titles h2{margin:0;font:700 24px Space Grotesk,system-ui,sans-serif;letter-spacing:-.02em;color:#f0f6fa}.login-titles small{color:var(--muted);font-size:13px}.login-pill-wrap{margin:12px 0 20px}.login-pill-wrap .pill{padding:4px 10px;font-size:12px;display:inline-flex;align-items:center}.login-error{display:flex;align-items:center;gap:8px;background:#2a1414;border:1px solid #6b2626;color:#ff9b9b;border-radius:9px;padding:10px 14px;font-size:13px;margin-bottom:18px}.login-form{display:grid;gap:18px}.login-field{display:grid;gap:7px;text-align:left}.login-field label{font-size:13px;font-weight:500;color:#a3b8c7}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.input-wrapper input{width:100%;height:44px;padding:0 40px 0 38px;background:#09141d;border:1px solid #233746;border-radius:9px;color:#e4eef5;font-size:14px;transition:all .2s}.input-wrapper input:focus{border-color:var(--cyan);background:#0d1b26;box-shadow:0 0 0 3px #26d9c726}.eye-toggle{position:absolute;right:6px;background:transparent;border:0;color:var(--muted);padding:6px;display:grid;place-items:center;cursor:pointer;border-radius:6px}.eye-toggle:hover{color:#dce7ef}.login-submit-btn{height:44px;font-size:15px;margin-top:6px;box-shadow:0 4px 20px #26d9c740;transition:all .2s}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #26d9c759}.login-footer{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:10px;text-align:center}.login-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--muted)}.login-hint code{color:var(--cyan);background:#0e292d;padding:2px 5px;border-radius:4px;font-family:monospace}.login-theme-pos{margin-bottom:14px;align-self:flex-end}.user-bar{margin:auto 14px 10px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;gap:9px}.user-avatar{width:30px;height:30px;border-radius:8px;background:#0b3637;color:var(--cyan);display:grid;place-items:center;font:700 13px Space Grotesk;border:1px solid #287a76}.user-meta{display:flex;flex-direction:column}.user-meta b{font-size:13px;line-height:1.2;color:inherit}.user-meta small{font-size:11px;color:var(--muted)}.logout-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px;border-radius:6px;display:grid;place-items:center;transition:all .15s}.logout-btn:hover{background:#201316;color:#ff8585}.top-logout-btn{margin-left:12px;border:1px solid var(--line);background:var(--panel);color:var(--muted);height:32px;padding:0 12px;border-radius:7px;font-size:12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s}.top-logout-btn:hover{background:#201316;border-color:#5a252a;color:#ff8585}.review-hub-container{display:grid;gap:20px}.review-header-banner{background:linear-gradient(135deg,#0e222f,#0a1923 60%,#092628);border:1px solid #1c3d4a;border-radius:18px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}.review-header-badge{display:inline-flex;align-items:center;gap:6px;background:#10353b;color:var(--cyan);font-size:12px;padding:4px 10px;border-radius:6px;margin-bottom:8px}.review-header-titles h2{margin:0 0 6px;font-size:24px;color:#f0f6fa}.review-header-titles p{margin:0;color:#9eb1c0;font-size:13px}.review-tab-nav{display:flex;gap:6px;background:#08131c;border:1px solid var(--line);padding:4px;border-radius:10px}.review-tab-btn{border:0;background:transparent;color:var(--muted);height:36px;padding:0 14px;border-radius:7px;display:inline-flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;transition:all .15s ease}.review-tab-btn:hover{color:#fff}.review-tab-btn.active{background:#153842;color:var(--cyan);font-weight:600}.calendar-top-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:14px 20px}.calendar-month-controls{display:flex;align-items:center;gap:10px}.cal-nav-btn{width:32px;height:32px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);border-radius:6px;display:grid;place-items:center;cursor:pointer;transition:all .15s}.cal-nav-btn:hover{color:var(--cyan);border-color:var(--cyan)}.cal-current-month-label{margin:0;font:700 17px Space Grotesk,sans-serif;letter-spacing:-.01em}.cal-today-btn{border:1px solid var(--line);background:transparent;color:var(--muted);padding:4px 10px;font-size:12px;border-radius:6px;cursor:pointer;transition:all .15s}.cal-today-btn:hover{color:var(--cyan);border-color:var(--cyan)}.calendar-month-summary{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.cal-stat-item b{color:var(--cyan);font-weight:700}.daily-content-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:16px}@media(max-width:960px){.daily-content-grid{grid-template-columns:1fr}}.calendar-card{padding:20px}.calendar-week-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:8px}.cal-week-h.weekend{color:var(--amber)}.calendar-grid-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell{aspect-ratio:1.05;border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer;transition:all .15s;position:relative}.cal-cell.empty{border:0;background:transparent;cursor:default}.cal-cell:not(.empty):hover{border-color:var(--cyan);background:#102531}.cal-cell.selected{border-color:var(--cyan);box-shadow:0 0 0 2px #26d9c74d;background:#122a36}.cal-cell.today{border-color:var(--cyan)}.cal-day-num{font:700 13px Space Grotesk,sans-serif;line-height:1}.cal-today-dot{width:4px;height:4px;border-radius:50%;background:var(--cyan);position:absolute;top:4px;right:4px}.cal-log-marker{width:5px;height:5px;border-radius:50%;background:#40c463;position:absolute;top:4px;left:4px}.cal-cell-badge{font-size:9px;padding:1px 4px;border-radius:4px;white-space:nowrap;line-height:1.2}.cal-cell-badge.全部完成{background:#11483f;color:#7bf5e6}.cal-cell-badge.核心任务完成{background:#173e44;color:#a1e9e0}.cal-cell-badge.部分完成{background:#3d2f16;color:#ffd18d}.cal-cell.state-全部完成{border-left:2px solid #26d9c7}.cal-cell.state-核心任务完成{border-left:2px solid #0fa696}.cal-cell.state-部分完成{border-left:2px solid #bd7013}.calendar-legend-bar{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--muted);margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.calendar-legend-bar i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dot-all{background:#26d9c7}.dot-core{background:#0fa696}.dot-part{background:#ffb545}.dot-today{background:#3b82f6}.daily-detail-card{padding:22px}.daily-btn-actions{display:flex;align-items:center;gap:8px}.daily-state-row{display:flex;align-items:center;gap:10px;margin-bottom:16px}.daily-state-tag{display:inline-flex;align-items:center;gap:5px;background:#113838;color:var(--cyan);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.daily-time-tag{display:inline-flex;align-items:center;gap:5px;background:#12212d;color:#9bb5c9;padding:4px 10px;border-radius:6px;font-size:12px}.summary-fields-list{display:grid;gap:12px}.summary-field-block{padding:12px 14px;border-radius:9px;border:1px solid var(--line);background:var(--panel2)}.summary-field-block b{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.summary-field-block p{margin:0;font-size:13px;line-height:1.5;color:#dfe9f2}.summary-field-block small{display:block;margin-top:6px;font-size:11px;color:var(--amber)}.gain-box{border-color:#1c534d;background:#0d292b}.gain-box b{color:#7bf5e6}.incomplete-box{border-color:#533420;background:#2b1b11}.incomplete-box b{color:#ffc575}.tomorrow-box{border-color:#1c3953;background:#0d1d2b}.tomorrow-box b{color:#7bc0f5}.daily-empty-prompt{text-align:center;padding:32px 16px;border:1px dashed var(--line);border-radius:12px;margin-bottom:18px}.empty-prompt-icon{width:48px;height:48px;border-radius:12px;background:#102e33;color:var(--cyan);display:grid;place-items:center;margin:0 auto 12px}.daily-empty-prompt h4{margin:0 0 6px;font-size:15px}.daily-empty-prompt p{margin:0 0 14px;font-size:12px;color:var(--muted)}.daily-associated-data{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.daily-associated-data h4{margin:0 0 10px;font-size:13px;color:var(--muted)}.associated-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.associated-col{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px}.assoc-title{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;font-weight:600}.assoc-tags{display:flex;flex-wrap:wrap;gap:4px}.assoc-task-pill{display:inline-block;padding:2px 7px;border-radius:4px;background:#152a38;color:#a8c7db;font-size:11px}.assoc-task-pill.done{background:#113838;color:#6bf1e3}.assoc-session-pill{display:inline-block;padding:2px 7px;border-radius:4px;background:#133330;color:#7eead8;font-size:11px}.assoc-empty{color:var(--muted);font-size:11px;font-style:italic}.review-display-content{display:grid;gap:14px}.review-display-block{padding:14px;border-radius:9px;border:1px solid var(--line);background:var(--panel2)}.review-display-block b{display:block;font-size:13px;margin-bottom:6px}.review-display-block p{margin:0;font-size:13px;line-height:1.6;color:#dbe6ef}.week-summary-overview{display:grid;gap:18px}.week-stat-boxes{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-pill-box{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center}.stat-pill-box small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.stat-pill-box b{font:700 22px Space Grotesk;color:var(--cyan)}.week-days-list b{display:block;font-size:13px;margin-bottom:10px}.week-days-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.week-day-track{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px}.week-day-track span{font-size:11px;color:var(--muted)}.week-day-track small{font-size:10px;color:var(--muted)}.track-dot{width:8px;height:8px;border-radius:50%;background:#1d3544;margin:3px 0}.track-dot.active{background:var(--cyan)}.track-dot.done{background:#26d9c7;box-shadow:0 0 6px #26d9c7}.week-day-track b{font-size:11px;color:#c0d5e3}.monthly-breakdown-list{display:grid;gap:12px}.month-module-row{display:grid;gap:5px}.month-module-info{display:flex;justify-content:space-between;font-size:13px}.month-module-info span{color:var(--muted);font-size:12px}.empty-prompt-mini{text-align:center;padding:24px;color:var(--muted);font-size:13px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;color:#172630;background:#eef4f6;--bg: #eef4f6;--panel: #fff;--panel2: #f6fafb;--line: #d8e3e7;--muted: #657985;--cyan: #078f84;--cyan2: #0aa69a;--amber: #bd7013;--red: #c94848}:root:not([data-theme=dark]) body{background:radial-gradient(circle at 70% -15%,#cdebe8 0,transparent 34%),var(--bg)}:root:not([data-theme=dark]) .shell>aside{background:#f7fafb}:root:not([data-theme=dark]) .top{background:#eef4f6dd}:root:not([data-theme=dark]) .mark{background:#d9f2ef;border-color:#9dccc7}:root:not([data-theme=dark]) .date,:root:not([data-theme=dark]) nav button{color:#526b78}:root:not([data-theme=dark]) nav button:hover{background:#e7f0f2;color:#172630}:root:not([data-theme=dark]) nav button.active{background:#d8efec;color:#12645f}:root:not([data-theme=dark]) nav em{background:#fff0d8!important;color:#985a0b!important;border:1px solid #fed7aa!important}:root:not([data-theme=dark]) .mantra{background:linear-gradient(145deg,#e7f4f3,#f6fafb);border-color:#bedbd8}:root:not([data-theme=dark]) .hero{background:linear-gradient(115deg,#e7f4f4,#f8fbfc 64%,#dff2ef);border-color:#b9dcd9}:root:not([data-theme=dark]) .hero p{color:#607783}:root:not([data-theme=dark]) .hero-ring{background:radial-gradient(closest-side,#edf7f6 77%,transparent 78% 99%),conic-gradient(var(--cyan) var(--p),#cbdedc 0)}:root:not([data-theme=dark]) .pill{background:#e5eef4;color:#355b72}:root:not([data-theme=dark]) .pill.cyan{background:#d9f2ef;color:#08766e}:root:not([data-theme=dark]) .pill.amber{background:#fff0d8;color:#985a0b}:root:not([data-theme=dark]) .card{background:linear-gradient(145deg,#fff,#f7fafb)}:root:not([data-theme=dark]) .metric,:root:not([data-theme=dark]) .big-stat,:root:not([data-theme=dark]) .topic-grid article,:root:not([data-theme=dark]) .task,:root:not([data-theme=dark]) .day,:root:not([data-theme=dark]) .day article,:root:not([data-theme=dark]) .mode-switch,:root:not([data-theme=dark]) .tabs,:root:not([data-theme=dark]) .route-tabs{background:#fff}:root:not([data-theme=dark]) .metric>span,:root:not([data-theme=dark]) .mode-switch button.active,:root:not([data-theme=dark]) .tabs button.active,:root:not([data-theme=dark]) .route-tabs button.active{background:#dff2ef}:root:not([data-theme=dark]) .big-stat strong,:root:not([data-theme=dark]) .bars b{color:#172630}:root:not([data-theme=dark]) .progress{background:#dce6e9}:root:not([data-theme=dark]) .note{background:#fff6e7;border-color:#ecd2a6}:root:not([data-theme=dark]) .note p{color:#776245}:root:not([data-theme=dark]) .context-banner{background:#eaf6f5;border-color:#bededb}:root:not([data-theme=dark]) .context-banner p{color:#58737c}:root:not([data-theme=dark]) .task select,:root:not([data-theme=dark]) .task input,:root:not([data-theme=dark]) .field input,:root:not([data-theme=dark]) .field select,:root:not([data-theme=dark]) .field textarea,:root:not([data-theme=dark]) .toolbar input,:root:not([data-theme=dark]) .goal-input input,:root:not([data-theme=dark]) .roadmap input,:root:not([data-theme=dark]) .roadmap select,:root:not([data-theme=dark]) .topic-grid select,:root:not([data-theme=dark]) .stage input{background:#fff;color:#172630;border-color:#c9d8dd}:root:not([data-theme=dark]) .check{background:#fff}:root:not([data-theme=dark]) .modal-back{background:#17263080}:root:not([data-theme=dark]) .modal{background:#fff;border-color:#c7d9de}:root:not([data-theme=dark]) .secondary{background:#fff;color:#24404d;border-color:#b9ccd3}:root:not([data-theme=dark]) th{background:#f2f7f8;color:#607681}:root:not([data-theme=dark]) .calendar div{background:#f5f8f9;border-color:#d6e2e6}:root:not([data-theme=dark]) .stage{background:#fff}:root:not([data-theme=dark]) .stage p{color:#637984}:root:not([data-theme=dark]) .toast{background:#e0f5f0;color:#095d56;border-color:#9ed3ca}:root:not([data-theme=dark]) .day article{border-color:#cae0e2;border-left-color:var(--cyan)}:root:not([data-theme=dark]) .user-bar{background:#fff;border-color:var(--line);box-shadow:0 1px 3px #0000000a}:root:not([data-theme=dark]) .user-avatar{background:#d9f2ef!important;border:1px solid #9dccc7!important;color:#08766e!important}:root:not([data-theme=dark]) .user-meta b{color:#172630}:root:not([data-theme=dark]) .user-meta small{color:var(--muted)}:root:not([data-theme=dark]) .logout-btn{color:var(--muted)}:root:not([data-theme=dark]) .logout-btn:hover{background:#fef2f2;color:#dc2626}:root:not([data-theme=dark]) .top-logout-btn{background:#fff;border-color:var(--line);color:#526b78;box-shadow:0 1px 2px #0000000a}:root:not([data-theme=dark]) .top-logout-btn:hover{border-color:#fca5a5;background:#fef2f2;color:#dc2626}:root:not([data-theme=dark]) .theme-switcher{background:#fff;border-color:var(--line);box-shadow:0 1px 2px #00000008}:root:not([data-theme=dark]) .theme-btn{color:#526b78}:root:not([data-theme=dark]) .theme-btn:hover{color:#12645f}:root:not([data-theme=dark]) .theme-btn.active{background:#d8efec;color:#12645f}:root:not([data-theme=dark]) .login-container{background:radial-gradient(circle at 50% 20%,#ccebe6 0%,transparent 45%),radial-gradient(circle at 80% 80%,#d5e8ed 0%,transparent 40%),var(--bg)}:root:not([data-theme=dark]) .login-card{background:#fff;border-color:var(--line);box-shadow:0 20px 45px -10px #00000014,0 0 15px #078f8414}:root:not([data-theme=dark]) .login-titles h2{color:#172630}:root:not([data-theme=dark]) .input-wrapper input{background:#f8fafc;border-color:#cbd5e1;color:#172630}:root:not([data-theme=dark]) .input-wrapper input:focus{background:#fff;border-color:var(--cyan);box-shadow:0 0 0 3px #078f8426}:root:not([data-theme=dark]) .login-hint code{background:#e6f6f4;color:#078f84}}.work-hub-container{display:flex;flex-direction:column;gap:16px}.work-header-banner{background:linear-gradient(135deg,#26d9c714,#0d1b2af2,#6366f114);border:1px solid rgba(38,217,199,.2);border-radius:var(--radius-lg);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.work-header-titles h2{margin:6px 0 4px;font-size:22px;font-weight:700;color:#fff}.work-header-titles p{margin:0;color:var(--text-dim);font-size:13px}.work-header-badge{display:inline-flex;align-items:center;gap:6px;background:#26d9c71f;color:var(--cyan);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.work-tab-nav{display:inline-flex;background:#00000059;border:1px solid var(--line);padding:4px;border-radius:999px;gap:3px}.work-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:999px;background:transparent;border:none;color:var(--text-dim);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.work-tab-btn:hover{color:#fff}.work-tab-btn.active{background:#26d9c72e;color:var(--cyan);font-weight:600;box-shadow:0 2px 8px #26d9c726}.work-tab-body{display:flex;flex-direction:column;gap:16px}.work-metrics-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.work-metric-card{padding:16px 18px;display:flex;align-items:center;gap:14px}.metric-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon-wrap.cyan{background:#26d9c71f;color:var(--cyan)}.metric-icon-wrap.indigo{background:#6366f11f;color:#818cf8}.metric-icon-wrap.amber{background:#f59e0b1f;color:#fbbf24}.metric-info{display:flex;flex-direction:column}.metric-label{font-size:12px;color:var(--text-dim)}.metric-val{font-size:22px;font-weight:700;color:var(--text);font-family:Space Grotesk,sans-serif}.metric-val small{font-size:13px;font-weight:400;margin-left:3px;color:var(--text-dim)}.metric-sub{font-size:11px;color:var(--text-dim);margin-top:2px}.create-action-card{cursor:pointer;border:1px dashed rgba(38,217,199,.4);background:#26d9c708;transition:all .2s}.create-action-card:hover{border-color:var(--cyan);background:#26d9c714}.create-action-inner{display:flex;align-items:center;gap:12px}.create-btn-circle{width:40px;height:40px;border-radius:50%;background:#26d9c726;color:var(--cyan);display:flex;align-items:center;justify-content:center}.create-action-inner b{display:block;font-size:14px;color:var(--text)}.create-action-inner p{margin:2px 0 0;font-size:12px;color:var(--text-dim)}.work-toolbar-card{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.toolbar-search-box{position:relative;display:flex;align-items:center;gap:8px;flex:1;min-width:240px;background:#0003;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px}.toolbar-search-box input{background:transparent;border:none;outline:none;padding:8px 0;color:var(--text);font-size:13px;width:100%}.icon-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:16px}.toolbar-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar-filters select{background:#00000040;border:1px solid var(--line);color:var(--text);padding:7px 10px;border-radius:var(--radius-sm);font-size:12px}.action-btn-add{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:13px;border-radius:var(--radius-sm)}.work-timeline-container{display:flex;flex-direction:column;gap:20px}.timeline-date-group{display:flex;flex-direction:column;gap:10px}.timeline-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.date-badge{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--text)}.today-pill{background:#26d9c726;color:var(--cyan);font-size:11px;padding:2px 7px;border-radius:999px;font-weight:600}.date-sub-stats{font-size:12px;color:var(--text-dim);display:flex;gap:6px}.timeline-items-list{display:flex;flex-direction:column;gap:10px}.timeline-item-card{padding:16px 20px;display:flex;flex-direction:column;gap:8px;border-left:3px solid rgba(38,217,199,.5);transition:all .2s}.timeline-item-card:hover{transform:translate(2px);border-color:var(--cyan)}.item-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.item-header-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.item-project-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:#0003;font-weight:600}.item-time-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 8px;border-radius:999px;background:#26d9c71a;color:var(--cyan)}.item-task-link{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-dim)}.item-actions{display:flex;align-items:center;gap:6px}.icon-btn{background:transparent;border:1px solid transparent;color:var(--text-dim);padding:4px;border-radius:var(--radius-sm);cursor:pointer}.icon-btn:hover{background:#ffffff14;color:var(--text)}.icon-btn.danger:hover{color:#ef4444}.item-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.item-content-box{background:#00000026;border-radius:var(--radius-sm);padding:10px 12px;border:1px solid rgba(255,255,255,.04)}.item-content-box p{margin:0;font-size:13px;line-height:1.6;color:var(--text-dim);white-space:pre-wrap}.item-tags-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.tag-badge{font-size:11px;color:#818cf8;background:#6366f11a;padding:2px 7px;border-radius:4px;cursor:pointer}.tag-badge:hover{background:#6366f133}.work-empty-card{padding:48px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;color:var(--text-dim)}.work-empty-card h4{margin:0;font-size:16px;color:var(--text)}.work-empty-card p{margin:0;font-size:13px;max-width:480px}.kanban-view-container{display:flex;flex-direction:column;gap:14px}.kanban-top-filter{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kanban-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-density-toggle{display:inline-flex;align-items:center;gap:5px;background:#ffffff0d;border:1px solid var(--line);color:var(--text-dim);padding:6px 11px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s}.btn-density-toggle:hover,.btn-density-toggle.active{background:#26d9c726;color:var(--cyan);border-color:#26d9c766}.kanban-columns-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}@media(max-width:1080px){.kanban-columns-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kanban-columns-grid{grid-template-columns:1fr}}.kanban-column-card{background:#0d1b2a99;border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:480px;max-height:620px;padding:12px;gap:10px;overflow:hidden}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 8px;border-bottom:1px solid var(--line);flex-shrink:0}.col-header-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.col-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.col-header-title h4{margin:0;font-size:14px;font-weight:700;color:var(--text)}.col-counter{background:#ffffff14;font-size:11px;padding:1px 6px;border-radius:999px;color:var(--text-dim)}.wip-warn-tag{font-size:10px;background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3);padding:1px 6px;border-radius:999px;font-weight:600}.col-time-sum{font-size:11px;color:var(--text-dim)}.kanban-cards-list{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px}.kanban-scrollable-list::-webkit-scrollbar{width:5px}.kanban-scrollable-list::-webkit-scrollbar-track{background:transparent}.kanban-scrollable-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.kanban-scrollable-list::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.compact-cards{gap:5px}.kanban-task-card{padding:12px;display:flex;flex-direction:column;gap:7px;transition:all .2s;border-left:3px solid transparent;cursor:grab;-webkit-user-select:none;user-select:none}.kanban-task-card:active{cursor:grabbing}.kanban-task-card.is-dragging{opacity:.35;border:1px dashed var(--cyan);transform:scale(.97)}.compact-task-card{padding:8px 10px;gap:5px}.compact-task-card .task-card-name{font-size:12px}.compact-task-card .task-card-notes{font-size:10px;-webkit-line-clamp:1}.kanban-task-card:hover{transform:translateY(-2px);border-color:var(--cyan)}.task-card-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.task-header-left{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.task-drag-handle{display:inline-flex;align-items:center;color:var(--text-dim);opacity:.35;cursor:grab;flex-shrink:0;transition:opacity .15s,color .15s}.kanban-task-card:hover .task-drag-handle{opacity:1;color:var(--cyan)}.kanban-column-card.is-drag-over{border-color:var(--cyan)!important;background:#26d9c714!important;box-shadow:0 0 16px #26d9c72e}.kanban-empty-drop.drop-active{border-color:var(--cyan)!important;background:#26d9c71f!important;color:var(--cyan)!important;font-weight:600}.priority-badge{font-size:10px;font-weight:700;padding:2px 5px;border-radius:3px}.priority-badge.P0{background:#ef4444;color:#fff}.priority-badge.P1{background:#3b82f6;color:#fff}.priority-badge.P2{background:#f59e0b;color:#000}.priority-badge.P3{background:#64748b;color:#fff}.task-category-tag{font-size:11px;color:var(--text-dim);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-menu{display:flex;gap:3px}.icon-tiny{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px}.icon-tiny:hover{color:var(--text)}.icon-tiny.danger:hover{color:#ef4444}.task-card-name{margin:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.4}.task-card-notes{margin:0;font-size:11px;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.task-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.05)}.task-footer-info{display:flex;flex-direction:column;gap:2px}.task-date-pill,.task-time-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-dim)}.task-card-quick-actions{display:flex;align-items:center;gap:4px}.btn-quick-record{display:inline-flex;align-items:center;gap:3px;font-size:11px;background:#26d9c71a;color:var(--cyan);border:1px solid rgba(38,217,199,.2);padding:3px 6px;border-radius:var(--radius-sm);cursor:pointer}.btn-quick-record:hover{background:#26d9c733}.btn-quick-move{background:#ffffff0f;border:1px solid var(--line);color:var(--text);padding:3px 5px;border-radius:var(--radius-sm);cursor:pointer}.btn-quick-move:hover{background:#26d9c733;color:var(--cyan)}.btn-quick-move.success:hover{background:#10b98133;color:#10b981}.kanban-add-card-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px dashed var(--line);color:var(--text-dim);padding:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;flex-shrink:0}.kanban-add-card-btn:hover{border-color:var(--cyan);color:var(--cyan)}.kanban-empty-drop{border:1px dashed rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:24px 10px;text-align:center;color:var(--text-dim);font-size:12px}.kanban-bottom-events-section{margin-top:8px;padding:16px;display:flex;flex-direction:column;gap:14px}.bottom-events-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.bottom-events-title-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bottom-events-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 8px;background:#38bdf826;color:#38bdf8;border-radius:var(--radius-sm);font-weight:600}.bottom-events-title-wrap h4{margin:0;font-size:15px;font-weight:700;color:var(--text)}.events-count-pill{font-size:11px;background:#ffffff14;padding:2px 8px;border-radius:999px;color:var(--text-dim)}.events-filter-project-pill{font-size:11px;background:#26d9c71a;color:var(--cyan);padding:2px 8px;border-radius:999px;border:1px solid rgba(38,217,199,.2)}.bottom-events-actions{display:flex;align-items:center;gap:8px}.btn-event-quick{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:5px 11px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:1px solid var(--line)}.btn-event-quick.mail{background:#3b82f61f;color:#60a5fa;border-color:#3b82f64d}.btn-event-quick.mail:hover{background:#3b82f638}.btn-event-quick.feedback{background:#a855f71f;color:#c084fc;border-color:#a855f74d}.btn-event-quick.feedback:hover{background:#a855f738}.events-view-container{display:flex;flex-direction:column;gap:16px}.events-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1080px){.events-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.events-stats-grid{grid-template-columns:1fr}}.event-stat-card{padding:14px 18px;display:flex;align-items:center;gap:14px}.stat-icon-wrap{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-wrap.total{background:#26d9c726;color:var(--cyan)}.stat-icon-wrap.mail{background:#3b82f626;color:#3b82f6}.stat-icon-wrap.feedback{background:#a855f726;color:#a855f7}.stat-icon-wrap.pending{background:#f59e0b26;color:#f59e0b}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-num{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.stat-label{font-size:12px;color:var(--text-dim)}.events-filter-bar{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.events-filter-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex:1}.filter-input-search{position:relative;display:flex;align-items:center;min-width:240px;flex:1;max-width:380px}.filter-input-search svg{position:absolute;left:10px;color:var(--text-dim);pointer-events:none}.filter-input-search input{width:100%;padding:7px 28px 7px 32px;font-size:13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#0003;color:var(--text);outline:none}.filter-input-search input:focus{border-color:var(--cyan)}.clear-search-btn{position:absolute;right:8px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:15px}.filter-select-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.events-filter-actions{display:flex;align-items:center;gap:8px}.events-table-panel{padding:18px;display:flex;flex-direction:column}.table-responsive{width:100%;overflow-x:auto}.work-events-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;text-align:left}.work-events-table thead th{padding:10px 12px;font-weight:600;color:var(--text-dim);border-bottom:1px solid var(--line);background:#0000001a;font-size:12px;white-space:nowrap}.work-events-table tbody td{padding:12px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.work-events-table tbody tr.event-row:hover td{background:#ffffff08}.event-date-cell .date-text{font-family:monospace;font-size:12px;color:var(--text-dim);white-space:nowrap}.event-type-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);white-space:nowrap}.event-type-badge.mail{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.event-type-badge.feedback{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.event-type-badge.other{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.event-project-cell .project-badge-text{display:inline-block;font-size:12px;color:var(--cyan);background:#26d9c714;padding:2px 7px;border-radius:4px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-title-cell{display:flex;flex-direction:column;gap:3px}.event-main-title{font-weight:600;color:var(--text);cursor:pointer;line-height:1.4;transition:color .15s}.event-main-title:hover{color:var(--cyan);text-decoration:underline}.event-sub-remark{font-size:11px;color:var(--text-dim)}.event-parties-cell{color:var(--text-dim);font-size:12px}.event-content-cell{position:relative}.content-text-wrap{cursor:pointer;font-size:12px;color:var(--text-dim);line-height:1.5;transition:all .2s}.content-text-wrap.clamped p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.content-text-wrap.expanded p{margin:0;white-space:pre-wrap;color:var(--text)}.expand-indicator{display:inline-flex;align-items:center;color:var(--cyan);margin-top:3px}.content-clamp-text{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.event-status-pill{border:none;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;cursor:pointer;transition:all .2s;white-space:nowrap}.event-status-pill:hover{transform:scale(1.05)}.event-status-pill.待处理{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.event-status-pill.跟进中{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.event-status-pill.已回复{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.event-status-pill.已闭环{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.event-actions-cell{white-space:nowrap;text-align:center}.events-empty-box{padding:40px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-dim)}.events-empty-box .empty-icon{color:var(--cyan);opacity:.6}.events-empty-box h4{margin:0;font-size:15px;color:var(--text)}.events-empty-box p{margin:0;font-size:12px;max-width:420px}.events-empty-box .empty-actions{display:flex;gap:10px;margin-top:6px}.event-type-pills-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.event-type-pill-btn{display:inline-flex;align-items:center;gap:5px;background:#ffffff0d;border:1px solid var(--line);color:var(--text-dim);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s}.event-type-pill-btn:hover{border-color:var(--cyan);color:var(--text)}.event-type-pill-btn.selected{background:#26d9c726;border-color:var(--cyan);color:var(--cyan);font-weight:600}.modal-header-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--cyan);background:#26d9c71a;padding:3px 8px;border-radius:var(--radius-sm);margin-bottom:4px}.matrix-view-container{display:flex;flex-direction:column;gap:14px}.matrix-guide-card{padding:12px 18px}.guide-content{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:13px}.guide-icon{color:var(--cyan);flex-shrink:0}.guide-content b{color:var(--text)}.matrix-quadrants-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.matrix-quadrants-grid{grid-template-columns:1fr}}.matrix-quadrant-card{padding:16px;display:flex;flex-direction:column;gap:12px;min-height:280px}.matrix-quadrant-card.q-urgent-important{border-top:3px solid #ef4444}.matrix-quadrant-card.q-important{border-top:3px solid #3b82f6}.matrix-quadrant-card.q-urgent{border-top:3px solid #f59e0b}.matrix-quadrant-card.q-not-urgent{border-top:3px solid #8b5cf6}.quadrant-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}.quadrant-title-row{display:flex;align-items:center;gap:6px}.q-pill{font-size:10px;font-weight:700;color:#fff;padding:2px 6px;border-radius:4px}.quadrant-title-row h3{margin:0;font-size:14px;font-weight:700;color:var(--text)}.quadrant-tagline{margin:3px 0 0;font-size:11px;color:var(--text-dim)}.q-count-badge{font-size:11px;color:var(--cyan);background:#26d9c71a;padding:2px 8px;border-radius:999px}.quadrant-tasks-box{display:flex;flex-direction:column;gap:8px;flex:1}.matrix-task-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0003;border:1px solid var(--line);border-radius:var(--radius-sm);transition:all .2s}.matrix-task-item:hover{border-color:var(--cyan)}.matrix-task-item.done{opacity:.55;text-decoration:line-through}.matrix-check-btn{width:18px;height:18px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--cyan);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.matrix-check-btn.checked{background:#26d9c733;border-color:var(--cyan)}.matrix-task-content{flex:1;cursor:pointer}.matrix-task-name{display:block;font-size:13px;font-weight:500;color:var(--text)}.matrix-task-meta{font-size:11px;color:var(--text-dim);display:flex;gap:4px;margin-top:2px}.matrix-task-actions{display:flex;align-items:center;gap:6px}.btn-tiny-record{background:none;border:1px solid var(--line);color:var(--cyan);padding:3px 6px;border-radius:var(--radius-sm);cursor:pointer}.btn-tiny-record:hover{background:#26d9c726}.matrix-p-select{background:#0000004d;border:1px solid var(--line);color:var(--text);font-size:10px;padding:2px 4px;border-radius:var(--radius-sm)}.quadrant-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:12px}.pomodoro-view-container{display:flex;justify-content:center;padding:10px 0}.pomodoro-card{width:100%;max-width:580px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}.pomodoro-mode-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pomo-pill-btn{background:#00000040;border:1px solid var(--line);color:var(--text-dim);padding:6px 14px;border-radius:999px;font-size:12px;cursor:pointer;transition:all .2s}.pomo-pill-btn.active{background:#26d9c726;border-color:var(--cyan);color:var(--cyan);font-weight:600}.pomodoro-target-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim)}.pomodoro-target-row select{background:#0000004d;border:1px solid var(--line);color:var(--text);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px}.pomodoro-dial-wrap{position:relative;width:240px;height:240px}.pomodoro-svg{width:100%;height:100%;transform:rotate(-90deg)}.dial-bg-track{fill:none;stroke:#ffffff0f;stroke-width:10}.dial-progress-track{fill:none;stroke:var(--cyan);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.dial-center-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dial-time-text{font-size:46px;font-weight:700;color:var(--text);font-family:Space Grotesk,sans-serif;letter-spacing:2px}.dial-status-sub{font-size:12px;color:var(--cyan);margin-top:4px}.pomodoro-controls-row{display:flex;align-items:center;gap:12px}.pomo-main-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;font-size:15px;font-weight:600;border-radius:999px;cursor:pointer}.pomo-main-btn.running{background:#f59e0b;color:#000;border:none;box-shadow:0 4px 14px #f59e0b4d}.pomo-sub-btn{display:inline-flex;align-items:center;gap:6px;background:#00000040;border:1px solid var(--line);color:var(--text-dim);padding:10px 16px;border-radius:999px;font-size:13px;cursor:pointer}.pomo-sub-btn:hover{color:var(--text);border-color:var(--text-dim)}.pomo-sub-btn.finish-btn:hover{color:var(--cyan);border-color:var(--cyan)}.pomodoro-memo-box{width:100%;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:14px}.memo-header{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--cyan);font-weight:600}.pomodoro-memo-box textarea{width:100%;background:#0003;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:8px 10px;font-size:12px;outline:none;resize:vertical}.projects-view-container{display:flex;flex-direction:column;gap:14px}.projects-top-bar{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.projects-top-bar h3{margin:0;font-size:18px;color:var(--text)}.projects-top-bar p{margin:4px 0 0;font-size:13px;color:var(--text-dim)}.projects-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.project-detail-card{padding:20px;display:flex;flex-direction:column;gap:12px}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-title-meta{display:flex;align-items:center;gap:10px}.project-color-bar{width:5px;height:36px;border-radius:4px}.project-category-pill{font-size:11px;color:var(--text-dim)}.project-name{margin:2px 0 0;font-size:16px;font-weight:700;color:var(--text)}.project-header-actions{display:flex;align-items:center;gap:6px}.project-status-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#26d9c71f;color:var(--cyan)}.project-desc{margin:0;font-size:13px;color:var(--text-dim);line-height:1.5}.project-milestone-box{background:#0003;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.milestone-label{display:flex;align-items:center;gap:5px;font-size:11px;color:#fbbf24;font-weight:600;margin-bottom:4px}.milestone-text{margin:0;font-size:13px;color:var(--text);line-height:1.4}.project-progress-section{display:flex;flex-direction:column;gap:6px}.progress-label-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim)}.progress-label-row b{color:var(--text)}.project-progress-track{height:8px;background:#ffffff0f;border-radius:999px;overflow:hidden}.project-progress-fill{height:100%;border-radius:999px;transition:width .3s}.project-stats-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);text-align:center}.stat-col{display:flex;flex-direction:column}.stat-n{font-size:14px;font-weight:700;color:var(--text);font-family:Space Grotesk,sans-serif}.stat-l{font-size:11px;color:var(--text-dim)}.project-card-footer-btns{display:flex;justify-content:flex-end;margin-top:4px}.btn-project-record{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:#26d9c71a;color:var(--cyan);border:1px solid rgba(38,217,199,.2);padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer}.btn-project-record:hover{background:#26d9c733}.projects-empty-card{grid-column:1 / -1;padding:48px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-dim)}.modal-lg{max-width:680px;width:95%}.modal-form{display:flex;flex-direction:column;gap:14px;margin-top:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.quick-tags-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.quick-tags-label{font-size:11px;color:var(--text-dim)}.quick-tag-btn{background:#ffffff0f;border:1px solid var(--line);color:var(--text-dim);font-size:11px;padding:2px 7px;border-radius:4px;cursor:pointer}.quick-tag-btn:hover{background:#26d9c726;color:var(--cyan);border-color:var(--cyan)}.color-picker-row{display:flex;gap:8px;align-items:center}.color-dot{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s}.color-dot.selected{border-color:#fff;transform:scale(1.15)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .review-header-banner{background:linear-gradient(135deg,#e5f4f2,#f6fafb 60%,#e1f1ee);border-color:#b9dcd9}:root:not([data-theme=dark]) .review-header-titles h2{color:#172630}:root:not([data-theme=dark]) .review-header-titles p{color:#5b7381}:root:not([data-theme=dark]) .review-header-badge{background:#d9f2ef;color:#08766e}:root:not([data-theme=dark]) .review-tab-nav{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .review-tab-btn{color:#526b78}:root:not([data-theme=dark]) .review-tab-btn:hover{color:#172630}:root:not([data-theme=dark]) .review-tab-btn.active{background:#d8efec;color:#12645f}:root:not([data-theme=dark]) .cal-nav-btn{background:#fff;border-color:var(--line);color:#526b78}:root:not([data-theme=dark]) .cal-nav-btn:hover{color:#078f84;border-color:#078f84}:root:not([data-theme=dark]) .cal-today-btn{background:#fff;border-color:var(--line);color:#526b78}:root:not([data-theme=dark]) .cal-today-btn:hover{color:#078f84;border-color:#078f84}:root:not([data-theme=dark]) .cal-stat-item b{color:#078f84}:root:not([data-theme=dark]) .cal-cell{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .cal-cell:not(.empty):hover{background:#f0f9f8;border-color:#078f84}:root:not([data-theme=dark]) .cal-cell.selected{background:#e2f4f2;border-color:#078f84;box-shadow:0 0 0 2px #078f8440}:root:not([data-theme=dark]) .cal-cell.today{border-color:#078f84}:root:not([data-theme=dark]) .cal-today-dot{background:#078f84}:root:not([data-theme=dark]) .cal-cell-badge.全部完成{background:#d8efec;color:#08766e}:root:not([data-theme=dark]) .cal-cell-badge.核心任务完成{background:#e3f5f3;color:#12645f}:root:not([data-theme=dark]) .cal-cell-badge.部分完成{background:#fff0d8;color:#985a0b}:root:not([data-theme=dark]) .cal-cell.state-全部完成{border-left:2px solid #078f84}:root:not([data-theme=dark]) .cal-cell.state-核心任务完成{border-left:2px solid #0aa69a}:root:not([data-theme=dark]) .cal-cell.state-部分完成{border-left:2px solid #bd7013}:root:not([data-theme=dark]) .daily-state-tag{background:#d9f2ef;color:#08766e}:root:not([data-theme=dark]) .daily-time-tag{background:#e7f0f4;color:#395b71}:root:not([data-theme=dark]) .summary-field-block{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .summary-field-block p{color:#172630}:root:not([data-theme=dark]) .gain-box{background:#f0fbf9;border-color:#a5ded8}:root:not([data-theme=dark]) .gain-box b{color:#078f84}:root:not([data-theme=dark]) .incomplete-box{background:#fff7ed;border-color:#fed7aa}:root:not([data-theme=dark]) .incomplete-box b{color:#c2410c}:root:not([data-theme=dark]) .tomorrow-box{background:#eff6ff;border-color:#bfdbfe}:root:not([data-theme=dark]) .tomorrow-box b{color:#1d4ed8}:root:not([data-theme=dark]) .daily-empty-prompt{border-color:var(--line);background:#fafcfd}:root:not([data-theme=dark]) .empty-prompt-icon{background:#d9f2ef;color:#078f84}:root:not([data-theme=dark]) .associated-col{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .assoc-task-pill{background:#e7f0f4;color:#355b72}:root:not([data-theme=dark]) .assoc-task-pill.done{background:#d9f2ef;color:#08766e}:root:not([data-theme=dark]) .assoc-session-pill{background:#d9f2ef;color:#08766e}:root:not([data-theme=dark]) .review-display-block{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .review-display-block p{color:#172630}:root:not([data-theme=dark]) .stat-pill-box{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .stat-pill-box b{color:#078f84}:root:not([data-theme=dark]) .week-day-track{background:#fff;border-color:var(--line)}:root:not([data-theme=dark]) .week-day-track b{color:#172630}:root:not([data-theme=dark]) .track-dot{background:#d8e3e7}:root:not([data-theme=dark]) .track-dot.active{background:#078f84}:root:not([data-theme=dark]) .track-dot.done{background:#078f84;box-shadow:0 0 6px #078f8466}}:root[data-theme=light]{color-scheme:light;color:#172630;background:#eef4f6;--bg: #eef4f6;--panel: #fff;--panel2: #f6fafb;--line: #d8e3e7;--muted: #657985;--cyan: #078f84;--cyan2: #0aa69a;--amber: #bd7013;--red: #c94848}:root[data-theme=light] body{background:radial-gradient(circle at 70% -15%,#cdebe8 0,transparent 34%),var(--bg)}:root[data-theme=light] .shell>aside{background:#f7fafb}:root[data-theme=light] .top{background:#eef4f6dd}:root[data-theme=light] .mark{background:#d9f2ef;border-color:#9dccc7}:root[data-theme=light] .date,:root[data-theme=light] nav button{color:#526b78}:root[data-theme=light] nav button:hover{background:#e7f0f2;color:#172630}:root[data-theme=light] nav button.active{background:#d8efec;color:#12645f}:root[data-theme=light] nav em{background:#fff0d8!important;color:#985a0b!important;border:1px solid #fed7aa!important}:root[data-theme=light] .mantra{background:linear-gradient(145deg,#e7f4f3,#f6fafb);border-color:#bedbd8}:root[data-theme=light] .hero{background:linear-gradient(115deg,#e7f4f4,#f8fbfc 64%,#dff2ef);border-color:#b9dcd9}:root[data-theme=light] .hero p{color:#607783}:root[data-theme=light] .hero-ring{background:radial-gradient(closest-side,#edf7f6 77%,transparent 78% 99%),conic-gradient(var(--cyan) var(--p),#cbdedc 0)}:root[data-theme=light] .pill{background:#e5eef4;color:#355b72}:root[data-theme=light] .pill.cyan{background:#d9f2ef;color:#08766e}:root[data-theme=light] .pill.amber{background:#fff0d8;color:#985a0b}:root[data-theme=light] .card{background:linear-gradient(145deg,#fff,#f7fafb)}:root[data-theme=light] .metric,:root[data-theme=light] .big-stat,:root[data-theme=light] .topic-grid article,:root[data-theme=light] .task,:root[data-theme=light] .day,:root[data-theme=light] .day article,:root[data-theme=light] .mode-switch,:root[data-theme=light] .tabs,:root[data-theme=light] .route-tabs{background:#fff}:root[data-theme=light] .metric>span,:root[data-theme=light] .mode-switch button.active,:root[data-theme=light] .tabs button.active,:root[data-theme=light] .route-tabs button.active{background:#dff2ef}:root[data-theme=light] .big-stat strong,:root[data-theme=light] .bars b{color:#172630}:root[data-theme=light] .progress{background:#dce6e9}:root[data-theme=light] .note{background:#fff6e7;border-color:#ecd2a6}:root[data-theme=light] .note p{color:#776245}:root[data-theme=light] .context-banner{background:#eaf6f5;border-color:#bededb}:root[data-theme=light] .context-banner p{color:#58737c}:root[data-theme=light] .task select,:root[data-theme=light] .task input,:root[data-theme=light] .field input,:root[data-theme=light] .field select,:root[data-theme=light] .field textarea,:root[data-theme=light] .toolbar input,:root[data-theme=light] .goal-input input,:root[data-theme=light] .roadmap input,:root[data-theme=light] .roadmap select,:root[data-theme=light] .topic-grid select,:root[data-theme=light] .stage input{background:#fff;color:#172630;border-color:#c9d8dd}:root[data-theme=light] .check{background:#fff}:root[data-theme=light] .modal-back{background:#17263080}:root[data-theme=light] .modal{background:#fff;border-color:#c7d9de}:root[data-theme=light] .secondary{background:#fff;color:#24404d;border-color:#b9ccd3}:root[data-theme=light] th{background:#f2f7f8;color:#607681}:root[data-theme=light] .calendar div{background:#f5f8f9;border-color:#d6e2e6}:root[data-theme=light] .stage{background:#fff}:root[data-theme=light] .stage p{color:#637984}:root[data-theme=light] .toast{background:#e0f5f0;color:#095d56;border-color:#9ed3ca}:root[data-theme=light] .day article{border-color:#cae0e2;border-left-color:var(--cyan)}:root[data-theme=light] .user-bar{background:#fff;border-color:var(--line);box-shadow:0 1px 3px #0000000a}:root[data-theme=light] .user-avatar{background:#d9f2ef!important;border:1px solid #9dccc7!important;color:#08766e!important}:root[data-theme=light] .user-meta b{color:#172630}:root[data-theme=light] .user-meta small{color:var(--muted)}:root[data-theme=light] .logout-btn{color:var(--muted)}:root[data-theme=light] .logout-btn:hover{background:#fef2f2;color:#dc2626}:root[data-theme=light] .top-logout-btn{background:#fff;border-color:var(--line);color:#526b78;box-shadow:0 1px 2px #0000000a}:root[data-theme=light] .top-logout-btn:hover{border-color:#fca5a5;background:#fef2f2;color:#dc2626}:root[data-theme=light] .theme-switcher{background:#fff;border-color:var(--line);box-shadow:0 1px 2px #00000008}:root[data-theme=light] .theme-btn{color:#526b78}:root[data-theme=light] .theme-btn:hover{color:#12645f}:root[data-theme=light] .theme-btn.active{background:#d8efec;color:#12645f}:root[data-theme=light] .login-container{background:radial-gradient(circle at 50% 20%,#ccebe6 0%,transparent 45%),radial-gradient(circle at 80% 80%,#d5e8ed 0%,transparent 40%),var(--bg)}:root[data-theme=light] .login-card{background:#fff;border-color:var(--line);box-shadow:0 20px 45px -10px #00000014,0 0 15px #078f8414}:root[data-theme=light] .login-titles h2{color:#172630}:root[data-theme=light] .input-wrapper input{background:#f8fafc;border-color:#cbd5e1;color:#172630}:root[data-theme=light] .input-wrapper input:focus{background:#fff;border-color:var(--cyan);box-shadow:0 0 0 3px #078f8426}:root[data-theme=light] .login-hint code{background:#e6f6f4;color:#078f84}:root[data-theme=light] .review-header-banner{background:linear-gradient(135deg,#e5f4f2,#f6fafb 60%,#e1f1ee);border-color:#b9dcd9}:root[data-theme=light] .review-header-titles h2{color:#172630}:root[data-theme=light] .review-header-titles p{color:#5b7381}:root[data-theme=light] .review-header-badge{background:#d9f2ef;color:#08766e}:root[data-theme=light] .review-tab-nav{background:#fff;border-color:var(--line)}:root[data-theme=light] .review-tab-btn{color:#526b78}:root[data-theme=light] .review-tab-btn:hover{color:#172630}:root[data-theme=light] .review-tab-btn.active{background:#d8efec;color:#12645f}:root[data-theme=light] .cal-nav-btn{background:#fff;border-color:var(--line);color:#526b78}:root[data-theme=light] .cal-nav-btn:hover{color:#078f84;border-color:#078f84}:root[data-theme=light] .cal-today-btn{background:#fff;border-color:var(--line);color:#526b78}:root[data-theme=light] .cal-today-btn:hover{color:#078f84;border-color:#078f84}:root[data-theme=light] .cal-stat-item b{color:#078f84}:root[data-theme=light] .cal-cell{background:#fff;border-color:var(--line)}:root[data-theme=light] .cal-cell:not(.empty):hover{background:#f0f9f8;border-color:#078f84}:root[data-theme=light] .cal-cell.selected{background:#e2f4f2;border-color:#078f84;box-shadow:0 0 0 2px #078f8440}:root[data-theme=light] .cal-cell.today{border-color:#078f84}:root[data-theme=light] .cal-today-dot{background:#078f84}:root[data-theme=light] .cal-cell-badge.全部完成{background:#d8efec;color:#08766e}:root[data-theme=light] .cal-cell-badge.核心任务完成{background:#e3f5f3;color:#12645f}:root[data-theme=light] .cal-cell-badge.部分完成{background:#fff0d8;color:#985a0b}:root[data-theme=light] .cal-cell.state-全部完成{border-left:2px solid #078f84}:root[data-theme=light] .cal-cell.state-核心任务完成{border-left:2px solid #0aa69a}:root[data-theme=light] .cal-cell.state-部分完成{border-left:2px solid #bd7013}:root[data-theme=light] .daily-state-tag{background:#d9f2ef;color:#08766e}:root[data-theme=light] .daily-time-tag{background:#e7f0f4;color:#395b71}:root[data-theme=light] .summary-field-block{background:#fff;border-color:var(--line)}:root[data-theme=light] .summary-field-block p{color:#172630}:root[data-theme=light] .gain-box{background:#f0fbf9;border-color:#a5ded8}:root[data-theme=light] .gain-box b{color:#078f84}:root[data-theme=light] .incomplete-box{background:#fff7ed;border-color:#fed7aa}:root[data-theme=light] .incomplete-box b{color:#c2410c}:root[data-theme=light] .tomorrow-box{background:#eff6ff;border-color:#bfdbfe}:root[data-theme=light] .tomorrow-box b{color:#1d4ed8}:root[data-theme=light] .daily-empty-prompt{border-color:var(--line);background:#fafcfd}:root[data-theme=light] .empty-prompt-icon{background:#d9f2ef;color:#078f84}:root[data-theme=light] .associated-col{background:#fff;border-color:var(--line)}:root[data-theme=light] .assoc-task-pill{background:#e7f0f4;color:#355b72}:root[data-theme=light] .assoc-task-pill.done{background:#d9f2ef;color:#08766e}:root[data-theme=light] .assoc-session-pill{background:#d9f2ef;color:#08766e}:root[data-theme=light] .review-display-block{background:#fff;border-color:var(--line)}:root[data-theme=light] .review-display-block p{color:#172630}:root[data-theme=light] .stat-pill-box{background:#fff;border-color:var(--line)}:root[data-theme=light] .stat-pill-box b{color:#078f84}:root[data-theme=light] .week-day-track{background:#fff;border-color:var(--line)}:root[data-theme=light] .week-day-track b{color:#172630}:root[data-theme=light] .track-dot{background:#d8e3e7}:root[data-theme=light] .track-dot.active{background:#078f84}:root[data-theme=light] .track-dot.done{background:#078f84;box-shadow:0 0 6px #078f8466}:root[data-theme=light] .work-header-banner{background:linear-gradient(135deg,#e5f4f2,#f6fafb 60%,#edf4ff);border-color:#b9dcd9}:root[data-theme=light] .work-header-titles h2{color:#172630}:root[data-theme=light] .work-header-titles p{color:#5b7381}:root[data-theme=light] .work-header-badge{background:#d9f2ef;color:#08766e}:root[data-theme=light] .work-tab-nav{background:#fff;border-color:var(--line)}:root[data-theme=light] .work-tab-btn{color:#526b78}:root[data-theme=light] .work-tab-btn:hover{color:#172630}:root[data-theme=light] .work-tab-btn.active{background:#d8efec;color:#12645f}:root[data-theme=light] .metric-val{color:#172630}:root[data-theme=light] .create-action-card{background:#f0faf8;border-color:#a3ded7}:root[data-theme=light] .create-btn-circle{background:#d9f2ef;color:#078f84}:root[data-theme=light] .create-action-inner b{color:#172630}:root[data-theme=light] .toolbar-search-box{background:#f8fafc;border-color:var(--line)}:root[data-theme=light] .toolbar-search-box input{color:#172630}:root[data-theme=light] .toolbar-filters select{background:#fff;border-color:var(--line);color:#172630}:root[data-theme=light] .date-badge{color:#172630}:root[data-theme=light] .today-pill{background:#d9f2ef;color:#08766e}:root[data-theme=light] .timeline-item-card{background:#fff;border-color:var(--line);border-left:3px solid #078f84}:root[data-theme=light] .item-title{color:#172630}:root[data-theme=light] .item-content-box{background:#f8fafc;border-color:#e2e8f0}:root[data-theme=light] .item-content-box p{color:#334155}:root[data-theme=light] .item-project-pill{background:#f1f5f9;border-color:#cbd5e1}:root[data-theme=light] .item-time-pill{background:#e6f6f4;color:#08766e}:root[data-theme=light] .kanban-column-card{background:#f8fafc;border-color:var(--line)}:root[data-theme=light] .col-header-title h4{color:#172630}:root[data-theme=light] .col-counter{background:#e2e8f0;color:#475569}:root[data-theme=light] .kanban-task-card{background:#fff;border-color:var(--line)}:root[data-theme=light] .task-card-name{color:#172630}:root[data-theme=light] .task-card-notes{color:#64748b}:root[data-theme=light] .kanban-empty-drop{border-color:#cbd5e1;color:#94a3b8}:root[data-theme=light] .btn-quick-move{background:#f1f5f9;border-color:#cbd5e1;color:#334155}:root[data-theme=light] .matrix-task-item{background:#fff;border-color:var(--line)}:root[data-theme=light] .matrix-task-name{color:#172630}:root[data-theme=light] .quadrant-title-row h3{color:#172630}:root[data-theme=light] .matrix-p-select{background:#f8fafc;border-color:var(--line);color:#172630}:root[data-theme=light] .pomo-pill-btn{background:#f1f5f9;border-color:#cbd5e1;color:#475569}:root[data-theme=light] .pomo-pill-btn.active{background:#d9f2ef;border-color:#078f84;color:#08766e}:root[data-theme=light] .pomodoro-target-row select{background:#fff;border-color:var(--line);color:#172630}:root[data-theme=light] .dial-bg-track{stroke:#e2e8f0}:root[data-theme=light] .dial-time-text{color:#172630}:root[data-theme=light] .pomo-sub-btn{background:#fff;border-color:var(--line);color:#475569}:root[data-theme=light] .pomodoro-memo-box textarea{background:#f8fafc;border-color:var(--line);color:#172630}:root[data-theme=light] .projects-top-bar h3{color:#172630}:root[data-theme=light] .project-name{color:#172630}:root[data-theme=light] .project-desc{color:#64748b}:root[data-theme=light] .project-milestone-box{background:#fffbeb;border-color:#fde68a}:root[data-theme=light] .milestone-text{color:#92400e}:root[data-theme=light] .project-progress-track{background:#e2e8f0}:root[data-theme=light] .stat-n{color:#172630}:root[data-theme=light] .project-status-tag{background:#d9f2ef;color:#08766e}:root[data-theme=light] .event-stat-card{background:#fff;border-color:var(--line)}:root[data-theme=light] .events-filter-bar{background:#fff;border-color:var(--line)}:root[data-theme=light] .events-table-panel{background:#fff;border-color:var(--line)}:root[data-theme=light] .filter-input-search input{background:#f8fafc;border-color:var(--line);color:#172630}:root[data-theme=light] .work-events-table thead th{background:#f8fafc;color:#64748b;border-color:var(--line)}:root[data-theme=light] .work-events-table tbody td{border-color:#f1f5f9}:root[data-theme=light] .work-events-table tbody tr.event-row:hover td{background:#f8fafc}:root[data-theme=light] .event-main-title{color:#172630}:root[data-theme=light] .kanban-bottom-events-section{background:#fff;border-color:var(--line)}:root[data-theme=light] .bottom-events-title-wrap h4{color:#172630}:root[data-theme=light] .btn-density-toggle{background:#f1f5f9;border-color:var(--line);color:#475569}:root[data-theme=light] .btn-density-toggle:hover,:root[data-theme=light] .btn-density-toggle.active{background:#d9f2ef;color:#08766e;border-color:#078f84}:root[data-theme=light] .event-type-pill-btn{background:#f8fafc;border-color:var(--line);color:#475569}:root[data-theme=light] .events-empty-box h4{color:#172630}:root[data-theme=light] .events-count-pill{background:#e2e8f0;color:#475569}:root{--form-input-h: 40px;--form-radius: 8px;--form-bg: #0c1722;--form-border: #203445;--form-border-hover: #325068;--form-focus-border: #26d9c7;--form-focus-ring: 0 0 0 3px rgba(38, 217, 199, .18);--form-text: #e2edf5;--form-placeholder: #627788;--form-label: #94a3b8;--modal-bg: #0d1924;--modal-border: #1f3445;--modal-header-border: #182a39;--modal-shadow: 0 24px 48px -12px rgba(0, 0, 0, .65), 0 0 1px rgba(255, 255, 255, .1);--modal-footer-bg: #09131c}:root[data-theme=light]{--form-bg: #ffffff;--form-border: #d8dee6;--form-border-hover: #b8c4d1;--form-focus-border: #0b8f83;--form-focus-ring: 0 0 0 3px rgba(11, 143, 131, .14);--form-text: #172630;--form-placeholder: #94a3b8;--form-label: #475569;--modal-bg: #ffffff;--modal-border: #e2e8f0;--modal-header-border: #f1f5f9;--modal-shadow: 0 20px 45px -10px rgba(15, 23, 42, .14), 0 0 1px rgba(15, 23, 42, .12);--modal-footer-bg: #f8fafc}input[type=text],input[type=date],input[type=number],input[type=password],input[type=email],select,.form-control{height:var(--form-input-h)!important;line-height:var(--form-input-h)!important;border-radius:var(--form-radius)!important;border:1px solid var(--form-border)!important;background-color:var(--form-bg)!important;background-image:none!important;color:var(--form-text)!important;font-size:14px!important;padding:0 12px!important;box-sizing:border-box!important;width:100%!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none!important}textarea,.form-control.form-textarea{border-radius:var(--form-radius)!important;border:1px solid var(--form-border)!important;background-color:var(--form-bg)!important;background-image:none!important;color:var(--form-text)!important;font-size:14px!important;line-height:1.6!important;padding:10px 12px!important;box-sizing:border-box!important;width:100%!important;min-height:120px;resize:vertical!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;outline:none!important;font-family:inherit!important}input:hover:not(:disabled):not(:focus),select:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--form-border-hover)!important}input:focus,select:focus,textarea:focus,.form-control:focus{border-color:var(--form-focus-border)!important;box-shadow:var(--form-focus-ring)!important;outline:none!important}input::placeholder,textarea::placeholder,.form-control::placeholder{color:var(--form-placeholder)!important;font-size:13px!important}select{cursor:pointer!important;background-image:none!important}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer!important;opacity:.65!important}:root:not([data-theme=light]) input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.8)!important}.form-group,.field{display:flex!important;flex-direction:column!important;gap:7px!important;margin-bottom:18px!important;width:100%!important;text-align:left}.form-group:last-child{margin-bottom:0!important}.form-label,.field>span{font-size:13px!important;font-weight:500!important;color:var(--form-label)!important;display:flex!important;align-items:center!important;gap:4px!important;margin-bottom:0!important}.form-label .req{color:#ef4444;font-size:14px;font-weight:700}.form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.form-row-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;width:100%}@media(max-width:640px){.form-row-grid,.form-row-grid-3{grid-template-columns:1fr!important;gap:0!important}}.input-suffix-wrapper{position:relative;display:flex;align-items:center;width:100%}.input-suffix-wrapper input{padding-right:50px!important}.input-suffix-wrapper .input-suffix{position:absolute;right:12px;font-size:13px;color:var(--muted, #64748b);pointer-events:none;-webkit-user-select:none;user-select:none}.chip-tag-container{display:flex;flex-direction:column;gap:8px;width:100%}.chip-tag-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:var(--form-input-h);padding:4px 8px;border-radius:var(--form-radius);border:1px solid var(--form-border);background:var(--form-bg);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;cursor:text}.chip-tag-box:focus-within{border-color:var(--form-focus-border)!important;box-shadow:var(--form-focus-ring)!important}.chip-tag-pill{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px 0 10px;background:#26d9c726;color:var(--cyan);border:1px solid rgba(38,217,199,.3);border-radius:6px;font-size:12px;font-weight:500}:root[data-theme=light] .chip-tag-pill{background:#e6f6f4;color:#08766e;border-color:#a7ded7}.chip-tag-text{-webkit-user-select:none;user-select:none}.chip-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:0;background:transparent;color:inherit;font-size:14px;line-height:1;border-radius:50%;cursor:pointer;padding:0;opacity:.7;transition:opacity .15s,background .15s}.chip-tag-remove:hover{opacity:1;background:#0000001f}:root:not([data-theme=light]) .chip-tag-remove:hover{background:#fff3}.chip-tag-input{flex:1;min-width:100px;height:28px!important;line-height:28px!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0 4px!important;font-size:13px!important;color:var(--form-text)!important}.chip-tag-input:focus{outline:none!important;box-shadow:none!important;border:0!important}.chip-quick-recommend{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.chip-recommend-label{font-size:12px;color:var(--muted, #64748b);-webkit-user-select:none;user-select:none}.chip-recommend-pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;border:1px solid var(--form-border);background:transparent;color:var(--muted, #64748b);font-size:11px;cursor:pointer;transition:all .15s ease}.chip-recommend-pill:hover{border-color:var(--cyan);color:var(--cyan);background:#26d9c714}.chip-recommend-pill.selected{border-color:var(--cyan);background:#26d9c726;color:var(--cyan);font-weight:500}:root[data-theme=light] .chip-recommend-pill.selected{background:#d9f2ef;border-color:#8ed2ca;color:#08766e}.modal-modern{width:680px!important;max-width:calc(100vw - 36px)!important;max-height:88vh!important;display:flex!important;flex-direction:column!important;padding:0!important;border-radius:14px!important;border:1px solid var(--modal-border)!important;background:var(--modal-bg)!important;box-shadow:var(--modal-shadow)!important;overflow:hidden!important}.modal-header{padding:18px 24px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid var(--modal-header-border)!important;background:transparent!important;flex-shrink:0!important;margin-bottom:0!important}.modal-title-wrap h2{font-size:17px!important;font-weight:600!important;margin:0!important;color:var(--form-text)!important;letter-spacing:-.01em}.modal-subtitle{font-size:12px;color:var(--muted);margin-top:3px;display:block}.modal-close-btn{width:28px;height:28px;border-radius:6px;border:0;background:transparent;color:var(--muted);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;padding:0}.modal-close-btn:hover{background:#0000000f;color:var(--form-text)}:root:not([data-theme=light]) .modal-close-btn:hover{background:#ffffff14;color:#fff}.modal-form-modern{display:flex;flex-direction:column;flex:1;min-height:0;margin:0}.modal-body-scroll{padding:22px 24px 8px;overflow-y:auto;flex:1;max-height:calc(88vh - 130px)}.modal-footer{padding:14px 24px;display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--modal-header-border);background:var(--modal-footer-bg);flex-shrink:0}.btn-cancel{height:38px;padding:0 16px;border-radius:8px;border:1px solid var(--form-border);background:var(--form-bg);color:var(--muted, #64748b);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-cancel:hover{border-color:var(--form-border-hover);color:var(--form-text)}.btn-save{height:38px;padding:0 20px;border-radius:8px;border:0;background:var(--cyan);color:#041717;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;box-shadow:0 1px 3px #0000001f}.btn-save:hover{filter:brightness(1.08)}.btn-save:disabled{opacity:.45;cursor:not-allowed}:root[data-theme=light] .btn-save{background:#078f84;color:#fff}:root[data-theme=light] .btn-save:hover{background:#067c73}.range-slider-wrap{display:flex;align-items:center;gap:12px;height:40px}.range-slider-wrap input[type=range]{flex:1;height:6px;border-radius:4px;background:var(--line);outline:none;padding:0!important;border:none!important;cursor:pointer}.range-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--cyan);cursor:pointer;box-shadow:0 0 6px #26d9c766;transition:transform .1s ease}.range-slider-wrap input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-val{font-size:13px;font-weight:600;color:var(--cyan);min-width:40px}:root[data-theme=light] .slider-val{color:#078f84}.color-picker-row{display:flex;gap:8px;align-items:center;height:40px}.color-dot{width:24px;height:24px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.color-dot.selected{border-color:#fff;transform:scale(1.2);box-shadow:0 0 8px #0000004d}:root[data-theme=light] .color-dot.selected{border-color:#172630}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmPopIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#04090fb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:confirmFadeIn .18s cubic-bezier(.16,1,.3,1) forwards}:root[data-theme=light] .confirm-modal-overlay,:root:not([data-theme=dark]) .confirm-modal-overlay{background:#0f172a6b}.confirm-modal-card{position:relative;width:100%;max-width:440px;background:#0e1a24;border:1px solid #23394a;border-radius:16px;padding:26px 26px 22px;box-shadow:0 25px 50px -12px #000000a6,0 0 0 1px #ffffff0f;animation:confirmPopIn .22s cubic-bezier(.16,1,.3,1) forwards;display:flex;flex-direction:column}:root[data-theme=light] .confirm-modal-card,:root:not([data-theme=dark]) .confirm-modal-card{background:#fff;border-color:#d1dde3;box-shadow:0 25px 50px -12px #0f172a33,0 0 0 1px #0000000a}.confirm-modal-close{position:absolute;top:18px;right:18px;width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;color:#7b91a2;border-radius:8px;cursor:pointer;transition:all .15s ease}.confirm-modal-close:hover{background:#172a38;color:#e2edf6}:root[data-theme=light] .confirm-modal-close:hover,:root:not([data-theme=dark]) .confirm-modal-close:hover{background:#f1f5f9;color:#1e293b}.confirm-modal-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.confirm-icon-badge{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.confirm-icon-badge.danger{background:#ef444426;border:1px solid rgba(239,68,68,.32);color:#ef4444}.confirm-icon-badge.info{background:#26d9c724;border:1px solid rgba(38,217,199,.32);color:var(--cyan)}:root[data-theme=light] .confirm-icon-badge.danger,:root:not([data-theme=dark]) .confirm-icon-badge.danger{background:#fee2e2;border-color:#fca5a5;color:#dc2626}:root[data-theme=light] .confirm-icon-badge.info,:root:not([data-theme=dark]) .confirm-icon-badge.info{background:#dff2ef;border-color:#9dccc7;color:#08766e}.confirm-title-area{flex:1;padding-top:2px;padding-right:24px}.confirm-title{margin:0;font-size:17px;font-weight:700;color:#f1f6fa;letter-spacing:-.01em;line-height:1.3}:root[data-theme=light] .confirm-title,:root:not([data-theme=dark]) .confirm-title{color:#122432}.confirm-sub-hint{margin:4px 0 0;font-size:12px;color:#7b91a2;line-height:1.4}:root[data-theme=light] .confirm-sub-hint,:root:not([data-theme=dark]) .confirm-sub-hint{color:#64748b}.confirm-modal-body{margin:6px 0 20px}.confirm-message-box{background:#09131c;border:1px solid #1c2e3d;border-radius:10px;padding:14px 16px}:root[data-theme=light] .confirm-message-box,:root:not([data-theme=dark]) .confirm-message-box{background:#f8fafc;border-color:#e2e8f0}.confirm-message{margin:0;font-size:14px;line-height:1.6;color:#cbdbe6;word-break:break-word}:root[data-theme=light] .confirm-message,:root:not([data-theme=dark]) .confirm-message{color:#334155}.confirm-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.confirm-btn{height:40px;padding:0 18px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .16s ease;outline:none}.confirm-btn-cancel{background:#11202c;border:1px solid #283e50;color:#b5c7d5}.confirm-btn-cancel:hover{background:#172c3d;border-color:#3b556b;color:#e6f0f8}.confirm-btn-cancel:focus-visible{box-shadow:0 0 0 3px #b5c7d540}:root[data-theme=light] .confirm-btn-cancel,:root:not([data-theme=dark]) .confirm-btn-cancel{background:#fff;border-color:#cbd5e1;color:#475569}:root[data-theme=light] .confirm-btn-cancel:hover,:root:not([data-theme=dark]) .confirm-btn-cancel:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.confirm-btn-danger{background:#ef4444;border:1px solid #dc2626;color:#fff;box-shadow:0 4px 14px #ef444459}.confirm-btn-danger:hover{background:#dc2626;border-color:#b91c1c;transform:translateY(-1px);box-shadow:0 6px 18px #ef444473}.confirm-btn-danger:active{transform:translateY(0)}.confirm-btn-danger:focus-visible{box-shadow:0 0 0 3px #ef444466}.confirm-btn-primary{background:var(--cyan);border:1px solid var(--cyan2);color:#041717;font-weight:700;box-shadow:0 4px 14px #26d9c74d}.confirm-btn-primary:hover{background:#4de2d3;transform:translateY(-1px);box-shadow:0 6px 18px #26d9c766}.confirm-btn-primary:active{transform:translateY(0)}.confirm-btn-primary:focus-visible{box-shadow:0 0 0 3px #26d9c766}.hero-schedule-card{background:linear-gradient(135deg,#0e222f,#0a1923 60%,#09282b);border:1px solid #1c3e4d;border-radius:18px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;position:relative;overflow:hidden}.hero-schedule-card:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(38,217,199,.08) 0%,transparent 70%);right:-60px;top:-60px;pointer-events:none}.hero-schedule-main{flex:1}.hero-badge-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.hero-badge-day{display:inline-flex;align-items:center;gap:6px;background:#11353c;color:var(--cyan);border:1px solid #1f5860;padding:4px 10px;border-radius:6px;font-size:13px}.hero-badge-day b{font-size:14px}.hero-badge-day small{color:#87afb7}.hero-badge-pill{font-size:12px;padding:4px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:5px}.hero-badge-pill.gym{background:#162a3a;color:#7dbce8;border:1px solid #23435c}.hero-badge-pill.badminton{background:#331e13;color:#ffad66;border:1px solid #6b3f27;font-weight:600}.hero-badge-pill.review{background:#262a14;color:#d8ea6e;border:1px solid #4a5423;font-weight:600}.hero-badge-pill.normal{background:var(--panel);color:var(--muted);border:1px solid var(--line)}.hero-schedule-title{margin:0 0 14px;font-size:22px;color:#f0f6fa}.hero-schedule-prompts{display:grid;gap:6px}.prompt-item{display:flex;align-items:baseline;gap:8px;font-size:13px;color:#a9becc}.prompt-item b{color:#dce7ef;font-weight:600}.prompt-item p{margin:0;line-height:1.5}.prompt-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.prompt-dot.morning{background:#26d9c7}.prompt-dot.afternoon{background:#ffb545}.prompt-dot.evening{background:#60a5fa}.hero-quick-action{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-width:140px}.quick-log-btn{padding:12px 20px;font-size:15px;box-shadow:0 4px 18px #26d9c740;transition:all .2s}.quick-log-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #26d9c759}.hero-quick-action small{color:var(--muted);font-size:11px}.countdowns-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.countdown-card{background:linear-gradient(145deg,var(--panel),#0a1722);border:1px solid var(--line);border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:18px;position:relative;overflow:hidden}.countdown-card.exam-target{border-left:4px solid #26d9c7}.countdown-card.video-target{border-left:4px solid #ffb545}.countdown-icon-wrap{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}.exam-target .countdown-icon-wrap{background:#0f3438;color:var(--cyan);border:1px solid #1e6363}.video-target .countdown-icon-wrap{background:#382811;color:var(--amber);border:1px solid #6b4d1f}.countdown-content{flex:1}.countdown-content small{font-size:12px;color:var(--muted)}.countdown-digits{display:flex;align-items:baseline;gap:6px;margin:4px 0}.countdown-digits strong{font:800 32px Space Grotesk,sans-serif;color:#fff;line-height:1}.countdown-digits span{font-size:15px;color:var(--muted)}.countdown-sub{font-size:13px;color:#a4b8c7}.countdown-content p{margin:0;font-size:12px;color:#8ba2b3}.dual-progress-container{margin-bottom:20px}.dual-progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.progress-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.progress-box-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.pbox-badge{font-size:11px;padding:2px 7px;border-radius:4px;background:#0f3837;color:var(--cyan);font-weight:600;display:inline-block;margin-bottom:4px}.pbox-badge.video{background:#422d11;color:var(--amber)}.progress-box-header h4{margin:0;font-size:16px;color:#edf3f8}.pbox-stat strong{font:700 24px Space Grotesk,sans-serif;color:#fff}.pbox-stat span{font-size:13px;color:var(--muted);margin-left:4px}.progress-bar-wrap{height:8px;border-radius:10px;background:#162734;overflow:hidden;margin:8px 0}.progress-bar-wrap.big{height:12px}.progress-bar-wrap.mini{height:5px}.progress-bar-wrap.small{height:6px}.progress-bar-fill{height:100%;border-radius:inherit;transition:width .3s ease}.progress-bar-fill.effective{background:linear-gradient(90deg,#108579,#26d9c7);box-shadow:0 0 10px #26d9c766}.progress-bar-fill.video{background:linear-gradient(90deg,#c07a16,#ffb545);box-shadow:0 0 10px #ffb54566}.progress-bar-fill.amber{background:#ffb545}.progress-bar-fill.python{background:linear-gradient(90deg,#3776ab,#4b92d6)}.progress-box-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.progress-box-footer b{color:#dce7ef}.pbox-desc{margin:6px 0 0;font-size:12px;line-height:1.5;color:#889fab}.forecast-banner{border-radius:12px;padding:16px 20px;display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line)}.forecast-banner.ahead{background:#0c2b2a;border-color:#1a5e59}.forecast-banner.on_track{background:#0e222d;border-color:#1d4355}.forecast-banner.behind{background:#2e1d0f;border-color:#633c1a}.forecast-icon{color:var(--cyan);flex-shrink:0;margin-top:2px}.forecast-banner.behind .forecast-icon{color:var(--amber)}.forecast-content{flex:1}.forecast-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.forecast-header b{font-size:14px;color:#f0f6fa}.forecast-tag{font-size:11px;padding:2px 8px;border-radius:4px}.forecast-tag.ahead{background:#134d47;color:#7cf3e7}.forecast-tag.on_track{background:#1a3c4c;color:#9fd3f0}.forecast-tag.behind{background:#523114;color:#ffd18d}.forecast-content p{margin:0 0 4px;font-size:13px;line-height:1.55;color:#a9bece}.forecast-advice{color:#c4d7e6!important}.three-subjects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.subject-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px;display:grid;gap:10px;transition:all .2s;cursor:pointer}.subject-card:hover{border-color:#2b4c60;background:#0f1c29}.subject-card-header{display:flex;align-items:center;gap:8px}.subject-card-header b{font-size:14px}.subject-card.structural{border-left:3px solid var(--cyan)}.subject-card.english{border-left:3px solid #ffb545}.subject-card.python{border-left:3px solid #60a5fa}.subject-target-tag{margin-left:auto;font-size:11px;padding:2px 6px;border-radius:4px;background:#152938;color:#9bb7cb}.subject-card-data{display:flex;align-items:baseline;gap:4px}.subject-card-data strong{font:700 28px Space Grotesk,sans-serif;color:#fff;line-height:1}.subject-card-data span{font-size:13px;color:var(--muted)}.subject-card-progress .bar{height:5px;border-radius:4px;background:var(--cyan)}.subject-card.english .subject-card-progress .bar{background:var(--amber)}.subject-card.python .subject-card-progress .bar{background:#60a5fa}.subject-card-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.subject-card-meta b{color:#dfeaf2}.subject-card small{font-size:11px;color:var(--muted)}.today-tasks-card{margin-bottom:20px}.empty-tasks-box{text-align:center;padding:36px 20px;color:var(--muted)}.empty-tasks-box svg{margin-bottom:12px;color:#355062}.empty-tasks-box p{max-width:460px;margin:0 auto 16px;font-size:13px;line-height:1.6}.btn-sm{min-height:32px;padding:0 12px;font-size:12px}.task-list-v2{display:grid;gap:10px}.task-item-v2{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px 16px;display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:14px;transition:all .15s}.task-item-v2.done{opacity:.55}.task-item-v2.done .task-name{text-decoration:line-through;color:var(--muted)}.task-item-v2.skipped{border-left:3px solid #6b7280;opacity:.65}.task-check-btn{width:26px;height:26px;border-radius:7px;border:2px solid #2e4a5b;background:#09151f;color:var(--cyan);display:grid;place-items:center;cursor:pointer;padding:0;transition:all .15s}.task-check-btn:hover{border-color:var(--cyan)}.task-check-btn.checked{background:#0c3535;border-color:var(--cyan)}.task-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.priority-pill{font:700 11px Space Grotesk,sans-serif;padding:2px 6px;border-radius:4px}.priority-pill.P0{background:#4a2f0e;color:#ffbf66}.priority-pill.P1{background:#143549;color:#7ec5f2}.priority-pill.P2{background:#1e2e38;color:#9ab4c6}.task-cat{font-size:12px;color:var(--muted)}.task-name{font-size:14px;color:#e4edf4}.skipped-tag{font-size:11px;background:#2c343a;color:#9ca3af;padding:1px 6px;border-radius:4px}.task-notes{margin:4px 0 0;font-size:12px;color:#8aa0b0}.task-timer-area{display:flex;align-items:center;gap:12px}.start-timer-btn{border:1px solid #294657;background:#102633;color:#a2c6dc;height:30px;padding:0 10px;border-radius:6px;font-size:12px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:all .15s}.start-timer-btn:hover{border-color:var(--cyan);color:var(--cyan)}.active-stopwatch{display:inline-flex;align-items:center;gap:6px;background:#0a3133;border:1px solid var(--cyan2);border-radius:6px;padding:2px 8px}.stopwatch-digits{font:700 13px Space Grotesk,monospace;color:var(--cyan)}.timer-ctrl-btn{border:0;background:transparent;color:#c4f3ed;cursor:pointer;padding:2px}.timer-finish-btn{border:0;background:var(--cyan);color:#051a19;font-weight:700;font-size:11px;padding:2px 6px;border-radius:4px;cursor:pointer}.task-duration-display{font-size:12px;color:var(--muted)}.task-ops{display:flex;gap:6px}.task-op-btn{border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;padding:4px 8px;border-radius:5px;cursor:pointer;transition:all .15s}.task-op-btn:hover{color:#fff;border-color:#405c70}.exam-hub-container{display:grid;gap:20px}.exam-header-banner{background:linear-gradient(135deg,#0d222e,#091720 60%,#0a2d2f);border:1px solid #1c4150;border-radius:18px;padding:26px 30px;display:flex;flex-direction:column;gap:16px}.exam-header-badge{display:inline-flex;align-items:center;gap:6px;background:#113838;color:var(--cyan);font-size:12px;padding:4px 10px;border-radius:6px;width:fit-content}.exam-header-main h2{margin:0 0 6px;font-size:24px;color:#f0f6fa}.exam-header-main p{margin:0;font-size:13px;color:#9bb1c2;max-width:800px;line-height:1.6}.exam-subtabs-nav{display:flex;gap:6px;background:#08131d;border:1px solid var(--line);padding:4px;border-radius:10px;overflow-x:auto}.exam-subtab-btn{border:0;background:transparent;color:var(--muted);height:36px;padding:0 14px;border-radius:7px;display:inline-flex;align-items:center;gap:7px;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.exam-subtab-btn:hover{color:#fff}.exam-subtab-btn.active{background:#153842;color:var(--cyan);font-weight:600}.dual-progress-view-grid{display:grid;gap:20px}.stat-showcase-card{padding:24px}.showcase-big-num{display:flex;align-items:baseline;gap:8px;margin:16px 0 10px}.showcase-big-num strong{font:800 38px Space Grotesk,sans-serif;color:#fff;line-height:1}.showcase-big-num span{font-size:16px;color:var(--muted)}.showcase-meta-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin:8px 0 14px}.showcase-meta-row b{color:#dbe7ef}.stage-milestone-box{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-top:10px}.milestone-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:6px}.milestone-label b{color:#ffb545}.forecast-detailed-card{padding:22px}.forecast-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.f-metric-box{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px}.f-metric-box.required{border-color:#2b5568;background:#0c202b}.f-metric-box small{font-size:11px;color:var(--muted)}.f-metric-box strong{display:block;font:700 20px Space Grotesk,sans-serif;color:#fff;margin:4px 0}.f-metric-box p{margin:0;font-size:11px;color:#7f99aa}.forecast-prediction-summary{display:grid;gap:10px}.f-summary-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);font-size:13px;color:#a8bece}.f-summary-item b{color:#e1edf5}.f-summary-item.advice{border-color:#1e5a52;background:#0c2928}.f-summary-item.advice b{color:#7bf3e7}.f-summary-item.advice p{margin:4px 0 0;color:#c0dedb;line-height:1.55}.course-catalog-card{padding:22px}.course-toolbar{display:flex;align-items:center;gap:14px}.course-summary-pill{font-size:12px;color:var(--muted)}.course-table-wrap{overflow-x:auto}.modern-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.modern-table th{background:#0b1720;color:#8194a4;font-weight:500;text-align:left;padding:12px;border-bottom:1px solid #1e303d}.modern-table td{padding:12px;border-bottom:1px solid #1c2e3a;color:#dbe7ef}.course-title-cell span{display:block;font-weight:600}.course-title-cell small{color:var(--muted);font-size:11px}.table-prog-cell{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.table-prog-cell .progress-bar-wrap{flex:1;margin:0}.status-pill{font-size:11px;padding:2px 7px;border-radius:4px}.status-pill.已完成{background:#113838;color:var(--cyan)}.status-pill.学习中{background:#422d11;color:var(--amber)}.status-pill.未开始{background:#1c2a34;color:var(--muted)}.quick-add-btn-group{display:flex;gap:4px}.btn-tiny{border:1px solid #234152;background:#112634;color:#9cc0d8;font-size:11px;padding:2px 6px;border-radius:4px;cursor:pointer}.btn-tiny:hover{border-color:var(--cyan);color:var(--cyan)}.table-actions{display:flex;align-items:center;gap:6px}.english-hub-container{display:grid;gap:20px}.english-header-banner{background:linear-gradient(135deg,#22180c,#1a150b 60%,#16241a);border:1px solid #4a341b;border-radius:18px;padding:26px 30px}.english-header-badge{display:inline-flex;align-items:center;gap:6px;background:#3b2811;color:var(--amber);font-size:12px;padding:4px 10px;border-radius:6px;margin-bottom:8px}.english-header-banner h2{margin:0 0 6px;font-size:24px;color:#f0f6fa}.english-header-banner p{margin:0;font-size:13px;color:#bfad97;max-width:800px;line-height:1.6}.english-vocab-overview-card{padding:22px}.vocab-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.vocab-metric-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.vocab-metric-box small{font-size:12px;color:var(--muted)}.vocab-num{display:flex;align-items:baseline;gap:6px;margin:4px 0}.vocab-num strong{font:800 32px Space Grotesk,sans-serif;color:#fff;line-height:1}.vocab-num span{font-size:14px;color:var(--muted)}.vocab-metric-box p{margin:0;font-size:11px;color:#7f99aa}.vocab-stages-bars{display:grid;gap:14px}.vocab-stage-row .stage-meta{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.vocab-stage-row b{font-weight:500;color:#dce7ef}.vocab-stage-row span{color:var(--muted);font-size:12px}.python-hub-container{display:grid;gap:20px}.python-header-banner{background:linear-gradient(135deg,#0e1e2d,#0b1722 60%,#162438);border:1px solid #1c3750;border-radius:18px;padding:26px 30px}.python-header-badge{display:inline-flex;align-items:center;gap:6px;background:#142f46;color:#72b2e8;font-size:12px;padding:4px 10px;border-radius:6px;margin-bottom:8px}.python-header-banner h2{margin:0 0 6px;font-size:24px;color:#f0f6fa}.python-header-banner p{margin:0;font-size:13px;color:#9cb4c7;max-width:800px;line-height:1.6}.python-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.py-metric-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.py-metric-box small{font-size:12px;color:var(--muted)}.py-metric-num{display:flex;align-items:baseline;gap:6px;margin:4px 0}.py-metric-num strong{font:800 30px Space Grotesk,sans-serif;color:#fff;line-height:1}.py-metric-num span{font-size:14px;color:var(--muted)}.py-metric-box p{margin:0;font-size:11px;color:#7f99aa}.cadence-progress-row .cadence-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px;color:var(--muted)}.cadence-progress-row b{color:#60a5fa}.directions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.direction-card-item{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px}.dir-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dir-num{font:700 12px Space Grotesk,sans-serif;color:var(--cyan);background:#102e33;padding:2px 6px;border-radius:4px}.dir-item-header b{font-size:13px;color:#edf4f8}.direction-card-item p{margin:0;font-size:11px;color:#879ea9;line-height:1.5}.module-item-list{display:grid;gap:8px}.module-list-row{display:grid;grid-template-columns:32px 1fr 105px;align-items:center;gap:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:8px}.mod-step{font:700 13px Space Grotesk,sans-serif;color:var(--cyan)}.mod-info b{display:block;font-size:13px;color:#dfe8ef}.mod-info small{color:var(--muted);font-size:11px}.py-project-card{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:10px}.prj-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.prj-header b{font-size:14px;color:#e9f2f8}.py-project-card p{margin:0 0 8px;font-size:12px;color:#94aab8;line-height:1.5}.prj-milestone{display:block;font-size:11px;color:#ffb545;margin-bottom:8px}.py-logs-grid{display:grid;gap:12px}.py-log-item{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:16px 18px}.py-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.py-log-title{margin-left:8px;font-size:14px;color:#fff}.py-log-actions{display:flex;align-items:center;gap:10px}.py-log-actions small{color:var(--muted);font-size:12px}.py-log-notes{margin:0 0 10px;font-size:13px;color:#a9becd;line-height:1.55}.code-block{background:#081119;border:1px solid #1c2b36;border-radius:8px;padding:12px 14px;margin:0;overflow-x:auto;font-family:Fira Code,monospace;font-size:12px;color:#72e0d3}.code-textarea{font-family:Fira Code,monospace;font-size:12px;background:#081119!important;color:#72e0d3!important}.today-hub-container{display:grid;gap:16px}.today-top-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 20px}.date-selector-group{display:flex;align-items:center;gap:10px}.date-picker-input{height:36px;padding:0 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-size:13px}.current-day-label{display:inline-flex;align-items:center;gap:6px;font-size:14px}.today-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-guidance-banner{background:#0e242f;border:1px solid #1a4959;border-radius:11px;padding:14px 18px;display:flex;align-items:center;gap:12px;font-size:13px;color:#a8c1cf}.schedule-guidance-banner.badminton{background:#2b180d;border-color:#5c351b;color:#ffbf8c}.schedule-guidance-banner.review{background:#242b10;border-color:#4b5a20;color:#d4e86b}.banner-icon{color:var(--cyan);flex-shrink:0}.schedule-guidance-banner.badminton .banner-icon{color:var(--amber)}.banner-text b{color:#fff}.today-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.t-stat-box{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:14px 18px}.t-stat-box small{font-size:12px;color:var(--muted)}.t-stat-num{display:flex;align-items:baseline;gap:6px;margin:4px 0}.t-stat-num strong{font:700 24px Space Grotesk,sans-serif;color:#fff}.t-stat-num span{font-size:13px;color:var(--muted)}.t-stat-box p{margin:0;font-size:11px;color:#7f99aa}.task-full-list{display:grid;gap:8px}.task-card-row{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:14px}.task-card-row.done{opacity:.55}.task-card-row.done .task-row-name{text-decoration:line-through;color:var(--muted)}.task-row-check{width:24px;height:24px;border-radius:6px;border:2px solid #2e4a5b;background:#09151f;color:var(--cyan);display:grid;place-items:center;cursor:pointer;padding:0}.task-row-check.checked{background:#0c3535;border-color:var(--cyan)}.task-row-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-category-pill{font-size:11px;color:var(--muted);background:#142430;padding:1px 6px;border-radius:4px}.task-row-name{font-size:14px;color:#e4edf4}.task-row-notes{margin:4px 0 0;font-size:12px;color:#8aa0b0}.task-row-timer{display:flex;align-items:center;gap:10px}.duration-edit-wrap{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.actual-mins-input{width:48px;height:28px;text-align:right;border:1px solid #243c4d!important;background:#0b1822!important;color:#fff!important;padding:2px 6px!important;border-radius:5px!important}.task-row-actions{display:flex;align-items:center;gap:6px}.task-action-link{border:0;background:transparent;color:var(--cyan);font-size:12px;cursor:pointer;padding:3px 6px;border-radius:4px}.task-action-link:hover{background:#133330}.week-hub-container{display:grid;gap:18px}.week-top-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 20px}.week-nav-controls{display:flex;align-items:center;gap:10px}.current-week-label{margin:0;font:700 17px Space Grotesk,sans-serif}.week-standard-summary{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.week-goals-card{padding:20px}.week-goal-input-row{display:flex;gap:8px;margin-bottom:12px}.week-goal-input-row input{flex:1;height:38px}.week-goals-list{display:grid;gap:8px}.goal-checkbox-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#dfe8ef;cursor:pointer}.completed-text{text-decoration:line-through;color:var(--muted)}.week-seven-columns-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;overflow-x:auto}.week-day-column{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:480px;display:flex;flex-direction:column;gap:10px;min-width:170px}.week-day-column.today-column{border-color:var(--cyan);box-shadow:0 0 12px #26d9c726}.week-day-column.friday-column{border-top:3px solid #ffb545}.week-day-column.sunday-column{border-top:3px solid #26d9c7}.day-col-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.day-col-header b{font-size:14px}.day-col-header small{color:var(--muted);font-size:12px;margin-left:6px}.fixed-schedule-guide{background:var(--panel2);border:1px solid #1c303f;border-radius:8px;padding:8px;display:grid;gap:5px;font-size:11px}.guide-item{display:flex;align-items:center;gap:5px;color:#a4bcc9}.guide-item.video{color:#ffc97a;font-weight:600}.guide-item.exercise{color:#8deee2}.guide-item.badminton-tag{color:#ffa866;font-weight:700;background:#331d10;padding:2px 5px;border-radius:4px}.guide-item.gym-tag{color:#8cbbe3}.day-col-tasks-list{flex:1;display:flex;flex-direction:column;gap:8px}.col-tasks-title{margin-top:4px}.col-tasks-title small{font-size:11px;color:var(--muted)}.week-task-card{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:9px;font-size:12px;cursor:grab;transition:all .15s}.week-task-card:hover{border-color:#385d75}.week-task-card.done{opacity:.55}.week-task-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.week-task-head small{color:var(--muted);font-size:10px}.done-icon{color:var(--cyan);margin-left:auto}.week-task-card b{display:block;font-size:12px;color:#e4edf4;line-height:1.35}.week-task-time{margin-top:4px;font-size:11px;color:var(--muted)}.stats-hub-container{display:grid;gap:20px}.stats-header-banner{background:linear-gradient(135deg,#0e222f,#0a1923 60%,#152d2b);border:1px solid #1c404f;border-radius:18px;padding:26px 30px}.stats-header-badge{display:inline-flex;align-items:center;gap:6px;background:#113838;color:var(--cyan);font-size:12px;padding:4px 10px;border-radius:6px;margin-bottom:8px}.stats-header-banner h2{margin:0 0 6px;font-size:24px;color:#f0f6fa}.stats-header-banner p{margin:0;font-size:13px;color:#9bb1c2}.stats-metrics-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card-widget{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.stat-card-widget small{font-size:12px;color:var(--muted)}.widget-num{display:flex;align-items:baseline;gap:6px;margin:4px 0}.widget-num strong{font:800 28px Space Grotesk,sans-serif;color:#fff;line-height:1}.widget-num span{font-size:14px;color:var(--muted)}.stat-card-widget p{margin:0;font-size:11px;color:#7f99aa}.chart-card{padding:22px}.chart-legend{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.legend-dot.actual{background:var(--cyan)}.legend-dot.target{background:var(--amber)}.svg-chart-container{width:100%;overflow-x:auto;padding:10px 0}.chart-svg{width:100%;height:auto;min-width:600px;display:block}.subject-bars-list{display:grid;gap:14px}.subject-bar-row .subject-bar-header{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.subject-bar-row b{font-weight:500;color:#dbe7ef}.subject-bar-row span{color:var(--muted);font-size:12px}.standard-compare-table{display:grid;gap:8px}.compare-row{display:grid;grid-template-columns:140px 120px 1fr;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);font-size:13px}.compare-title{font-weight:600;color:#e1edf5}.compare-target{color:var(--amber);font-size:12px}.compare-actual{color:#a4bcc9;font-size:12px}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040c12a6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:19;animation:drawerFadeIn .2s ease-out}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}button,a,.subject-card,.countdown-card,.task-check-btn,.task-row-check{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.week-seven-columns-grid,.exam-subtabs-nav,.course-table-wrap,.svg-chart-container,.table-wrap,nav,.modal-body-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-seven-columns-grid::-webkit-scrollbar,.exam-subtabs-nav::-webkit-scrollbar,.course-table-wrap::-webkit-scrollbar,.svg-chart-container::-webkit-scrollbar,.table-wrap::-webkit-scrollbar,nav::-webkit-scrollbar{display:none}@media(max-width:1050px){.countdowns-grid,.dual-progress-grid,.three-subjects-grid,.forecast-metrics-grid,.vocab-metrics-grid,.python-metrics-grid,.stats-metrics-bar,.directions-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){input,select,textarea{font-size:16px!important}input,select,textarea,button{-webkit-appearance:none}.top{height:auto;min-height:calc(56px + env(safe-area-inset-top));padding-top:max(10px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:10px;align-items:center}.shell>aside{padding-top:env(safe-area-inset-top);padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));width:270px;z-index:25}.content{padding:16px max(14px,env(safe-area-inset-left)) max(60px,calc(30px + env(safe-area-inset-bottom))) max(14px,env(safe-area-inset-right))}.toast{bottom:max(20px,calc(14px + env(safe-area-inset-bottom)));right:max(16px,env(safe-area-inset-right));left:max(16px,env(safe-area-inset-left));justify-content:center}.hero-schedule-card{flex-direction:column;align-items:flex-start;padding:20px 18px;gap:16px}.hero-badge-row{gap:6px;margin-bottom:8px}.hero-badge-day{font-size:12px;padding:3px 8px}.hero-badge-pill{font-size:11px;padding:3px 8px}.hero-schedule-title{font-size:18px;line-height:1.4;margin-bottom:12px}.prompt-item{font-size:12px;line-height:1.5}.hero-quick-action{width:100%;flex-direction:column;align-items:stretch}.quick-log-btn{width:100%;height:44px;font-size:15px;display:inline-flex;align-items:center;justify-content:center}.countdowns-grid,.dual-progress-grid,.three-subjects-grid,.forecast-metrics-grid,.vocab-metrics-grid,.python-metrics-grid,.stats-metrics-bar,.today-stats-grid{grid-template-columns:1fr;gap:14px}.directions-grid{grid-template-columns:1fr 1fr}.countdown-card{padding:16px;gap:14px}.countdown-icon-wrap{width:46px;height:46px}.countdown-digits strong{font-size:28px}.countdown-sub{font-size:13px}.progress-box{padding:16px}.forecast-banner{padding:14px 16px;gap:10px}.forecast-content p{font-size:12px}.task-item-v2,.task-card-row{grid-template-columns:32px 1fr;gap:10px;padding:12px 14px}.task-check-btn,.task-row-check{width:28px;height:28px}.task-timer-area,.task-row-timer{grid-column:2;flex-wrap:wrap;gap:8px}.task-ops,.task-row-actions{grid-column:2;margin-top:4px}.start-timer-btn{min-height:34px;padding:0 12px}.week-seven-columns-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px;margin:0 -14px;padding-left:14px;padding-right:14px}.week-day-column{min-width:260px;max-width:280px;flex-shrink:0;scroll-snap-align:start}.compare-row{grid-template-columns:1fr;gap:4px}.exam-subtabs-nav{display:flex;overflow-x:auto;white-space:nowrap;gap:4px;padding:4px}.exam-subtab-btn{flex-shrink:0}}@media(max-width:480px){.top h1{font-size:17px}.top small,.top .date span,.top-logout-btn span{display:none}.top-logout-btn{padding:0 8px;min-height:32px}.theme-btn{padding:0 6px}.theme-btn span{display:none}.countdown-digits strong{font-size:24px}.countdown-digits span{font-size:13px}.countdown-sub{font-size:11px}.pbox-stat strong{font-size:20px}.subject-card-data strong{font-size:24px}.vocab-num strong{font-size:26px}.py-metric-num strong,.widget-num strong{font-size:24px}.modal-back{align-items:flex-end!important;padding:0!important}.modal{width:100%!important;max-height:90vh!important;border-radius:20px 20px 0 0!important;padding:20px 18px max(24px,calc(16px + env(safe-area-inset-bottom)))!important;border-bottom:0!important;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)!important}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.form-grid,.directions-grid{grid-template-columns:1fr}}:root[data-theme=light] .hero-schedule-card,:root:not([data-theme=dark]) .hero-schedule-card{background:linear-gradient(135deg,#e7f5f3,#f7fafb 55%,#e0f2ef);border-color:#b8ded9;box-shadow:0 4px 20px #078f840f}:root[data-theme=light] .hero-schedule-card:after,:root:not([data-theme=dark]) .hero-schedule-card:after{background:radial-gradient(circle,rgba(7,143,132,.12) 0%,transparent 70%)}:root[data-theme=light] .hero-schedule-title,:root:not([data-theme=dark]) .hero-schedule-title{color:#12242f}:root[data-theme=light] .hero-badge-day,:root:not([data-theme=dark]) .hero-badge-day{background:#d8f2ef;color:#07736b;border-color:#99d6cf}:root[data-theme=light] .hero-badge-day small,:root:not([data-theme=dark]) .hero-badge-day small{color:#3b6b66}:root[data-theme=light] .hero-badge-pill.gym,:root:not([data-theme=dark]) .hero-badge-pill.gym{background:#e5f0f9;color:#1a5b8f;border-color:#b5d5ee}:root[data-theme=light] .hero-badge-pill.badminton,:root:not([data-theme=dark]) .hero-badge-pill.badminton{background:#fff0e2;color:#b05408;border-color:#f6caa2}:root[data-theme=light] .hero-badge-pill.review,:root:not([data-theme=dark]) .hero-badge-pill.review{background:#f4f8d6;color:#62720d;border-color:#d2df8a}:root[data-theme=light] .hero-badge-pill.normal,:root:not([data-theme=dark]) .hero-badge-pill.normal{background:#fff;color:#526b78;border-color:#d8e3e7}:root[data-theme=light] .prompt-item,:root:not([data-theme=dark]) .prompt-item{color:#385160}:root[data-theme=light] .prompt-item b,:root:not([data-theme=dark]) .prompt-item b{color:#12242f}:root[data-theme=light] .hero-quick-action small,:root:not([data-theme=dark]) .hero-quick-action small{color:#526b78}:root[data-theme=light] .countdown-card,:root:not([data-theme=dark]) .countdown-card{background:#fff;border-color:#d8e3e7;box-shadow:0 2px 10px #00000008}:root[data-theme=light] .countdown-card.exam-target,:root:not([data-theme=dark]) .countdown-card.exam-target{border-left:4px solid #078f84}:root[data-theme=light] .countdown-card.video-target,:root:not([data-theme=dark]) .countdown-card.video-target{border-left:4px solid #d97706}:root[data-theme=light] .exam-target .countdown-icon-wrap,:root:not([data-theme=dark]) .exam-target .countdown-icon-wrap{background:#e6f6f4;color:#078f84;border-color:#a8ded7}:root[data-theme=light] .video-target .countdown-icon-wrap,:root:not([data-theme=dark]) .video-target .countdown-icon-wrap{background:#fef3c7;color:#b45309;border-color:#fcd34d}:root[data-theme=light] .countdown-content small,:root:not([data-theme=dark]) .countdown-content small{color:#4b6473;font-weight:500}:root[data-theme=light] .countdown-digits strong,:root:not([data-theme=dark]) .countdown-digits strong{color:#12242f}:root[data-theme=light] .countdown-digits span,:root:not([data-theme=dark]) .countdown-digits span{color:#526b78}:root[data-theme=light] .countdown-sub,:root:not([data-theme=dark]) .countdown-sub{color:#3b5463}:root[data-theme=light] .countdown-content p,:root:not([data-theme=dark]) .countdown-content p{color:#526b78}:root[data-theme=light] .progress-box,:root:not([data-theme=dark]) .progress-box{background:#fff;border-color:#d8e3e7;box-shadow:0 2px 8px #00000005}:root[data-theme=light] .pbox-badge,:root:not([data-theme=dark]) .pbox-badge{background:#d8f2ef;color:#07736b}:root[data-theme=light] .pbox-badge.video,:root:not([data-theme=dark]) .pbox-badge.video{background:#fef3c7;color:#92400e}:root[data-theme=light] .progress-box-header h4,:root:not([data-theme=dark]) .progress-box-header h4{color:#12242f}:root[data-theme=light] .pbox-stat strong,:root:not([data-theme=dark]) .pbox-stat strong{color:#12242f}:root[data-theme=light] .pbox-stat span,:root:not([data-theme=dark]) .pbox-stat span{color:#526b78}:root[data-theme=light] .progress-bar-wrap,:root:not([data-theme=dark]) .progress-bar-wrap{background:#e4edf1}:root[data-theme=light] .progress-box-footer,:root:not([data-theme=dark]) .progress-box-footer{color:#526b78}:root[data-theme=light] .progress-box-footer b,:root:not([data-theme=dark]) .progress-box-footer b{color:#12242f}:root[data-theme=light] .pbox-desc,:root:not([data-theme=dark]) .pbox-desc{color:#4b6371}:root[data-theme=light] .forecast-banner,:root:not([data-theme=dark]) .forecast-banner{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .forecast-banner.ahead,:root:not([data-theme=dark]) .forecast-banner.ahead{background:#eaf7f5;border-color:#9ddcd5}:root[data-theme=light] .forecast-banner.on_track,:root:not([data-theme=dark]) .forecast-banner.on_track{background:#f0f6fa;border-color:#b8d7ea}:root[data-theme=light] .forecast-banner.behind,:root:not([data-theme=dark]) .forecast-banner.behind{background:#fff7ed;border-color:#fed7aa}:root[data-theme=light] .forecast-banner.ahead .forecast-icon,:root:not([data-theme=dark]) .forecast-banner.ahead .forecast-icon{color:#078f84}:root[data-theme=light] .forecast-banner.on_track .forecast-icon,:root:not([data-theme=dark]) .forecast-banner.on_track .forecast-icon{color:#0284c7}:root[data-theme=light] .forecast-banner.behind .forecast-icon,:root:not([data-theme=dark]) .forecast-banner.behind .forecast-icon{color:#d97706}:root[data-theme=light] .forecast-header b,:root:not([data-theme=dark]) .forecast-header b{color:#12242f}:root[data-theme=light] .forecast-tag.ahead,:root:not([data-theme=dark]) .forecast-tag.ahead{background:#d1fae5;color:#065f46}:root[data-theme=light] .forecast-tag.on_track,:root:not([data-theme=dark]) .forecast-tag.on_track{background:#e0f2fe;color:#0369a1}:root[data-theme=light] .forecast-tag.behind,:root:not([data-theme=dark]) .forecast-tag.behind{background:#ffedd5;color:#9a3412}:root[data-theme=light] .forecast-content p,:root:not([data-theme=dark]) .forecast-content p{color:#274353}:root[data-theme=light] .forecast-advice,:root:not([data-theme=dark]) .forecast-advice{color:#12242f!important}:root[data-theme=light] .subject-card,:root:not([data-theme=dark]) .subject-card{background:#fff;border-color:#d8e3e7;box-shadow:0 2px 8px #00000005}:root[data-theme=light] .subject-card:hover,:root:not([data-theme=dark]) .subject-card:hover{border-color:#078f84;background:#f8fbfc}:root[data-theme=light] .subject-card-header b,:root:not([data-theme=dark]) .subject-card-header b{color:#12242f}:root[data-theme=light] .subject-target-tag,:root:not([data-theme=dark]) .subject-target-tag{background:#e7eff3;color:#325164}:root[data-theme=light] .subject-card-data strong,:root:not([data-theme=dark]) .subject-card-data strong{color:#12242f}:root[data-theme=light] .subject-card-data span,:root:not([data-theme=dark]) .subject-card-data span{color:#526b78}:root[data-theme=light] .subject-card-meta,:root:not([data-theme=dark]) .subject-card-meta{color:#526b78}:root[data-theme=light] .subject-card-meta b,:root:not([data-theme=dark]) .subject-card-meta b{color:#12242f}:root[data-theme=light] .subject-card small,:root:not([data-theme=dark]) .subject-card small{color:#526b78}:root[data-theme=light] .today-tasks-card,:root:not([data-theme=dark]) .today-tasks-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .empty-tasks-box svg,:root:not([data-theme=dark]) .empty-tasks-box svg{color:#94a3b8}:root[data-theme=light] .empty-tasks-box p,:root:not([data-theme=dark]) .empty-tasks-box p{color:#526b78}:root[data-theme=light] .task-item-v2,:root:not([data-theme=dark]) .task-item-v2{background:#fff;border-color:#d8e3e7;box-shadow:0 1px 4px #00000005}:root[data-theme=light] .task-item-v2:hover,:root:not([data-theme=dark]) .task-item-v2:hover{border-color:#b0c9d4}:root[data-theme=light] .task-check-btn,:root:not([data-theme=dark]) .task-check-btn{background:#f8fafc;border-color:#94a3b8;color:#078f84}:root[data-theme=light] .task-check-btn:hover,:root:not([data-theme=dark]) .task-check-btn:hover{border-color:#078f84}:root[data-theme=light] .task-check-btn.checked,:root:not([data-theme=dark]) .task-check-btn.checked{background:#d8f2ef;border-color:#078f84}:root[data-theme=light] .task-name,:root:not([data-theme=dark]) .task-name{color:#12242f}:root[data-theme=light] .task-notes,:root:not([data-theme=dark]) .task-notes{color:#526b78}:root[data-theme=light] .priority-pill.P0,:root:not([data-theme=dark]) .priority-pill.P0{background:#fef3c7;color:#92400e}:root[data-theme=light] .priority-pill.P1,:root:not([data-theme=dark]) .priority-pill.P1{background:#e0f2fe;color:#0369a1}:root[data-theme=light] .priority-pill.P2,:root:not([data-theme=dark]) .priority-pill.P2{background:#f1f5f9;color:#475569}:root[data-theme=light] .task-cat,:root:not([data-theme=dark]) .task-cat{background:#eef4f7;color:#486474}:root[data-theme=light] .start-timer-btn,:root:not([data-theme=dark]) .start-timer-btn{background:#f0f7f9;border-color:#bcd1db;color:#1f475a}:root[data-theme=light] .start-timer-btn:hover,:root:not([data-theme=dark]) .start-timer-btn:hover{background:#e1f1f0;border-color:#078f84;color:#078f84}:root[data-theme=light] .active-stopwatch,:root:not([data-theme=dark]) .active-stopwatch{background:#d8f2ef;border-color:#078f84}:root[data-theme=light] .stopwatch-digits,:root:not([data-theme=dark]) .stopwatch-digits{color:#065f46}:root[data-theme=light] .timer-ctrl-btn,:root:not([data-theme=dark]) .timer-ctrl-btn{color:#065f46}:root[data-theme=light] .task-op-btn,:root:not([data-theme=dark]) .task-op-btn{border-color:#d8e3e7;color:#526b78}:root[data-theme=light] .task-op-btn:hover,:root:not([data-theme=dark]) .task-op-btn:hover{color:#12242f;border-color:#94a3b8;background:#f1f5f9}:root[data-theme=light] .exam-header-banner,:root:not([data-theme=dark]) .exam-header-banner{background:linear-gradient(135deg,#e5f4f2,#f7fbfc 60%,#def2ef);border-color:#b8dfdb}:root[data-theme=light] .exam-header-badge,:root:not([data-theme=dark]) .exam-header-badge{background:#d8f2ef;color:#07736b}:root[data-theme=light] .exam-header-main h2,:root:not([data-theme=dark]) .exam-header-main h2{color:#12242f}:root[data-theme=light] .exam-header-main p,:root:not([data-theme=dark]) .exam-header-main p{color:#4b6371}:root[data-theme=light] .exam-subtabs-nav,:root:not([data-theme=dark]) .exam-subtabs-nav{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .exam-subtab-btn,:root:not([data-theme=dark]) .exam-subtab-btn{color:#526b78}:root[data-theme=light] .exam-subtab-btn:hover,:root:not([data-theme=dark]) .exam-subtab-btn:hover{color:#12242f}:root[data-theme=light] .exam-subtab-btn.active,:root:not([data-theme=dark]) .exam-subtab-btn.active{background:#d8efec;color:#07736b}:root[data-theme=light] .stat-showcase-card,:root:not([data-theme=dark]) .stat-showcase-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .showcase-big-num strong,:root:not([data-theme=dark]) .showcase-big-num strong{color:#12242f}:root[data-theme=light] .showcase-meta-row b,:root:not([data-theme=dark]) .showcase-meta-row b{color:#12242f}:root[data-theme=light] .stage-milestone-box,:root:not([data-theme=dark]) .stage-milestone-box{background:#f8fafc;border-color:#e2e8f0}:root[data-theme=light] .milestone-label b,:root:not([data-theme=dark]) .milestone-label b{color:#b45309}:root[data-theme=light] .forecast-detailed-card,:root:not([data-theme=dark]) .forecast-detailed-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .f-metric-box,:root:not([data-theme=dark]) .f-metric-box{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .f-metric-box.required,:root:not([data-theme=dark]) .f-metric-box.required{background:#f0f7f9;border-color:#b6d3e0}:root[data-theme=light] .f-metric-box strong,:root:not([data-theme=dark]) .f-metric-box strong{color:#12242f}:root[data-theme=light] .f-summary-item,:root:not([data-theme=dark]) .f-summary-item{background:#fff;border-color:#d8e3e7;color:#334d5c}:root[data-theme=light] .f-summary-item b,:root:not([data-theme=dark]) .f-summary-item b{color:#12242f}:root[data-theme=light] .f-summary-item.advice,:root:not([data-theme=dark]) .f-summary-item.advice{background:#e8f7f5;border-color:#9cded7}:root[data-theme=light] .f-summary-item.advice b,:root:not([data-theme=dark]) .f-summary-item.advice b{color:#07736b}:root[data-theme=light] .f-summary-item.advice p,:root:not([data-theme=dark]) .f-summary-item.advice p{color:#234d49}:root[data-theme=light] .course-catalog-card,:root:not([data-theme=dark]) .course-catalog-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .modern-table th,:root:not([data-theme=dark]) .modern-table th{background:#f1f6f8;color:#475f6d;border-bottom:1px solid #d8e3e7}:root[data-theme=light] .modern-table td,:root:not([data-theme=dark]) .modern-table td{border-bottom:1px solid #e4edf1;color:#12242f}:root[data-theme=light] .course-title-cell span,:root:not([data-theme=dark]) .course-title-cell span{color:#12242f}:root[data-theme=light] .status-pill.已完成,:root:not([data-theme=dark]) .status-pill.已完成{background:#d8f2ef;color:#07736b}:root[data-theme=light] .status-pill.学习中,:root:not([data-theme=dark]) .status-pill.学习中{background:#fef3c7;color:#92400e}:root[data-theme=light] .status-pill.未开始,:root:not([data-theme=dark]) .status-pill.未开始{background:#f1f5f9;color:#64748b}:root[data-theme=light] .btn-tiny,:root:not([data-theme=dark]) .btn-tiny{background:#f0f5f8;border-color:#cbdde6;color:#2e5163}:root[data-theme=light] .btn-tiny:hover,:root:not([data-theme=dark]) .btn-tiny:hover{background:#e0f2f0;border-color:#078f84;color:#078f84}:root[data-theme=light] .english-header-banner,:root:not([data-theme=dark]) .english-header-banner{background:linear-gradient(135deg,#fef6eb,#fffbf5 60%,#faeee0);border-color:#f4d4b1}:root[data-theme=light] .english-header-badge,:root:not([data-theme=dark]) .english-header-badge{background:#fed7aa;color:#9a3412}:root[data-theme=light] .english-header-banner h2,:root:not([data-theme=dark]) .english-header-banner h2{color:#3b2005}:root[data-theme=light] .english-header-banner p,:root:not([data-theme=dark]) .english-header-banner p{color:#694b29}:root[data-theme=light] .english-vocab-overview-card,:root:not([data-theme=dark]) .english-vocab-overview-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .vocab-metric-box,:root:not([data-theme=dark]) .vocab-metric-box{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .vocab-num strong,:root:not([data-theme=dark]) .vocab-num strong{color:#12242f}:root[data-theme=light] .vocab-stage-row b,:root:not([data-theme=dark]) .vocab-stage-row b{color:#12242f}:root[data-theme=light] .python-header-banner,:root:not([data-theme=dark]) .python-header-banner{background:linear-gradient(135deg,#ebf4fc,#f6fafd 60%,#e2effa);border-color:#bad6ee}:root[data-theme=light] .python-header-badge,:root:not([data-theme=dark]) .python-header-badge{background:#bae6fd;color:#0369a1}:root[data-theme=light] .python-header-banner h2,:root:not([data-theme=dark]) .python-header-banner h2{color:#0c2b47}:root[data-theme=light] .python-header-banner p,:root:not([data-theme=dark]) .python-header-banner p{color:#3c5d79}:root[data-theme=light] .py-metric-box,:root:not([data-theme=dark]) .py-metric-box{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .py-metric-num strong,:root:not([data-theme=dark]) .py-metric-num strong{color:#12242f}:root[data-theme=light] .direction-card-item,:root:not([data-theme=dark]) .direction-card-item{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .dir-item-header b,:root:not([data-theme=dark]) .dir-item-header b{color:#12242f}:root[data-theme=light] .dir-num,:root:not([data-theme=dark]) .dir-num{background:#d8f2ef;color:#07736b}:root[data-theme=light] .direction-card-item p,:root:not([data-theme=dark]) .direction-card-item p{color:#4b6473}:root[data-theme=light] .module-list-row,:root:not([data-theme=dark]) .module-list-row{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .mod-info b,:root:not([data-theme=dark]) .mod-info b{color:#12242f}:root[data-theme=light] .py-project-card,:root:not([data-theme=dark]) .py-project-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .prj-header b,:root:not([data-theme=dark]) .prj-header b{color:#12242f}:root[data-theme=light] .py-project-card p,:root:not([data-theme=dark]) .py-project-card p{color:#4b6473}:root[data-theme=light] .prj-milestone,:root:not([data-theme=dark]) .prj-milestone{color:#b45309}:root[data-theme=light] .py-log-item,:root:not([data-theme=dark]) .py-log-item{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .py-log-title,:root:not([data-theme=dark]) .py-log-title{color:#12242f}:root[data-theme=light] .py-log-notes,:root:not([data-theme=dark]) .py-log-notes{color:#334d5c}:root[data-theme=light] .schedule-guidance-banner,:root:not([data-theme=dark]) .schedule-guidance-banner{background:#eef6f9;border-color:#b8d7ea;color:#1a3c4f}:root[data-theme=light] .schedule-guidance-banner.badminton,:root:not([data-theme=dark]) .schedule-guidance-banner.badminton{background:#fff7ed;border-color:#fed7aa;color:#9a3412}:root[data-theme=light] .schedule-guidance-banner.review,:root:not([data-theme=dark]) .schedule-guidance-banner.review{background:#f7fee7;border-color:#d9f99d;color:#3f6212}:root[data-theme=light] .banner-text b,:root:not([data-theme=dark]) .banner-text b{color:#12242f}:root[data-theme=light] .date-picker-input,:root:not([data-theme=dark]) .date-picker-input{background:#fff;border-color:#d8e3e7;color:#12242f}:root[data-theme=light] .t-stat-box,:root:not([data-theme=dark]) .t-stat-box{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .t-stat-num strong,:root:not([data-theme=dark]) .t-stat-num strong{color:#12242f}:root[data-theme=light] .task-card-row,:root:not([data-theme=dark]) .task-card-row{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .task-row-check,:root:not([data-theme=dark]) .task-row-check{background:#f8fafc;border-color:#94a3b8;color:#078f84}:root[data-theme=light] .task-row-check.checked,:root:not([data-theme=dark]) .task-row-check.checked{background:#d8f2ef;border-color:#078f84}:root[data-theme=light] .task-category-pill,:root:not([data-theme=dark]) .task-category-pill{background:#eef4f7;color:#486474}:root[data-theme=light] .task-row-name,:root:not([data-theme=dark]) .task-row-name{color:#12242f}:root[data-theme=light] .task-row-notes,:root:not([data-theme=dark]) .task-row-notes{color:#526b78}:root[data-theme=light] .actual-mins-input,:root:not([data-theme=dark]) .actual-mins-input{background:#fff!important;color:#12242f!important;border-color:#cbd5e1!important}:root[data-theme=light] .week-day-column,:root:not([data-theme=dark]) .week-day-column{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .week-day-column.today-column,:root:not([data-theme=dark]) .week-day-column.today-column{border-color:#078f84;box-shadow:0 0 12px #078f842e}:root[data-theme=light] .fixed-schedule-guide,:root:not([data-theme=dark]) .fixed-schedule-guide{background:#f8fafc;border-color:#e2e8f0}:root[data-theme=light] .guide-item,:root:not([data-theme=dark]) .guide-item{color:#475569}:root[data-theme=light] .guide-item.video,:root:not([data-theme=dark]) .guide-item.video{color:#b45309}:root[data-theme=light] .guide-item.exercise,:root:not([data-theme=dark]) .guide-item.exercise{color:#078f84}:root[data-theme=light] .guide-item.badminton-tag,:root:not([data-theme=dark]) .guide-item.badminton-tag{background:#ffedd5;color:#9a3412}:root[data-theme=light] .guide-item.gym-tag,:root:not([data-theme=dark]) .guide-item.gym-tag{color:#0284c7}:root[data-theme=light] .week-task-card,:root:not([data-theme=dark]) .week-task-card{background:#fff;border-color:#e2e8f0}:root[data-theme=light] .week-task-card:hover,:root:not([data-theme=dark]) .week-task-card:hover{border-color:#078f84}:root[data-theme=light] .week-task-card b,:root:not([data-theme=dark]) .week-task-card b{color:#12242f}:root[data-theme=light] .goal-checkbox-item,:root:not([data-theme=dark]) .goal-checkbox-item{color:#12242f}:root[data-theme=light] .stats-header-banner,:root:not([data-theme=dark]) .stats-header-banner{background:linear-gradient(135deg,#e5f4f2,#f7fbfc 60%,#e0f2f0);border-color:#b8dfdb}:root[data-theme=light] .stats-header-badge,:root:not([data-theme=dark]) .stats-header-badge{background:#d8f2ef;color:#07736b}:root[data-theme=light] .stats-header-banner h2,:root:not([data-theme=dark]) .stats-header-banner h2{color:#12242f}:root[data-theme=light] .stats-header-banner p,:root:not([data-theme=dark]) .stats-header-banner p{color:#4b6371}:root[data-theme=light] .stat-card-widget,:root:not([data-theme=dark]) .stat-card-widget{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .widget-num strong,:root:not([data-theme=dark]) .widget-num strong{color:#12242f}:root[data-theme=light] .chart-card,:root:not([data-theme=dark]) .chart-card{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .subject-bar-row b,:root:not([data-theme=dark]) .subject-bar-row b{color:#12242f}:root[data-theme=light] .compare-row,:root:not([data-theme=dark]) .compare-row{background:#fff;border-color:#d8e3e7}:root[data-theme=light] .compare-title,:root:not([data-theme=dark]) .compare-title{color:#12242f}:root[data-theme=light] .compare-actual,:root:not([data-theme=dark]) .compare-actual{color:#475569}.event-title-meta-row{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.thread-badge-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;cursor:pointer;transition:all .18s ease;line-height:1.4;text-decoration:none}.thread-badge-btn.has-replies{background:#26d9c71f;color:var(--cyan);border:1px solid rgba(38,217,199,.3)}.thread-badge-btn.has-replies:hover{background:#26d9c738;transform:translateY(-1px)}.thread-badge-btn.no-replies{background:#ffffff0a;color:var(--text-dim);border:1px dashed var(--line)}.thread-badge-btn.no-replies:hover{border-color:var(--cyan);color:var(--cyan)}:root[data-theme=light] .thread-badge-btn.has-replies,:root:not([data-theme=dark]) .thread-badge-btn.has-replies{background:#e0f4f2;color:#078278;border-color:#a7dfd8}:root[data-theme=light] .thread-badge-btn.has-replies:hover,:root:not([data-theme=dark]) .thread-badge-btn.has-replies:hover{background:#d0eee9}:root[data-theme=light] .thread-badge-btn.no-replies,:root:not([data-theme=dark]) .thread-badge-btn.no-replies{background:#f8fafc;color:#64748b;border-color:#cbd5e1}.icon-tiny.highlight{color:var(--cyan);background:#26d9c71a}.icon-tiny.highlight:hover{background:#26d9c733}:root[data-theme=light] .icon-tiny.highlight,:root:not([data-theme=dark]) .icon-tiny.highlight{color:#078f84;background:#e6f7f5}:root[data-theme=light] .icon-tiny.highlight:hover,:root:not([data-theme=dark]) .icon-tiny.highlight:hover{background:#d1f2ee}.modal-thread{max-width:860px;width:95%;height:88vh;max-height:900px;display:flex;flex-direction:column;overflow:hidden;padding:0!important}.thread-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.thread-header .modal-title-wrap{flex:1;min-width:0}.modal-header-top-line{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.thread-project-tag{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:#26d9c71a;color:var(--cyan)}:root[data-theme=light] .thread-project-tag,:root:not([data-theme=dark]) .thread-project-tag{background:#e0f2ef;color:#078278}.thread-main-title{font-size:18px;font-weight:700;color:var(--text);margin:0 0 6px;line-height:1.4;word-break:break-word}:root[data-theme=light] .thread-main-title,:root:not([data-theme=dark]) .thread-main-title{color:#12242f}.thread-meta-info{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.thread-meta-info .sep{opacity:.4}.reply-count-tag{font-weight:600;color:var(--cyan)}:root[data-theme=light] .reply-count-tag,:root:not([data-theme=dark]) .reply-count-tag{color:#078278}.thread-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-thread-action{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card-bg);color:var(--text);cursor:pointer;transition:all .15s ease}.btn-thread-action:hover{border-color:var(--cyan);color:var(--cyan);background:#26d9c714}:root[data-theme=light] .btn-thread-action,:root:not([data-theme=dark]) .btn-thread-action{background:#fff;color:#334155;border-color:#cbd5e1}:root[data-theme=light] .btn-thread-action:hover,:root:not([data-theme=dark]) .btn-thread-action:hover{background:#f0fdfa;border-color:#14b8a6;color:#0f766e}.thread-body-scroll{flex:1;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:20px}.thread-timeline-stream{position:relative;display:flex;flex-direction:column;gap:18px}.thread-timeline-stream:before{content:"";position:absolute;left:17px;top:24px;bottom:24px;width:2px;background:var(--line);z-index:0}:root[data-theme=light] .thread-timeline-stream:before,:root:not([data-theme=dark]) .thread-timeline-stream:before{background:#d8e3e7}.timeline-node{position:relative;display:flex;gap:16px;align-items:flex-start;z-index:1}.timeline-marker{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--panel);border:2px solid var(--line);box-shadow:0 2px 8px #0003}.timeline-marker.initial{background:#0c2a38;color:#38bdf8;border-color:#0284c7}.timeline-marker.outbound{background:#08332c;color:#2dd4bf;border-color:#14b8a6}.timeline-marker.inbound{background:#172554;color:#60a5fa;border-color:#3b82f6}.timeline-marker.third_party{background:#2e1065;color:#c084fc;border-color:#a855f7}:root[data-theme=light] .timeline-marker.initial,:root:not([data-theme=dark]) .timeline-marker.initial{background:#e0f2fe;color:#0284c7;border-color:#38bdf8}:root[data-theme=light] .timeline-marker.outbound,:root:not([data-theme=dark]) .timeline-marker.outbound{background:#e6f7f5;color:#0d9488;border-color:#14b8a6}:root[data-theme=light] .timeline-marker.inbound,:root:not([data-theme=dark]) .timeline-marker.inbound{background:#eff6ff;color:#2563eb;border-color:#3b82f6}:root[data-theme=light] .timeline-marker.third_party,:root:not([data-theme=dark]) .timeline-marker.third_party{background:#faf5ff;color:#9333ea;border-color:#a855f7}.timeline-card{flex:1;min-width:0;border-radius:12px;padding:16px 18px;border:1px solid var(--line);background:var(--panel);box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.timeline-card.initial-card{border-left:4px solid #0284c7;background:#0284c70d}.timeline-card.reply-card.outbound{border-left:4px solid #14b8a6}.timeline-card.reply-card.inbound{border-left:4px solid #3b82f6}.timeline-card.reply-card.third_party{border-left:4px solid #a855f7}:root[data-theme=light] .timeline-card,:root:not([data-theme=dark]) .timeline-card{background:#fff;border-color:#d8e3e7;box-shadow:0 2px 6px #0f172a0a}:root[data-theme=light] .timeline-card.initial-card,:root:not([data-theme=dark]) .timeline-card.initial-card{background:#f7fbfe;border-left:4px solid #0284c7}:root[data-theme=light] .timeline-card.reply-card.outbound,:root:not([data-theme=dark]) .timeline-card.reply-card.outbound{border-left:4px solid #0d9488}:root[data-theme=light] .timeline-card.reply-card.inbound,:root:not([data-theme=dark]) .timeline-card.reply-card.inbound{border-left:4px solid #2563eb}:root[data-theme=light] .timeline-card.reply-card.third_party,:root:not([data-theme=dark]) .timeline-card.reply-card.third_party{border-left:4px solid #9333ea}.timeline-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.node-stage-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}.node-stage-badge.initial{background:#0284c726;color:#38bdf8}:root[data-theme=light] .node-stage-badge.initial,:root:not([data-theme=dark]) .node-stage-badge.initial{background:#e0f2fe;color:#0369a1}.node-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.direction-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}.direction-tag.outbound{background:#14b8a626;color:#2dd4bf}.direction-tag.inbound{background:#3b82f626;color:#60a5fa}.direction-tag.third_party{background:#a855f726;color:#c084fc}:root[data-theme=light] .direction-tag.outbound,:root:not([data-theme=dark]) .direction-tag.outbound{background:#ccfbf1;color:#0f766e}:root[data-theme=light] .direction-tag.inbound,:root:not([data-theme=dark]) .direction-tag.inbound{background:#dbeafe;color:#1d4ed8}:root[data-theme=light] .direction-tag.third_party,:root:not([data-theme=dark]) .direction-tag.third_party{background:#f3e8ff;color:#7e22ce}.node-round-num{font-size:11px;font-weight:600;color:var(--text-dim)}.node-date{font-family:monospace;font-size:12px;color:var(--text-dim)}.node-sender strong,.node-parties{font-size:12px;color:var(--text)}:root[data-theme=light] .node-sender strong,:root[data-theme=light] .node-parties,:root:not([data-theme=dark]) .node-sender strong,:root:not([data-theme=dark]) .node-parties{color:#12242f}.node-actions-group{display:flex;align-items:center;gap:6px}.status-change-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;background:#ffffff0f;color:var(--cyan)}:root[data-theme=light] .status-change-badge,:root:not([data-theme=dark]) .status-change-badge{background:#f1f5f9;color:#078278}.timeline-card-content p{margin:0;font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word}:root[data-theme=light] .timeline-card-content p,:root:not([data-theme=dark]) .timeline-card-content p{color:#1e293b}.timeline-card-remarks{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:11px;color:var(--text-dim)}.timeline-card-attachments{margin-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 10px;border-radius:6px;background:#26d9c714;color:var(--cyan)}:root[data-theme=light] .timeline-card-attachments,:root:not([data-theme=dark]) .timeline-card-attachments{background:#e6f7f5;color:#078278}.timeline-stream-divider{display:flex;align-items:center;gap:12px;margin:8px 0;padding-left:17px}.timeline-stream-divider .divider-line{flex:1;height:1px;background:var(--line)}.timeline-stream-divider .divider-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--text-dim);padding:3px 10px;background:var(--card-bg);border-radius:999px;border:1px solid var(--line)}:root[data-theme=light] .timeline-stream-divider .divider-line,:root:not([data-theme=dark]) .timeline-stream-divider .divider-line{background:#e2e8f0}:root[data-theme=light] .timeline-stream-divider .divider-label,:root:not([data-theme=dark]) .timeline-stream-divider .divider-label{background:#fff;border-color:#d8e3e7;color:#64748b}.timeline-empty-hint{padding:24px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--text-dim);font-size:13px;margin-left:36px}.inline-edit-reply-box{display:flex;flex-direction:column;gap:10px}.inline-edit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-dir-buttons{display:flex;gap:4px}.inline-dir-buttons .dir-btn{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--text-dim);cursor:pointer}.inline-dir-buttons .dir-btn.active{border-color:var(--cyan);color:var(--cyan);background:#26d9c71a}.inline-edit-actions{display:flex;justify-content:flex-end;gap:8px}.btn-save-tiny{font-size:12px;padding:4px 12px;border-radius:6px;background:var(--cyan);color:#071019;border:none;font-weight:700;cursor:pointer}.btn-cancel-tiny{font-size:12px;padding:4px 12px;border-radius:6px;background:transparent;color:var(--text-dim);border:1px solid var(--line);cursor:pointer}.thread-quick-reply-card{margin-top:12px;border-radius:14px;border:1px solid var(--line);background:var(--card-bg);padding:18px 20px;box-shadow:0 4px 16px #00000026}:root[data-theme=light] .thread-quick-reply-card,:root:not([data-theme=dark]) .thread-quick-reply-card{background:#fff;border-color:#d1dde3;box-shadow:0 4px 14px #0f172a0d}.quick-reply-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.quick-reply-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text)}:root[data-theme=light] .quick-reply-title,:root:not([data-theme=dark]) .quick-reply-title{color:#12242f}.direction-pills-selector{display:flex;gap:6px;flex-wrap:wrap}.dir-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s ease}.dir-pill:hover{border-color:var(--cyan);color:var(--cyan)}.dir-pill.outbound.selected{background:#14b8a62e;color:#2dd4bf;border-color:#14b8a6}.dir-pill.inbound.selected{background:#3b82f62e;color:#60a5fa;border-color:#3b82f6}.dir-pill.third_party.selected{background:#a855f72e;color:#c084fc;border-color:#a855f7}:root[data-theme=light] .dir-pill,:root:not([data-theme=dark]) .dir-pill{background:#f8fafc;color:#64748b;border-color:#cbd5e1}:root[data-theme=light] .dir-pill.outbound.selected,:root:not([data-theme=dark]) .dir-pill.outbound.selected{background:#ccfbf1;color:#0f766e;border-color:#14b8a6}:root[data-theme=light] .dir-pill.inbound.selected,:root:not([data-theme=dark]) .dir-pill.inbound.selected{background:#dbeafe;color:#1d4ed8;border-color:#3b82f6}:root[data-theme=light] .dir-pill.third_party.selected,:root:not([data-theme=dark]) .dir-pill.third_party.selected{background:#f3e8ff;color:#7e22ce;border-color:#a855f7}.quick-reply-form{display:flex;flex-direction:column;gap:10px}.quick-reply-row-meta{display:grid;grid-template-columns:140px 1fr 130px;gap:10px}@media(max-width:640px){.quick-reply-row-meta{grid-template-columns:1fr 1fr}.quick-reply-row-meta .meta-field.status{grid-column:span 2}}.meta-field label{display:block;font-size:11px;font-weight:600;color:var(--text-dim);margin-bottom:4px}:root[data-theme=light] .meta-field label,:root:not([data-theme=dark]) .meta-field label{color:#475569}.quick-reply-row-bottom{display:flex;align-items:center;gap:12px}.quick-reply-row-bottom .meta-field.attachments{flex:1}.btn-submit-reply{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:8px 18px;border-radius:8px;border:none;background:var(--cyan);color:#071019;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-submit-reply:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-submit-reply:disabled{opacity:.6;cursor:not-allowed}.event-replies-editor-section{border-top:1px solid var(--line);padding-top:14px;margin-top:6px}.section-title-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px}.section-tip-pill{font-size:11px;color:var(--text-dim)}.replies-empty-tip{font-size:12px;color:var(--text-dim);padding:10px 12px;background:#ffffff08;border-radius:8px;border:1px dashed var(--line)}:root[data-theme=light] .replies-empty-tip,:root:not([data-theme=dark]) .replies-empty-tip{background:#f8fafc;border-color:#cbd5e1;color:#64748b}.modal-replies-mini-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:4px}.modal-reply-item{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel)}.modal-reply-item.outbound{border-left:3px solid #14b8a6}.modal-reply-item.inbound{border-left:3px solid #3b82f6}.modal-reply-item.third_party{border-left:3px solid #a855f7}:root[data-theme=light] .modal-reply-item,:root:not([data-theme=dark]) .modal-reply-item{background:#fff;border-color:#d8e3e7}.reply-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}.btn-reply-del{margin-left:auto;border:none;background:transparent;color:var(--text-dim);cursor:pointer;padding:2px 4px;border-radius:4px}.btn-reply-del:hover{color:#f87171;background:#ef44441a}.reply-body-text{margin:0;font-size:12px;color:var(--text);line-height:1.4}:root[data-theme=light] .reply-body-text,:root:not([data-theme=dark]) .reply-body-text{color:#1e293b}.reply-att-text{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:11px;color:var(--cyan)}:root[data-theme=light] .reply-att-text,:root:not([data-theme=dark]) .reply-att-text{color:#078278}.work-summary-container{display:flex;flex-direction:column;gap:16px;animation:fadeIn .2s ease-out}.summary-control-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:16px;flex-wrap:wrap}.summary-mode-pills{display:flex;background:#0003;padding:4px;border-radius:10px;gap:4px}:root[data-theme=light] .summary-mode-pills,:root:not([data-theme=dark]) .summary-mode-pills{background:#eef2f6}.summary-mode-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;color:var(--text-dim);background:transparent;cursor:pointer;transition:all .18s ease}.summary-mode-btn:hover{color:var(--text)}.summary-mode-btn.active{background:var(--panel);color:var(--cyan);box-shadow:0 2px 6px #00000026}:root[data-theme=light] .summary-mode-btn.active,:root:not([data-theme=dark]) .summary-mode-btn.active{background:#fff;color:#078278;box-shadow:0 2px 6px #00000014}.summary-period-nav{display:flex;align-items:center;gap:10px}.period-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;transition:all .18s ease}.period-nav-btn:hover{border-color:var(--cyan);color:var(--cyan)}.summary-period-label{margin:0;font-size:15px;font-weight:700;color:var(--text);min-width:180px;text-align:center}.period-today-btn{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.period-today-btn:hover{color:var(--text);border-color:var(--cyan)}.summary-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:900px){.summary-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.summary-stats-grid{grid-template-columns:1fr}}.summary-stat-card{display:flex;align-items:center;gap:14px;padding:16px 18px}.stat-icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.stat-icon-wrap.cyan{background:#26d9c726;color:var(--cyan)}.stat-icon-wrap.indigo{background:#6366f126;color:#818cf8}.stat-icon-wrap.emerald{background:#10b98126;color:#34d399}.stat-icon-wrap.amber{background:#f59e0b26;color:#fbbf24}:root[data-theme=light] .stat-icon-wrap.cyan,:root:not([data-theme=dark]) .stat-icon-wrap.cyan{background:#e0f4f2;color:#078278}:root[data-theme=light] .stat-icon-wrap.indigo,:root:not([data-theme=dark]) .stat-icon-wrap.indigo{background:#eef2ff;color:#4f46e5}:root[data-theme=light] .stat-icon-wrap.emerald,:root:not([data-theme=dark]) .stat-icon-wrap.emerald{background:#ecfdf5;color:#059669}:root[data-theme=light] .stat-icon-wrap.amber,:root:not([data-theme=dark]) .stat-icon-wrap.amber{background:#fef3c7;color:#d97706}.stat-info{display:flex;flex-direction:column;min-width:0}.stat-label{font-size:12px;color:var(--text-dim);margin-bottom:2px}.stat-val{font-size:20px;font-weight:800;color:var(--text);line-height:1.2}.stat-val small{font-size:13px;font-weight:400;color:var(--text-dim);margin-left:2px}.stat-sub{font-size:11px;color:var(--text-dim);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-subtabs-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;gap:12px;flex-wrap:wrap}.summary-subtabs{display:flex;gap:6px}.summary-subtab-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-dim);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.summary-subtab-btn:hover{color:var(--text);background:#ffffff0a}.summary-subtab-btn.active{background:#26d9c71f;color:var(--cyan);border-color:#26d9c740}:root[data-theme=light] .summary-subtab-btn.active,:root:not([data-theme=dark]) .summary-subtab-btn.active{background:#e0f4f2;color:#078278;border-color:#a7dfd8}.summary-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.summary-copy-btn:hover{background:var(--cyan);color:#000;border-color:var(--cyan);transform:translateY(-1px)}.summary-projects-wrapper{display:flex;flex-direction:column;gap:14px}.summary-project-block{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.summary-project-title-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.proj-title-left{display:flex;align-items:center;gap:8px}.proj-title-left h4{margin:0;font-size:15px;font-weight:700;color:var(--text)}.proj-count-pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#26d9c71f;color:var(--cyan)}:root[data-theme=light] .proj-count-pill,:root:not([data-theme=dark]) .proj-count-pill{background:#e0f4f2;color:#078278}.proj-time-pill{font-size:12px;color:var(--text-dim)}.summary-tasks-cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.summary-task-item-card{padding:12px 14px;border:1px solid var(--line);background:var(--panel-hover);border-radius:8px;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:6px}.summary-task-item-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.task-item-top{display:flex;align-items:center;gap:6px;font-size:11px}.task-item-name{margin:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.4}.task-item-notes{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.task-item-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:6px;border-top:1px dashed var(--line);font-size:11px;color:var(--text-dim)}.task-time-badge{display:inline-flex;align-items:center;gap:3px;color:var(--cyan)}:root[data-theme=light] .task-time-badge,:root:not([data-theme=dark]) .task-time-badge{color:#078278}.summary-logs-stream{padding:8px 16px;display:flex;flex-direction:column}.summary-log-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.summary-log-row:last-child{border-bottom:none}.log-row-date{display:flex;flex-direction:column;gap:4px;flex-shrink:0;min-width:80px}.date-badge{font-size:12px;font-weight:600;color:var(--text)}.mins-badge{font-size:11px;color:var(--cyan);font-weight:600}:root[data-theme=light] .mins-badge,:root:not([data-theme=dark]) .mins-badge{color:#078278}.log-row-body{flex:1;min-width:0}.log-row-title-line{display:flex;align-items:center;gap:8px;margin-bottom:4px}.log-project-pill{font-size:11px;padding:1px 6px;border-radius:4px;background:#26d9c71a;color:var(--cyan)}:root[data-theme=light] .log-project-pill,:root:not([data-theme=dark]) .log-project-pill{background:#e0f4f2;color:#078278}.log-title{font-size:13px;font-weight:600;color:var(--text)}.log-content-text{margin:0 0 6px;font-size:12px;color:var(--text-dim);line-height:1.4}.log-tags-row{display:flex;gap:4px;flex-wrap:wrap}.log-tag-pill{font-size:10px;color:var(--text-dim);background:#ffffff0a;padding:1px 5px;border-radius:3px}.summary-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.summary-event-card{padding:14px 16px;cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;gap:8px}.summary-event-card:hover{border-color:var(--cyan);transform:translateY(-1px)}.event-card-header{display:flex;align-items:center;gap:8px}.event-type-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 7px;border-radius:4px;font-weight:600}.event-type-badge.mail{background:#6366f126;color:#818cf8}.event-type-badge.feedback{background:#f59e0b26;color:#fbbf24}:root[data-theme=light] .event-type-badge.mail,:root:not([data-theme=dark]) .event-type-badge.mail{background:#eef2ff;color:#4f46e5}:root[data-theme=light] .event-type-badge.feedback,:root:not([data-theme=dark]) .event-type-badge.feedback{background:#fef3c7;color:#d97706}.event-project-text{font-size:11px;color:var(--text-dim);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-status-pill{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;background:#10b98126;color:#34d399}:root[data-theme=light] .event-status-pill,:root:not([data-theme=dark]) .event-status-pill{background:#ecfdf5;color:#059669}.event-card-title{margin:0;font-size:14px;font-weight:700;color:var(--text);line-height:1.4}.event-card-snippet{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-dim);margin-top:4px;padding-top:6px;border-top:1px dashed var(--line)}.event-replies-count{display:inline-flex;align-items:center;gap:4px;color:var(--cyan);font-weight:600}:root[data-theme=light] .event-replies-count,:root:not([data-theme=dark]) .event-replies-count{color:#078278}.summary-empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{color:var(--text-dim);opacity:.5;margin-bottom:12px}.summary-empty-card h4{margin:0 0 6px;font-size:15px;color:var(--text)}.summary-empty-card p{margin:0;font-size:13px;color:var(--text-dim)}.review-autofill-banner{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;background:#26d9c714;border:1px solid rgba(38,217,199,.25);margin-bottom:14px;gap:12px;flex-wrap:wrap}:root[data-theme=light] .review-autofill-banner,:root:not([data-theme=dark]) .review-autofill-banner{background:#e8f7f5;border-color:#a7dfd8}.autofill-banner-left{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text)}.btn-autofill-action{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;border:none;background:linear-gradient(135deg,#26d9c7,#14b8a6);color:#032b28;font-size:12px;font-weight:700;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 6px #26d9c74d}.btn-autofill-action:hover{transform:translateY(-1px);box-shadow:0 4px 10px #26d9c766}.cal-stat-item.work-highlight{background:#26d9c71a;color:var(--cyan);padding:3px 8px;border-radius:6px;border:1px solid rgba(38,217,199,.2)}:root[data-theme=light] .cal-stat-item.work-highlight,:root:not([data-theme=dark]) .cal-stat-item.work-highlight{background:#e0f4f2;color:#078278;border-color:#a7dfd8}.stat-pill-box.work-accent{border-color:#26d9c740;background:#26d9c70d}:root[data-theme=light] .stat-pill-box.work-accent,:root:not([data-theme=dark]) .stat-pill-box.work-accent{background:#f0faf8;border-color:#b5e8e2}.weekly-work-facts-block{margin-top:14px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel-hover);display:flex;flex-direction:column;gap:10px}.facts-block-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid var(--line)}.facts-block-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--text)}.facts-count-tag{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:#26d9c71f;color:var(--cyan)}:root[data-theme=light] .facts-count-tag,:root:not([data-theme=dark]) .facts-count-tag{background:#e0f4f2;color:#078278}.facts-empty-mini{padding:12px 0;text-align:center;font-size:12px;color:var(--text-dim)}.facts-content-scroll{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;padding-right:4px}.facts-group{display:flex;flex-direction:column;gap:6px}.facts-group-label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--text-dim)}.facts-items-list{display:flex;flex-direction:column;gap:5px}.facts-task-row,.facts-event-row,.facts-log-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--panel);border:1px solid var(--line);font-size:12px}.facts-task-main{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.facts-p-tag{font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px}.facts-p-tag.P0{background:#ef444426;color:#f87171}.facts-p-tag.P1{background:#f59e0b26;color:#fbbf24}.facts-p-tag.P2{background:#10b98126;color:#34d399}:root[data-theme=light] .facts-p-tag.P0,:root:not([data-theme=dark]) .facts-p-tag.P0{background:#fee2e2;color:#dc2626}:root[data-theme=light] .facts-p-tag.P1,:root:not([data-theme=dark]) .facts-p-tag.P1{background:#fef3c7;color:#d97706}:root[data-theme=light] .facts-p-tag.P2,:root:not([data-theme=dark]) .facts-p-tag.P2{background:#ecfdf5;color:#059669}.facts-name-text{color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facts-task-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.facts-proj-pill{font-size:10px;padding:1px 6px;border-radius:4px;background:#26d9c71a;color:var(--cyan)}:root[data-theme=light] .facts-proj-pill,:root:not([data-theme=dark]) .facts-proj-pill{background:#e0f4f2;color:#078278}.facts-mins-text{font-size:11px;color:var(--text-dim);font-weight:600}.facts-event-badge{font-size:10px;padding:1px 5px;border-radius:3px;background:#6366f126;color:#818cf8}:root[data-theme=light] .facts-event-badge,:root:not([data-theme=dark]) .facts-event-badge{background:#eef2ff;color:#4f46e5}.facts-status-pill{font-size:10px;color:#34d399}:root[data-theme=light] .facts-status-pill,:root:not([data-theme=dark]) .facts-status-pill{color:#059669}.facts-date-label{font-size:11px;color:var(--text-dim);min-width:40px}.facts-projects-pills-row{display:flex;gap:5px;flex-wrap:wrap}.facts-project-badge{font-size:11px;padding:2px 7px;border-radius:4px;background:#26d9c71a;color:var(--cyan)}:root[data-theme=light] .facts-project-badge,:root:not([data-theme=dark]) .facts-project-badge{background:#e0f4f2;color:#078278}.work-summary-pill{color:var(--cyan)!important;font-weight:600}:root[data-theme=light] .work-summary-pill,:root:not([data-theme=dark]) .work-summary-pill{color:#078278!important}.day-col-work-block{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:6px}.col-tasks-title.work-title{display:flex;align-items:center;gap:4px;color:var(--cyan)}:root[data-theme=light] .col-tasks-title.work-title,:root:not([data-theme=dark]) .col-tasks-title.work-title{color:#078278}.week-work-task-card{padding:8px 10px;border-radius:6px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cyan);display:flex;flex-direction:column;gap:4px;cursor:grab;transition:all .18s ease}.week-work-task-card:hover{transform:translateY(-1px);border-color:var(--cyan)}.week-work-task-card.done{opacity:.65;border-left-color:#10b981}.work-task-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.3}.work-status-badge{font-size:10px;padding:1px 5px;border-radius:3px;background:#ffffff0d;color:var(--text-dim)}.work-status-badge.已完成{background:#10b98126;color:#34d399}:root[data-theme=light] .work-status-badge.已完成,:root:not([data-theme=dark]) .work-status-badge.已完成{background:#ecfdf5;color:#059669}.bottom-events-scope-tabs{display:inline-flex;align-items:center;gap:6px;background:#0003;padding:3px;border-radius:8px;margin-left:12px}:root[data-theme=light] .bottom-events-scope-tabs,:root:not([data-theme=dark]) .bottom-events-scope-tabs{background:#eef2f6}.scope-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.scope-tab-btn:hover{color:var(--text)}.scope-tab-btn.active{background:var(--panel);color:var(--cyan);box-shadow:0 1px 4px #0000001f}:root[data-theme=light] .scope-tab-btn.active,:root:not([data-theme=dark]) .scope-tab-btn.active{background:#fff;color:#078278;box-shadow:0 1px 4px #0000000f}.scope-tab-btn.closed.active{color:#10b981}:root[data-theme=light] .scope-tab-btn.closed.active,:root:not([data-theme=dark]) .scope-tab-btn.closed.active{color:#059669}.scope-tab-btn .count-pill{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;background:#26d9c726;color:var(--cyan)}:root[data-theme=light] .scope-tab-btn .count-pill,:root:not([data-theme=dark]) .scope-tab-btn .count-pill{background:#e0f4f2;color:#078278}.scope-tab-btn .count-pill.closed{background:#10b98126;color:#10b981}:root[data-theme=light] .scope-tab-btn .count-pill.closed,:root:not([data-theme=dark]) .scope-tab-btn .count-pill.closed{background:#ecfdf5;color:#059669}.btn-event-archive-open{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid rgba(16,185,129,.3);background:#10b98114;color:#34d399;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.btn-event-archive-open:hover{background:#10b9812e;transform:translateY(-1px)}:root[data-theme=light] .btn-event-archive-open,:root:not([data-theme=dark]) .btn-event-archive-open{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.events-archive-tip-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;margin-bottom:12px;border-radius:6px;background:#10b9810f;border:1px dashed rgba(16,185,129,.25);font-size:12px}:root[data-theme=light] .events-archive-tip-bar,:root:not([data-theme=dark]) .events-archive-tip-bar{background:#f0fdf9;border-color:#bbf7d0}.events-archive-tip-bar .tip-text{display:flex;align-items:center;gap:6px;color:var(--text-dim)}.events-archive-tip-bar .tip-btn-link{border:none;background:transparent;color:var(--cyan);font-size:12px;font-weight:600;cursor:pointer;padding:0}.events-archive-tip-bar .tip-btn-link:hover{text-decoration:underline}:root[data-theme=light] .events-archive-tip-bar .tip-btn-link,:root:not([data-theme=dark]) .events-archive-tip-bar .tip-btn-link{color:#078278}.events-closed-view-banner{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;margin-bottom:12px;border-radius:6px;background:#26d9c714;border:1px solid rgba(38,217,199,.25);font-size:12px}:root[data-theme=light] .events-closed-view-banner,:root:not([data-theme=dark]) .events-closed-view-banner{background:#e8f7f5;border-color:#a7dfd8}.events-closed-view-banner .banner-left{display:flex;align-items:center;gap:8px;color:var(--text)}.events-closed-view-banner .btn-back-active{padding:3px 10px;border-radius:4px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:11px;font-weight:600;cursor:pointer}.events-closed-view-banner .btn-back-active:hover{border-color:var(--cyan);color:var(--cyan)}.closed-events-modal{max-width:980px;width:95%;max-height:88vh;display:flex;flex-direction:column}.closed-events-modal .modal-header-tag.archive{background:#10b98126;color:#34d399}:root[data-theme=light] .closed-events-modal .modal-header-tag.archive,:root:not([data-theme=dark]) .closed-events-modal .modal-header-tag.archive{background:#ecfdf5;color:#059669}.closed-modal-filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.closed-search-box{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel);flex:1;min-width:220px}.closed-search-box input{border:none;background:transparent;color:var(--text);font-size:13px;width:100%;outline:none}.closed-search-box .clear-btn{border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0 4px}.closed-proj-filter select{padding:6px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:13px;outline:none}.closed-total-pill{font-size:12px;color:var(--text-dim);margin-left:auto}.closed-total-pill b{color:#10b981}:root[data-theme=light] .closed-total-pill b,:root:not([data-theme=dark]) .closed-total-pill b{color:#059669}.closed-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.closed-empty-box .empty-icon{color:var(--text-dim);opacity:.5;margin-bottom:12px}.closed-empty-box h4{margin:0 0 6px;font-size:15px;color:var(--text)}.closed-empty-box p{margin:0;font-size:13px;color:var(--text-dim)}.event-row.closed-event-row{opacity:.88}.work-tab-btn .tab-count-pill.archive{font-size:11px;padding:1px 7px;border-radius:999px;background:#10b98133;color:#34d399;font-weight:700;line-height:1.3}:root[data-theme=light] .work-tab-btn .tab-count-pill.archive,:root:not([data-theme=dark]) .work-tab-btn .tab-count-pill.archive{background:#ecfdf5;color:#059669}.work-tab-btn.active .tab-count-pill.archive{background:#10b98159;color:#10b981}.kanban-scope-tabs{display:inline-flex;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px}.kanban-scope-tabs .scope-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease}.kanban-scope-tabs .scope-tab-btn:hover{color:var(--text)}.kanban-scope-tabs .scope-tab-btn.active{background:var(--panel);color:var(--cyan);font-weight:600;box-shadow:0 1px 4px #0000001f}.kanban-scope-tabs .scope-tab-btn.closed.active{color:#10b981}:root[data-theme=light] .kanban-scope-tabs .scope-tab-btn.closed.active,:root:not([data-theme=dark]) .kanban-scope-tabs .scope-tab-btn.closed.active{color:#059669}.kanban-scope-tabs .scope-tab-btn .count-pill{padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;background:#ffffff14;color:inherit}:root[data-theme=light] .kanban-scope-tabs .scope-tab-btn .count-pill,:root:not([data-theme=dark]) .kanban-scope-tabs .scope-tab-btn .count-pill{background:#0000000f}.kanban-scope-tabs .scope-tab-btn .count-pill.closed{background:#10b98126;color:#34d399}:root[data-theme=light] .kanban-scope-tabs .scope-tab-btn .count-pill.closed,:root:not([data-theme=dark]) .kanban-scope-tabs .scope-tab-btn .count-pill.closed{background:#ecfdf5;color:#059669}.btn-kanban-archive-open{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid rgba(16,185,129,.3);background:#10b98114;color:#34d399;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.btn-kanban-archive-open:hover{background:#10b9812e;transform:translateY(-1px)}:root[data-theme=light] .btn-kanban-archive-open,:root:not([data-theme=dark]) .btn-kanban-archive-open{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.kanban-archive-tip-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;margin-bottom:12px;border-radius:6px;background:#10b9810f;border:1px dashed rgba(16,185,129,.25);font-size:12px}:root[data-theme=light] .kanban-archive-tip-bar,:root:not([data-theme=dark]) .kanban-archive-tip-bar{background:#f0fdf9;border-color:#bbf7d0}.kanban-archive-tip-bar .tip-text{display:flex;align-items:center;gap:6px;color:var(--text-dim)}.kanban-archive-tip-bar .tip-btn-link{border:none;background:transparent;color:#10b981;font-size:12px;font-weight:600;cursor:pointer;padding:0}.kanban-archive-tip-bar .tip-btn-link:hover{text-decoration:underline}:root[data-theme=light] .kanban-archive-tip-bar .tip-btn-link,:root:not([data-theme=dark]) .kanban-archive-tip-bar .tip-btn-link{color:#059669}.done-drop-zone-card{min-width:200px;max-width:240px;border:2px dashed rgba(16,185,129,.35);background:#10b98108;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .22s ease;padding:24px 16px;text-align:center;border-radius:10px;box-sizing:border-box}.done-drop-zone-card:hover{border-color:#10b981;background:#10b98114;transform:translateY(-2px)}.done-drop-zone-card.is-drag-over{border-color:#10b981;background:#10b98129;box-shadow:0 0 16px #10b98140;transform:scale(1.02)}:root[data-theme=light] .done-drop-zone-card,:root:not([data-theme=dark]) .done-drop-zone-card{background:#f0fdf9;border-color:#a7f3d0}:root[data-theme=light] .done-drop-zone-card:hover,:root:not([data-theme=dark]) .done-drop-zone-card:hover{background:#ecfdf5;border-color:#10b981}.done-drop-zone-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.drop-zone-icon-circle{width:48px;height:48px;border-radius:50%;background:#10b9811f;color:#10b981;display:flex;align-items:center;justify-content:center;margin-bottom:4px}:root[data-theme=light] .drop-zone-icon-circle,:root:not([data-theme=dark]) .drop-zone-icon-circle{background:#d1fae5;color:#059669}.drop-zone-title{margin:0;font-size:14px;font-weight:700;color:var(--text)}.drop-zone-desc{margin:0;font-size:11px;color:var(--text-dim);line-height:1.4}.drop-zone-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#10b9811f;color:#34d399}:root[data-theme=light] .drop-zone-badge,:root:not([data-theme=dark]) .drop-zone-badge{background:#ecfdf5;color:#059669}.drop-zone-hint{font-size:11px;color:var(--cyan);margin-top:4px;font-weight:500}:root[data-theme=light] .drop-zone-hint,:root:not([data-theme=dark]) .drop-zone-hint{color:#08766e}.kanban-closed-banner{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;margin-bottom:14px;border-radius:6px;background:#10b98114;border:1px solid rgba(16,185,129,.25);font-size:13px}:root[data-theme=light] .kanban-closed-banner,:root:not([data-theme=dark]) .kanban-closed-banner{background:#ecfdf5;border-color:#a7f3d0}.kanban-closed-banner .banner-left{display:flex;align-items:center;gap:8px;color:var(--text)}.kanban-closed-banner .btn-back-active{padding:4px 12px;border-radius:4px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.kanban-closed-banner .btn-back-active:hover{border-color:var(--cyan);color:var(--cyan)}.completed-tasks-archive-container{display:flex;flex-direction:column;gap:14px}.completed-tasks-archive-container.in-modal{gap:12px}.completed-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:900px){.completed-stats-grid{grid-template-columns:repeat(2,1fr)}}.completed-stat-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:8px}.completed-stat-card .stat-icon-wrap{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.completed-stat-card .stat-icon-wrap.total{background:#10b98126;color:#34d399}.completed-stat-card .stat-icon-wrap.actual{background:#38bdf826;color:#38bdf8}.completed-stat-card .stat-icon-wrap.est{background:#f59e0b26;color:#fbbf24}.completed-stat-card .stat-icon-wrap.project{background:#a855f726;color:#c084fc}:root[data-theme=light] .completed-stat-card .stat-icon-wrap.total,:root:not([data-theme=dark]) .completed-stat-card .stat-icon-wrap.total{background:#d1fae5;color:#059669}:root[data-theme=light] .completed-stat-card .stat-icon-wrap.actual,:root:not([data-theme=dark]) .completed-stat-card .stat-icon-wrap.actual{background:#e0f2fe;color:#0284c7}:root[data-theme=light] .completed-stat-card .stat-icon-wrap.est,:root:not([data-theme=dark]) .completed-stat-card .stat-icon-wrap.est{background:#fef3c7;color:#d97706}:root[data-theme=light] .completed-stat-card .stat-icon-wrap.project,:root:not([data-theme=dark]) .completed-stat-card .stat-icon-wrap.project{background:#f3e8ff;color:#7e22ce}.completed-stat-card .stat-content{display:flex;flex-direction:column}.completed-stat-card .stat-num{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.completed-stat-card .stat-label{font-size:12px;color:var(--text-dim);margin-top:2px}.completed-filter-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;flex-wrap:wrap}.completed-total-badge{margin-left:auto;font-size:12px;color:var(--text-dim)}.completed-total-badge b{color:#10b981}:root[data-theme=light] .completed-total-badge b,:root:not([data-theme=dark]) .completed-total-badge b{color:#059669}.completed-table-panel{padding:0;overflow:hidden;border-radius:8px}.completed-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.completed-empty-box .empty-icon{color:var(--text-dim);opacity:.5;margin-bottom:12px}.completed-empty-box h4{margin:0 0 6px;font-size:15px;color:var(--text)}.completed-empty-box p{margin:0;font-size:13px;color:var(--text-dim);max-width:480px}.completed-tasks-table{width:100%;border-collapse:collapse;font-size:13px}.completed-tasks-table th{padding:10px 14px;background:var(--bg);color:var(--text-dim);font-size:12px;font-weight:600;border-bottom:1px solid var(--line);text-align:left}.completed-task-row{border-bottom:1px solid var(--line);transition:background .15s ease}.completed-task-row:hover{background:#ffffff08}:root[data-theme=light] .completed-task-row:hover,:root:not([data-theme=dark]) .completed-task-row:hover{background:#f8fafc}.completed-task-row td{padding:12px 14px;vertical-align:middle}.task-status-pill.done{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#10b98126;color:#34d399}:root[data-theme=light] .task-status-pill.done,:root:not([data-theme=dark]) .task-status-pill.done{background:#d1fae5;color:#059669}.archive-task-name{color:var(--text);font-size:13.5px;cursor:pointer}.archive-task-name:hover{color:var(--cyan);text-decoration:underline}.archive-task-notes-text{margin:3px 0 0;font-size:12px;color:var(--text-dim);line-height:1.4}.btn-reactivate-task{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;border:1px solid rgba(56,189,248,.3);background:#38bdf814;color:#38bdf8;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-right:6px}.btn-reactivate-task:hover{background:#38bdf833;transform:translateY(-1px)}:root[data-theme=light] .btn-reactivate-task,:root:not([data-theme=dark]) .btn-reactivate-task{background:#e0f2fe;color:#0284c7;border-color:#bae6fd}.overdue-matters-banner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:18px;background:linear-gradient(135deg,#ef44441f,#f59e0b1a);border:1px solid rgba(239,68,68,.35);border-left:5px solid #ef4444;border-radius:12px;gap:16px;flex-wrap:wrap;box-shadow:0 4px 16px #ef44441a;transition:all .25s ease}:root[data-theme=light] .overdue-matters-banner,:root:not([data-theme=dark]) .overdue-matters-banner{background:linear-gradient(135deg,#fff1f2,#fffbeb);border-color:#fecdd3;border-left-color:#e11d48}.overdue-banner-left{display:flex;align-items:center;gap:14px;flex:1;min-width:280px}.overdue-icon-pulse{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#ef444433;color:#f87171;flex-shrink:0;animation:pulseWarning 2s infinite}:root[data-theme=light] .overdue-icon-pulse,:root:not([data-theme=dark]) .overdue-icon-pulse{background:#fee2e2;color:#dc2626}@keyframes pulseWarning{0%{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.overdue-banner-text{display:flex;flex-direction:column;gap:4px}.overdue-banner-text .banner-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--text)}.overdue-banner-text .banner-desc-line{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.overdue-badge-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#ef4444;color:#fff}.overdue-badge-pill.sener{background:#6366f133;border:1px solid rgba(99,102,241,.4);color:#818cf8}:root[data-theme=light] .overdue-badge-pill.sener,:root:not([data-theme=dark]) .overdue-badge-pill.sener{background:#e0e7ff;border-color:#c7d2fe;color:#4338ca}.overdue-badge-pill.projco{background:#0ea5e933;border:1px solid rgba(14,165,233,.4);color:#38bdf8}:root[data-theme=light] .overdue-badge-pill.projco,:root:not([data-theme=dark]) .overdue-badge-pill.projco{background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.overdue-banner-actions{display:flex;align-items:center;gap:10px}.btn-overdue-view{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid rgba(239,68,68,.4);background:#ef4444;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 8px #ef444440}.btn-overdue-view:hover{background:#dc2626;transform:translateY(-1px)}.btn-overdue-copy-all{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease}.btn-overdue-copy-all:hover{background:var(--bg);border-color:var(--cyan);color:var(--cyan)}.scope-tab-btn.overdue{color:#f87171}.scope-tab-btn.overdue:hover{color:#ef4444}.scope-tab-btn.overdue.active{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.count-pill.overdue{background:#ef444433;color:#f87171;font-weight:700}:root[data-theme=light] .count-pill.overdue,:root:not([data-theme=dark]) .count-pill.overdue{background:#fee2e2;color:#b91c1c}.task-card-external-row{display:flex;align-items:center;gap:6px;margin:4px 0 8px;flex-wrap:wrap}.task-unit-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px;border-radius:4px;background:#6366f11f;border:1px solid rgba(99,102,241,.25);color:#a5b4fc;font-weight:600;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=light] .task-unit-pill,:root:not([data-theme=dark]) .task-unit-pill{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.task-unit-pill.sener{background:#8b5cf626;border-color:#8b5cf659;color:#c4b5fd}:root[data-theme=light] .task-unit-pill.sener,:root:not([data-theme=dark]) .task-unit-pill.sener{background:#f5f3ff;border-color:#ddd6fe;color:#6d28d9}.task-deadline-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600}.task-deadline-pill.overdue{background:#ef44442e;border:1px solid rgba(239,68,68,.4);color:#f87171;animation:pulseSubtle 2.5s infinite}:root[data-theme=light] .task-deadline-pill.overdue,:root:not([data-theme=dark]) .task-deadline-pill.overdue{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.task-deadline-pill.due-today{background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);color:#fbbf24}:root[data-theme=light] .task-deadline-pill.due-today,:root:not([data-theme=dark]) .task-deadline-pill.due-today{background:#fef3c7;border-color:#fde68a;color:#b45309}.task-deadline-pill.pending{background:#38bdf81f;border:1px solid rgba(56,189,248,.3);color:#38bdf8}:root[data-theme=light] .task-deadline-pill.pending,:root:not([data-theme=dark]) .task-deadline-pill.pending{background:#f0f9ff;border-color:#bae6fd;color:#0284c7}.task-deadline-pill.closed{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#34d399}:root[data-theme=light] .task-deadline-pill.closed,:root:not([data-theme=dark]) .task-deadline-pill.closed{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.btn-card-urge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-card-urge:hover{background:#ef4444;color:#fff;transform:translateY(-1px)}:root[data-theme=light] .btn-card-urge,:root:not([data-theme=dark]) .btn-card-urge{background:#fee2e2;border-color:#fca5a5;color:#dc2626}:root[data-theme=light] .btn-card-urge:hover,:root:not([data-theme=dark]) .btn-card-urge:hover{background:#dc2626;color:#fff}.task-type-segment-tabs{display:flex;gap:8px;margin-top:4px}.task-type-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease}.task-type-tab-btn:hover{color:var(--text);border-color:var(--line-bold)}.task-type-tab-btn.active{background:var(--panel);border-color:var(--cyan);color:var(--cyan);font-weight:600;box-shadow:0 0 0 1px var(--cyan)}.external-fields-panel{padding:14px;border-radius:10px;background:#6366f10d;border:1px solid rgba(99,102,241,.2);margin-top:10px}:root[data-theme=light] .external-fields-panel,:root:not([data-theme=dark]) .external-fields-panel{background:#f8fafc;border-color:#e2e8f0}.unit-presets-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.unit-preset-btn{padding:3px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.unit-preset-btn:hover{border-color:var(--cyan);color:var(--text)}.unit-preset-btn.selected{background:#6366f133;border-color:#818cf8;color:#818cf8;font-weight:600}:root[data-theme=light] .unit-preset-btn.selected,:root:not([data-theme=dark]) .unit-preset-btn.selected{background:#e0e7ff;border-color:#818cf8;color:#3730a3}.label-with-deadline-preview{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.deadline-preview-badge{font-size:11px;padding:1px 8px;border-radius:999px;font-weight:600}.deadline-preview-badge.overdue{background:#ef444433;color:#f87171}:root[data-theme=light] .deadline-preview-badge.overdue,:root:not([data-theme=dark]) .deadline-preview-badge.overdue{background:#fee2e2;color:#b91c1c}.deadline-preview-badge.due-today{background:#f59e0b33;color:#fbbf24}:root[data-theme=light] .deadline-preview-badge.due-today,:root:not([data-theme=dark]) .deadline-preview-badge.due-today{background:#fef3c7;color:#b45309}.deadline-preview-badge.pending{background:#38bdf833;color:#38bdf8}:root[data-theme=light] .deadline-preview-badge.pending,:root:not([data-theme=dark]) .deadline-preview-badge.pending{background:#e0f2fe;color:#0369a1}.deadline-input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.deadline-input-row .form-control{max-width:170px}.deadline-quick-btns{display:flex;gap:4px}.deadline-quick-btns button{padding:4px 8px;border-radius:5px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s ease}.deadline-quick-btns button:hover{background:var(--panel);border-color:var(--cyan);color:var(--cyan)}.deadline-quick-btns button.clear{color:#f87171}.overdue-matters-modal{max-width:950px}.modal-header-tag.overdue{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#f87171}:root[data-theme=light] .modal-header-tag.overdue,:root:not([data-theme=dark]) .modal-header-tag.overdue{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.overdue-modal-top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.unit-filter-pills{display:flex;gap:6px;flex-wrap:wrap}.unit-pill-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease}.unit-pill-btn:hover{color:var(--text);border-color:var(--line-bold)}.unit-pill-btn.active{background:var(--panel);border-color:var(--cyan);color:var(--cyan);font-weight:600}.unit-pill-btn.sener.active{border-color:#818cf8;color:#818cf8;background:#6366f126}.unit-pill-btn.projco.active{border-color:#38bdf8;color:#38bdf8;background:#38bdf826}.unit-pill-btn .pill-badge{font-size:10px;padding:1px 6px;border-radius:999px;background:#ef444433;color:#f87171;font-weight:700}.overdue-modal-right-actions{display:flex;align-items:center;gap:10px}.overdue-search-box{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;border:1px solid var(--line);background:var(--bg)}.overdue-search-box input{border:none;background:transparent;color:var(--text);font-size:12px;outline:none;width:150px}.btn-batch-copy-overdue{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--cyan);background:#06b6d426;color:var(--cyan);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.btn-batch-copy-overdue:hover{background:var(--cyan);color:#fff}.overdue-items-list{display:flex;flex-direction:column;gap:12px}.overdue-item-card{padding:14px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--line);border-left:4px solid #ef4444;display:flex;flex-direction:column;gap:8px;transition:all .18s ease}.overdue-item-card:hover{border-color:#ef444480;box-shadow:0 4px 12px #00000026}.overdue-item-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.item-meta-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.item-kind-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px;border-radius:4px;background:var(--bg);color:var(--text-dim)}.item-kind-badge.mail{color:#60a5fa}.item-kind-badge.feedback{color:#f59e0b}.item-unit-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:#6366f126;color:#818cf8}.item-unit-badge.sener{background:#8b5cf62e;color:#a78bfa}.item-project-tag{font-size:11px;color:var(--text-dim)}.item-meta-right{display:flex;align-items:center;gap:8px}.item-date-text{font-size:11px;color:var(--text-dim)}.overdue-item-title{margin:0;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.overdue-item-title:hover{color:var(--cyan)}.overdue-item-notes,.overdue-item-remarks{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.overdue-item-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px dashed var(--line);flex-wrap:wrap}.footer-status-hint,.status-indicator{font-size:11px;color:var(--text-dim)}.footer-status-hint .status-name{color:var(--text);font-weight:600}.footer-actions{display:flex;align-items:center;gap:8px}.btn-urge-single{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-urge-single:hover{background:#ef4444;color:#fff}.btn-item-edit{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s ease}.btn-item-edit:hover{color:var(--text);border-color:var(--cyan)}.external-kanban-subview{display:flex;flex-direction:column;gap:14px}.kanban-external-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:10px;margin-bottom:14px;flex-wrap:wrap;gap:10px}.banner-actions-right{display:flex;align-items:center;gap:10px}.btn-kanban-urge-batch{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;border:1px solid #ef4444;background:#ef444426;color:#f87171;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-kanban-urge-batch:hover{background:#ef4444;color:#fff}.external-kanban-filter-bar{margin-bottom:4px}.external-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.external-task-card{display:flex;flex-direction:column;padding:14px 16px;border-radius:10px;gap:10px;position:relative;transition:all .18s ease}.external-task-card.is-overdue{border-left:4px solid #ef4444;background:linear-gradient(to bottom right,rgba(239,68,68,.05),var(--panel))}.external-task-card .card-top-row{display:flex;align-items:center;justify-content:space-between}.external-task-card .unit-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;background:#6366f126;color:#818cf8}.external-task-card .unit-pill.sener{background:#8b5cf62e;color:#a78bfa}.external-task-card .deadline-status-badge{font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px}.external-task-card .deadline-status-badge.overdue{background:#ef444433;color:#f87171}.external-task-card .deadline-status-badge.due-today{background:#f59e0b33;color:#fbbf24}.external-task-card .deadline-status-badge.pending{background:#38bdf826;color:#38bdf8}.external-task-card .task-title{margin:0;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;line-height:1.4}.external-task-card .task-title:hover{color:var(--cyan)}.external-task-card .task-notes{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.external-task-card .card-meta-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dim);padding-top:6px;border-top:1px dashed var(--line)}.external-task-card .card-actions-row{display:flex;align-items:center;gap:8px}.external-task-card .btn-urge-pill{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-radius:6px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.external-task-card .btn-urge-pill:hover{background:#ef4444;color:#fff}.external-task-card .btn-edit-pill,.external-task-card .btn-finish-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:11px;cursor:pointer;transition:all .15s ease}.external-task-card .btn-finish-pill:hover{border-color:#10b981;color:#10b981}.unit-name-wrap{display:flex;flex-direction:column;gap:3px}.unit-tag-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;background:#6366f126;color:#818cf8;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unit-tag-pill.sener{background:#8b5cf62e;color:#a78bfa}.parties-sub-text{font-size:11px;color:var(--text-dim)}.deadline-badge-group{display:flex;flex-direction:column;gap:2px}.deadline-status-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;width:fit-content}.deadline-status-pill.overdue{background:#ef444433;color:#f87171}:root[data-theme=light] .deadline-status-pill.overdue,:root:not([data-theme=dark]) .deadline-status-pill.overdue{background:#fee2e2;color:#b91c1c}.deadline-status-pill.due-today{background:#f59e0b33;color:#fbbf24}.deadline-status-pill.pending{background:#38bdf826;color:#38bdf8}.deadline-status-pill.closed{background:#10b98126;color:#34d399}.deadline-date-sub{font-size:10px;color:var(--text-dim)}.icon-tiny.urge{color:#f87171}.icon-tiny.urge:hover{background:#ef444433;color:#ef4444}.summary-subtab-btn.overdue{color:#f87171}.summary-subtab-btn.overdue.active{border-color:#ef444466;color:#ef4444}.summary-external-matters-list{display:flex;flex-direction:column;gap:12px}.summary-external-card{padding:14px 18px;border-radius:10px;border-left:4px solid #ef4444;display:flex;flex-direction:column;gap:8px}.summary-external-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.summary-external-card-header .header-left,.summary-external-card-header .header-right{display:flex;align-items:center;gap:8px}.summary-external-card-header .project-badge{font-size:11px;color:var(--text-dim)}.summary-external-card-header .kind-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--bg);color:var(--text-dim)}.summary-external-card-header .deadline-date-text{font-size:11px;color:var(--text-dim)}.summary-external-card .external-item-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.summary-external-card .external-item-desc{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.summary-external-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px dashed var(--line)}.summary-external-card-footer .footer-status-pill{font-size:11px;color:var(--text-dim)}.btn-urge-copy-small{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:1px solid rgba(239,68,68,.4);background:#ef444426;color:#f87171;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-urge-copy-small:hover{background:#ef4444;color:#fff}.completed-at-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#34d399;background:#10b9811f;border:1px solid rgba(16,185,129,.25);padding:2px 7px;border-radius:4px}:root[data-theme=light] .completed-at-pill,:root:not([data-theme=dark]) .completed-at-pill{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.planned-date-sub{font-size:10px;color:var(--text-dim);margin-top:2px;display:block}.task-completed-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#34d399;background:#10b9811a;padding:2px 6px;border-radius:4px;font-weight:500}:root[data-theme=light] .task-completed-pill,:root:not([data-theme=dark]) .task-completed-pill{background:#ecfdf5;color:#059669}.completed-at-panel{padding:12px 14px;border-radius:8px;background:#10b9810f;border:1px solid rgba(16,185,129,.25);margin-top:10px}:root[data-theme=light] .completed-at-panel,:root:not([data-theme=dark]) .completed-at-panel{background:#f0fdf4;border-color:#bbf7d0}.completed-at-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.completed-at-input-row .form-control{max-width:200px}.completed-at-quick-btns{display:flex;align-items:center;gap:4px}.completed-at-quick-btns button{padding:4px 10px;border-radius:5px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.completed-at-quick-btns button:hover{border-color:#10b981;color:#10b981;background:var(--panel)}.completed-at-quick-btns button.clear{color:#ef4444}.overdue-badge-pill.concremat{background:#14b8a633;border:1px solid rgba(20,184,166,.4);color:#2dd4bf}:root[data-theme=light] .overdue-badge-pill.concremat,:root:not([data-theme=dark]) .overdue-badge-pill.concremat{background:#ccfbf1;border-color:#99f6e4;color:#0f766e}.task-unit-pill.concremat{background:#14b8a626;border-color:#14b8a659;color:#2dd4bf}:root[data-theme=light] .task-unit-pill.concremat,:root:not([data-theme=dark]) .task-unit-pill.concremat{background:#f0fdfa;border-color:#ccfbf1;color:#0f766e}.task-unit-pill.projco{background:#0ea5e926;border-color:#0ea5e959;color:#38bdf8}:root[data-theme=light] .task-unit-pill.projco,:root:not([data-theme=dark]) .task-unit-pill.projco{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.unit-pill-btn.concremat.active{border-color:#2dd4bf;color:#2dd4bf;background:#14b8a626}.item-unit-badge.concremat{background:#14b8a62e;color:#2dd4bf}.item-unit-badge.projco{background:#0ea5e92e;color:#38bdf8}.external-task-card .unit-pill.concremat{background:#14b8a62e;color:#2dd4bf}.external-task-card .unit-pill.projco{background:#0ea5e92e;color:#38bdf8}.filter-pills-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease}.filter-pill:hover{color:var(--text);border-color:var(--line-bold)}.filter-pill.active{background:var(--panel);border-color:var(--cyan);color:var(--cyan);font-weight:600}.filter-pill.sener.active{border-color:#818cf8;color:#818cf8;background:#6366f126}.filter-pill.concremat.active{border-color:#2dd4bf;color:#2dd4bf;background:#14b8a626}.filter-pill.projco.active{border-color:#38bdf8;color:#38bdf8;background:#38bdf826}.unit-tag-pill.concremat{background:#14b8a62e;color:#2dd4bf}.unit-tag-pill.projco{background:#0ea5e92e;color:#38bdf8}.unit-multiselect-hint{font-size:11px;font-weight:400;color:var(--cyan);margin-left:6px}.task-unit-pills-wrap,.unit-tags-wrap,.unit-pills-wrap{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.deadline-mode-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:6px}.deadline-mode-selector{display:inline-flex;align-items:center;gap:4px;background:var(--bg);padding:3px;border-radius:8px;border:1px solid var(--line)}.deadline-mode-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:var(--text-dim);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.deadline-mode-btn:hover{color:var(--text)}.deadline-mode-btn.active{background:var(--panel);color:var(--cyan);font-weight:600;box-shadow:0 1px 3px #00000026}:root[data-theme=light] .deadline-mode-btn.active,:root:not([data-theme=dark]) .deadline-mode-btn.active{background:#fff;color:#0369a1;box-shadow:0 1px 3px #00000014}.deadline-input-container{display:flex;flex-direction:column;gap:4px}.deadline-none-notice{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:6px;background:#10b98114;border:1px dashed rgba(16,185,129,.35);color:var(--text-dim);font-size:11.5px;line-height:1.4;margin-top:4px}.deadline-none-notice strong{color:#10b981}:root[data-theme=light] .deadline-none-notice,:root:not([data-theme=dark]) .deadline-none-notice{background:#f0fdf4;border-color:#86efac;color:#15803d}.deadline-hint-text{font-size:11px;color:var(--text-dim)}.no-deadline-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 7px;border-radius:4px;background:#64748b26;color:var(--text-dim);font-weight:500;border:1px solid var(--line)}:root[data-theme=light] .no-deadline-pill,:root:not([data-theme=dark]) .no-deadline-pill{background:#f1f5f9;border-color:#e2e8f0;color:#64748b}.task-mobile-status{display:none}.work-hub-container,.work-tab-body{min-width:0}@media(max-width:850px){.work-hub-container{max-width:100%}.work-hub-container :is(.work-header-titles,.work-tab-body,.card,.filter-group,.toolbar-filters,.filter-select-group,.summary-section-content){min-width:0}.work-hub-container :is(.work-header-banner,.work-toolbar-card,.kanban-top-filter,.completed-filter-bar,.events-filter-bar,.summary-control-bar){padding:14px}.work-hub-container .work-header-banner{align-items:stretch}.work-hub-container .work-header-titles h2{font-size:20px;line-height:1.5}.work-hub-container .work-header-titles p{line-height:1.7}.work-hub-container .work-tab-nav{display:flex;width:100%;min-width:0;max-width:100%;overflow-x:auto;border-radius:12px;-webkit-overflow-scrolling:touch}.work-hub-container .work-tab-btn{flex:0 0 auto;white-space:nowrap;min-height:44px}.work-hub-container :is(.toolbar-search-box,.filter-input-search,.overdue-banner-left){min-width:0;width:100%;flex-basis:100%}.work-hub-container :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px!important}.work-hub-container :is(input:not([type=checkbox]):not([type=radio]),select){min-height:44px}.work-hub-container :is(button,.create-action-card){min-height:44px;touch-action:manipulation}.work-hub-container :is(.icon-tiny,.icon-small,.icon-clear,.modal-close-btn,.btn-quick-move,.period-nav-btn){min-width:44px;min-height:44px;flex-shrink:0}.work-hub-container :is(.filter-group,.filter-select-group,.toolbar-filters,.kanban-top-actions,.overdue-banner-actions,.task-card-footer,.task-footer-info,.summary-period-nav,.summary-external-card-footer,.item-card-header,.project-card-header,.project-card-footer){flex-wrap:wrap}.work-hub-container :is(.kanban-scope-tabs,.event-type-tabs,.events-view-tabs,.summary-subtabs-nav,.overdue-filter-tabs,.archive-unit-filter-tabs){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.work-hub-container :is(.kanban-scope-tabs,.summary-subtabs-nav){flex-wrap:nowrap}.work-hub-container :is(.scope-tab-btn,.summary-subtab-btn){flex-shrink:0;white-space:nowrap}.work-hub-container :is(.kanban-columns-grid,.matrix-quadrants-grid,.projects-cards-grid,.external-tasks-grid,.summary-events-grid,.summary-tasks-cards-list){grid-template-columns:minmax(0,1fr)}.work-hub-container :is(.events-stats-grid,.completed-stats-grid,.work-metrics-bar){grid-template-columns:repeat(2,minmax(0,1fr))}.work-hub-container :is(.work-metric-card,.completed-stat-card,.event-stat-card){flex-wrap:wrap;gap:8px;padding:12px}.work-hub-container .kanban-column-card{min-height:0;max-height:none}.work-hub-container .kanban-cards-list{overflow:visible;padding-right:0}.work-hub-container :is(.task-card-name,.event-main-title,.archive-task-name,.archive-task-notes-text,.log-title,.item-title,.project-badge-text,.thread-project-tag,.timeline-card-content){white-space:normal;overflow-wrap:anywhere;max-width:100%}.work-hub-container :is(.task-card-notes,.summary-event-card,.timeline-item-card,.summary-external-card,.overdue-item-card){overflow-wrap:anywhere}.work-hub-container .task-card-quick-actions{flex-wrap:wrap;gap:6px}.work-hub-container .task-mobile-status{display:flex;align-items:center;gap:12px;justify-content:space-between;padding-top:8px;font-size:13px;color:var(--text-dim)}.work-hub-container .task-mobile-status select{width:150px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:8px}.work-hub-container .summary-period-label{min-width:0;flex:1}.work-hub-container :is(.bottom-events-title-wrap,.matrix-task-item){flex-wrap:wrap}.work-hub-container .bottom-events-title-wrap{min-width:0;width:100%}.work-hub-container .bottom-events-scope-tabs{min-width:0;max-width:100%;width:100%;overflow-x:auto;margin-left:0;-webkit-overflow-scrolling:touch}.work-hub-container .bottom-events-scope-tabs button{flex-shrink:0}.work-hub-container .matrix-task-content{flex-basis:100%}.work-hub-container .matrix-task-actions{margin-left:auto}.work-hub-container .table-responsive{overflow:visible;max-width:100%}.work-hub-container :is(.work-events-table,.completed-tasks-table){display:block;white-space:normal}.work-hub-container :is(.work-events-table,.completed-tasks-table) thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.work-hub-container :is(.work-events-table,.completed-tasks-table) tbody{display:grid;gap:14px}.work-hub-container :is(.work-events-table,.completed-tasks-table) tbody tr{display:block;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:6px 12px}.work-hub-container :is(.work-events-table,.completed-tasks-table) tbody td{display:block;width:auto;min-width:0;max-width:none;padding:10px 0;overflow:visible;white-space:normal;overflow-wrap:anywhere;text-align:left;border-bottom:1px solid var(--line)}.work-hub-container :is(.work-events-table,.completed-tasks-table) tbody td:before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:500}.work-hub-container :is(.work-events-table,.completed-tasks-table) tbody td:last-child{border-bottom:0}.work-hub-container :is(.event-actions-cell,.task-actions-cell){white-space:normal}.work-hub-container :is(.content-text-wrap,.event-sub-remark,.event-parties-cell,.parties-sub-text,.unit-tags-wrap){max-width:none;white-space:normal;overflow-wrap:anywhere}.work-modal-backdrop{inset:auto 0;top:var(--work-viewport-top, 0px);height:var(--work-viewport-height, 100dvh);box-sizing:border-box;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important}.work-modal-backdrop .modal-modern{width:100%!important;max-width:100%!important;max-height:100%!important;min-height:0;border-radius:12px!important;animation:none!important}.work-modal-backdrop :is(.modal-header,.modal-footer){padding:12px 14px!important;gap:8px}.work-modal-backdrop .modal-title-wrap{min-width:0}.work-modal-backdrop button{min-height:44px;touch-action:manipulation}.work-modal-backdrop .modal-close-btn{min-width:44px;flex-shrink:0}.work-modal-backdrop .thread-header h2{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.work-modal-backdrop :is(.modal-body-scroll,.thread-body-scroll){min-height:0;max-height:none;padding:14px!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.work-modal-backdrop .modal-form-modern{min-height:0}.work-modal-backdrop :is(.form-row-grid,.form-row-grid-3,.quick-reply-row-meta){grid-template-columns:minmax(0,1fr)}.work-modal-backdrop .quick-reply-row-meta .meta-field.status{grid-column:auto}.work-modal-backdrop :is(.thread-header,.inline-edit-row,.quick-reply-row-bottom,.thread-header-actions,.quick-reply-header,.inline-dir-buttons,.reply-dir-pills,.overdue-modal-right-actions){flex-wrap:wrap}.work-modal-backdrop .thread-header-actions{width:100%}.work-modal-backdrop .thread-header-actions .modal-close-btn{margin-left:auto}.work-modal-backdrop .quick-reply-row-bottom{align-items:stretch;flex-direction:column}.work-modal-backdrop .timeline-node{gap:8px}.work-modal-backdrop .timeline-marker{width:28px;height:28px;flex-shrink:0}.work-modal-backdrop .thread-timeline-stream:before{left:13px}.work-modal-backdrop .timeline-card{min-width:0;padding:12px}.work-modal-backdrop :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%;font-size:16px!important}.work-modal-backdrop .modal-modern .form-control{font-size:16px!important}}@media(max-width:850px)and (max-height:500px){.work-modal-backdrop :is(.modal-header,.modal-footer){padding:6px 12px!important}.work-modal-backdrop .modal-subtitle{display:none}.work-modal-backdrop .thread-header h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media(max-width:400px){.work-hub-container :is(.work-metrics-bar,.events-stats-grid,.completed-stats-grid){grid-template-columns:minmax(0,1fr)}.work-hub-container .summary-period-nav{gap:4px;width:100%}.work-hub-container .summary-period-label{font-size:13px}}@media(hover:none)and (pointer:coarse){.work-hub-container :is(.task-drag-handle,.done-drop-zone-card){display:none}}
