@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f1f0e9;--surface:#fbfaf5;--ink:#202923;--muted:#69736d;--line:#d9ddd2;--deep:#24382f;--deep2:#31483c;--lime:#c6dc81;--rust:#b85c3d;--blue:#6e8f91;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',sans-serif;--mono:'DM Mono',monospace;--shadow:0 12px 35px rgba(35,52,42,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}
*:focus-visible{outline:3px solid #9fb968;outline-offset:3px}
.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,540px);background:var(--deep);color:#f4f2e9}
.login-story{padding:54px 7vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 42%,#365043 0,transparent 48%),var(--deep)}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.04em}.brand-mark{width:30px;height:30px;border:1px solid #90a67c;display:grid;place-items:center;color:var(--lime);font:500 12px var(--mono);transform:rotate(45deg)}.brand-mark span{transform:rotate(-45deg)}
.story-copy{max-width:630px;position:relative;z-index:1}.eyebrow{font:11px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#99ae91}.story-copy h1{font:clamp(54px,7vw,98px)/.93 var(--serif);font-weight:400;letter-spacing:-.025em;margin:24px 0}.story-copy h1 em{color:var(--lime);font-weight:400}.story-copy p{font-size:16px;line-height:1.75;color:#c4cec3;max-width:450px}.story-foot{display:flex;justify-content:space-between;color:#9aa99d;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.constellation{position:absolute;width:420px;height:420px;right:-110px;top:17%;opacity:.42;border:1px solid #6d8676;border-radius:50%}.constellation:before,.constellation:after{content:"";position:absolute;border:1px solid #6d8676;border-radius:50%;inset:48px}.constellation:after{inset:115px}.constellation i{position:absolute;width:7px;height:7px;background:var(--lime);border-radius:50%;left:30%;top:16%;box-shadow:130px 210px 0 #d18e69,240px 75px 0 #9fb8a1}
.login-panel{background:var(--surface);color:var(--ink);display:flex;align-items:center;justify-content:center;padding:48px}.login-card{width:min(100%,390px)}.login-card h2{font:42px/1 var(--serif);font-weight:400;margin:16px 0 10px}.login-card>p{color:var(--muted);line-height:1.65;margin-bottom:32px}.field{margin:16px 0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fffefa;padding:12px 13px;color:var(--ink);border-radius:3px}.field textarea{min-height:76px;resize:vertical}.field .hint{font:11px var(--mono);color:var(--muted);display:block;margin-top:6px}.btn{border:1px solid var(--deep);background:var(--deep);color:#f7f5eb;padding:11px 15px;border-radius:3px;font-weight:600;transition:transform .16s,background .16s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--deep2);transform:translateY(-1px)}.btn-light{background:transparent;color:var(--deep)}.btn-light:hover{background:#eceee5}.btn-small{padding:7px 10px;font-size:12px}.btn-wide{width:100%;margin-top:10px}.error,.notice{padding:11px 13px;border-left:3px solid var(--rust);background:#f7ebe5;color:#74391f;margin:14px 0;font-size:13px}.notice{border-color:#788d4f;background:#edf2df;color:#3b4b31}.subtle-links{display:flex;gap:18px;margin-top:26px;font:11px var(--mono);color:var(--muted);text-transform:uppercase}.subtle-links a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}
.workspace{min-height:100dvh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{background:var(--deep);color:#e8e9df;display:flex;flex-direction:column;padding:22px 15px;min-height:100dvh}.sidebar .brand{padding:4px 10px 26px}.workspace-label{color:#8e9b90;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;padding:13px 10px 8px}.project-select{width:100%;border:1px solid #516257;background:#30453a;color:#f4f2e9;border-radius:3px;padding:11px 10px;text-overflow:ellipsis}.side-nav{display:grid;gap:4px;margin-top:22px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px;border:0;background:transparent;color:#bfc9be;text-align:left;border-radius:3px;font-weight:500}.nav-item .nav-glyph{width:18px;color:#aabd91;font:12px var(--mono);text-align:center}.nav-item.active,.nav-item:hover{background:#344a3e;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #45594d;padding:16px 10px 0}.user-block{font-size:12px;color:#dce2d9;overflow-wrap:anywhere}.user-block small{display:block;color:#97a69a;margin-top:5px;font:10px var(--mono)}.logout{margin-top:14px;color:#c0c9c0;background:none;border:0;padding:0;font-size:12px}
.main{min-width:0}.topbar{height:69px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,42px);background:rgba(251,250,245,.72)}.breadcrumb{font:11px var(--mono);color:var(--muted);letter-spacing:.04em}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:9px}.system-status{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#65704f}.system-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ba55c;margin-right:8px}
.content{max-width:1500px;padding:30px clamp(18px,3vw,42px) 64px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:6px 0 24px}.page-head h1{font:46px/.96 var(--serif);font-weight:400;margin:7px 0 0;letter-spacing:-.02em}.page-head p{margin:11px 0 0;color:var(--muted);max-width:580px;line-height:1.55}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.metric{padding:15px 17px 15px 0;border-right:1px solid var(--line);margin-right:17px}.metric:last-child{border:0}.metric strong{display:block;font:27px/1 var(--serif);font-weight:400}.metric span{display:block;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.panel-title{font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#59675c}.panel-body{padding:16px}.graph-canvas{min-height:400px;position:relative;overflow:hidden;background-color:#f8f7f0;background-image:radial-gradient(#d6dbcf .8px,transparent .8px);background-size:22px 22px}.graph-canvas:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(248,247,240,.6),transparent 18%,transparent 85%,rgba(248,247,240,.55))}.graph-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px}.empty-card{max-width:350px;z-index:1}.empty-glyph{width:58px;height:58px;border:1px solid #aebaa7;color:#687f5d;display:grid;place-items:center;margin:0 auto 19px;font:22px var(--mono);transform:rotate(45deg)}.empty-glyph span{transform:rotate(-45deg)}.empty-card h3{font:27px var(--serif);font-weight:400;margin:0 0 9px}.empty-card p{color:var(--muted);line-height:1.6;margin:0 0 18px}.graph-node{position:absolute;z-index:2;min-width:140px;max-width:220px;background:#fffef9;border:1px solid #bdc6b9;padding:12px 14px;box-shadow:0 5px 16px #24382f17;cursor:pointer;text-align:left}.graph-node:hover,.graph-node.selected{border-color:#718653;box-shadow:0 0 0 2px #c6dc8180}.graph-node.decision{border-left:3px solid #b98261}.graph-node.system{border-left:3px solid #758c62}.graph-node .node-type{font:9px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px}.graph-node strong{font-size:12px;line-height:1.4;display:block}.graph-node small{font:10px var(--mono);color:var(--muted);display:block;margin-top:8px}.edge-layer{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.edge-layer line{stroke:#a5b19c;stroke-width:1.25;stroke-dasharray:4 4}
.right-stack{display:flex;flex-direction:column;gap:14px}.side-panel{background:var(--surface);border:1px solid var(--line)}.side-panel .panel-head{padding:12px 14px}.detail-content{padding:15px}.detail-empty{color:var(--muted);font-size:12px;line-height:1.6}.detail-content h3{font:22px/1.2 var(--serif);font-weight:400;margin:0 0 10px}.detail-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.tag{font:9px var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:5px 7px;border:1px solid var(--line);color:#536055}.tag.accepted{background:#edf1e4;color:#52633d}.tag.proposed{background:#f4eee5;color:#875c3b}.detail-section{border-top:1px solid var(--line);padding-top:11px;margin-top:12px}.detail-section h4{font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.detail-section p{font-size:12px;line-height:1.55;margin:5px 0}.mono{font:11px var(--mono);overflow-wrap:anywhere;color:#516158}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 15px;border-bottom:1px solid var(--line)}.search-input{border:1px solid var(--line);padding:9px 10px;background:#fffef9;min-width:180px}.filter-select{border:1px solid var(--line);background:#fffef9;padding:9px}.records{display:grid;gap:8px}.record{padding:13px;border:1px solid var(--line);background:#fffef9;cursor:pointer}.record:hover{border-color:#83956c}.record-title{font-size:13px;font-weight:600;line-height:1.5}.record-sub{font:10px var(--mono);color:var(--muted);margin-top:7px}.empty-inline{padding:23px;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}
.section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:16px}.review-box{width:100%;min-height:220px;font:12px/1.6 var(--mono);background:#f8f7f0;border:1px solid var(--line);padding:13px;resize:vertical}.review-result{margin-top:14px}.result-banner{padding:13px 15px;background:#edf1e4;border-left:3px solid #778e50;line-height:1.55}.result-banner.warn{background:#f7ebe5;border-color:var(--rust)}.result-list{padding-left:18px;font-size:12px;line-height:1.7}.receipt-box{font:11px/1.65 var(--mono);background:#edf0e8;border:1px solid var(--line);padding:13px;overflow-wrap:anywhere}.context-form{display:grid;gap:10px}.context-form input,.context-form textarea{border:1px solid var(--line);background:#fffef9;padding:11px}.context-form textarea{min-height:90px}
.modal-backdrop{position:fixed;inset:0;background:#17221dcc;display:grid;place-items:center;z-index:10;padding:18px}.dialog{width:min(100%,580px);max-height:90dvh;overflow:auto;background:var(--surface);padding:23px;border:1px solid #cdd2c8;box-shadow:0 24px 80px #10201855}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.dialog-head h2{font:30px var(--serif);font-weight:400;margin:0}.close-btn{border:1px solid var(--line);background:transparent;width:32px;height:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.form-grid .full{grid-column:1/-1}.checkbox-list{display:grid;gap:8px;margin:9px 0 14px}.checkbox-row{display:flex;gap:9px;align-items:center;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;z-index:20;background:var(--deep);color:#f8f6ed;padding:13px 17px;max-width:min(420px,calc(100vw - 44px));box-shadow:var(--shadow);animation:rise .2s ease}.toast.error-toast{background:#783e2b}@keyframes rise{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
.loading-skeleton{height:15px;background:linear-gradient(90deg,#e8e9e1,#f4f3ec,#e8e9e1);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:2px;margin:10px 0}@keyframes shimmer{to{background-position:-200% 0}}.view{animation:appear .25s ease both}@keyframes appear{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.workspace{grid-template-columns:190px minmax(0,1fr)}.graph-layout{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr 1fr}.graph-canvas{min-height:360px}}
@media(max-width:700px){.login-shell{grid-template-columns:1fr}.login-story{min-height:330px;padding:26px 24px}.story-copy h1{font-size:57px;margin:18px 0}.story-copy p{font-size:14px}.story-foot{font-size:9px}.constellation{width:230px;height:230px;right:-95px;top:12%}.login-panel{padding:36px 24px 48px}.workspace{display:block}.sidebar{min-height:0;padding:10px 13px;position:sticky;top:0;z-index:5;flex-direction:row;align-items:center;gap:9px}.sidebar .brand{padding:0;margin-right:auto}.sidebar .brand-mark{width:27px;height:27px}.sidebar .brand-name,.sidebar .workspace-label,.sidebar .project-select,.sidebar .sidebar-bottom{display:none}.side-nav{display:flex;margin:0;gap:2px}.nav-item{padding:9px;font-size:11px}.nav-item .nav-glyph{display:none}.topbar{height:52px;padding:0 16px}.system-status{display:none}.content{padding:24px 16px 50px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:40px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:12px 8px 12px 0;margin-right:8px}.metric:nth-child(2){border:0}.metric strong{font-size:24px}.right-stack{display:flex}.graph-canvas{min-height:330px}.section-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.head-actions{width:100%}.head-actions .btn{flex:1}.toolbar .search-input{flex:1;min-width:140px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:700px){
  .sidebar{flex-wrap:wrap}
  .sidebar .project-select{display:block;order:3;width:calc(100% - 92px);min-width:0}
  .sidebar .sidebar-bottom{display:block;order:4;margin:0}
  .sidebar .user-block{display:none}
  .sidebar .logout{padding:9px 10px;white-space:nowrap}
  .side-nav{order:5;width:100%;overflow-x:auto;justify-content:space-between}
  .nav-item{white-space:nowrap}
}
.org-project-scope{display:flex;align-items:center;gap:7px;padding:9px 10px;color:#c0c9c0;font:10px var(--mono);letter-spacing:.04em}
.org-project-scope input{accent-color:#c6dc81}