:root{--bg:#fff;--panel:#f7f7f5;--line:#e7e7e3;--text:#272727;--muted:#787774;--soft:#f1f1ef;--accent:#2f6fed;--accent-soft:#edf3ff;--green:#2e7d55;--green-soft:#edf7f1;--amber:#a66a18;--amber-soft:#fff6e6;--red:#b54d4d;--red-soft:#fff0f0;--shadow:0 14px 45px rgba(25,25,25,.10)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);background:#fbfbfa;padding:14px 10px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;padding:8px 8px 16px}.brand-mark{width:30px;height:30px;border-radius:7px;background:#222;color:#fff;display:grid;place-items:center;font-weight:700}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--muted);margin-top:1px}.nav-item{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:7px 9px;border-radius:6px;cursor:pointer;color:#4a4a48}.nav-item:hover,.nav-item.active{background:var(--soft);color:#202020}.nav-icon{width:18px;color:var(--muted)}.nav-progress{margin-left:auto;color:var(--muted);font-size:11px}.side-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:#9b9a97;padding:15px 9px 5px}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:12px 8px 4px}.tiny{font-size:11px;color:var(--muted)}.source-name{font-size:12px;margin:3px 0}.workspace{min-width:0}.topbar{height:56px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);z-index:5}.crumbs{display:flex;gap:8px;color:var(--muted);font-size:13px}.crumbs strong{color:var(--text);font-weight:600}.top-actions{display:flex;gap:10px;align-items:center}.search-wrap{display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:5px 8px;color:var(--muted)}.search-wrap input{border:0;outline:0;background:transparent;width:185px}.search-wrap kbd{font-size:10px;border:1px solid var(--line);border-radius:4px;background:white;padding:1px 5px}.btn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 12px;cursor:pointer;font-weight:600}.btn:hover{background:var(--panel)}.btn.primary{background:#222;color:white;border-color:#222}.btn.small{padding:5px 8px;font-size:12px}.content{max-width:1180px;margin:0 auto;padding:38px 44px 80px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:700}.page-head h1{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:34px;line-height:1.15;margin:5px 0 8px;font-weight:600}.page-head p{margin:0;color:var(--muted);max-width:700px}.progress-ring{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--text) calc(var(--p)*1%),var(--soft) 0);position:relative}.progress-ring:after{content:"";position:absolute;width:58px;height:58px;border-radius:50%;background:#fff}.progress-ring strong{z-index:1;font-size:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:28px}.stat{padding:18px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:24px;font-weight:600;display:block;margin-top:3px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:30px 0 10px}.phase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.phase-card{border:1px solid var(--line);border-radius:9px;padding:15px;cursor:pointer;background:#fff}.phase-card:hover{background:#fcfcfb}.phase-top{display:flex;justify-content:space-between;gap:10px}.phase-card h3{font-size:15px;margin:0 0 4px}.phase-card p{font-size:12px;color:var(--muted);margin:0}.bar{height:5px;border-radius:10px;background:var(--soft);overflow:hidden;margin-top:13px}.bar span{display:block;height:100%;background:#333}.critical{border-left:3px solid #333}.notice{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fcfcfb;display:flex;gap:10px;align-items:flex-start;margin:12px 0}.notice.blocked{background:var(--red-soft);border-color:#f0d2d2}.notice strong{font-size:13px}.notice p{margin:2px 0 0;color:var(--muted);font-size:12px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;cursor:pointer}.pill.active{background:#222;color:#fff;border-color:#222}.checklist{border-top:1px solid var(--line)}.check-row{display:grid;grid-template-columns:28px minmax(0,1fr) 140px 115px 32px;align-items:center;gap:10px;border-bottom:1px solid var(--line);min-height:48px;padding:6px 2px}.check-row:hover{background:#fbfbfa}.check-box{width:18px;height:18px;border:1.5px solid #a4a4a0;border-radius:4px;background:white;display:grid;place-items:center;cursor:pointer}.check-box.done{background:#222;border-color:#222;color:white}.check-text{min-width:0;cursor:pointer}.check-text .id{font-size:10px;color:var(--muted);margin-right:7px}.check-text.done{text-decoration:line-through;color:#9b9a97}.status{font-size:11px;border-radius:999px;padding:4px 8px;white-space:nowrap;width:max-content}.status.not-started{background:var(--soft);color:#666}.status.in-progress{background:var(--accent-soft);color:#2858a7}.status.blocked{background:var(--red-soft);color:var(--red)}.status.ready-for-review{background:var(--amber-soft);color:var(--amber)}.status.approved,.status.done{background:var(--green-soft);color:var(--green)}.status.not-applicable{background:#f5f1fa;color:#745b8f}.owner{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dots{border:0;background:transparent;color:var(--muted);cursor:pointer}.group-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 6px}.group-head h2{font-size:18px;margin:0}.group-head span{font-size:12px;color:var(--muted)}.pipeline-wrap{padding:12px 0}.pipeline{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:8px 2px 18px}.pipe-step{min-width:158px;max-width:158px;border:1px solid var(--line);border-radius:9px;padding:13px;background:white;position:relative}.pipe-step:not(:last-child){margin-right:34px}.pipe-step:not(:last-child):after{content:"→";position:absolute;right:-26px;top:50%;transform:translateY(-50%);color:#aaa}.pipe-step .num{font-size:10px;color:var(--muted)}.pipe-step strong{display:block;font-size:13px;margin-top:5px}.pipe-step.gate{background:#f8f8f6;border-color:#cacac5}.code-card{background:#f7f7f5;border:1px solid var(--line);border-radius:9px;padding:14px;position:relative;margin:10px 0}.code-card code{display:block;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word;padding-right:80px}.copy{position:absolute;right:10px;top:10px}.agent-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.agent-card{border:1px solid var(--line);border-radius:9px;padding:15px}.agent-card h3{margin:0 0 5px;font-size:14px}.agent-card p{margin:0 0 10px;font-size:12px;color:var(--muted)}.activity{border-top:1px solid var(--line)}.activity-row{display:grid;grid-template-columns:140px 120px 85px minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding:11px 0;font-size:12px}.activity-row .muted{color:var(--muted)}.drawer,.modal{position:fixed;inset:0;z-index:20}.hidden{display:none!important}.drawer-backdrop,.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.16)}.drawer-panel{position:absolute;right:0;top:0;width:min(520px,94vw);height:100%;background:#fff;box-shadow:var(--shadow);padding:24px;overflow:auto}.drawer-head,.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.drawer-head h2,.modal-head h2{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:5px 0 20px;font-size:24px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:7px;cursor:pointer;font-size:20px}.field{margin:15px 0}.field label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px 10px;outline:0;background:#fff}.field textarea{min-height:95px;resize:vertical}.save-row{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-card{position:absolute;left:50%;top:75px;transform:translateX(-50%);width:min(640px,92vw);max-height:calc(100% - 120px);overflow:auto;background:white;border-radius:12px;box-shadow:var(--shadow);padding:24px}.share-option{border-top:1px solid var(--line);padding:15px 0}.share-option:first-of-type{border-top:0}.share-option h3{margin:0;font-size:14px}.share-option p{margin:3px 0 9px;color:var(--muted);font-size:12px}.url-row{display:flex;gap:7px}.url-row input{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px}.toast{position:fixed;right:20px;bottom:20px;background:#222;color:white;padding:9px 12px;border-radius:7px;z-index:50;font-size:12px}.empty{padding:40px 0;text-align:center;color:var(--muted)}@media(max-width:900px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:10px 8px}.brand>div:last-child,.nav-item:not(.active) .nav-progress,.nav-item{font-size:0}.nav-item{justify-content:center;padding:10px}.nav-icon{font-size:16px;width:auto}.side-label,.sidebar-foot{display:none}.brand{justify-content:center}.content{padding:28px 22px 70px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.phase-grid,.agent-grid{grid-template-columns:1fr}.check-row{grid-template-columns:28px minmax(0,1fr) 120px 32px}.owner{display:none}.search-wrap{display:none}}@media(max-width:560px){.app-shell{display:block}.sidebar{display:none}.topbar{padding:0 14px}.content{padding:24px 14px 60px}.page-head h1{font-size:28px}.progress-ring{display:none}.stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.check-row{grid-template-columns:26px minmax(0,1fr) 28px}.status{display:none}.activity-row{grid-template-columns:1fr;gap:2px}.top-actions .btn{padding:7px 10px}}

/* Multi-project sidebar */
.app-shell{grid-template-columns:286px minmax(0,1fr)}
.projects-head{display:flex;align-items:center;justify-content:space-between;padding:10px 7px 5px}
.projects-head .side-label{padding:0}
.add-project{width:26px;height:26px;border:0;background:transparent;border-radius:6px;display:grid;place-items:center;font-size:20px;line-height:1;color:#6d6d69;cursor:pointer}
.add-project:hover{background:var(--soft);color:var(--text)}
.project-nav{display:flex;flex-direction:column;gap:4px}
.project-tree{border-radius:8px}
.project-tree.active-project{background:rgba(247,247,245,.65)}
.project-row{position:relative;width:100%;min-height:48px;border:0;background:transparent;display:grid;grid-template-columns:18px minmax(0,1fr) 34px;align-items:center;column-gap:6px;text-align:left;padding:7px 8px 10px;border-radius:7px;cursor:pointer;color:#383835}
.project-row:hover{background:var(--soft)}
.project-caret{font-size:16px;color:#8a8985;text-align:center}
.project-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-percent{font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.project-bar{position:absolute;left:32px;right:9px;bottom:6px;height:3px;border-radius:999px;background:#e8e8e5;overflow:hidden}
.project-bar>span{display:block;height:100%;background:#575754;border-radius:inherit;transition:width .2s ease}
.project-children{padding:2px 0 7px 24px}
.project-child{width:100%;border:0;background:transparent;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;text-align:left;padding:6px 8px;border-radius:6px;color:#5b5a57;font-size:12px;cursor:pointer}
.project-child:hover,.project-child.active{background:#eaeae7;color:#202020}
.project-child.active{font-weight:600}
.child-icon{width:18px;color:#92918d;text-align:center}
.child-progress{font-size:10px;color:#999894;font-weight:400;font-variant-numeric:tabular-nums}
.project-child-divider{height:1px;background:var(--line);margin:6px 8px 6px 28px}
.optional{font-weight:400;color:#aaa}
.template-note{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px 13px;display:flex;flex-direction:column;gap:3px;font-size:12px;margin-top:12px}
.template-note span{color:var(--muted)}

@media(max-width:900px){
  .app-shell{grid-template-columns:230px minmax(0,1fr)}
  .sidebar{padding:10px 8px}
  .brand>div:last-child{display:none}
  .brand{justify-content:flex-start;padding-left:8px}
  .projects-head{padding-top:2px}
  .side-label{display:block}
  .sidebar-foot{display:none}
  .project-title,.project-percent,.project-child{font-size:11px}
  .project-children{padding-left:14px}
}
@media(max-width:680px){
  .app-shell{display:block}
  .sidebar{display:none}
}
.action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.share-label{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted);margin:12px 0 5px;text-transform:uppercase}
.live-actions{margin-top:10px}
.check-row.read-only .check-box{cursor:not-allowed;opacity:.72}
.check-row.read-only .check-text{cursor:default}

/* v7 — remote agent CRUD / work artifacts */
.artifact-grid{display:grid;gap:14px;margin-top:16px}.artifact-card{border:1px solid var(--line,#e7e7e7);border-radius:12px;background:#fff;padding:18px;min-width:0}.artifact-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.artifact-top h3{margin:4px 0 0;font-size:16px;font-family:inherit}.artifact-meta{margin-top:8px;color:var(--muted,#737373);font-size:12px}.artifact-related{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--muted,#737373)}.artifact-related span{border:1px solid var(--line,#e7e7e7);border-radius:999px;padding:3px 7px;background:#fafafa}.artifact-content{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0;padding:14px;border-radius:9px;background:#f7f7f7;border:1px solid #ededed;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-height:520px;overflow:auto}.artifact-links{display:flex;flex-direction:column;gap:5px;margin-top:10px;font-size:12px}.artifact-links a{color:inherit;text-decoration:underline}.empty.compact{padding:14px;margin-top:12px}.crud-table{display:grid;border:1px solid var(--line,#e7e7e7);border-radius:12px;overflow:hidden;background:#fff}.crud-table>div{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,2fr);gap:16px;padding:13px 16px;border-bottom:1px solid var(--line,#e7e7e7)}.crud-table>div:last-child{border-bottom:0}.crud-table span{color:var(--muted,#737373);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media(max-width:640px){.crud-table>div{grid-template-columns:1fr}.artifact-top{flex-direction:column}}

/* v9 — visual Agent Console for browser-control agents */
.console-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:#fff;margin:14px 0 16px;overflow:hidden}
.console-summary>div{padding:13px 15px;border-right:1px solid var(--line);min-width:0}.console-summary>div:last-child{border-right:0}.console-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.console-summary strong{display:block;margin-top:4px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-console{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px}.console-toolbar{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:10px;align-items:end}.console-toolbar .field{margin:0}.payload-field{margin-top:14px}.payload-field textarea{min-height:210px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fbfbfa}.field-help{font-size:11px;color:var(--muted);margin:6px 0 0}.console-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.console-preview{border:1px solid var(--line);border-radius:9px;background:#f8f8f6;padding:13px;min-height:62px}.console-preview code{display:block;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;margin:5px 0}.console-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.preview-method{display:inline-block;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:5px 7px;border-radius:5px;background:#ededeb}.preview-method.danger{background:var(--red-soft);color:var(--red)}.preview-warning{margin-top:10px;color:var(--red);font-size:12px;font-weight:600}.console-result{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto;border:1px solid var(--line);background:#f7f7f5;border-radius:9px;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.console-result.error{background:var(--red-soft);color:var(--red);border-color:#f0c9c6}.console-context{display:grid;grid-template-columns:1fr 1fr;gap:12px}.console-context>div{border:1px solid var(--line);border-radius:9px;padding:13px;display:flex;flex-direction:column;gap:6px}.console-context>div>strong{font-size:12px;margin-bottom:3px}.context-row{border:0;background:transparent;text-align:left;display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:7px 6px;border-radius:6px;font-size:11px;color:var(--text);cursor:pointer}.context-row:hover{background:var(--soft)}.context-row span{font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}
@media(max-width:900px){.console-toolbar{grid-template-columns:1fr 1fr}.console-summary{grid-template-columns:1fr 1fr}.console-summary>div:nth-child(2){border-right:0}.console-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.console-toolbar,.console-context,.console-summary{grid-template-columns:1fr}.console-summary>div{border-right:0;border-bottom:1px solid var(--line)}.console-summary>div:last-child{border-bottom:0}.agent-console{padding:13px}}
