:root{--bg:#f6f7f8;--surface:#fff;--surface-soft:#f0f3f5;--surface-raised:#fbfcfd;--ink:#172026;--muted:#64717c;--subtle:#84909a;--line:#d9e0e5;--line-strong:#c2ccd3;--accent:#0f766e;--accent-strong:#0b5f59;--accent-soft:#e1f4f1;--danger:#a23b32;--danger-soft:#f8e7e4;--warning:#9a5b12;--shadow:0 16px 40px #17202614;--radius:8px}*{box-sizing:border-box}html{background:var(--bg);min-height:100%;color:var(--ink);scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius)}input,select,textarea{background:var(--surface);width:100%;min-height:2.55rem;color:var(--ink);padding:.62rem .72rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #0f766e3d}a{color:inherit}.shell{width:min(1440px,100vw - 1.5rem);padding:max(.75rem, env(safe-area-inset-top)) 0 max(5.5rem, env(safe-area-inset-bottom));margin:0 auto}.app-shell{grid-template-columns:16rem minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.desktop-sidebar{border:1px solid var(--line);border-radius:var(--radius);background:#fffffff0;align-content:start;gap:.85rem;min-height:calc(100vh - 1.5rem);max-height:calc(100vh - 1.5rem);padding:.75rem;display:grid;position:sticky;top:.75rem;overflow:auto;box-shadow:0 10px 28px #17202614}.workspace-content{gap:.85rem;min-width:0;display:grid}.sidebar-projects{gap:.65rem;display:grid}.project-menu-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);gap:.45rem;min-width:0;padding:.45rem;display:grid}.project-menu-group.active{border-color:var(--line-strong);background:var(--surface)}.project-menu-title{min-height:2.35rem;color:inherit;border-radius:var(--radius);overflow-wrap:anywhere;align-items:center;gap:.2rem;padding:.48rem .55rem;font-weight:900;text-decoration:none;display:grid}.project-menu-title:hover{background:var(--surface-soft)}.project-menu-items{gap:.25rem;min-width:0;display:grid}.workspace-menu-nav{gap:.45rem;display:grid}.sidebar-link,.workspace-menu-link{min-height:2.35rem;color:var(--muted);border-radius:var(--radius);border:1px solid #0000;align-items:center;padding:.48rem .58rem;font-weight:850;text-decoration:none;display:flex}.sidebar-link:hover,.workspace-menu-link:hover{color:var(--ink);border-color:var(--line);background:var(--surface-raised)}.sidebar-link.active,.workspace-menu-link.active{color:#fff;border-color:var(--ink);background:var(--ink)}.skip-link{z-index:100;color:#fff;background:var(--ink);border-radius:var(--radius);padding:.6rem .85rem;font-weight:800;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.panel,.band{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;padding:1rem;box-shadow:0 1px 2px #1720260a}.workspace-header{z-index:30;border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#fffffff0;gap:.75rem;padding:.75rem;display:grid;position:sticky;top:0;box-shadow:0 10px 28px #17202614}.project-control-row{grid-template-columns:minmax(0,1fr);gap:.55rem;min-width:0;display:grid}.workspace-menu-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);cursor:pointer;place-items:center;width:2.8rem;height:3.75rem;min-height:3.75rem;padding:0;display:none}.workspace-menu-button span,.workspace-menu-button span:before,.workspace-menu-button span:after{background:var(--ink);border-radius:999px;width:1.05rem;height:2px;display:block}.workspace-menu-button span{position:relative}.workspace-menu-button span:before,.workspace-menu-button span:after{content:"";position:absolute;left:0}.workspace-menu-button span:before{top:-.38rem}.workspace-menu-button span:after{top:.38rem}.workspace-menu-overlay{z-index:119;background:#0a121847;position:fixed;inset:0}.workspace-menu-drawer{z-index:120;width:min(22rem,86vw);padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));border-right:1px solid var(--line);background:var(--surface);position:fixed;top:0;bottom:0;left:0;box-shadow:28px 0 80px #0a12183d}.workspace-menu-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.workspace-menu-nav{margin-bottom:1rem}.workspace-menu-close{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);width:2.35rem;height:2.35rem;color:var(--ink);cursor:pointer;place-items:center;padding:0;font-size:1rem;font-weight:900;display:grid}.project-selector{grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid;position:relative}.workspace-header>*,.workspace-grid>*,.agent-layout>*,.git-grid>*,.backup-grid>*{min-width:0}.project-home-selector,.project-selector-dropdown>summary{border:1px solid var(--line);background:var(--surface-raised);align-items:center;min-height:3.75rem;display:grid}.project-home-selector{min-width:0;color:inherit;border-radius:var(--radius) 0 0 var(--radius);padding:.65rem .75rem;text-decoration:none}.project-selector-dropdown>summary{border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;border-left:0;place-items:center;width:3rem;padding:.55rem;list-style:none}.project-selector-dropdown>summary::-webkit-details-marker{display:none}.project-add-menu summary::-webkit-details-marker{display:none}.project-selector-copy{align-content:center;gap:.1rem;min-width:0;display:grid}.field-label,.eyebrow{color:var(--subtle);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:850}.project-selector-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.12;overflow:hidden}.project-selector-caret{width:2rem;height:2rem;color:var(--accent);border:1px solid var(--line);border-radius:var(--radius);background:var(--accent-soft);place-items:center;display:inline-grid}.project-selector-caret:before{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transform:translateY(-.12rem)rotate(45deg)}.project-selector:has(.project-selector-dropdown[open]){z-index:80}.project-selector-dropdown[open] .project-selector-caret:before{transform:translateY(.12rem)rotate(225deg)}.project-selector-menu{z-index:95;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(92vw,25rem);box-shadow:var(--shadow);gap:.55rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0}.project-switcher{gap:.4rem;display:grid}.project-switch{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);min-height:2.25rem;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding:.48rem .65rem;font-weight:750;text-decoration:none;overflow:hidden}.project-switch.active{color:#fff;background:var(--accent);border-color:var(--accent)}.project-add-menu{border-top:1px solid var(--line);gap:.55rem;padding-top:.55rem;display:grid}.project-add-menu summary{min-height:2.25rem;color:var(--accent);border-radius:var(--radius);background:var(--accent-soft);cursor:pointer;border:1px solid #0f766e3d;padding:.48rem .65rem;font-weight:850;list-style:none}.object-row:hover{border-color:var(--line-strong);background:var(--surface-soft)}.column-head,.record-topline{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.band-heading h2,.column-head h3{margin:0;line-height:1.18}.compact-heading h2,.band-heading h2{font-size:1rem}.column-head span,.status-text,.empty-state,.chat-message p{color:var(--muted);margin:0}.wide-panel{grid-column:1/-1}.commit-list,.milestone-list,.git-panel,.backup-panel{gap:.65rem;display:grid}.git-card,.chat-message,.agent-composer{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised)}.chat-message span,.record-topline span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:850}.record-editor,.pro-form{gap:.75rem;display:grid}.record-editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);padding:.85rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.field-grid label,.record-editor label,.pro-form label{gap:.3rem;min-width:0;display:grid}.field-grid span,.record-editor label>span,.pro-form label>span,.rich-editor>span{color:var(--muted);font-size:.82rem;font-weight:800}.submit-button,.secondary-button,.danger-button{appearance:none;border-radius:var(--radius);cursor:pointer;text-align:center;justify-content:center;align-items:center;min-height:2.55rem;padding:.62rem .85rem;font-weight:850;text-decoration:none;display:inline-flex}.submit-button{color:#fff;border:1px solid var(--accent);background:var(--accent)}.submit-button:hover{background:var(--accent-strong)}.submit-button[disabled]{opacity:.7;cursor:wait}.secondary-button{color:var(--ink);border:1px solid var(--line);background:var(--surface)}.danger-button{width:100%;color:var(--danger);background:var(--danger-soft);border:1px solid #a23b3247}.full-width{width:100%}.quick-add{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:90;pointer-events:none;justify-items:end;gap:.55rem;display:grid;position:fixed}.quick-add.open{z-index:91}.quick-add>*{pointer-events:auto}.quick-add-button{z-index:2;color:#fff;background:var(--accent-strong);cursor:pointer;border:0;border-radius:50%;place-items:center;width:3.65rem;height:3.65rem;font-size:2rem;font-weight:900;line-height:1;transition:transform .18s,background .18s;display:grid;box-shadow:0 18px 38px #0f766e57}.quick-add.open .quick-add-button{transform:rotate(45deg)}.quick-add-actions{z-index:2;opacity:0;pointer-events:none;gap:.4rem;transition:opacity .18s,transform .18s;display:grid;transform:translateY(.4rem)}.quick-add.open .quick-add-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.quick-add-action{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;opacity:0;min-height:2.35rem;transition:opacity .18s ease var(--action-delay,0s), transform .18s ease var(--action-delay,0s), background .16s ease;padding:.45rem .7rem;font-weight:850;transform:translate(1rem);box-shadow:0 8px 20px #17202614}.quick-add.open .quick-add-action{opacity:1;transform:translate(0)}.quick-add-action:hover{background:var(--surface-soft)}.detail-title-row{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.detail-title-row h2{margin:0;font-size:1.15rem;line-height:1.15}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.object-page{gap:.85rem;display:grid}.page-heading{justify-content:space-between;align-items:end;gap:.85rem;min-width:0;display:flex}.page-heading h1{margin:0;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1}.inline-create{position:relative}.inline-create>summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;min-height:2.55rem;padding:.62rem .85rem;font-weight:850;list-style:none;display:inline-flex}.inline-create>summary::-webkit-details-marker{display:none}.inline-create[open]{z-index:40}.inline-create .record-editor{background:var(--surface);width:min(28rem,100vw - 2rem);box-shadow:var(--shadow);position:absolute;top:calc(100% + .45rem);right:0}.object-list{gap:.45rem;display:grid}.compact-object-list{align-content:start;max-height:calc(100vh - 11rem);overflow:auto}.object-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;color:inherit;gap:.12rem;padding:.72rem .8rem;text-decoration:none;display:grid}.object-row.active{color:#fff;border-color:var(--ink);background:var(--ink)}.object-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.object-row.active span{color:#ffffffb8}.detail-layout{grid-template-columns:minmax(15rem,.42fr) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.object-detail-panel{gap:.85rem;display:grid}.related-list{border-top:1px solid var(--line);gap:.45rem;padding-top:.85rem;display:grid}.detail-actions{flex-wrap:wrap;justify-content:end;gap:.45rem;display:flex}.graph-overlay>summary{list-style:none}.graph-overlay>summary::-webkit-details-marker{display:none}.graph-close-label,.graph-overlay[open] .graph-open-label{display:none}.graph-overlay[open] .graph-close-label{display:inline}.graph-overlay[open]>summary{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));z-index:132;position:fixed}.graph-modal{z-index:130;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a121885;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.graph-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:.85rem;width:min(100%,980px);max-height:min(88vh,780px);padding:1rem;display:grid;overflow:auto;box-shadow:0 28px 90px #0a121847}.relationship-graph{gap:.85rem;display:grid}.graph-canvas{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(var(--surface-soft) 1px, transparent 1px), linear-gradient(90deg, var(--surface-soft) 1px, transparent 1px), var(--surface);background-size:36px 36px;width:100%;min-height:24rem}.graph-canvas marker path{fill:#0f766e9e}.graph-link line{stroke:#0f766e8a;stroke-width:3px}.graph-link text,.graph-node-group text{text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-size:14px}.graph-link text{fill:var(--accent);paint-order:stroke;stroke:#fff;stroke-width:6px;font-weight:800}.graph-node-group circle{fill:#fff;stroke:var(--accent);stroke-width:3px}.graph-node-group.active circle{fill:var(--accent-soft);stroke:var(--ink);stroke-width:4px}.graph-node-group text{fill:var(--ink);font-weight:850}.graph-node-group .graph-node-meta{fill:var(--muted);font-size:11px;font-weight:750}.summary-list{gap:.5rem;margin:0;display:grid}.summary-list div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.55rem 0;display:flex}.summary-list div:last-child{border-bottom:0}.summary-list dt{color:var(--muted);font-weight:750}.summary-list dd{margin:0;font-weight:850}.settings-panel{gap:.85rem;display:grid}.git-grid{grid-template-columns:.85fr 1.35fr .8fr;gap:.85rem;display:grid}.git-card{align-content:start;gap:.75rem;padding:.85rem;display:grid}.commit-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:5rem minmax(0,1fr) minmax(8rem,.8fr) 5rem;align-items:center;gap:.5rem;padding:.55rem;display:grid}.commit-row code,.milestone-row code{color:var(--accent);font-size:.78rem;font-weight:850}.commit-row span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.milestone-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem;display:flex}.backup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.agent-panel{gap:.85rem;display:grid}.agent-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:.85rem;display:grid}.chat-thread{align-content:start;gap:.65rem;max-height:52rem;display:grid;overflow:auto}.chat-message{gap:.35rem;max-width:82%;padding:.85rem;display:grid}.chat-message.user{background:var(--accent-soft);justify-self:end}.agent-composer{align-content:start;gap:.75rem;padding:.85rem;display:grid}.login-shell{background:var(--bg);place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(100%,480px);box-shadow:var(--shadow);gap:1rem;padding:clamp(1.25rem,5vw,2rem);display:grid}.login-card h1,.login-card p{margin:0}.login-form{gap:.75rem;display:grid}.form-error,.error-text{color:var(--danger);font-weight:850}.pro-form{align-content:start;gap:.75rem;min-width:0;display:grid}.pro-form label{gap:.32rem;min-width:0;display:grid}.pro-form label>span,.rich-editor>span{color:var(--muted);font-size:.82rem;font-weight:800}.profile-fields{border-top:1px solid var(--line);gap:.75rem;padding-top:.25rem;display:grid}.form-section-heading{min-width:0;color:var(--ink);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:900;display:flex}.rich-editor{gap:.4rem;min-width:0;display:grid}.editor-toolbar{flex-wrap:wrap;gap:.35rem;display:flex}.editor-toolbar button{min-width:2.35rem;min-height:2.15rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);cursor:pointer;padding:.35rem .55rem;font-size:.82rem;font-weight:900}.rich-editor textarea{min-height:8rem;line-height:1.5}.editor-preview{min-height:3.2rem;max-height:8rem;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:linear-gradient(90deg, #0f766e0d 1px, transparent 1px), var(--surface-raised);white-space:pre-wrap;background-size:12px 12px;padding:.7rem;font-size:.9rem;overflow:auto}@media (max-width:1100px){.app-shell{grid-template-columns:minmax(0,1fr)}.desktop-sidebar{display:none}.project-control-row{grid-template-columns:auto minmax(0,1fr)}.workspace-menu-button{display:grid}.workspace-header,.workspace-grid,.detail-layout,.git-grid,.agent-layout,.backup-grid{grid-template-columns:1fr}}@media (max-width:720px){.shell{width:min(100vw - .75rem,100%);padding-bottom:max(5.5rem, env(safe-area-inset-bottom))}.workspace-header,.panel,.band{padding:.7rem}.project-home-selector,.project-selector-dropdown>summary{min-height:auto}.project-selector-copy strong,.object-row{overflow-wrap:anywhere}.field-grid,.commit-row{grid-template-columns:1fr}.submit-button,.secondary-button{width:100%}.page-heading{flex-direction:column;align-items:stretch}.object-detail-panel{z-index:110;padding:max(.85rem, env(safe-area-inset-top)) .85rem max(.85rem, env(safe-area-inset-bottom));box-shadow:none;border-radius:0;position:fixed;inset:0;overflow:auto}.compact-object-list{display:none}.detail-actions{justify-content:stretch}.detail-actions>*,.detail-title-row>.secondary-button{flex:auto}.quick-add{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom))}.quick-add-button{width:3.35rem;height:3.35rem}.chat-message{max-width:100%}.inline-create .record-editor{width:100%;margin-top:.55rem;position:static}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
