:root{color:#151c25;background:#f2f5fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--page-bg: #f2f5fa;--panel: #ffffff;--sidebar: #e8eff8;--text: #151c25;--muted: #667382;--border: #d8e0ea;--blue: #2d6fb3;--orange: #cb6541;--green: #2f8b77;--blue-soft: #e5f0fb;--orange-soft: #fff0e8}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--page-bg);overflow-x:hidden}button,input{font:inherit}button{color:inherit}.app-shell{width:100%;min-height:100vh;padding:18px;overflow-x:hidden}.scheme-bar{display:flex;gap:8px;width:min(1240px,100%);margin:0 auto 14px;padding:6px;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:#ffffffbd;scrollbar-width:thin}.scheme-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:max-content;height:38px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.scheme-tab.active{border-color:#c8d9ed;background:var(--blue-soft);color:var(--blue);font-weight:700}.week-rail-shell{display:grid;grid-template-columns:290px minmax(0,1fr);width:min(1240px,100%);min-height:calc(100vh - 88px);margin:0 auto;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 22px 55px #151c2514}.rail-summary{display:flex;flex-direction:column;gap:18px;width:290px;min-width:0;padding:22px;border-right:1px solid var(--border);background:var(--sidebar)}.brand-block{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border:1px solid #cbdced;border-radius:8px;background:#fff;color:var(--blue)}.brand-block p{margin:0 0 3px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0}.brand-block h1{margin:0;color:var(--text);font-size:24px;line-height:1.12}.summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.summary-stats div{min-width:0;padding:14px;border:1px solid #cfdae8;border-radius:8px;background:#ffffff94}.summary-stats strong{display:block;color:var(--text);font-size:25px;line-height:1}.summary-stats span{display:block;margin-top:7px;color:var(--muted);font-size:13px}.time-entry-list{display:grid;gap:10px}.time-entry{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;padding:11px;border:1px solid #cfdae8;border-radius:8px;background:#ffffff85;cursor:pointer;text-align:left}.time-entry:hover,.time-entry.active{border-color:#aec9e8;background:#fff}.time-entry-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.time-entry-copy{min-width:0}.time-entry-copy strong,.time-entry-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-entry-copy strong{font-size:15px}.time-entry-copy small{margin-top:3px;color:var(--muted);font-size:12px}.time-entry-count{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid #cbdced;border-radius:8px;background:#fff;color:var(--blue);font-size:13px;font-weight:800}.workspace-card{display:grid;gap:9px;min-width:0;margin-top:auto;padding:12px;border:1px solid #cfdae8;border-radius:8px;background:#ffffff94}.workspace-card-title{display:flex;align-items:center;gap:7px;color:var(--text);font-size:13px;font-weight:800}.workspace-card input,.field input,.field select,.rail-move select{width:100%;min-width:0;min-height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font:inherit;outline:0}.workspace-card input,.field input,.field select{padding:0 9px}.workspace-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workspace-actions button,.text-tool-button,.empty-state button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}.workspace-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.workspace{min-width:0;padding:20px;background:var(--panel)}.workspace-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}.add-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:48px;padding:6px 7px 6px 14px;border:1px solid var(--border);border-radius:8px;background:#fbfdff;color:var(--muted)}.add-task input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:15px}.add-task input::placeholder{color:#8a96a4}.add-task button,.view-switch button,.filter-bar button,.task-actions button{border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.add-task button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 13px;border-color:var(--blue);background:var(--blue);color:#fff;font-weight:750;white-space:nowrap}button:disabled{cursor:not-allowed;opacity:.52}.view-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#f7f9fc}.view-switch button{height:36px;padding:0 14px;border-color:transparent;background:transparent;color:var(--muted)}.view-switch button.active{border-color:#c7d9ec;background:#fff;color:var(--blue);font-weight:800}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px;min-width:0}.detail-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.text-tool-button{padding:0 10px;font-size:13px}.text-tool-button:hover,.workspace-actions button:hover,.empty-state button:hover{border-color:#b8d1ed;color:var(--blue)}.status-banner{margin-top:12px;padding:10px 12px;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:8px;font-size:13px;line-height:1.45}.status-banner.error{border-color:#efc7b7;background:var(--orange-soft);color:var(--orange)}.status-banner.notice{border-color:#bdded8;background:#e8f5f1;color:var(--green)}.task-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-width:0;margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#f8fafc}.task-fields.edit{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;padding:0;border:0;background:transparent}.field{display:grid;gap:5px;min-width:0}.field.wide{grid-column:1 / -1}.field span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.filter-bar button{min-height:34px;padding:0 12px;color:var(--muted);background:#fff}.filter-bar button.active{border-color:#b8d1ed;background:var(--blue-soft);color:var(--blue);font-weight:800}.rail-grid{display:grid;gap:12px;min-width:0}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.task-rail{display:flex;flex-direction:column;min-width:0;min-height:520px;padding:12px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,#e5f0fb,#fff 42%)}.compact-rail{min-height:360px}.rail-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-bottom:12px;color:var(--muted)}.rail-header div{min-width:0}.rail-header h2{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:17px;line-height:1.2}.rail-header span{display:block;margin-top:3px;font-size:12px}.task-stack{display:grid;align-content:start;gap:10px;min-width:0}.task-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;min-width:0;padding:12px;border:1px solid #dce4ee;border-radius:8px;background:#fffffff0;box-shadow:0 8px 18px #151c250d}.task-card.editing{grid-template-columns:1fr}.task-card.done{opacity:.58}.edit-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.edit-card-header strong{overflow-wrap:anywhere;color:var(--text);font-size:14px}.edit-card-header button{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}.complete-button{display:grid;place-items:center;width:28px;height:28px;margin-top:1px;border:1px solid #cbd7e4;border-radius:50%;background:#fff;color:var(--blue);cursor:pointer}.task-content{min-width:0}.task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.task-title-row h3{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text);font-size:14px;line-height:1.5}.task-card.done h3{text-decoration:line-through}.priority-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;flex:0 0 auto;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:800}.priority-high{border-color:#efc7b7;background:var(--orange-soft);color:var(--orange)}.priority-medium{border-color:#bdd5ef;background:var(--blue-soft);color:var(--blue)}.priority-low{border-color:#bdded8;background:#e8f5f1;color:var(--green)}.task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.task-meta span{max-width:100%;min-height:24px;padding:4px 7px;overflow-wrap:anywhere;border:1px solid #dce4ee;border-radius:8px;background:#f8fafc;color:var(--muted);font-size:12px;line-height:1.25}.rail-move{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;margin-top:10px;color:var(--muted)}.rail-move select{min-height:30px;padding:0 7px;color:var(--muted);font-size:12px}.task-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.task-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;max-width:100%;padding:0 8px;color:var(--muted);font-size:12px;line-height:1.2}.task-actions button:hover{border-color:#b9c9dc;color:var(--text)}.task-actions .danger{color:var(--orange)}.empty-rail{display:flex;align-items:center;justify-content:center;gap:8px;min-height:82px;border:1px dashed #cbd7e4;border-radius:8px;color:var(--muted);font-size:13px}.pool-list{min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,#e5f0fb,#fff 28%)}.pool-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:var(--muted)}.pool-heading h2{margin:0;color:var(--text);font-size:18px}.pool-heading span{display:block;margin-top:3px;font-size:12px}.pool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.empty-state,.loading-panel{display:grid;place-items:center;gap:10px;min-height:280px;min-width:0;padding:24px;border:1px dashed #cbd7e4;border-radius:8px;background:linear-gradient(180deg,#e5f0fb,#fff 70%);color:var(--muted);text-align:center}.empty-state strong{color:var(--text);font-size:18px}.empty-state span,.loading-panel span{max-width:360px;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.empty-state button{padding:0 12px;color:var(--blue);font-weight:800}@media(max-width:1040px){.app-shell{padding:14px}.week-rail-shell{grid-template-columns:1fr}.rail-summary{width:100%;border-right:0;border-bottom:1px solid var(--border)}.time-entry-list{grid-template-columns:repeat(4,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.pool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-rail{min-height:360px}}@media(max-width:720px){.workspace-top{grid-template-columns:1fr}.view-switch{width:100%}.view-switch button{flex:1}.time-entry-list,.time-grid,.project-grid,.task-fields,.task-fields.edit,.pool-grid{grid-template-columns:1fr}.rail-summary,.workspace{padding:16px}.task-rail{min-height:0}}@media(max-width:480px){.app-shell{padding:10px}.scheme-bar{margin-bottom:10px}.scheme-tab{width:40px;min-width:40px;padding:0}.scheme-tab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.week-rail-shell{min-height:calc(100vh - 72px)}.brand-block h1{font-size:22px}.summary-stats{grid-template-columns:1fr}.add-task{grid-template-columns:auto minmax(0,1fr)}.add-task button{grid-column:1 / -1;width:100%}.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.filter-bar button{width:100%;padding:0 6px}.task-card{grid-template-columns:26px minmax(0,1fr);padding:10px}}
