:root{--bg:#f8fafc;--surface:#ffffffeb;--surface-solid:#fff;--surface-alt:#f8fafce6;--text:#1f2933;--muted:#718096;--line:#1f29331a;--accent:#0b48ff;--accent-strong:#0738d8;--accent-soft:#e9efff;--warn:#f59e0b;--danger:#dc2626;--canvas:#fbfdff;--canvas-line:#0f172a13;--shadow:0 18px 55px #0f172a1a;--soft-shadow:0 8px 28px #0f172a12;--control-bg:#fff;--control-border:#1f29331f;--control-focus:#0b48ff5c;--control-focus-ring:0 0 0 3px #0b48ff14;--control-height:32px;--control-radius:8px;--control-text:#334155;--control-placeholder:#94a3b8;--control-font-size:12px;--control-font-weight:500;--field-label-size:11px;--field-label-weight:500}*{box-sizing:border-box}body{background:linear-gradient(135deg, #ecf4ffeb, #fffaf6b8 52%, #f7fbfff0), var(--bg);color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}button,input,select,textarea{font:inherit}button,.button-link{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:0 13px;font-weight:600;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.55}.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 10px 22px #0b48ff38}.primary:hover{background:var(--accent-strong)}.secondary{color:#1f2937;background:#fff;border-color:#0f172a24}.secondary:hover{background:#f8fafc}.full{width:100%}.file-input-hidden{display:none}.app-shell{grid-template-columns:350px minmax(0,1fr);height:100vh;min-height:100vh;padding:0;display:grid;overflow:hidden}.dock{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--line);background:#fffc;flex-direction:column;gap:14px;min-height:100vh;padding:18px;display:flex;position:relative}.dock-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.brand h1{color:var(--accent);letter-spacing:-.02em;margin:0;font-size:30px;font-weight:850;line-height:1.15}.brand p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.35}.dock-section,.dock-ai,.proposal{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--soft-shadow);background:#ffffffc7;border-radius:16px;padding:14px}.dock-section{gap:10px;display:grid}.dock-scroll{max-height:220px;overflow:auto}.dock-label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:700}.dock-actions,.dock-metrics{grid-template-columns:1fr 1fr;gap:8px;display:grid}.dock-metrics div{border:1px solid var(--line);background:#f8fafcdb;border-radius:14px;padding:12px}.dock-metrics span{color:var(--muted);font-size:11px;display:block}.dock-metrics strong{color:#111827;margin-top:4px;font-size:18px;display:block}.dock-ai{gap:10px;margin-top:auto;padding:12px;display:grid}.dock-ai textarea{background:var(--surface-solid);border:0;border-radius:14px;min-height:124px;box-shadow:inset 0 0 0 1px #0f172a17}.ai-input-head{justify-content:space-between;align-items:center;display:flex}.ai-input-head span{color:var(--accent);font-size:12px;font-weight:800;display:block}.ai-input-head strong{margin-top:2px;font-size:14px;display:block}.ai-input-head small{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.resource-list{gap:8px;display:grid}.resource-item{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.resource-item strong{font-size:13px;display:block}.resource-item span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.resource-pill{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px}.muted{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.canvas-shell{background:radial-gradient(circle at 1px 1px, #0f172a24 1px, transparent 0), var(--canvas);background-size:22px 22px;min-width:0;min-height:100vh;padding:22px}.canvas-empty{border:1px dashed var(--line);color:var(--muted);border-radius:10px;justify-content:center;align-items:center;height:calc(100vh - 36px);display:flex}.canvas-hero{justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px;display:flex}.canvas-hero-copy{max-width:660px}.ai-badge{border:1px solid var(--line);box-shadow:var(--soft-shadow);color:#374151;background:#ffffffe0;border-radius:999px;align-items:center;min-height:30px;padding:0 12px;font-size:12px;font-weight:750;display:inline-flex}.canvas-hero h2{color:#252d38;letter-spacing:-.025em;margin:16px 0 10px;font-size:clamp(32px,4vw,54px);line-height:1.08}.canvas-hero p{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.canvas-status-row{gap:10px;min-width:260px;display:grid}.canvas-topbar span,.canvas-status span{color:var(--muted);font-size:12px;display:block}.canvas-topbar h2{margin:3px 0 0;font-size:24px;line-height:1.15}.canvas-status{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:var(--soft-shadow);text-align:right;background:#ffffffc7;border-radius:16px;min-width:190px;padding:12px 14px}.canvas-status strong{margin-top:4px;display:block}.canvas-board{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffd6;border-radius:20px;height:calc(100vh - 238px);overflow:auto}.canvas-ruler,.canvas-row{grid-template-columns:280px minmax(720px,1fr);display:grid}.canvas-ruler{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:3;background:#f9fafbf0;position:sticky;top:0}.task-axis,.day-axis{min-height:42px;padding:12px}.task-axis{border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.day-axis{justify-content:space-between;display:flex}.day-axis span{color:var(--muted);font-size:11px}.gantt-canvas{min-width:1000px}.canvas-row{min-height:46px}.canvas-row.summary{background:#0b48ff0b}.canvas-task-name{border-bottom:1px solid var(--line);border-right:1px solid var(--line);align-items:center;gap:8px;min-width:0;display:flex}.canvas-task-name span{color:var(--muted);min-width:38px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.canvas-task-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.canvas-track{border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,#0000 0 calc(8.33333% - 1px),#2536450f calc(8.33333% - 1px) 8.33333%);min-width:720px;position:relative}.canvas-bar{background:linear-gradient(90deg,#0b48ff,#6aa2ff);border-radius:999px;min-width:10px;height:18px;position:absolute;top:14px;box-shadow:0 6px 16px #0b48ff38}.summary-bar{background:#27364a;height:10px;top:18px}.canvas-bar.milestone{background:var(--warn);border-radius:3px;height:16px;top:15px;transform:rotate(45deg);width:16px!important}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.topbar h1{margin:0;font-size:24px;line-height:1.2}.topbar p{color:var(--muted);margin:4px 0 0}.topbar-actions,.toolbar,.proposal-actions{align-items:center;gap:10px;display:flex}.segmented{background:#e6ebe6;border-radius:6px;padding:3px;display:flex}.segmented button{background:0 0;border:0;min-height:30px;padding:0 10px}.segmented button.active{background:var(--surface);box-shadow:var(--shadow)}.notice,.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.error{color:var(--danger);border-color:#b4231847;margin-bottom:16px}.workspace-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.left-pane,.assistant-pane{gap:14px;display:grid}.assistant-pane{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:14px;position:sticky;top:20px}.assistant-pane h2,.panel h2{margin:0;font-size:15px;line-height:1.2}textarea{border:1px solid var(--line);resize:vertical;border-radius:6px;width:100%;min-height:118px;padding:10px}.toolbar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;padding:10px}.toolbar label{color:var(--muted);align-items:center;gap:8px;display:flex}select{border:1px solid var(--line);border-radius:6px;min-width:220px;height:36px;padding:0 8px}.metrics{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.metrics div,.panel,.proposal{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metrics div{padding:12px}.metrics span,.panel-heading span{color:var(--muted);font-size:12px;display:block}.metrics strong{margin-top:5px;font-size:20px;display:block}.panel{overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px;display:flex}.timeline{padding:10px 12px 12px}.timeline-row{grid-template-columns:210px minmax(220px,1fr);align-items:center;gap:10px;min-height:28px;display:grid}.timeline-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.timeline-track{background:#edf1ed;border-radius:999px;height:12px;position:relative}.timeline-bar{background:var(--accent);border-radius:999px;min-width:8px;height:12px;position:absolute}.timeline-bar.milestone{background:var(--warn);transform:rotate(45deg);width:12px!important}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:10px 12px;font-size:13px}th{background:var(--surface-alt);color:var(--muted);font-weight:600}.proposal{box-shadow:none;gap:10px;padding:12px;display:grid}.proposal h3{margin:0;font-size:13px}.proposal p,.proposal li{color:var(--muted);font-size:13px;line-height:1.45}.proposal ul{margin:0;padding-left:18px}.proposal-status{color:var(--accent-strong);text-transform:uppercase;font-weight:700}.command-list{gap:6px;display:grid}code{color:#27322d;background:#eef2ed;border-radius:6px;padding:8px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;display:block;overflow:auto}.dry-run{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.violations li{color:var(--danger)}@media (max-width:980px){.workspace-grid{grid-template-columns:1fr}.assistant-pane{position:static}.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.topbar,.toolbar,.topbar-actions{flex-direction:column;align-items:stretch}.timeline-row{grid-template-columns:1fr;gap:4px;margin-bottom:8px}select,.toolbar label{width:100%}}.dock .proposal{max-height:250px;overflow:auto}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.dock{min-height:auto}.canvas-shell{min-height:720px}.canvas-board{height:680px}}@media (max-width:720px){.canvas-ruler,.canvas-row{grid-template-columns:220px minmax(620px,1fr)}.canvas-topbar{flex-direction:column;align-items:stretch}.canvas-status{text-align:left}}.app-shell{grid-template-columns:320px minmax(0,1fr)}.ai-dock{border-right:1px solid var(--line);background:#ffffffe6;flex-direction:column;min-width:0;height:100vh;padding:14px;display:flex;overflow:hidden}.ai-dock-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.ai-dock .brand h1{font-size:25px}.ai-dock .brand p{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.icon-button{border-radius:12px;width:38px;height:38px;min-height:38px;padding:0;font-size:22px;font-weight:500}.chat-thread{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 0;display:flex;overflow:auto}.chat-bubble,.proposal{border:1px solid var(--line);box-shadow:none;border-radius:16px;max-width:100%;padding:12px}.chat-bubble.assistant,.proposal{background:#f8fafc;align-self:flex-start}.chat-bubble.user{background:var(--accent);color:#fff;align-self:flex-end}.chat-bubble strong{margin-bottom:6px;font-size:13px;display:block}.chat-bubble p{margin:0;font-size:13px;line-height:1.55}.chat-composer{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--soft-shadow);border-radius:18px;gap:10px;padding:10px;display:grid}.chat-composer textarea{box-shadow:none;background:0 0;border:0;border-radius:12px;min-height:112px;padding:8px}.project-shell{background:#f3f6fa;min-width:0;height:100vh;min-height:100vh;padding:12px;position:relative;overflow:hidden}.project-workspace{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;height:calc(100vh - 24px);display:flex;overflow:hidden}.project-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:9px 12px;display:flex}.project-title{min-width:190px}.project-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.project-title span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.project-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-actions button,.project-actions .button-link,.project-actions select{min-height:34px}.project-gantt-toolbar{flex-wrap:wrap;flex:none;justify-content:space-between;gap:8px;min-height:52px;padding:8px 12px}.gantt-toolbar-left,.gantt-toolbar-center,.gantt-toolbar-right{align-items:center;gap:7px;min-width:0;display:flex}.gantt-toolbar-left{flex:0 390px}.gantt-toolbar-center{flex:auto;justify-content:flex-end}.gantt-toolbar-right{flex:none;justify-content:flex-end}.gantt-search-control,.gantt-scale-select{color:#475569;background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;align-items:center;min-width:0;height:32px;display:inline-flex}.gantt-search-control{flex:180px;max-width:280px;padding:0 8px}.gantt-search-control input{color:#0f172a;background:0 0;border:0;outline:none;flex:auto;min-width:0;height:30px;padding:0 4px;font-size:13px}.gantt-search-control:focus-within,.gantt-scale-select:focus-within{background:#fff;border-color:#0b48ff52;box-shadow:0 0 0 2px #0b48ff14}.gantt-search-count{color:#1d4ed8;background:#dbeafe;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex}.gantt-scale-select{flex:none;padding:0 7px}.gantt-scale-select select{appearance:none;box-shadow:none;color:#334155;background:0 0;border:0;outline:none;width:76px;min-width:0;height:30px;padding:0 14px 0 4px;font-size:13px;font-weight:650}.app-shell .gantt-scale-select select,.app-shell .gantt-scale-select select:focus{box-shadow:none;background:0 0;border:0;outline:none;height:30px;min-height:30px;padding:0 14px 0 4px}.gantt-history-controls{flex:none;align-items:center;gap:4px;display:inline-flex}.gantt-icon-button,.gantt-icon-link{box-shadow:none;color:#475569;background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;min-height:32px;padding:0;text-decoration:none;display:inline-flex}.gantt-icon-button:hover,.gantt-icon-button:focus-visible,.gantt-icon-link:hover,.gantt-icon-link:focus-visible{color:var(--accent);background:#fff;border-color:#0b48ff33;outline:none}.gantt-icon-button:disabled{color:#a8b3c2;opacity:1;background:#f8fafc}.gantt-schedule-button{color:#475569;background:#f8fafc;border-color:#0f172a14}.gantt-schedule-button:hover:not(:disabled),.gantt-schedule-button:focus-visible{color:var(--accent);border-color:#0b48ff3d;outline:none}.gantt-schedule-button:disabled{color:#a8b3c2;background:#f8fafc}.gantt-toolbar-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:17px;height:17px}.gantt-toolbar-icon rect{stroke:currentColor}.timeline-zoom-controls{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.timeline-zoom-button{background:0 0;border:1px solid #0000;border-radius:6px;width:28px;height:28px;min-height:28px}.timeline-zoom-button:hover,.timeline-zoom-button:focus-visible{color:var(--accent);background:#fff;border-color:#1f293314;outline:none}.dependency-visibility-button{color:#475569;background:#f8fafc;border-color:#0f172a14}.critical-path-toggle-button.active{color:#dc2626;background:#fef2f2;border-color:#dc26263d}.critical-path-toggle-button.active:hover,.critical-path-toggle-button.active:focus-visible{color:#b91c1c;background:#fff;border-color:#dc262652}.gantt-convert-control{display:inline-flex;position:relative}.gantt-convert-button.active{color:var(--accent);background:#eff6ff;border-color:#0b48ff47}.gantt-convert-menu{z-index:50;background:#fff;border:1px solid #0f172a1a;border-radius:8px;gap:2px;width:176px;padding:5px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #0f172a29}.gantt-convert-menu button{color:#334155;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;min-height:32px;padding:0 10px;display:flex}.gantt-convert-menu button:hover,.gantt-convert-menu button:focus-visible,.gantt-convert-menu button.active{color:#0f172a;background:#f1f5f9;outline:none}.gantt-convert-menu button.active{box-shadow:inset 3px 0 0 var(--accent)}.gantt-convert-menu strong{font-size:13px;font-weight:650;line-height:1}.column-collapse-button{background:#f8fafc}.gantt-icon-link{padding:0}.project-board{flex:1;min-height:0;overflow:auto}.project-row{grid-template-columns:78px minmax(260px,1fr) 72px 78px 78px minmax(760px,2.2fr);min-width:1360px;display:grid}.project-header{border-bottom:1px solid var(--line);color:#64748b;z-index:2;background:#f8fafc;font-size:12px;font-weight:700;position:sticky;top:0}.project-row>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;min-height:38px;padding:0 10px;display:flex}.project-row.summary{background:#f8fbff;font-weight:700}.project-row.summary .project-task-name{color:#111827}.project-row.search-match>div{background:#eff6ff}.project-row.search-match .project-task-name{color:#0b48ff}.mono{color:#64748b;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.project-task-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-time-axis{background:#f8fafc;justify-content:space-between;padding:0 12px!important;display:flex!important}.project-time-axis span{color:#64748b;font-size:11px}.project-gantt-cell{background:repeating-linear-gradient(90deg,#fff 0 63px,#0f172a0e 64px);position:relative}.project-bar{background:#2563eb;border-radius:4px;min-width:8px;height:16px;position:absolute;top:11px}.project-bar.summary-bar{background:#111827;height:8px;top:15px}.project-bar.milestone{background:#f59e0b;border-radius:3px;height:14px;top:12px;transform:rotate(45deg);width:14px!important}.proposal h3,.proposal p,.proposal li{font-size:13px}.proposal-actions{grid-template-columns:1fr 1fr;display:grid}@media (max-width:980px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.ai-dock{height:100vh;min-height:0}.project-workspace{height:calc(100vh - 24px)}}.app-shell{grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .16s}.app-shell.dock-collapsed{grid-template-columns:58px minmax(0,1fr)}.ai-dock{background:#ffffffe6;gap:12px;padding:14px 12px;overflow:hidden}.ai-dock-head{border-bottom:0;gap:10px;padding:0 4px 8px}.dock-head-actions{flex:none;align-items:center;gap:7px;display:flex}.dock-toggle-button{border-color:var(--line);box-shadow:none;color:#64748b;background:#ffffffb8;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;min-height:30px;padding:0;font-size:20px;font-weight:700;display:flex}.dock-toggle-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:20px;height:20px}.dock-toggle-button:hover,.dock-toggle-button:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;outline:none}.collapsed-dock{flex-direction:column;align-items:center;gap:12px;height:100%;display:flex}.collapsed-dock .brand-mark{flex:0 0 32px}.collapsed-dock .dock-toggle-button{margin-top:2px}.collapsed-nav{flex:auto;align-content:start;justify-items:center;gap:8px;width:100%;min-height:0;padding:2px 0;display:grid;overflow-y:auto}.collapsed-nav-item{box-shadow:none;color:#64748b;background:0 0;border-color:#0000;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;padding:0;display:flex}.collapsed-nav-item:hover:not(:disabled),.collapsed-nav-item:focus-visible,.collapsed-nav-item.active{background:var(--accent-soft);color:var(--accent);border-color:#0b48ff14;outline:none}.collapsed-nav-item:disabled{cursor:not-allowed;opacity:.42}.rail-account-collapsed{color:#fff;background:#111827;border-radius:10px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;margin-top:auto;font-size:13px;font-weight:700;text-decoration:none;display:flex}.rail-brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:10px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.rail-brand h1{color:var(--accent);margin:0;font-size:19px;font-weight:700;line-height:1.12}.rail-brand p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin:4px 0 0;font-size:11px;line-height:1.35;overflow:hidden}.project-dock-tools{gap:7px;padding:0 4px;display:grid}.project-switcher{border:1px solid var(--line);color:#334155;background:#ffffffb8;border-radius:10px;width:100%;min-width:0;height:34px;padding:0 9px;font-size:12px}.save-status{color:var(--muted);padding:0 2px;font-size:11px;line-height:1.3}.save-status.saving{color:#b45309}.save-status.saved{color:#16703c}.save-status.error{color:var(--danger)}.workspace-modal-layer{z-index:30;background:#0f172a14;justify-content:center;align-items:flex-start;padding:22px;display:flex;position:absolute;inset:12px}.workspace-settings-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #1f29331a;border-radius:14px;grid-template-rows:auto minmax(0,1fr);width:min(820px,100%);max-height:min(660px,100vh - 92px);display:grid;overflow:hidden;box-shadow:0 18px 48px #0f172a29}.schedule-run-panel{gap:14px;width:100%}.schedule-run-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.schedule-run-head span{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:650;display:block}.schedule-run-head strong{color:#111827;font-size:18px;line-height:1.2;display:block}.schedule-run-head button{border:1px solid var(--line);color:#64748b;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:18px;line-height:1;display:inline-flex}.schedule-run-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.schedule-run-actions button{border:1px solid var(--line);color:#334155;background:#fff;border-radius:9px;min-height:34px}.schedule-run-actions button:hover:not(:disabled),.schedule-run-actions button:focus-visible,.schedule-run-head button:hover,.schedule-run-head button:focus-visible{color:var(--accent);border-color:#0b48ff42;outline:none}.schedule-run-section{border-top:1px solid #94a3b83d;gap:10px;min-width:0;padding-top:14px;display:grid}.schedule-run-section-head{align-items:flex-start;gap:10px}.schedule-run-section-head>div{gap:4px;min-width:0;display:grid}.schedule-run-section-button{border:1px solid var(--line);color:#334155;background:#fff;border-radius:8px;flex:none;min-height:30px;padding:0 10px;font-size:12px}.schedule-run-section-button:hover:not(:disabled),.schedule-run-section-button:focus-visible{color:var(--accent);border-color:#0b48ff42;outline:none}.schedule-run-section-button:disabled{color:#94a3b8;cursor:not-allowed}.schedule-run-status-card{border:1px solid #94a3b85c;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.schedule-run-status-card strong{color:#111827;font-size:15px;font-weight:700;line-height:1.25}.schedule-run-status-card.neutral{background:#f8fafc}.schedule-run-status-card.success{background:#ecfdf5;border-color:#10b98152}.schedule-run-status-card.success strong{color:#047857}.schedule-run-status-card.warning{background:#fff7ed;border-color:#f9731652}.schedule-run-status-card.warning strong{color:#c2410c}.schedule-run-status-card.danger{background:#fff1f2;border-color:#ef444452}.schedule-run-status-card.danger strong{color:#b91c1c}.schedule-run-apply-button{justify-self:stretch;margin-top:2px}.schedule-run-section p{color:#475569;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.schedule-run-result-body{overscroll-behavior:contain;scrollbar-gutter:stable;gap:10px;min-height:0;max-height:min(190px,28vh);padding-right:4px;display:grid;overflow:hidden auto}.schedule-run-inline-group{border-top:1px solid var(--line);gap:8px;min-width:0;margin-top:2px;padding-top:10px;display:grid}.schedule-run-inline-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:0 2px;display:flex}.schedule-run-inline-head strong{color:#1f2937;font-size:13px;font-weight:600}.schedule-run-inline-head span{color:var(--muted);font-size:12px}.schedule-run-recommendation-list{min-width:0}.project-dialog-layer{z-index:180;align-items:flex-start}.project-dialog-panel{background:#fffffffa;border:1px solid #1f29331f;border-radius:12px;gap:14px;width:min(420px,100%);margin-top:74px;padding:14px;display:grid;box-shadow:0 18px 48px #0f172a2e}.project-dialog-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-dialog-head strong{color:#111827;font-size:15px}.project-dialog-head button{border-radius:8px;width:30px;height:30px;min-height:30px;padding:0}.project-dialog-field{gap:6px;display:grid}.project-dialog-field span{color:#64748b;font-size:12px;font-weight:800}.project-dialog-field input{color:#111827;font:inherit;background:#fff;border:1px solid #1f293324;border-radius:9px;width:100%;min-height:38px;padding:0 11px}.project-dialog-copy,.project-dialog-status{color:#475569;margin:0;font-size:13px;line-height:1.5}.project-dialog-status.success{color:#16703c;font-weight:750}.project-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.project-dialog-actions button{min-height:34px}.danger-button{color:#fff;background:#b42318;border-color:#b42318}.settings-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:12px 14px;display:flex}.settings-panel-head div{gap:2px;display:grid}.settings-panel-head span{color:#334155;font-size:15px;font-weight:800}.settings-panel-head small{color:var(--muted);white-space:nowrap;font-size:11px;display:block}.settings-panel-body{grid-template-columns:150px minmax(0,1fr);min-width:0;min-height:390px;display:grid}.settings-section-nav{border-right:1px solid var(--line);background:#f8fafcd6;align-content:start;gap:4px;padding:12px;display:grid}.settings-section-button{box-shadow:none;color:#475569;background:0 0;border-color:#0000;border-radius:10px;justify-content:flex-start;min-height:36px;padding:0 10px;font-size:13px}.settings-section-button:hover,.settings-section-button.active{background:var(--accent-soft);color:var(--accent)}.settings-section-content{min-width:0;padding:14px;overflow:auto}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.time-scale-settings-grid{grid-template-columns:minmax(0,460px);justify-content:start}.settings-card{border:1px solid var(--line);background:#ffffffd1;border-radius:12px;gap:10px;padding:12px;display:grid}.settings-card h3{color:#334155;margin:0;font-size:13px;line-height:1.2}.calendar-summary-card{grid-column:1/-1}.calendar-settings-grid{align-items:start}.project-calendar-card{grid-column:1/-1}.settings-card-title-block{gap:4px;min-width:0;display:grid}.calendar-setting-block{gap:6px;max-width:340px;display:grid}.calendar-setting-label,.calendar-number-field span,.calendar-weekday-field>span{color:var(--muted);font-size:12px;font-weight:700}.project-calendar-fields{grid-template-columns:120px minmax(0,1fr);gap:14px;display:grid}.project-calendar-fields .calendar-weekday-field{grid-column:1/-1}.calendar-number-field,.calendar-weekday-field{gap:6px;min-width:0;display:grid}.calendar-number-field{justify-items:start;width:max-content}.calendar-number-field input{appearance:textfield;color:#111827;font:inherit;text-align:center;background:#fff;border:1px solid #1f29331f;border-radius:9px;outline:none;width:84px;min-height:34px;padding:0 10px}.calendar-number-field input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.calendar-number-field input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.calendar-number-field input:focus{border-color:#0b48ff61;box-shadow:0 0 0 3px #0b48ff1a}.calendar-current-readout{border-top:1px solid #1f293314;padding-top:10px}.weekday-toggle-grid{flex-wrap:wrap;gap:6px;display:flex}.weekday-toggle{box-shadow:none;color:#475569;background:#fff;border:1px solid #1f29331f;border-radius:8px;min-height:30px;padding:0 9px;font-size:12px;font-weight:700}.weekday-toggle:hover,.weekday-toggle:focus-visible{color:var(--accent);border-color:#0b48ff47;outline:none}.weekday-toggle.active{color:var(--accent);background:#eef4ff;border-color:#0b48ff4d}.settings-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.settings-readout{border-top:1px solid #1f293314;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding-top:8px;display:flex}.settings-readout:first-of-type{border-top:0;padding-top:0}.settings-readout span{color:var(--muted);font-size:12px}.settings-readout strong{color:#334155;font-size:12px}.settings-empty-section{color:#64748b;border:1px dashed #1f293329;border-radius:12px;align-items:center;min-height:220px;padding:16px;display:flex}.settings-empty-section strong{color:#334155}.column-settings-grid{grid-template-columns:minmax(0,1fr)}.column-settings-card{grid-column:1/-1}.column-settings-list{border:1px solid var(--line);border-radius:10px;display:grid;overflow:hidden}.column-setting-row{border-bottom:1px solid var(--line);background:#ffffffc7;grid-template-columns:138px minmax(0,1fr) 132px;align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:grid}.column-setting-row:last-child{border-bottom:0}.column-visibility-control{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.column-visibility-control input{accent-color:var(--accent)}.column-setting-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.column-width-control{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:grid}.column-width-control input{border:1px solid var(--line);color:#334155;font:inherit;background:#ffffffd6;border-radius:8px;width:100%;height:30px;padding:0 8px;font-size:12px}.column-width-control input:focus{border-color:#0b48ff52;outline:none}.panel-close-button{box-shadow:none;color:#64748b;background:#0f172a0a;border-color:#0000;border-radius:9px;flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;font-size:18px;font-weight:700}.panel-close-button:hover,.panel-close-button:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.start-date-control{gap:5px;display:grid}.start-date-control span{color:var(--muted);font-size:11px;font-weight:700}.start-date-control input{border:1px solid var(--line);color:#334155;font:inherit;background:#fffc;border-radius:9px;width:100%;height:32px;padding:0 8px;font-size:12px}.start-date-control input:focus{border-color:#0b48ff52;outline:none}.view-scale-toggle{background:#0f172a0e;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:2px;display:grid}.view-scale-button{box-shadow:none;color:#64748b;background:0 0;border:0;border-radius:8px;min-height:28px;padding:0;font-size:12px;font-weight:600}.view-scale-button.active{color:var(--accent);background:#fff;box-shadow:0 1px 5px #0f172a14}.view-scale-button:hover:not(:disabled),.view-scale-button:focus-visible{color:var(--accent);outline:none}.calendar-mode-toggle{background:#0f172a0e;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.calendar-mode-toggle.four-options{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-mode-toggle.three-options{grid-template-columns:repeat(3,minmax(0,1fr))}.rail-nav{gap:4px;padding-top:8px;display:grid}.rail-nav-item{box-shadow:none;color:#3a4553;background:0 0;border-color:#0000;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.rail-nav-item small{color:var(--danger);text-align:center;background:#dc26261a;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:700}.rail-nav-item:hover,.rail-nav-item.active{background:var(--accent-soft);color:var(--accent);border-color:#0b48ff14}.rail-icon{color:inherit;background:#0f172a0e;border-radius:8px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.rail-nav-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px;width:17px;height:17px}.rail-bottom{flex-direction:column;flex:auto;gap:10px;min-height:0;margin-top:10px;padding-bottom:14px;display:flex;overflow:hidden}.rail-context-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;gap:10px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.rail-current-project{border:1px solid var(--line);background:#ffffffad;border-radius:14px;gap:4px;padding:10px;display:grid}.rail-current-project>span{color:var(--muted);font-size:11px;font-weight:600}.rail-current-project strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden}.rail-account-card{border:0;border-top:1px solid var(--line);color:#1f2937;background:0 0;border-radius:0;flex:none;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:10px 2px 0;text-decoration:none;display:grid}.rail-account-avatar{background:var(--accent-soft);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.rail-account-meta{gap:2px;min-width:0;display:grid}.rail-account-meta span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}.rail-account-meta strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.2;overflow:hidden}.rail-account-card:focus-visible{outline-offset:4px;outline:2px solid #0b48ff38}.rail-account-card:hover .rail-account-avatar,.rail-account-card:focus-visible .rail-account-avatar{background:var(--accent);color:#fff}.rail-account-card:hover .rail-account-meta strong,.rail-account-card:focus-visible .rail-account-meta strong{color:var(--accent)}.rail-proposal{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--soft-shadow);border-radius:16px;gap:8px;padding:11px;display:grid}.rail-proposal-head{justify-content:space-between;align-items:center;display:flex}.rail-proposal-head span{color:var(--muted);font-size:12px;font-weight:500}.rail-proposal-head strong,.rail-proposal-result{color:var(--accent);font-size:12px}.rail-proposal p{color:#334155;margin:0;font-size:12px;line-height:1.45}.rail-proposal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rail-proposal-actions button{min-height:32px;padding:0 8px}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.ai-dock{height:auto;min-height:auto}.rail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.rail-bottom{margin-top:10px}}.ui-page-heading{gap:4px;min-width:0;display:grid}.ui-eyebrow{color:var(--muted);letter-spacing:0;font-size:11px;font-weight:500;line-height:1.2;display:block}.ui-page-heading .ui-eyebrow{font-size:11px;font-weight:500}.template-card .ui-eyebrow{font-size:12px;font-weight:500}.ui-page-title{color:#111827;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;font-weight:700;line-height:1.18;overflow:hidden}.ui-card-title{color:#111827;letter-spacing:0;margin:0;font-size:17px;font-weight:600;line-height:1.28}.ui-row-title{color:#111827;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;line-height:1.28;display:block;overflow:hidden}.library-shell{background:#fff;border:1px solid #1f293314;border-radius:14px;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-height:calc(100vh - 24px);padding:18px 20px;display:grid;overflow:hidden}.library-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.library-header span{color:var(--muted);font-size:11px;font-weight:500;display:block}.library-header h2{color:#111827;margin:4px 0 0;font-size:19px;font-weight:700;line-height:1.18}.chatwith-shell{background:#fff;border:1px solid #1f293314;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:calc(100vh - 24px);padding:18px 20px;display:grid;overflow:hidden}.chatwith-header{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.chatwith-title-block{gap:4px;min-width:0;display:grid}.chatwith-title-block span{color:var(--muted);font-size:12px;font-style:normal;font-weight:500}.chatwith-title-block h2{color:#111827;margin:0;font-size:20px;font-weight:700;line-height:1.18}.chatwith-thread{align-content:start;gap:8px;min-height:0;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.chatwith-exchange{gap:8px;display:grid}.chatwith-bubble{border:1px solid #94a3b824;border-radius:8px;gap:6px;max-width:min(760px,90%);padding:8px 10px;font-size:13px;font-weight:400;line-height:1.45;display:grid}.chatwith-bubble.assistant{color:var(--text);background:#ffffffb8;justify-self:start;max-width:100%}.chatwith-bubble.user{color:var(--text);background:#f8fafc;border-color:#94a3b82e;justify-self:end}.chatwith-bubble.user p{color:var(--text);font-weight:400}.chatwith-bubble p{margin:0}.chatwith-bubble strong{color:#111827;font-size:13px;font-weight:600}.chatwith-bubble ul,.chatwith-result ul{margin:0;padding-left:18px}.chatwith-streamed-response{color:var(--text);white-space:pre-wrap;margin:0;font-size:13px;font-weight:400;line-height:1.5}.chatwith-typing-indicator{align-items:center;gap:5px;min-width:34px;height:20px;display:inline-flex}.chatwith-typing-indicator span{background:#94a3b8;border-radius:999px;width:6px;height:6px;animation:1.05s ease-in-out infinite chatwith-dot-pulse}.chatwith-typing-indicator span:nth-child(2){animation-delay:.14s}.chatwith-typing-indicator span:nth-child(3){animation-delay:.28s}@keyframes chatwith-dot-pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.agent-trace-panel{border-top:1px solid #94a3b82e;gap:8px;margin-top:8px;padding-top:8px;display:grid}.agent-trace-panel summary{color:#64748b;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;list-style:none;display:flex}.agent-trace-panel summary::-webkit-details-marker{display:none}.agent-trace-panel summary strong{color:#64748b;font-size:11px;font-weight:600}.agent-plan-list,.agent-tool-list{gap:6px;display:grid}.agent-plan-list{margin-top:8px}.agent-plan-item{grid-template-columns:8px minmax(0,1fr);align-items:flex-start;gap:7px;display:grid}.agent-plan-status{border-radius:999px;width:8px;height:8px;margin-top:5px}.agent-plan-item.done .agent-plan-status{background:#16a34a}.agent-plan-item.active .agent-plan-status{background:#1455ff}.agent-plan-item.blocked .agent-plan-status{background:#dc2626}.agent-plan-item.pending .agent-plan-status{background:#cbd5e1}.agent-plan-item div{justify-content:space-between;gap:6px;min-width:0;display:flex}.agent-plan-item strong{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.agent-plan-item span:last-child{color:#94a3b8;flex:none;font-size:11px;font-weight:600}.agent-tool-list{margin-top:8px}.agent-tool-item{border-left:2px solid #dbeafe;gap:4px;padding-left:8px;display:grid}.agent-tool-item.failed{border-left-color:#fecaca}.agent-tool-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.agent-tool-head span{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:650;overflow:hidden}.agent-tool-head strong{color:#94a3b8;flex:none;font-size:11px;font-weight:650}.agent-tool-item p{color:#64748b;margin:0;font-size:12px;line-height:1.35}.agent-tool-item code{color:#475569;font-family:var(--font-mono,"SFMono-Regular", Consolas, monospace);text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border:1px solid #94a3b833;border-radius:6px;padding:4px 6px;font-size:11px;line-height:1.35;overflow:hidden}.chatwith-caret{background:var(--accent);width:2px;height:1em;margin-left:2px;animation:.9s steps(2,start) infinite chatwith-caret-blink;display:inline-block;transform:translateY(2px)}@keyframes chatwith-caret-blink{0%,45%{opacity:1}46%,to{opacity:0}}.chatwith-bubble-head,.chatwith-result{gap:6px;display:grid}.chatwith-bubble-head span,.chatwith-result span{color:var(--accent);font-size:11px;font-weight:600}.chatwith-actions{justify-content:flex-end;gap:8px;display:flex}.chatwith-composer{box-shadow:none;background:#fff;border:1px solid #94a3b87a;border-radius:10px;gap:2px;padding:8px;display:grid}.chatwith-composer textarea{appearance:none;color:var(--text);resize:none;background:0 0;border-radius:0;outline:none;height:76px;min-height:76px;max-height:120px;padding:0;font-size:13px;line-height:1.45;overflow-y:auto;box-shadow:none!important;border:0!important;font-weight:400!important}.chatwith-composer textarea::placeholder{color:#b8c0cc;font-weight:400!important}.chatwith-composer textarea:focus{outline:none}.chatwith-composer-tools{justify-content:flex-end;align-items:center;display:flex}.chatwith-send-button{box-shadow:none;color:#fff;background:#1455ff;border:1px solid #1455ff;border-radius:999px;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;min-height:26px;padding:0;line-height:1;display:inline-flex}.chatwith-send-button:disabled{color:#fff;opacity:1;background:#1455ff;border-color:#1455ff}.chatwith-send-button:not(:disabled){color:#fff;background:#0b48ff;border-color:#0b48ff}.chatwith-send-button:not(:disabled):hover,.chatwith-send-button:not(:disabled):focus-visible{outline:none;box-shadow:0 8px 18px #1455ff3d}.chatwith-send-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px}.library-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.library-actions button{border-radius:10px;min-height:36px}.trash-retention-copy{color:var(--muted);margin:0;font-size:12px;font-weight:500}.library-toolbar{border-bottom:1px solid #1f293314;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.library-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.library-tabs button,.library-view-toggle span{box-shadow:none;color:#334155;background:0 0;border:0;border-radius:8px;min-height:30px;padding:0 10px;font-size:12px;font-weight:500}.library-tabs button.active,.library-tabs button:hover{background:var(--accent-soft);color:var(--accent)}.library-view-toggle{background:#0f172a0f;border-radius:999px;padding:3px;display:flex}.library-view-toggle span{align-items:center;min-height:32px;display:flex}.library-view-toggle span.active{color:var(--accent);background:#fff;box-shadow:0 2px 8px #0f172a1f}.project-card-grid{grid-template-columns:minmax(0,1fr);align-content:start;gap:6px;min-height:0;padding:0 2px 12px;display:grid;overflow:auto}.project-list-header{color:#64748b;grid-template-columns:40px minmax(220px,1fr) 180px 36px;align-items:center;min-height:30px;padding:0 14px;font-size:12px;font-weight:500;display:grid}.project-list-title-heading{grid-column:2}.project-list-sort{box-shadow:none;color:#64748b;background:0 0;border:0;border-radius:7px;grid-column:3;justify-content:flex-start;gap:6px;width:fit-content;min-height:24px;padding:0;font-size:12px;font-weight:500;display:inline-flex}.project-list-sort:hover,.project-list-sort:focus-visible{color:var(--accent);outline:none}.project-list-action-heading{grid-column:4;justify-self:center}.trash-list-header{grid-template-columns:40px minmax(220px,1fr) 180px minmax(180px,auto)}.project-card{box-shadow:none;background:#fff;border:1px solid #1f293314;border-radius:8px;grid-template-columns:40px minmax(220px,1fr) 180px 36px;align-items:center;gap:10px;min-height:56px;padding:9px 14px;transition:background .12s,border-color .12s,box-shadow .12s;display:grid;position:relative;overflow:visible}.project-card.active{box-shadow:inset 3px 0 0 var(--accent);border-color:#0b48ff4d}.project-card:hover{background:#fbfdff;border-color:#0b48ff29}.trash-card{grid-template-columns:40px minmax(220px,1fr) 180px minmax(180px,auto)}.project-card-mark{background:var(--accent-soft);box-shadow:none;color:var(--accent);border:0;border-radius:9px;justify-content:center;align-self:center;align-items:center;width:31px;height:31px;min-height:31px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.project-card-body{align-self:center;gap:5px;min-width:0;display:grid}.project-card-title-row{align-items:center;gap:8px;min-width:0;display:flex}.project-card-title-row strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;line-height:1.28;display:block;overflow:hidden}.project-title-button{box-shadow:none;color:#111827;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:flex-start;min-width:0;min-height:24px;padding:0;font-size:14px;font-weight:500;line-height:1.28;display:block;overflow:hidden}.project-title-button:hover,.project-title-button:focus-visible{color:var(--accent);outline:none}.project-updated-time{color:#64748b;white-space:nowrap;font-size:12px;font-weight:500}.project-card-actions{justify-content:flex-end;align-items:center;display:flex;position:relative}.trash-actions{justify-content:flex-end;gap:8px;display:flex}.trash-actions button{border-radius:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:500}.trash-actions .danger{color:#b91c1c}.project-more-button{color:#64748b;border-radius:8px;width:30px;height:30px;min-height:30px;padding:0;font-size:15px;font-weight:700}.project-more-button.active,.project-more-button:hover,.project-more-button:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.project-row-menu{z-index:140;background:#fffffffa;border:1px solid #1f29331f;border-radius:10px;gap:2px;min-width:166px;padding:5px;display:grid;position:absolute;top:34px;right:0;box-shadow:0 14px 34px #0f172a29}.project-row-menu button,.project-row-menu a{box-shadow:none;color:#64748b;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;width:100%;height:30px;min-height:30px;padding:0 9px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.project-row-menu button:hover,.project-row-menu button:focus-visible,.project-row-menu a:hover,.project-row-menu a:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.project-row-menu button:disabled{color:#cbd5e1;cursor:not-allowed}.project-row-menu .danger{color:#b42318}.library-empty{color:var(--muted);border:1px dashed #1f29332e;border-radius:12px;align-self:start;place-items:center start;gap:10px;min-height:220px;padding:24px;display:grid}.library-empty strong{color:#111827;font-size:16px;font-weight:600}.home-shell{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:calc(100vh - 24px);padding:10px;display:grid}.home-header{background:var(--surface-solid);border:1px solid var(--line);box-shadow:none;border-radius:12px;justify-content:space-between;align-items:center;min-height:64px;padding:12px 14px;display:flex}.home-header span{color:var(--muted);font-size:12px;font-weight:600;display:block}.home-header h2{color:#111827;margin:4px 0 0;font-size:20px;font-weight:700;line-height:1.18}.home-count{color:var(--muted);align-items:baseline;gap:5px;display:flex}.home-count strong{color:#111827;font-size:20px;font-weight:700;line-height:1}.home-count span{color:var(--muted);font-size:12px;font-weight:600}.home-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-summary-grid>div{border:1px solid var(--line);box-shadow:var(--soft-shadow);background:#ffffffd1;border-radius:12px;min-height:82px;padding:14px}.home-summary-grid span{color:var(--muted);font-size:12px;font-weight:600;display:block}.home-summary-grid strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:20px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.history-section{grid-template-rows:auto auto minmax(0,1fr);gap:8px;min-height:0;display:grid}.section-title-row{justify-content:space-between;align-items:center;padding:2px 2px 0;display:flex}.section-title-row h3{color:#1f2937;margin:0;font-size:15px;font-weight:600;line-height:1.2}.section-title-row span{color:var(--muted);font-size:12px}.section-mini-button{border-radius:8px;min-height:28px;padding:0 9px;font-size:12px}.history-list{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--soft-shadow);border-radius:12px;align-content:start;gap:0;min-height:0;display:grid;overflow:auto}.history-table-head{color:var(--muted);grid-template-columns:minmax(260px,1fr) 180px 180px;gap:12px;padding:0 14px;font-size:11px;font-weight:600;display:grid}.history-row{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(260px,1fr) 180px 180px;align-items:center;gap:12px;min-height:64px;padding:10px 14px;display:grid}.history-row:last-child{border-bottom:0}.history-row.active{box-shadow:inset 3px 0 0 var(--accent);background:#0b48ff0b}.history-file-mark{background:var(--accent-soft);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.history-main,.history-status{min-width:0}.history-main strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.history-main span,.history-status span{color:var(--muted);font-size:12px;line-height:1.45;display:block}.history-main span{margin-top:4px}.history-status{align-items:center;gap:8px;min-width:0;display:flex}.history-status strong{color:#334155;white-space:nowrap;font-size:12px;font-weight:600}.status-chip{white-space:nowrap;background:#16703c14;border-radius:999px;padding:5px 8px;font-weight:600;line-height:1;color:#16703c!important;font-size:11px!important;display:inline-flex!important}.status-chip.warning{background:#f59e0b1a;color:#b45309!important}.history-actions{justify-content:flex-end;gap:8px;display:flex}.history-actions button,.history-actions .button-link{white-space:nowrap;min-height:34px}.history-empty{color:var(--muted);background:#ffffffc7;border:1px dashed #1f29332e;border-radius:12px;place-items:center start;gap:8px;min-height:220px;padding:22px;display:grid}.history-empty strong{color:#1f2937;font-size:16px;font-weight:600}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.template-card{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--soft-shadow);border-radius:12px;gap:10px;padding:16px;display:grid}.template-card span{color:var(--accent);font-size:12px;font-weight:600}.template-card h3{color:#111827;margin:0;font-size:17px;font-weight:600}.template-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}@media (max-width:1180px){.history-row{grid-template-columns:minmax(220px,1fr) auto}.history-status,.history-table-head span:nth-child(2){display:none}.history-table-head{grid-template-columns:minmax(220px,1fr) auto}}@media (max-width:720px){.library-shell{padding:14px}.library-header,.library-toolbar{flex-direction:column;align-items:stretch}.library-actions{justify-content:flex-start}.library-view-toggle{width:fit-content}.project-list-header{display:none}.project-card{grid-template-columns:36px minmax(0,1fr) 36px;align-items:start}.project-updated-time{grid-area:2/2}.project-card-actions{grid-area:1/3/span 2;justify-content:flex-end}.home-header{flex-direction:column;align-items:stretch;gap:12px}.home-summary-grid,.template-grid{grid-template-columns:1fr}.history-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.history-table-head{display:none}.history-actions{grid-column:1/-1;justify-content:flex-start}}.plan-goal-panel,.planning-workspace,.planning-section{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--soft-shadow);border-radius:12px}.plan-goal-panel{grid-template-columns:170px 170px minmax(180px,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.goal-date-field span,.goal-binding span,.planning-header span,.planning-summary-grid span,.result-readouts span,.resource-settings-row label span,.productivity-rule-row label span,.task-detail-section label span,.task-detail-static-field span,.task-detail-readout span{color:var(--muted);font-size:11px;font-weight:600;display:block}.goal-binding strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:13px;font-weight:650;line-height:1.25;display:block;overflow:hidden}.goal-date-field,.goal-binding{gap:5px;min-width:0;display:grid}.goal-date-field input,.resource-settings-row input,.productivity-rule-row input,.productivity-rule-row select,.assignment-row input,.assignment-row select,.task-detail-section input,.task-detail-section select,.task-detail-section textarea{border:1px solid var(--line);color:#334155;font:inherit;background:#ffffffe0;border-radius:8px;width:100%;height:30px;padding:0 8px;font-size:12px}.goal-date-field input:focus,.resource-settings-row input:focus,.productivity-rule-row input:focus,.productivity-rule-row select:focus,.assignment-row input:focus,.assignment-row select:focus,.task-detail-section input:focus,.task-detail-section select:focus,.task-detail-section textarea:focus{border-color:#0b48ff52;outline:none}.task-detail-section textarea{resize:vertical;height:auto;min-height:76px;padding:8px}.productivity-rule-row input[type=number],.task-detail-section input[type=number]{appearance:textfield}.productivity-rule-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.productivity-rule-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.task-detail-section input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.task-detail-section input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gantt-detail-layout{grid-template-columns:minmax(0,1fr);gap:10px;height:100%;min-height:0;padding:10px;display:grid;overflow:hidden}.gantt-detail-layout.has-detail{grid-template-columns:minmax(0,1fr) 320px}.gantt-canvas-slot{min-width:0;min-height:0;display:flex;overflow:hidden}.gantt-canvas-slot>.gantt-canvas{height:100%}.gantt-canvas-slot>.project-workspace{flex:auto;min-width:0;height:100%;min-height:0}.task-detail-panel{border:1px solid var(--line);box-sizing:border-box;background:#fffffff5;border-radius:12px;grid-auto-rows:max-content;align-self:stretch;gap:0;width:100%;min-width:0;min-height:0;padding:12px 12px 16px;display:grid;overflow:hidden auto;box-shadow:0 18px 40px #0f172a14}.task-detail-panel.schedule-run-panel{gap:14px}.task-detail-panel.chatwith-panel{background:#fff;grid-template-rows:auto minmax(0,1fr) auto;grid-auto-rows:auto;gap:0;padding:0;overflow:hidden}.chatwith-panel .chatwith-header{border-bottom:1px solid var(--line);padding:10px 12px}.chatwith-title-block strong{color:#111827;font-size:13px;font-weight:650;line-height:1.2}.chatwith-header-actions{align-items:center;gap:6px;display:flex}.chatwith-header-actions button{box-shadow:none;color:#64748b;background:0 0;border-color:#0000;border-radius:8px;justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.chatwith-header-actions button:hover,.chatwith-header-actions button:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.chatwith-header-actions .chatwith-close-button{flex:0 0 28px;width:28px;padding:0}.chatwith-clear-button{gap:5px}.chatwith-header-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:0 0 14px;width:14px;height:14px}.chatwith-panel .chatwith-thread{padding:10px 12px 8px;overflow-y:auto}.chatwith-panel .chatwith-bubble{max-width:100%}.chatwith-panel .chatwith-actions{justify-content:flex-end;align-items:center;gap:6px;margin-top:6px}.chatwith-panel .chatwith-actions button{box-shadow:none;border-radius:7px;flex:none;min-height:30px;padding:0 12px;font-size:12px}.chatwith-panel .chatwith-actions button.primary{box-shadow:none}.chatwith-panel .chatwith-composer{grid-template-columns:minmax(0,1fr);margin:0 12px 12px}.chatwith-empty{color:#64748b;text-align:center;align-self:center;justify-items:center;gap:12px;min-height:280px;padding:24px 4px;display:grid}.chatwith-empty-icon{background:var(--accent-soft);color:var(--accent);border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.chatwith-empty-icon .rail-nav-icon{width:28px;height:28px}.chatwith-empty strong{color:#111827;font-size:13px;font-weight:600}.chatwith-suggestions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chatwith-suggestions button{box-shadow:none;color:#64748b;background:#0f172a0a;border-color:#0000;border-radius:999px;min-height:28px;padding:0 10px;font-size:12px}.chatwith-suggestions button:hover,.chatwith-suggestions button:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.task-detail-head{justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:12px;display:flex}.task-detail-head>div{min-width:0}.task-detail-head span{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:800;display:block}.task-detail-head strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.3;display:block;overflow:hidden}.task-detail-head button{border:1px solid var(--line);color:#64748b;background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:inline-flex}.task-detail-section{border-top:1px solid #94a3b83d;gap:12px;padding:16px 0 18px;display:grid}.task-detail-head+.task-detail-section{padding-top:14px}.task-detail-section:last-child{padding-bottom:2px}.task-detail-section h3{color:#111827;align-items:center;gap:7px;margin:0;font-size:13px;line-height:1.2;display:inline-flex}.task-detail-section h3:before{content:"";background:#cbd5e1;border-radius:999px;width:3px;height:12px;display:inline-block}.task-detail-section-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:18px;display:flex}.task-detail-section-head>span{color:#64748b;flex:none;font-size:11px;line-height:1.2}.task-detail-section label{gap:6px;min-width:0;display:grid}.task-detail-date-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.task-detail-two-cols,.task-detail-resource-editor{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:8px;display:grid}.task-detail-resource-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.task-resource-allocation-grid{gap:10px;display:grid}.task-resource-allocation-row{grid-template-columns:minmax(0,1fr) 72px 66px;align-items:end;gap:12px;min-width:0;display:grid}.task-resource-field{gap:5px;min-width:0;display:grid}.task-resource-field select,.task-resource-field input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:30px;min-height:30px}.task-resource-field span{color:#64748b;font-size:11px;line-height:1.2}.action-icon{pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;width:15px;height:15px;display:block}.task-resource-row-actions{grid-template-columns:repeat(2,30px);justify-content:end;gap:6px;display:grid}.task-resource-row-actions button{color:#334155;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0;line-height:1;display:inline-flex}.task-resource-row-actions button:hover:not(:disabled),.task-resource-row-actions button:focus-visible{color:var(--accent);background:#eef4ff;border-color:#0000;outline:none}.task-resource-row-actions button.danger:hover:not(:disabled),.task-resource-row-actions button.danger:focus-visible{color:#dc2626;background:#fff1f2;border-color:#0000}.task-resource-row-actions button:disabled{color:#cbd5e1}.task-detail-resource-editor{grid-template-columns:minmax(0,1fr) 64px 58px}.task-detail-resource-grid button,.task-detail-resource-editor button{border:1px solid var(--line);color:#111827;background:#f8fafc;border-radius:8px;font-size:12px;font-weight:800}.task-detail-resource-grid>button{justify-self:end;min-width:58px;min-height:34px}.task-detail-resource-grid button:disabled,.task-detail-resource-editor button:disabled,.task-detail-head button:disabled{color:#cbd5e1}.task-detail-static-field{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:5px;min-width:0;min-height:48px;padding:6px 8px;display:grid}.task-detail-static-field strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2;display:block;overflow:hidden}.task-detail-readout{border:1px solid var(--line);background:#f8fafc;border-radius:9px;justify-content:space-between;align-items:center;min-height:34px;padding:8px 10px;display:flex}.task-detail-readout strong{color:#111827;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.task-detail-readout.success{background:#f0fdf4d1;border-color:#22c55e2e}.task-detail-readout.success strong{color:#15803d}.task-detail-readout.warning{background:#fffbebd6;border-color:#f59e0b33}.task-detail-readout.warning strong{color:#b45309}.task-detail-readout.danger{background:#fef2f2d6;border-color:#dc26262e}.task-detail-readout.danger strong{color:#b91c1c}.task-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.task-detail-metrics>div{border:1px solid var(--line);background:#f8fafc;border-radius:9px;min-width:0;padding:8px 10px}.task-detail-metrics span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:800;display:block}.task-detail-metrics strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.25;display:block;overflow:hidden}.task-detail-list{gap:6px;display:grid}.task-detail-list span{border:1px solid var(--line);color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border-radius:8px;min-width:0;padding:7px 9px;font-size:12px;line-height:1.35;display:block;overflow:hidden}.task-detail-chips{flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.task-detail-chips button{border:1px solid var(--line);color:#334155;background:#f8fafc;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.task-detail-chips button span{color:#1d4ed8;background:#2563eb1a;border-radius:999px;padding:1px 5px;font-size:10px}.task-detail-empty{color:var(--muted);align-items:center;min-height:26px;font-size:12px;display:inline-flex}.task-duration-source{border:1px solid var(--line);background:#eff6ffc2;border-radius:9px;justify-content:space-between;align-items:center;min-width:0;min-height:38px;padding:8px 10px;display:flex}.task-duration-source span{color:#475569;font-size:12px;font-weight:800;line-height:1.25}.task-duration-source strong{color:#0f172a;font-size:15px;line-height:1.2}.task-detail-actions{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.task-detail-actions button{border:1px solid var(--line);color:#111827;background:#fff;border-radius:8px;min-height:32px;padding:6px 8px;font-size:12px;font-weight:800}.task-detail-actions button:hover:not(:disabled),.task-detail-link-button:hover:not(:disabled),.task-detail-resource-grid button:hover:not(:disabled),.task-detail-resource-editor button:hover:not(:disabled){color:#0b48ff;background:#eff6ff;border-color:#2563eb3d}.task-detail-actions button:disabled{border-color:var(--line);color:#cbd5e1;background:#f8fafc}.task-detail-hint{color:#64748b;margin:0;font-size:12px;line-height:1.45}.task-detail-link-button{border:1px solid var(--line);color:#0b48ff;background:#fff;border-radius:8px;width:max-content;min-height:32px;padding:6px 10px;font-size:12px;font-weight:800}.task-detail-link-button.compact{min-height:28px;padding:4px 9px}.task-detail-link-button:disabled{color:#cbd5e1}.task-detail-check{flex-direction:row;align-items:center;gap:8px!important;display:flex!important}.task-detail-check input{accent-color:var(--accent);width:auto;height:auto}.productivity-library{align-content:start;gap:12px;height:calc(100vh - 24px);padding:10px;display:grid;overflow:auto}.productivity-library-section{align-content:start;justify-self:start;gap:10px;width:min(860px,100%);min-width:0;max-width:100%;padding:0;display:grid}.productivity-template-section,.resource-calendar-section{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.productivity-template-save{align-items:center;gap:6px;display:flex}.productivity-template-save input{border:1px solid var(--line);box-sizing:border-box;color:#334155;font:inherit;background:#fff;border-radius:7px;width:138px;height:30px;min-height:30px;padding:0 9px;font-size:12px}.productivity-template-save input:focus{border-color:#0b48ff52;outline:none}.productivity-template-save button{border:1px solid var(--line);box-sizing:border-box;color:#475569;cursor:pointer;font:inherit;white-space:nowrap;background:#fff;border-radius:7px;min-width:58px;height:30px;min-height:30px;padding:0 10px;font-size:12px;font-weight:650}.productivity-template-save button:hover:not(:disabled),.productivity-template-save button:focus-visible{color:var(--accent);border-color:#0b48ff52;outline:none}.productivity-template-group{gap:8px;display:grid}.productivity-template-group+.productivity-template-group{margin-top:16px;padding-top:14px;position:relative}.productivity-template-group+.productivity-template-group:before{background:var(--line);content:"";width:min(220px,42%);height:1px;position:absolute;top:0;left:0}.productivity-template-group-head{justify-content:space-between;align-items:center;padding:0 2px;display:flex}.productivity-template-group-head strong{color:#334155;font-size:12px;font-weight:650}.productivity-template-group-head span{color:var(--muted);font-size:11px}.productivity-template-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.productivity-template-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:auto 1fr auto;gap:8px;min-height:140px;padding:12px;display:grid}.productivity-template-card-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.productivity-template-card strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.productivity-template-name-button{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;min-width:0;padding:0;display:flex}.productivity-template-name-button:disabled{cursor:default}.productivity-template-name-button:focus-visible{outline:none}.productivity-template-edit-icon{color:#64748b;opacity:0;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:none;width:13px;height:13px;transition:opacity .12s}.productivity-template-name-button:hover .productivity-template-edit-icon,.productivity-template-name-button:focus-visible .productivity-template-edit-icon,.productivity-template-description-button:hover .productivity-template-edit-icon,.productivity-template-description-button:focus-visible .productivity-template-edit-icon{opacity:1}.productivity-template-card span{color:var(--muted);white-space:nowrap;font-size:11px}.productivity-template-card p{color:#64748b;margin:0;font-size:12px;line-height:1.45}.productivity-template-description-button{color:#64748b;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:flex-start;gap:5px;width:100%;min-width:0;min-height:0;padding:0;font-size:12px;font-weight:400;line-height:1.45;display:flex}.productivity-template-description-button:disabled{cursor:default}.productivity-template-description-button:focus-visible{outline:none}.productivity-template-description-button span{color:inherit;text-overflow:ellipsis;white-space:normal;min-width:0;font-size:12px;line-height:1.45;overflow:hidden}.productivity-template-description-button .productivity-template-edit-icon{margin-top:2px}.productivity-template-description-input{border:1px solid var(--line);color:#334155;font:inherit;resize:none;background:#fff;border-radius:7px;width:100%;min-height:48px;padding:6px 8px;font-size:12px;line-height:1.45}.productivity-template-description-input:focus{border-color:#0b48ff52;outline:none}.productivity-template-name-input{border:1px solid var(--line);color:#111827;font:inherit;background:#fff;border-radius:7px;width:128px;min-width:0;height:28px;padding:0 8px;font-size:13px;font-weight:650}.productivity-template-name-input:focus{border-color:#0b48ff52;outline:none}.productivity-template-actions{justify-content:flex-end;align-self:end;gap:6px;display:flex}.productivity-template-actions button{border:1px solid var(--line);color:#475569;cursor:pointer;font:inherit;background:#fff;border-radius:7px;align-self:end;height:30px;padding:0 10px;font-size:12px;font-weight:650}.productivity-template-actions button:hover:not(:disabled),.productivity-template-actions button:focus-visible{color:var(--accent);border-color:#0b48ff52;outline:none}.productivity-template-actions button.danger:hover:not(:disabled),.productivity-template-actions button.danger:focus-visible{color:#dc2626;border-color:#dc262647}.productivity-library-note,.productivity-library-empty{border:1px solid var(--line);background:#f8fafc;border-radius:10px;gap:5px;padding:10px;display:grid}.productivity-library-note strong,.productivity-library-empty strong{color:#111827;font-size:13px}.productivity-library-note p,.productivity-library-empty span{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.productivity-library-empty button{justify-self:start;min-height:30px;padding:0 10px}.planning-workspace{gap:12px;height:calc(100vh - 24px);padding:10px;display:grid;overflow:auto}.planning-header{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.planning-header h2{color:#111827;margin:4px 0 0;font-size:22px;line-height:1.15}.planning-header-actions{align-items:center;gap:8px;display:flex}.planning-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.planning-summary-grid.compact>div{min-height:62px;padding:10px}.planning-summary-grid>div,.result-readouts>div{border:1px solid var(--line);background:#f8fafcd1;border-radius:10px;min-height:72px;padding:12px}.planning-summary-grid strong,.result-readouts strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:18px;line-height:1.2;display:block;overflow:hidden}.planning-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:12px;display:grid}.planning-section{gap:10px;min-width:0;padding:12px;display:grid}.plan-readiness-section{gap:12px}.plan-readiness-list{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.plan-readiness-item{border:1px solid var(--line);background:#f8fafcdb;border-radius:10px;gap:6px;min-height:108px;padding:10px;display:grid}.plan-readiness-item strong{color:#111827;font-size:13px;line-height:1.25}.plan-readiness-item>span{border-radius:999px;width:max-content;padding:5px 7px;font-size:11px;font-weight:800;line-height:1}.plan-readiness-item p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.plan-readiness-item.done{border-color:#16a34a29}.plan-readiness-item.done>span{color:#15803d;background:#16a34a17}.plan-readiness-item.warning{border-color:#f59e0b33}.plan-readiness-item.warning>span{color:#b45309;background:#f59e0b1f}.plan-readiness-item.missing{border-color:#dc262629}.plan-readiness-item.missing>span{color:#b91c1c;background:#dc262617}.planning-muted{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.result-readouts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.scenario-comparison-panel{border:1px solid var(--line);background:#f8fafcc7;border-radius:10px;gap:10px;padding:10px;display:grid}.scenario-comparison-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.scenario-comparison-head strong{color:#111827;font-size:13px}.scenario-comparison-head span{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.scenario-comparison-head span.neutral{color:#475569;background:#64748b1a}.scenario-comparison-head span.success{color:#047857;background:#10b9811f}.scenario-comparison-head span.warning{color:#b45309;background:#f59e0b21}.scenario-comparison-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.scenario-comparison-grid div{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;min-width:0;padding:8px}.scenario-comparison-grid span,.scenario-comparison-foot span{color:var(--muted);font-size:11px;display:block}.scenario-comparison-grid strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;display:block;overflow:hidden}.scenario-comparison-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.scenario-comparison-foot span{border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#ffffffa3;border-radius:999px;padding:6px 8px;overflow:hidden}.blocking-list,.recommendation-list,.changed-task-list{gap:7px;min-width:0;display:grid}.schedule-run-change-list{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;max-height:min(320px,34vh);padding-right:4px;overflow:hidden auto}.blocking-list span,.changed-task-list span,.recommendation-list p{border:1px solid var(--line);color:#334155;overflow-wrap:anywhere;word-break:break-word;background:#f8fafce0;border-radius:9px;min-width:0;margin:0;padding:8px 10px;font-size:12px;line-height:1.45}.blocking-list span{color:#b91c1c;border-color:#dc262629}.blocking-list .blocking-item{gap:4px;display:grid}.blocking-list .blocking-item strong{color:#991b1b;font-size:12px;font-weight:650;line-height:1.35}.blocking-list .blocking-item small{color:#475569;font-size:12px;font-weight:400;line-height:1.45}.recommendation-list p{color:#1d4ed8;border-color:#0b48ff1f}.recommendation-item{background:#f8fafce0;border:1px solid #0b48ff1f;border-radius:10px;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:10px;padding:9px 10px;display:grid}.recommendation-item strong{color:#1d4ed8;margin-bottom:4px;font-size:12px;display:block}.recommendation-item p{color:#334155;overflow-wrap:anywhere;white-space:normal;word-break:break-word;background:0 0;border:0;border-radius:0;min-width:0;margin:0;padding:0;font-size:12px;line-height:1.45}.recommendation-list.compact .recommendation-item{grid-template-columns:1fr;gap:4px}.recommendation-action-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;padding-top:4px;display:flex}.recommendation-action-row span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;line-height:1.35;overflow:hidden}.recommendation-action-row button{border:1px solid var(--line);color:#334155;cursor:pointer;background:#ffffffe0;border-radius:8px;flex:none;height:30px;padding:0 10px;font-size:12px;font-weight:600;transition:border-color .16s,color .16s,background .16s}.recommendation-action-row button:hover:not(:disabled){color:#1d4ed8;background:#eff6ffe6;border-color:#2563eb61}.recommendation-action-row button:disabled{color:#94a3b8;cursor:not-allowed}.recommendation-item>span{border:1px solid var(--line);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffffd6;border-radius:999px;max-width:150px;padding:5px 8px;font-size:11px;font-weight:750;overflow:hidden}.recommendation-item.info{background:#eff6ff94;border-color:#0b48ff29}.recommendation-item.info strong{color:#1d4ed8}.recommendation-item.danger{background:#fef2f2ad;border-color:#dc262633}.recommendation-item.danger strong{color:#b91c1c}.resource-plan-list{gap:8px;display:grid}.resource-load-table{border:1px solid var(--line);border-radius:10px;display:grid;overflow:hidden}.resource-load-table-head,.resource-load-table-row{grid-template-columns:minmax(118px,1.1fr) minmax(120px,1.2fr) 72px 72px minmax(92px,1fr);align-items:center;gap:8px;min-height:34px;padding:0 10px;display:grid}.resource-load-table-head{border-bottom:1px solid var(--line);color:var(--muted);background:#f8fafc;font-size:11px;font-weight:650}.resource-load-table-row{border-bottom:1px solid var(--line);color:#334155;background:#ffffffc7;font-size:12px}.resource-load-table-row:last-child{border-bottom:0}.resource-load-table-row strong{color:#111827;font-size:12px}.resource-load-table-row.conflict{color:#b91c1c;background:#fef2f2c7}.resource-load-table-row.conflict strong{color:#991b1b}.resource-plan-row{border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px;display:grid}.resource-plan-row.conflict{border-color:#dc262638}.resource-plan-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.resource-plan-head strong{color:#111827;font-size:13px}.resource-plan-head span{color:var(--muted);white-space:nowrap;font-size:12px}.resource-load-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.resource-load-strip>div{border:1px solid var(--line);background:#f8fafce0;border-radius:8px;min-width:0;padding:7px 8px}.resource-load-strip span{color:var(--muted);font-size:11px;display:block}.resource-load-strip strong{color:#111827;margin-top:3px;font-size:13px;display:block}.resource-load-strip strong.danger{color:#b91c1c}.resource-conflict-days,.resource-idle-list{flex-wrap:wrap;gap:6px;display:flex}.resource-conflict-days span,.resource-idle-list span{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:750;line-height:1.2}.resource-conflict-days span{color:#b91c1c;background:#dc262614}.resource-idle-list span{color:#0f766e;background:#0f766e14}.resource-allocation-list{gap:5px;display:grid}.resource-allocation{background:#f8fafcd1;border-radius:8px;grid-template-columns:minmax(120px,1fr) minmax(180px,1.3fr) 64px;align-items:center;gap:8px;min-height:32px;padding:6px 8px;display:grid}.resource-allocation span,.resource-allocation strong,.resource-allocation small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.resource-allocation span{color:#334155}.resource-allocation strong,.resource-allocation small{color:var(--muted);font-weight:650}.productivity-rule-grid,.resource-settings-grid,.assignment-list{border:1px solid var(--line);border-radius:10px;align-content:start;display:grid;overflow:hidden}.productivity-rule-grid{width:100%;max-width:100%}.resource-calendar-grid{border:1px solid var(--line);border-radius:10px;align-content:start;width:100%;max-width:100%;display:grid;overflow:hidden}.productivity-rule-header{border-bottom:1px solid var(--line);color:var(--muted);background:#f8fafc;grid-template-columns:44px minmax(180px,1fr) 104px 86px 76px 126px 62px;align-items:center;gap:10px;min-height:32px;padding:0 12px;font-size:11px;font-weight:650;display:grid}.resource-calendar-header{border-bottom:1px solid var(--line);color:var(--muted);background:#f8fafc;grid-template-columns:44px minmax(180px,1fr) 94px minmax(270px,1fr) 62px;align-items:center;gap:10px;min-height:32px;padding:0 12px;font-size:11px;font-weight:650;display:grid}.resource-calendar-header span,.productivity-rule-header span{text-align:center}.resource-settings-row,.productivity-rule-row,.assignment-row{border-bottom:1px solid var(--line);background:#ffffffc7;align-items:center;gap:10px;min-height:46px;padding:7px 12px;display:grid}.resource-settings-row{grid-template-columns:minmax(140px,1fr) 82px 138px 138px 78px}.assignment-row{grid-template-columns:minmax(180px,1.2fr) minmax(180px,1.4fr) minmax(150px,.8fr) 76px 76px}.productivity-rule-row{grid-template-columns:44px minmax(180px,1fr) 104px 86px 76px 126px 62px}.resource-calendar-row{border-bottom:1px solid var(--line);background:#ffffffc7;grid-template-columns:44px minmax(180px,1fr) 94px minmax(270px,1fr) 62px;align-items:center;gap:10px;min-height:46px;padding:7px 12px;display:grid}.resource-calendar-row:last-child{border-bottom:0}.productivity-row-index{color:#64748b;text-align:center;font-size:12px;font-weight:650}.productivity-rule-row label span,.resource-calendar-row label>span:not(.resource-calendar-static){display:none}.productivity-rule-row label,.resource-calendar-row label{min-width:0}.productivity-rule-row input,.productivity-rule-row select,.resource-calendar-row input{box-sizing:border-box;min-width:0;max-width:100%}.resource-calendar-row label:nth-child(3) input{text-align:center}.resource-calendar-row label .resource-calendar-static{color:#334155;font-size:var(--control-font-size);min-height:var(--control-height);align-items:center;padding:0 10px;display:flex;font-weight:var(--control-font-weight)!important}.resource-calendar-row label .resource-calendar-static.center{justify-content:center}.resource-calendar-row input:disabled{color:#475569;opacity:1;background:#f8fafc}.resource-calendar-row .weekday-toggle:disabled{cursor:default;opacity:1}.resource-calendar-weekdays{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.resource-calendar-weekdays .weekday-toggle{min-width:32px;min-height:28px;padding:0 7px}.productivity-rule-row label:nth-child(4) input,.productivity-rule-row label:nth-child(5) input{text-align:center}.productivity-rule-row .productivity-period-select{box-sizing:border-box;text-align:center;justify-self:center;width:86px!important;min-width:86px!important;max-width:86px!important;padding-left:12px!important}.productivity-row-actions{justify-content:flex-start;align-items:center;gap:6px;display:flex}.productivity-row-actions button{box-shadow:none;color:#475569;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;min-width:26px;height:26px;min-height:26px;padding:0;line-height:1;display:inline-flex}.productivity-row-actions button:hover:not(:disabled),.productivity-row-actions button:focus-visible{color:var(--accent);background:#eef4ff;border-color:#0000;outline:none}.productivity-row-actions button.danger:hover:not(:disabled),.productivity-row-actions button.danger:focus-visible{color:#dc2626;background:#fff1f2;border-color:#0000}.resource-settings-row:last-child,.productivity-rule-row:last-child,.assignment-row:last-child{border-bottom:0}.resource-settings-row>div,.productivity-rule-row>div,.assignment-task{min-width:0}.resource-settings-row strong,.productivity-rule-row strong,.assignment-task strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.resource-settings-row>div span,.productivity-rule-row>div span,.assignment-task span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.productivity-rule-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.resource-exclusive-control{justify-content:center;align-items:center;gap:7px;padding-top:14px;display:flex}.resource-exclusive-control input{accent-color:var(--accent);width:auto;height:auto}.assignment-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.assignment-chips button{color:var(--accent);background:#0b48ff12;border-color:#0b48ff1f;border-radius:999px;min-height:24px;padding:0 8px;font-size:11px;font-weight:750}.assignment-row>button{min-height:30px;padding:0 10px}@media (max-width:1180px){.gantt-detail-layout,.gantt-detail-layout.has-detail,.plan-goal-panel,.planning-grid,.resource-settings-row,.assignment-row{grid-template-columns:1fr}.planning-summary-grid,.result-readouts,.scenario-comparison-grid,.scenario-comparison-foot,.plan-readiness-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-detail-layout,.gantt-detail-layout.has-detail{height:100%}}@media (max-width:720px){.planning-header,.resource-plan-head{flex-direction:column;align-items:stretch}.planning-summary-grid,.result-readouts,.scenario-comparison-grid,.scenario-comparison-foot,.plan-readiness-list,.resource-load-strip,.recommendation-item,.productivity-template-list,.productivity-rule-row,.resource-allocation{grid-template-columns:1fr}.productivity-rule-header{display:none}.productivity-template-section .section-title-row,.productivity-template-save{flex-direction:column;align-items:stretch}.productivity-template-save,.productivity-template-save input,.productivity-template-save button{width:100%}.productivity-rule-row label span{display:block}.productivity-row-actions{justify-content:flex-start}}.project-row{grid-template-columns:40px 78px minmax(300px,1fr) 82px 78px 78px minmax(760px,2.2fr);position:relative}.project-row>div{min-height:44px}.project-edit-grid .project-row>div{background:#fff;font-size:13px;line-height:1.35}.project-edit-grid .project-header>div{min-height:var(--project-header-height,40px);background:#f8fafc;font-size:12px}.project-edit-grid .project-row.selected>div{background:#eef4ff}.project-edit-grid .project-row:not(.project-header):hover>div,.project-edit-grid .project-row:not(.project-header):focus-within>div,.project-edit-grid .project-row.menu-open>div,.project-edit-grid .project-row.editor-open>div{background:#fbfdff}.project-edit-grid .project-row.selected:not(.project-header):hover>div,.project-edit-grid .project-row.selected:not(.project-header):focus-within>div,.project-edit-grid .project-row.selected.menu-open>div,.project-edit-grid .project-row.selected.editor-open>div{background:#e8f1ff}.project-edit-grid .project-row.search-match>div{background:#fff7d6}.project-edit-grid .project-row.search-match:not(.project-header):hover>div,.project-edit-grid .project-row.search-match:not(.project-header):focus-within>div,.project-edit-grid .project-row.search-match.menu-open>div,.project-edit-grid .project-row.search-match.editor-open>div{background:#fff1b8}.project-edit-grid .project-row.selected.search-match>div,.project-edit-grid .project-row.selected.search-match:not(.project-header):hover>div,.project-edit-grid .project-row.selected.search-match:not(.project-header):focus-within>div,.project-edit-grid .project-row.selected.search-match.menu-open>div,.project-edit-grid .project-row.selected.search-match.editor-open>div{background:#e8f1ff}.project-edit-grid .project-row.issue-highlight:not(.project-header)>.project-row-tools,.project-edit-grid .project-row.issue-highlight:not(.project-header):hover>.project-row-tools,.project-edit-grid .project-row.issue-highlight:not(.project-header):focus-within>.project-row-tools,.project-edit-grid .project-row.issue-highlight.menu-open>.project-row-tools,.project-edit-grid .project-row.issue-highlight.editor-open>.project-row-tools,.project-edit-grid .project-row.selected.issue-highlight:not(.project-header)>.project-row-tools,.project-edit-grid .project-row.selected.issue-highlight:not(.project-header):hover>.project-row-tools,.project-edit-grid .project-row.selected.issue-highlight:not(.project-header):focus-within>.project-row-tools,.project-edit-grid .project-row.selected.issue-highlight.menu-open>.project-row-tools,.project-edit-grid .project-row.selected.issue-highlight.editor-open>.project-row-tools{background:#fff7ed;box-shadow:inset 3px 0 #f59e0b}.project-edit-grid .project-row.issue-highlight .row-index-number{color:#b45309;font-weight:650}.project-edit-grid .project-row.preview-change:not(.project-header)>.project-row-tools,.project-edit-grid .project-row.preview-change:not(.project-header):hover>.project-row-tools,.project-edit-grid .project-row.preview-change:not(.project-header):focus-within>.project-row-tools,.project-edit-grid .project-row.preview-change.menu-open>.project-row-tools,.project-edit-grid .project-row.preview-change.editor-open>.project-row-tools,.project-edit-grid .project-row.selected.preview-change:not(.project-header)>.project-row-tools,.project-edit-grid .project-row.selected.preview-change:not(.project-header):hover>.project-row-tools,.project-edit-grid .project-row.selected.preview-change:not(.project-header):focus-within>.project-row-tools,.project-edit-grid .project-row.selected.preview-change.menu-open>.project-row-tools,.project-edit-grid .project-row.selected.preview-change.editor-open>.project-row-tools{background:#ecfdf5;box-shadow:inset 3px 0 #14b8a6}.project-edit-grid .project-row.preview-change .row-index-number{color:#0f766e;font-weight:700}.project-row:hover,.project-row:focus-within,.project-row.menu-open,.project-row.editor-open{z-index:20}.project-row-tools{text-align:center;justify-content:center;align-items:center;position:relative;padding:0 4px!important}.project-id-header{color:#64748b;text-transform:uppercase;justify-content:center;font-weight:500;padding:0 4px!important}.row-index-number{color:#64748b;text-align:center;width:100%;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:500;line-height:1;transition:opacity .12s,transform .12s;display:block}.row-insert-button{box-shadow:none;color:#94a3b8;opacity:0;pointer-events:none;background:0 0;border-color:#0000;border-radius:999px;flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;font-size:14px;font-weight:700;line-height:1;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.row-insert-button .action-icon{width:13px;height:13px}.project-row-tools:hover .row-insert-button{opacity:1;pointer-events:auto}.project-row-tools:has(.row-insert-button:focus-visible) .row-insert-button{opacity:1;pointer-events:auto}.project-row-tools:hover .row-index-number{opacity:0;transform:scale(.92)}.project-row-tools:has(.row-insert-button:focus-visible) .row-index-number{opacity:0;transform:scale(.92)}.project-row-tools:hover .row-insert-button{color:#64748b;background:#fff;border-color:#64748b33}.project-row-tools:has(.row-insert-button:focus-visible) .row-insert-button{color:#64748b;background:#fff;border-color:#64748b33}.project-row-tools .row-insert-button:hover,.project-row-tools .row-insert-button:focus-visible{color:#0f172a;background:#f8fafc;border-color:#64748b57;outline:none;box-shadow:0 4px 12px #0f172a14}.project-task-name{gap:8px;position:relative;overflow:visible}.task-name-content{flex:0 calc(100% - 36px);align-items:center;gap:2px;width:calc(100% - 36px);min-width:0;max-width:calc(100% - 36px);display:flex}.summary-collapse-button{box-shadow:none;color:#64748b;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 0 18px;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;display:inline-flex}.summary-collapse-button:hover,.summary-collapse-button:focus-visible{color:var(--accent);background:#eef4ff;border-color:#0b48ff29;outline:none}.summary-collapse-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:15px;height:15px;transition:transform .12s}.project-row.collapsed .summary-collapse-icon{transform:rotate(-90deg)}.task-name-input,.duration-input{color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;min-height:30px}.task-name-input{text-overflow:ellipsis;white-space:nowrap;flex:auto;width:100%;min-width:0;padding:0 8px;font-weight:400;overflow:hidden}.summary-collapse-button+.task-name-input{padding-left:4px}.task-schedule-badge{text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:34px;max-width:58px;height:20px;padding:0 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.task-schedule-badge.on-time{color:#15803d;background:#16a34a14;border-color:#16a34a2e}.task-schedule-badge.float{color:#2563eb;background:#2563eb14;border-color:#2563eb29}.task-schedule-badge.late{color:#b91c1c;background:#dc262614;border-color:#dc26262e}.task-schedule-badge.mode{color:#475569;background:#64748b14;border-color:#64748b29}.task-schedule-badge.preview{color:#0f766e;background:#14b8a61a;border-color:#14b8a638}.task-name-input:focus,.duration-input:focus{background:#fff;border-color:#0b48ff47;outline:none}.duration-cell{justify-content:center;gap:2px;font-size:13px;padding:0 6px!important}.duration-cell span:last-child{color:#64748b;text-align:left;flex:0 0 14px;font-size:12px;font-weight:650}.duration-input{appearance:textfield;font-variant-numeric:tabular-nums;text-align:center;min-width:30px;max-width:calc(100% - 18px)}.duration-readout{font-variant-numeric:tabular-nums;text-align:center;min-width:30px;max-width:calc(100% - 18px);display:inline-block}.duration-input::-webkit-outer-spin-button{appearance:none;margin:0}.duration-input::-webkit-inner-spin-button{appearance:none;margin:0}.project-number-header,.project-number-cell,.project-table-header-cell{font-variant-numeric:tabular-nums;text-align:center;justify-content:center;font-size:13px;padding:0 6px!important}.project-number-header,.project-table-header-cell{font-size:12px}.project-date-cell{color:#172033;font-variant-numeric:tabular-nums;text-align:center;justify-content:center;font-size:13px;position:relative;padding:0 6px!important}.project-date-readonly{font-weight:inherit;white-space:nowrap}.project-date-text-input{color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;width:112px;min-width:108px;max-width:112px;height:28px;padding:0 26px 0 6px;font-size:13px}.project-date-text-input.empty{color:#94a3b8}.project-date-picker{appearance:none;cursor:pointer;font:inherit;opacity:0;z-index:2;border:0;width:28px;height:28px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.project-date-icon{color:#64748b;opacity:0;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;z-index:1;width:14px;height:14px;transition:opacity .12s;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.project-date-cell.editable:hover .project-date-text-input,.project-date-cell.editable:focus-within .project-date-text-input{background:#fff;border-color:#0b48ff38}.project-date-text-input:focus{background:#fff;border-color:#0b48ff47;outline:none}.project-date-cell.editable:hover .project-date-icon,.project-date-cell.editable:focus-within .project-date-icon{opacity:.82}.project-date-picker:focus{outline:none}.row-action-trigger{color:#475569;opacity:0;pointer-events:none;z-index:35;background:#ffffffdb;border:1px solid #1f29331f;border-radius:7px;justify-content:center;align-items:center;width:24px;min-width:24px;height:24px;min-height:24px;padding:0 0 2px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s,box-shadow .12s,color .12s,opacity .12s;display:flex;position:absolute;top:50%;right:7px;transform:translateY(-50%);box-shadow:0 2px 8px #0f172a14}.project-row:hover .row-action-trigger,.project-row:focus-within .row-action-trigger,.project-row.menu-open .row-action-trigger{opacity:1;pointer-events:auto}.row-action-trigger:hover,.row-action-trigger:focus-visible,.row-action-trigger.active{color:var(--accent);background:#fff;border-color:#0b48ff38;outline:none;box-shadow:0 6px 16px #0b48ff1f}.project-rows:has(.project-row:hover) .project-row:focus-within:not(:hover):not(.menu-open){z-index:1}:is(.project-rows:has(.project-row:hover) .project-row:focus-within:not(:hover) .project-row-tools .row-insert-button,.project-rows:has(.project-row:hover) .project-row:focus-within:not(:hover):not(.menu-open) .row-action-trigger){opacity:0;pointer-events:none}.row-action-menu{z-index:120;background:#fffffffa;border:1px solid #1f29331f;border-radius:10px;gap:2px;min-width:150px;padding:5px;display:grid;position:absolute;top:38px;right:7px;box-shadow:0 14px 34px #0f172a29}.row-action-menu.above{top:auto;bottom:36px}.row-action-menu button{box-shadow:none;color:#64748b;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:30px;min-height:30px;padding:0 9px;font-size:13px;font-weight:400;line-height:1.2;display:flex}.row-action-menu button:hover,.row-action-menu button:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.row-action-menu button:disabled{color:#cbd5e1;cursor:not-allowed}.row-action-menu button[title=删除任务]{color:#64748b}.row-action-menu .action-icon{stroke-width:1.8px;flex:0 0 20px;width:20px;height:20px}.dependency-link-button{color:#64748b}.dependency-link-button:hover,.dependency-link-button:focus-visible{background:var(--accent-soft);color:var(--accent);border-color:#0b48ff2e}.dependency-link-button.active{color:#475569;background:0 0}.dependency-editor-popover{box-sizing:border-box;z-index:120;background:#fffffffa;border:1px solid #1f29331f;border-radius:10px;gap:10px;width:clamp(260px,100% - 16px,320px);padding:10px;display:grid;position:absolute;top:36px;right:8px;box-shadow:0 14px 34px #0f172a29}.dependency-editor-popover.above{top:auto;bottom:36px}.dependency-editor-head,.dependency-editor-actions{align-items:center;gap:8px;display:flex}.dependency-editor-row{grid-template-columns:minmax(0,1fr) 84px;gap:8px;display:grid}.dependency-editor-head{justify-content:space-between}.dependency-editor-head strong{color:#334155;font-size:13px}.dependency-editor-close{box-shadow:none;color:#64748b;background:#0f172a0a;border-color:#0000;border-radius:7px;flex:0 0 24px;width:24px;height:24px;min-height:24px;padding:0}.dependency-editor-close:hover,.dependency-editor-close:focus-visible{background:var(--accent-soft);color:var(--accent);outline:none}.dependency-editor-field{color:#64748b;flex:1;gap:4px;min-width:0;font-size:11px;display:grid}.dependency-editor-field select,.dependency-editor-field input{border:1px solid var(--line);color:#334155;font:inherit;background:#fff;border-radius:8px;width:100%;min-width:0;height:30px;padding:0 8px;font-size:12px}.dependency-editor-field input{text-align:center}.dependency-editor-field select:focus,.dependency-editor-field input:focus{border-color:#0b48ff52;outline:none}.dependency-task-combobox{position:relative}.dependency-task-combobox input{text-align:left}.dependency-task-options{box-sizing:border-box;z-index:180;background:#fff;border:1px solid #0f172a1f;border-radius:8px;gap:2px;width:100%;max-height:min(360px,100vh - 220px);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #0f172a29}.dependency-task-options button{box-shadow:none;color:#334155;text-align:left;text-overflow:clip;white-space:normal;background:0 0;border:0;border-radius:6px;width:100%;min-height:28px;padding:6px 8px;font-size:12px;font-weight:400;line-height:1.35;display:block;overflow:visible}.dependency-task-options button.highlighted,.dependency-task-options button:hover,.dependency-task-options button:focus-visible{color:#0b48ff;background:#eff6ff;outline:none}.dependency-task-options button.selected{color:#0b48ff;background:#e9efff;font-weight:500}.dependency-task-empty{color:#94a3b8;padding:7px 8px;font-size:12px}.dependency-editor-actions{justify-content:flex-end}.dependency-editor-actions button{border-radius:8px;height:30px;min-height:30px;padding:0 10px;font-size:12px}.dependency-editor-empty{color:#64748b;margin:0;font-size:12px}.dependency-chip{color:var(--accent);background:#0b48ff1a;border:1px solid #0b48ff33;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:750;position:absolute;top:10px;left:10px}.project-board{--project-scrollbar-gutter-height:0px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-width:0;min-height:0;padding-bottom:var(--project-scrollbar-gutter-height);scrollbar-gutter:stable;background:#fff;flex-direction:row;flex:auto;display:flex;overflow:hidden auto}.project-board.resizing-table,.project-board.resizing-table *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.project-edit-grid{border-right:1px solid var(--line);flex:0 0 var(--task-table-width,690px);min-height:max(100%, var(--project-gantt-height,100%));min-width:var(--task-table-width,690px);z-index:3;background:#fff;align-self:flex-start;position:sticky;left:0}.project-edit-grid .project-row{contain-intrinsic-size:44px;content-visibility:auto;grid-template-columns:var(--project-grid-columns,30px 72px minmax(300px, 1fr) 72px 72px 72px);min-width:var(--task-table-width,690px)}.project-edit-grid .project-row:hover,.project-edit-grid .project-row:focus-within,.project-edit-grid .project-row.menu-open,.project-edit-grid .project-row.editor-open{content-visibility:visible;overflow:visible}.project-edit-grid .project-header{content-visibility:visible;z-index:8;position:sticky;top:0}.project-empty-first-task{border:0;border-bottom:1px solid var(--line);box-shadow:none;color:#64748b;background:#fff;border-radius:0;justify-content:flex-start;width:100%;min-height:44px;padding:0 12px 0 114px;font-size:13px}.project-empty-first-task:hover,.project-empty-first-task:focus-visible{color:var(--accent);background:#f8fbff;outline:none}.project-table-resizer{box-shadow:none;cursor:col-resize;z-index:12;background:0 0;border:0;border-radius:0;width:10px;min-height:0;padding:0;position:absolute;top:0;bottom:0;right:-5px}.project-table-resizer:after{content:"";background:0 0;width:2px;transition:background .12s,box-shadow .12s;position:absolute;top:0;bottom:0;left:4px}.project-table-resizer:hover:after,.project-table-resizer:focus-visible:after,.project-board.resizing-table .project-table-resizer:after{background:var(--accent);box-shadow:0 0 0 2px #0b48ff1f}.vendor-gantt-pane{min-height:max(100%, var(--project-gantt-height,100%));background:#fff;flex:1 1 0;align-self:flex-start;min-width:0;position:relative;overflow:visible}.vendor-gantt-pane>div{min-height:var(--project-gantt-height,100%);min-width:100%}.vendor-gantt-pane [class*=ganttVerticalContainer]{will-change:scroll-position;width:100%;min-width:0;max-width:100%;overflow:hidden;transform:translateZ(0)}.vendor-gantt-pane svg text{letter-spacing:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif;font-size:13px}.converted-schedule-view{background:#f8fafc;flex:1;min-height:0;padding:16px;overflow:auto}.converted-schedule-head{justify-content:flex-end;align-items:center;margin-bottom:10px;display:flex}.converted-close-button{color:#fff;background:#0b48ff;border:1px solid #0b48ff;border-radius:8px;min-height:30px;padding:0 10px;font-size:12px}.converted-close-button:hover,.converted-close-button:focus-visible{background:#123fd7;border-color:#123fd7;outline:none}.converted-aon-scroll{background:#fff;border:1px solid #0f172a14;border-radius:8px;min-height:420px;overflow:auto}.converted-aon-canvas{background:#fff;min-height:100%;position:relative}.converted-aon-arrows{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:visible}.converted-aon-arrows path{fill:none;marker-end:url(#converted-aon-arrowhead);stroke:#a6adb8;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5px}.converted-aon-arrows marker path{fill:#a6adb8;stroke:none}.converted-aon-card-node{color:#253244;z-index:2;background:#eef3fb;border:2px solid #2493f2;border-radius:3px;grid-template-rows:24px minmax(0,1fr);width:214px;height:88px;padding:0;display:grid;position:absolute;overflow:hidden;box-shadow:0 2px 6px #0f172a14}.converted-aon-card-node.critical{border-color:#0b7fdb}.converted-aon-card-node.summary{border-color:#475569}.converted-aon-card-node.summary .converted-aon-node-head{background:#475569}.converted-aon-card-node.milestone{border-color:#f59e0b}.converted-aon-card-node.milestone .converted-aon-node-head{background:#d97706}.converted-aon-node-head{color:#fff;background:#2493f2;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:0 7px;display:flex}.converted-aon-node-head span{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;line-height:1;overflow:hidden}.converted-aon-node-head em{color:#fff;background:#ffffff38;border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-style:normal;font-weight:700}.converted-aon-node-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px 10px;padding:7px;display:grid;overflow:hidden}.converted-aon-node-fields span{color:#334155;white-space:nowrap;align-items:center;gap:4px;min-width:0;min-height:13px;font-size:10px;font-weight:500;display:flex;overflow:hidden}.converted-aon-node-fields small{color:#64748b;flex:none;font-size:10px;font-weight:700}.converted-aon-node-fields span:last-child{grid-column:1/-1}.converted-network-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.converted-node,.converted-resource-row{background:#fff;border:1px solid #0f172a14;border-radius:8px;box-shadow:0 10px 28px #0f172a0d}.converted-node{gap:8px;min-height:152px;padding:12px;display:grid}.converted-node.milestone{border-color:#f59e0b47}.converted-node-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.converted-node-top span{color:#3730a3;background:#eef2ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:650}.converted-node-top strong{color:#64748b;font-size:12px;font-weight:650}.converted-node h4{color:#0f172a;letter-spacing:0;margin:0;font-size:14px;font-weight:650}.converted-node p{color:#64748b;margin:0;font-size:12px}.converted-node-links{color:#64748b;border-top:1px solid #0f172a14;gap:4px;padding-top:8px;font-size:12px;display:grid}.converted-resource-grid{gap:10px;display:grid}.tracking-gantt-view{background:#fff;border:1px solid #0f172a14;border-radius:8px;gap:8px;padding:12px;display:grid}.tracking-gantt-scale{color:#64748b;justify-content:space-between;font-size:12px;display:flex}.tracking-gantt-row{grid-template-columns:minmax(180px,280px) minmax(240px,1fr);gap:12px;min-height:54px;display:grid}.tracking-gantt-label{grid-template-columns:52px minmax(0,1fr) 44px;align-items:center;gap:3px;display:grid}.tracking-gantt-label strong,.tracking-gantt-label em{color:#64748b;font-size:11px;font-style:normal;font-weight:700}.tracking-gantt-label span{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tracking-gantt-bars{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;min-height:44px;position:relative}.tracking-current-bar,.tracking-committed-bar,.tracking-actual-bar,.tracking-progress-bar{border-radius:999px;min-width:8px;height:6px;position:absolute}.tracking-current-bar{background:#2563eb;top:10px}.tracking-committed-bar{background:#f59e0b;top:21px}.tracking-actual-bar,.tracking-progress-bar{background:#16a34a;top:32px}.converted-calendar-grid{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;display:grid}.converted-calendar-cell{background:#fff;border:1px solid #0f172a14;border-radius:8px;gap:8px;min-height:118px;padding:10px;display:grid}.converted-calendar-cell strong{color:#64748b;font-size:12px}.converted-calendar-cell div{gap:5px;display:grid}.converted-calendar-cell span{color:#075985;background:#e0f2fe;border-radius:6px;padding:5px 6px;font-size:11px;line-height:1.25}.converted-calendar-cell span.milestone{color:#92400e;background:#fef3c7}.converted-calendar-cell em{color:#64748b;font-size:11px;font-style:normal}.converted-resource-usage-table{background:#fff;border:1px solid #0f172a14;border-radius:8px;overflow:hidden}.converted-resource-usage-head,.converted-resource-usage-row{grid-template-columns:minmax(130px,1fr) minmax(200px,2fr) 82px 86px 128px 66px;gap:10px;display:grid}.converted-resource-usage-head{color:#64748b;background:#f8fafc;padding:10px 12px;font-size:11px;font-weight:700}.converted-resource-usage-row{color:#334155;border-top:1px solid #0f172a14;align-items:center;min-height:42px;padding:9px 12px;font-size:12px}.converted-resource-usage-row strong{color:#0f172a;font-size:12px}.resource-balance-insight-list{gap:8px;display:grid}.resource-balance-insight{background:#fff7ed;border:1px solid #ea580c33;border-radius:8px;gap:7px;padding:10px;display:grid}.resource-balance-insight div{gap:3px;display:grid}.resource-balance-insight strong{color:#9a3412;font-size:13px}.resource-balance-insight span,.resource-balance-insight p,.resource-balance-insight em{color:#7c2d12;margin:0;font-size:12px;font-style:normal}.converted-resource-meta strong{color:#0f172a;font-size:14px;font-weight:650}.converted-resource-row{grid-template-columns:minmax(180px,260px) minmax(280px,1fr);align-items:center;gap:16px;padding:12px;display:grid}.converted-resource-meta{gap:5px;display:grid}.converted-resource-meta span{color:#64748b;font-size:12px}.converted-histogram{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;align-items:end;gap:4px;height:112px;padding:10px;display:flex}.converted-histogram span{background:#38bdf8;border-radius:4px 4px 2px 2px;flex:1 1 0;min-width:7px}.converted-histogram span.over{background:#ef4444}.converted-scurve-layout{background:#fff;border:1px solid #0f172a14;border-radius:8px;grid-template-columns:minmax(320px,1fr) 220px;align-items:stretch;gap:16px;padding:14px;display:grid}.converted-scurve-chart{background:#f8fafc;border-radius:8px;width:100%;min-height:260px}.converted-scurve-chart path{fill:none;stroke:#e2e8f0;stroke-width:1px}.converted-scurve-chart polygon{fill:#0b48ff1f}.converted-scurve-chart polyline{fill:none;stroke:#0b48ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.converted-scurve-chart circle{fill:#fff;stroke:#0b48ff;stroke-width:2px}.converted-scurve-readout{background:#f8fafc;border-radius:8px;align-content:center;gap:6px;padding:16px;display:grid}.converted-scurve-readout strong{color:#0f172a;font-size:30px;font-weight:700}.converted-scurve-readout span,.converted-scurve-readout p{color:#64748b;margin:0;font-size:13px}.converted-empty{color:#64748b;background:#fff;border:1px dashed #64748b66;border-radius:8px;place-items:center;gap:5px;min-height:240px;display:grid}.converted-empty strong{color:#334155;font-size:14px}.brand h1,.rail-brand h1,.ui-page-title,.library-header h2,.home-header h2,.planning-header h2{letter-spacing:0;font-size:19px;font-weight:700}.canvas-topbar h2{letter-spacing:0;font-size:20px;font-weight:700}.canvas-hero h2{letter-spacing:0;font-size:clamp(28px,3vw,42px);font-weight:700}.dock-label,.ui-eyebrow,.ai-input-head span,.ai-input-head small,.canvas-topbar span,.canvas-status span,.metrics span,.panel-heading span,.task-axis,.project-header,.project-table-header-cell,.project-number-header,.project-dialog-field span,.library-header span,.settings-panel-head small,.settings-readout span,.column-width-control,.start-date-control span,.goal-date-field span,.goal-binding span,.planning-header span,.planning-summary-grid span,.result-readouts span,.resource-settings-row label span,.productivity-rule-row label span,.task-detail-section label span,.task-detail-static-field span,.task-detail-readout span,.task-detail-head span,.task-detail-metrics span,.dependency-editor-field,.history-table-head,.project-list-header,.template-card span{letter-spacing:0;font-weight:500}.rail-nav-item,.ui-row-title,.library-tabs button,.library-view-toggle span,.settings-section-button,.column-visibility-control,.resource-allocation strong,.resource-allocation small,.duration-cell span:last-child,.project-card-title-row strong,.project-title-button,.project-updated-time,.trash-actions button,.timeline-name,.project-task-name,.project-date-cell,.project-edit-grid .project-row>div,.task-detail-list span,.blocking-list span,.changed-task-list span,.recommendation-list p,.resource-plan-head span,.resource-settings-row>div span,.productivity-rule-row>div span,.assignment-task span{font-weight:500}.project-dialog-head strong,.ui-card-title,.settings-panel-head span,.settings-card h3,.settings-readout strong,.settings-empty-section strong,.task-detail-head strong,.task-detail-section h3,.task-detail-static-field strong,.task-detail-readout strong,.task-detail-metrics strong,.task-duration-source strong,.resource-plan-head strong,.resource-settings-row strong,.productivity-rule-row strong,.assignment-task strong,.planning-summary-grid strong,.result-readouts strong,.home-summary-grid strong,.home-count strong,.dependency-editor-head strong,.goal-binding strong,.resource-item strong,.metrics strong,.canvas-status strong,.proposal h3,.library-empty strong,.history-empty strong,.template-card h3{letter-spacing:0;font-weight:600}.project-header{font-size:12px}.project-row.summary{font-weight:600}.planning-summary-grid strong,.result-readouts strong{font-size:17px}.task-detail-head strong,.history-main strong,.project-title-button{font-size:14px}.library-actions button,.trash-actions button,.project-actions button,.planning-header-actions button,.task-detail-actions button,.task-detail-resource-editor button,.task-detail-link-button,.dependency-editor-actions button,.project-dialog-actions button,.rail-proposal-actions button,.section-mini-button{font-size:12px}.library-actions button,.project-actions button,.planning-header-actions button{font-size:13px}.task-detail-resource-editor button,.task-detail-actions button,.task-detail-link-button,.task-detail-chips button,.task-schedule-badge,.dependency-chip,.assignment-chips button,.status-chip,.project-card-mark,.history-file-mark,.row-action-trigger,.row-insert-button,.panel-close-button,.dock-toggle-button{font-weight:600}.view-scale-button{font-weight:500}.marketing-page,.saas-page,.saas-auth-page{min-height:100vh}.marketing-page,.saas-page{background:#f8fafc}.marketing-nav,.saas-nav{justify-content:space-between;align-items:center;max-width:1160px;margin:0 auto;padding:20px 24px;display:flex}.marketing-brand,.auth-brand{color:#111827;font-size:16px;font-weight:850;text-decoration:none}.marketing-nav div,.saas-nav div{align-items:center;gap:10px;display:flex}.marketing-nav a,.saas-nav a{color:#334155;font-size:14px;font-weight:700;text-decoration:none}.marketing-nav .nav-cta{color:#fff;background:#111827;border-radius:8px;padding:10px 14px}.hero-section{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:center;gap:36px;max-width:1160px;min-height:calc(100vh - 84px);margin:0 auto;padding:36px 24px 72px;display:grid}.hero-copy{max-width:640px}.eyebrow{color:#0b48ff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:850;display:block}.hero-copy h1,.pricing-hero h1,.account-main h1{color:#111827;letter-spacing:0;margin:0;font-size:clamp(40px,7vw,74px);line-height:.98}.pricing-hero h1,.account-main h1{font-size:clamp(34px,5vw,56px)}.hero-copy p,.pricing-hero p,.account-main>p{color:#475569;margin:22px 0 0;font-size:18px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.product-preview{color:#fff;background:#111827;border:1px solid #0f172a2e;border-radius:8px;overflow:hidden;box-shadow:0 24px 70px #0f172a2e}.preview-toolbar{border-bottom:1px solid #ffffff1f;align-items:center;gap:8px;height:42px;padding:0 16px;display:flex}.preview-toolbar span{background:#94a3b8;border-radius:999px;width:9px;height:9px;display:block}.preview-grid{grid-template-columns:.86fr 1.14fr;gap:16px;padding:18px;display:grid}.preview-panel{color:#111827;background:#fff;border-radius:8px;padding:18px}.preview-panel p{color:#334155;margin:12px 0;font-size:15px;line-height:1.5}.preview-panel span{color:#0b48ff;font-size:13px;font-weight:800}.preview-chart{background:#f8fafc;border-radius:8px;gap:14px;padding:22px;display:grid}.preview-chart i{background:linear-gradient(90deg,#0b48ff,#0ea5e9);border-radius:999px;height:18px;display:block}.landing-hero{color:#fff;background:#0f172a;min-height:620px;padding:76px 24px 86px;position:relative;overflow:hidden}.hero-product-scene{opacity:.72;pointer-events:none;position:absolute;inset:0}.hero-product-scene:before{content:"";background:linear-gradient(90deg,#0f172afa,#0f172aa3 46%,#0f172a2e),repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 52px),repeating-linear-gradient(90deg,#ffffff0b 0 1px,#0000 1px 64px);position:absolute;inset:0}.scene-window{background:#fff;border:1px solid #ffffff2e;border-radius:8px;grid-template-columns:70px minmax(0,1fr);width:min(660px,50vw);min-height:390px;display:grid;position:absolute;top:64px;right:max(24px,50vw - 580px);overflow:hidden;box-shadow:0 28px 78px #0206174d}.scene-sidebar{background:#f8fafc;border-right:1px solid #0f172a14;align-content:start;justify-items:center;gap:14px;padding:20px 14px;display:grid}.scene-logo{color:#fff;background:#0b48ff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:850;display:flex}.scene-sidebar i{background:#dbeafe;border-radius:8px;width:34px;height:28px;display:block}.scene-main{color:#111827;gap:18px;padding:22px;display:grid}.scene-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.scene-topline span,.scene-topline strong{font-size:13px}.scene-topline span{color:#475569;font-weight:750}.scene-topline strong{color:#047857;background:#ecfdf5;border-radius:999px;padding:7px 10px}.scene-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scene-metrics div{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;padding:14px}.scene-metrics span{color:#64748b;font-size:12px;font-weight:800;display:block}.scene-metrics strong{color:#111827;margin-top:8px;font-size:28px;display:block}.scene-timeline{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;gap:15px;padding:24px;display:grid}.scene-timeline span{background:#0b48ff;border-radius:999px;height:16px;display:block}.scene-timeline span:nth-child(2),.scene-timeline span:nth-child(5){background:#0f766e}.scene-timeline span:nth-child(3){background:#f59e0b}.landing-hero-content{z-index:1;max-width:1160px;margin:0 auto;position:relative}.landing-hero-content h1{color:#fff;letter-spacing:0;max-width:510px;margin:0;font-size:58px;line-height:1.04}.landing-hero-content p{color:#ffffffc7;max-width:500px;margin:24px 0 0;font-size:19px;line-height:1.75}.landing-hero .eyebrow{color:#93c5fd}.landing-hero .button-link{color:#111827;background:#fffffff0;border-color:#ffffff4d}.landing-hero .button-link.primary{color:#fff;background:#0b48ff;border-color:#0b48ff}.hero-proof{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero-proof span{color:#ffffffd1;background:#ffffff1a;border:1px solid #ffffff21;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:750}.landing-section{max-width:1160px;margin:0 auto;padding:82px 24px}.landing-band{background:#fff;border-top:1px solid #0f172a14;border-bottom:1px solid #0f172a14}.section-heading{text-align:center;max-width:760px;margin:0 auto}.section-heading.align-left{text-align:left;margin-left:0}.section-heading h2,.pricing-preview-copy h2{color:#111827;letter-spacing:0;margin:0;font-size:38px;line-height:1.12}.section-heading p,.pricing-preview-copy p{color:#64748b;margin:18px 0 0;font-size:17px;line-height:1.75}.problem-grid,.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px;display:grid}.problem-item,.capability-item,.faq-item,.mini-plan{background:#fff;border:1px solid #0f172a17;border-radius:8px;padding:22px}.problem-item span{color:#0f766e;font-size:12px;font-weight:850}.problem-item h3,.capability-item h3,.workflow-step h3,.faq-item h3{color:#111827;letter-spacing:0;margin:12px 0 0;font-size:18px;line-height:1.3}.problem-item p,.capability-item p,.workflow-step p,.faq-item p,.mini-plan p{color:#64748b;margin:10px 0 0;font-size:14px;line-height:1.7}.workflow-section{grid-template-columns:.82fr 1.18fr;gap:34px;display:grid}.workflow-list{gap:12px;display:grid}.workflow-step{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;grid-template-columns:54px minmax(0,1fr);align-items:flex-start;gap:16px;padding:18px;display:grid}.workflow-step>span{color:#fff;background:#111827;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:850;display:flex}.capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.capability-dot{background:#0b48ff;border-radius:999px;width:10px;height:10px}.pricing-preview{grid-template-columns:1fr 1fr auto;align-items:center;gap:24px;display:grid}.pricing-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mini-plan{min-height:174px}.mini-plan.featured{border-color:#0b48ff61;box-shadow:0 16px 40px #0b48ff1c}.mini-plan span{color:#64748b;font-size:13px;font-weight:850;display:block}.mini-plan strong{color:#111827;margin-top:12px;font-size:34px;display:block}.faq-section{grid-template-columns:.7fr 1.3fr;gap:32px;display:grid}.faq-list{gap:12px;display:grid}.saas-auth-page{background:#f8fafc;justify-content:center;align-items:center;padding:32px 18px;display:flex}.auth-card{background:#fff;border:1px solid #0f172a1a;border-radius:8px;width:100%;max-width:420px;padding:28px;box-shadow:0 18px 55px #0f172a14}.auth-heading{margin-top:26px}.auth-heading h1{color:#111827;letter-spacing:0;margin:0;font-size:28px}.auth-heading p{color:#64748b;margin:10px 0 0;line-height:1.6}.auth-form{gap:14px;margin-top:22px;display:grid}.auth-form.compact{margin-top:12px}.auth-form label{color:#334155;gap:7px;font-size:13px;font-weight:800;display:grid}.saas-input{color:#111827;font:inherit;border:1px solid #0f172a1f;border-radius:8px;outline:none;min-height:42px;padding:0 12px}.saas-input:focus{border-color:#0b48ff;box-shadow:0 0 0 4px #0b48ff1f}.auth-feedback,.config-notice{border-radius:8px;margin-top:18px;padding:12px 14px;font-size:14px;line-height:1.6}.auth-feedback.success{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0}.auth-feedback.danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.config-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;max-width:900px;margin:0 auto 22px}.auth-links{justify-content:space-between;margin-top:18px;display:flex}.auth-links a{color:#0b48ff;font-size:14px;font-weight:750;text-decoration:none}.pricing-hero{text-align:center;max-width:900px;margin:0 auto;padding:56px 24px 28px}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1160px;margin:0 auto;padding:20px 24px 72px;display:grid}.plan-card{background:#fff;border:1px solid #0f172a1a;border-radius:8px;flex-direction:column;min-height:430px;padding:24px;display:flex;position:relative;box-shadow:0 10px 30px #0f172a0f}.plan-card.featured{border-color:#0b48ff;box-shadow:0 18px 55px #0b48ff21}.plan-badge{color:#fff;background:#0b48ff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:850;position:absolute;top:18px;right:18px}.plan-card h2{color:#111827;letter-spacing:0;margin:0;font-size:22px}.plan-card p{color:#64748b;min-height:78px;margin:14px 0 0;line-height:1.65}.plan-price{align-items:flex-end;gap:6px;margin-top:22px;display:flex}.plan-price strong{color:#111827;letter-spacing:0;font-size:42px}.plan-price span{color:#64748b;padding-bottom:8px}.plan-card ul{gap:10px;margin:24px 0;padding:0;list-style:none;display:grid}.plan-card li{color:#334155;padding-left:20px;font-size:14px;line-height:1.45;position:relative}.plan-card li:before{content:"";background:#10b981;border-radius:999px;width:8px;height:8px;position:absolute;top:7px;left:0}.saas-inline-error{color:#b91c1c;margin:8px 0 0;font-size:12px;line-height:1.45}.account-layout{max-width:1000px;margin:0 auto;padding:56px 24px 80px}.account-main{background:#fff;border:1px solid #0f172a1a;border-radius:8px;padding:30px;box-shadow:0 14px 45px #0f172a12}.billing-card{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.billing-card div{background:#f8fafc;border:1px solid #0f172a14;border-radius:8px;padding:14px}.billing-card span{color:#64748b;font-size:12px;font-weight:800;display:block}.billing-card strong{color:#111827;overflow-wrap:anywhere;margin-top:9px;font-size:14px;display:block}.billing-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}@media (max-width:900px){.hero-section,.pricing-grid,.billing-card,.problem-grid,.capability-grid,.workflow-section,.pricing-preview,.faq-section{grid-template-columns:1fr}.hero-section{min-height:auto;padding-top:24px}.product-preview{order:-1}.landing-hero{min-height:0;padding:58px 24px 64px}.hero-product-scene{opacity:.28}.scene-window{width:620px;top:46px;right:-150px}.landing-hero-content h1{max-width:620px;font-size:52px}.pricing-preview-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.marketing-nav,.saas-nav{flex-direction:column;align-items:flex-start;gap:14px}.preview-grid{grid-template-columns:1fr}.auth-card,.account-main{padding:22px}.hero-copy h1,.pricing-hero h1,.account-main h1{font-size:38px}.landing-hero{padding:44px 18px 54px}.scene-window{display:none}.hero-product-scene{opacity:.2}.landing-hero-content h1{font-size:40px}.landing-hero-content p{font-size:16px}.landing-section{padding:58px 18px}.section-heading h2,.pricing-preview-copy h2{font-size:30px}.workflow-step{grid-template-columns:42px minmax(0,1fr);padding:16px}.pricing-preview-grid{grid-template-columns:1fr}}.app-shell input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.task-name-input):not(.duration-input):not(.project-date-text-input):not(.project-date-picker):not(.gantt-search-input),.app-shell select{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius);box-shadow:none;color:var(--control-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);height:var(--control-height);min-height:var(--control-height);outline:none;min-width:0;padding:0 10px;line-height:1.35}.app-shell textarea{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius);box-shadow:none;color:var(--control-text);font-size:var(--control-font-size);font-weight:var(--control-font-weight);outline:none;padding:9px 10px;line-height:1.45}.app-shell input:not([type=checkbox]):not([type=radio]):not([type=file])::placeholder,.app-shell textarea::placeholder{color:var(--control-placeholder);font-weight:var(--control-font-weight)}.app-shell input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.task-name-input):not(.duration-input):not(.project-date-text-input):not(.project-date-picker):not(.gantt-search-input):focus,.app-shell select:focus,.app-shell textarea:focus{border-color:var(--control-focus);box-shadow:var(--control-focus-ring);outline:none}.app-shell .chatwith-composer textarea{resize:none;background:0 0;border-radius:0;height:76px;min-height:76px;max-height:120px;padding:0;font-size:13px;box-shadow:none!important;border:0!important;font-weight:400!important}.app-shell .chatwith-composer textarea:focus{box-shadow:none!important;border:0!important}.task-name-input,.duration-input,.project-date-text-input{border-radius:var(--control-radius);font-weight:var(--control-font-weight);letter-spacing:0}.project-row:not(.summary) .task-name-input{font-weight:400}.project-row.summary .task-name-input{font-weight:600}.app-shell .gantt-search-control .gantt-search-input,.app-shell .gantt-search-control .gantt-search-input:focus{appearance:none;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;height:30px;min-height:30px;padding:0 4px}.app-shell .gantt-search-control .gantt-search-input::-webkit-search-cancel-button{appearance:none;display:none}.app-shell .gantt-search-control .gantt-search-input::-webkit-search-decoration{appearance:none;display:none}.app-shell .gantt-search-control .gantt-search-input::-webkit-search-results-button{appearance:none;display:none}.app-shell .gantt-search-control .gantt-search-input::-webkit-search-results-decoration{appearance:none;display:none}.app-shell .gantt-scale-select select,.app-shell .gantt-scale-select select:focus{box-shadow:none;text-align:center;text-align-last:center;background:0 0;border:0;outline:none;align-self:stretch;height:30px;min-height:30px;padding:0 4px;line-height:30px}.task-name-input:focus,.duration-input:focus,.project-date-text-input:focus{border-color:var(--control-focus);box-shadow:var(--control-focus-ring);outline:none}.goal-binding span,.planning-header span,.planning-summary-grid span,.result-readouts span,.resource-settings-row label span,.productivity-rule-row label span,.resource-calendar-row label span,.task-detail-section label span,.task-detail-static-field span,.task-detail-readout span,.calendar-setting-label,.calendar-number-field span,.calendar-weekday-field>span,.dependency-editor-field,.project-dialog-field span,.start-date-control span{color:var(--muted);font-size:var(--field-label-size);font-weight:var(--field-label-weight);letter-spacing:0}.resource-calendar-row input,.productivity-rule-row input,.productivity-rule-row select,.task-detail-section input,.task-detail-section select,.dependency-editor-field input,.dependency-editor-field select,.productivity-template-save input,.productivity-template-name-input,.productivity-template-description-input{font-size:var(--control-font-size);font-weight:var(--control-font-weight)}.productivity-template-save input,.productivity-template-save button,.dependency-editor-actions button,.task-detail-actions button,.task-detail-resource-editor button,.task-detail-link-button{min-height:var(--control-height)}
