body{background:#f7f9fb}header{height:64px;padding:12px 22px}header h1{font-size:18px}header>a{font-size:13px;color:#64748a}.tabs{height:46px;gap:26px}.tabs button{font-size:13px;padding:11px 1px}.actionbar{padding:10px 22px;min-height:58px;background:#fff}.actionbar>span{font-size:12px}.actionbar .primary{background:#2865bc}.actionbar .button,.actionbar button{font-size:12px;min-height:32px}.actionbar .saved-chip{display:inline-flex;gap:7px;align-items:center}.actionbar .saved-chip svg{color:#328071}#view.visual-view{padding:0}#view:not(.visual-view){max-width:1500px;margin:auto}.visual-workspace{display:grid;grid-template-columns:190px minmax(0,1fr) 330px;min-height:620px;height:calc(100vh - 168px);background:white}.team-rail{padding:20px 10px 14px;border-right:1px solid #e3e8ef;display:flex;flex-direction:column;gap:5px;background:#fafbfc;overflow:auto}.rail-title{font-size:12px;color:#8b96a5;display:flex;align-items:center;justify-content:space-between;padding:0 12px 14px}.rail-title span{font-variant-numeric:tabular-nums}.team-nav{display:flex;justify-content:flex-start;gap:10px;background:transparent;border:0;padding:10px 11px;min-height:41px;text-align:left;width:100%;border-radius:5px;color:#5f6d80;font-size:13px}.team-nav span{flex:1;min-width:0;overflow-wrap:anywhere}.team-nav small{color:#8e99a8;font-size:11px}.team-nav.active{background:#eaf1fc;color:#245da9}.team-nav.active small{color:#245da9}.team-mark{width:8px;height:8px;border-radius:2px;background:var(--team-color);flex-shrink:0}.team-nav>svg{width:14px;height:14px}.rail-bottom{margin-top:auto;padding:24px 8px 0}.rail-bottom label{font-size:11px;color:#748196}.canvas-column{min-width:0;display:flex;flex-direction:column;background:#f8fafc;position:relative}.canvas-command{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 17px;min-height:62px;border-bottom:1px solid #e6ebf1;background:#fff}.canvas-breadcrumb{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px}.canvas-breadcrumb strong{font-weight:500;overflow-wrap:anywhere}.canvas-breadcrumb>span{color:#a6afbd}.canvas-breadcrumb button{padding:4px 0;border:0;background:none;color:#718096;font-size:12px}.canvas-command-actions{display:flex;gap:7px;flex-shrink:0}.compact-primary{background:#edf3fc;color:#2865bc;border-color:#dce7f9;font-size:12px;padding:6px 10px}.canvas-search{display:flex;justify-content:space-between;gap:10px;padding:10px 17px;align-items:center}.canvas-search label{display:flex;flex-direction:row;align-items:center;gap:7px;border:1px solid #e2e8ef;border-radius:5px;background:white;padding:0 9px;max-width:260px;width:100%;color:#8a95a4}.canvas-search input{padding:7px 0;border:0;background:none;outline-offset:5px;font-size:12px}.canvas-search>span{white-space:nowrap;font-size:11px;color:#8a96a5}.visual-viewport{position:relative;overflow:auto;flex:1;min-height:360px;cursor:grab;overscroll-behavior:contain;touch-action:pan-x pan-y;background-image:radial-gradient(#dce3ed .75px,transparent .75px);background-size:19px 19px}.visual-viewport.panning{cursor:grabbing;user-select:none}.visual-sizer{position:relative;min-width:100%;min-height:100%;padding:15px}.visual-scene{position:absolute;top:15px;left:15px;transform-origin:0 0;isolation:isolate}.visual-lines{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}.visual-edge path:first-child{fill:none;stroke:#9baec3;stroke-width:2}.visual-edge.read path:first-child{stroke:#76a6ad}.visual-edge.suggest path:first-child,.visual-edge.future path:first-child{stroke-dasharray:6 5}.visual-edge-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.visual-position{position:absolute;z-index:2}.visual-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;width:100%;height:100%;padding:13px 15px;border:1.5px solid #d0dbe9;border-radius:7px;background:white;box-shadow:0 2px 5px #182d4610;text-align:left;color:#2d3c50;overflow:hidden}.visual-card strong{font-size:23px;line-height:1.3;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:1}.visual-card small{font-size:17px;line-height:1.3;color:#8793a4}.visual-card.node-card{border-top:3px solid var(--team-color,#4c80bd)}.visual-card:hover,.visual-card.is-active{border-color:#518ad3;box-shadow:0 0 0 3px #6098dd20;background:#f7faff}.visual-card.is-active{background:#edf4ff}.visual-card.archived{opacity:.55;border-style:dashed}.card-bottom{display:flex;gap:12px;align-items:center;width:100%;white-space:nowrap}.card-bottom>svg{margin-left:auto}.visual-card svg{width:18px;height:18px}.binding-state{font-size:15px;line-height:1.3;display:inline-flex;align-items:center;gap:5px;color:#a08249;white-space:nowrap}.binding-state.linked{color:#368773}.card-kicker{display:flex;align-items:center;justify-content:space-between;font-size:16px;line-height:1.3;color:#8090a4;width:100%}.root-card{border:2px solid #4b80c6;background:#f1f6ff}.root-card strong{font-size:27px}.goal-card small{display:flex;align-items:center;gap:7px}.canvas-add{width:100%;height:100%;border:1.5px dashed #b9cce2;border-radius:6px;color:#668ab4;background:#ffffffa8;font-size:20px}.canvas-add svg{width:22px;height:22px}.canvas-team-frame{position:absolute;border:1px solid color-mix(in srgb,var(--team-color) 40%,white);background:color-mix(in srgb,var(--team-color) 4%,white);border-radius:5px;z-index:0}.canvas-team-frame>span{font-size:22px;color:var(--team-color);position:absolute;left:15px;top:12px}.canvas-bottom{height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-top:1px solid #e6ebf1;background:#fff}.canvas-bottom>div{display:flex;align-items:center;gap:5px}.canvas-bottom>span{display:flex;gap:8px;align-items:center;font-size:11px;color:#8c97a6}.canvas-bottom>span i{height:12px;border-left:1px solid #dce2eb}.canvas-bottom output{width:43px;text-align:center;font-size:11px;color:#7a889b}.canvas-tool{width:29px;height:29px;min-height:29px;padding:5px;border-color:#e0e6ee}.canvas-tool svg{width:15px;height:15px}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;background:#32435b;color:white;padding:4px 7px;border-radius:3px;font-size:11px;z-index:100}.visual-inspector{border-left:1px solid #e2e8f0;padding:18px;background:white;overflow:auto;min-width:0}.visual-inspector h2{font-size:17px;margin:14px 0 5px;line-height:1.5;overflow-wrap:anywhere}.property-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8190a3;font-size:11px}.property-top>div{display:flex;gap:4px}.property-top .icon-button{min-height:29px;height:29px;width:29px;border-color:#e5eaf1}.property-context{color:#8b97a8;font-size:12px;margin:0 0 25px}.property-field{margin:0 0 23px}.property-field>label,.property-row>label{color:#8a97a8;font-size:11px}.property-field p{font-size:13px;line-height:1.75;margin:7px 0;color:#5b6b80;overflow-wrap:anywhere;white-space:pre-wrap}.property-row{display:flex;align-items:center;justify-content:space-between}.property-row button{border:0;padding:3px 0;color:#3673be;min-height:25px;font-size:11px}.people-line{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.people-line>span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#536b8d}.people-line svg{color:#8099bb;width:14px;height:14px}.okr-fold{padding:9px 0;border-bottom:1px solid #edf0f5;font-size:12px}.okr-fold summary{cursor:pointer;color:#45668e}.okr-fold summary small{display:block;color:#a0aab8;font-size:10px;margin-left:14px}.okr-fold p{font-size:12px}.property-steps{font-size:12px;color:#6e7e92;padding-left:21px;line-height:1.7;margin:10px 0}.property-steps li{padding:3px 0}.property-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;border-top:1px solid #e8edf3;padding-top:16px}.property-footer button{font-size:12px}.coverage{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:baseline;padding-top:12px}.coverage strong{font-size:18px;font-weight:500;color:#496484}.coverage span{font-size:12px;color:#8491a2}.relation-property{display:flex;gap:8px;border:0;border-bottom:1px solid #edf0f4;border-radius:0;width:100%;padding:11px 0;justify-content:flex-start;text-align:left;background:white}.relation-property>span{flex:1;font-size:12px}.relation-property small{display:block;color:#9aa5b4;font-size:10px}.relation-property>svg{width:13px;height:13px;color:#8ca1ba}.team-facts{margin:12px 0}.team-facts div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eff2f6;font-size:12px}.team-facts dt{color:#8190a4}.team-facts dd{margin:0;color:#405b7f;font-weight:500}.empty-binding{color:#a28b63!important}.scene-empty{position:absolute;top:160px;left:100px;color:#8491a3;font-size:20px}.visual-inspector .form{gap:12px}.visual-inspector .form-grid{display:flex;flex-direction:column;gap:13px}.visual-inspector label{font-size:12px}.visual-inspector input,.visual-inspector select,.visual-inspector textarea{font-size:13px;padding:8px}.visual-inspector textarea{min-height:70px}.visual-inspector .person-picks{gap:7px}.visual-inspector .form-footer{justify-content:flex-start}.visual-inspector .form-footer button{font-size:12px}.inline-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.inline-head h2{margin:0;font-size:15px}.inline-head button{width:28px;height:28px;min-height:28px;padding:5px}
@media(max-width:1200px){.visual-workspace{grid-template-columns:156px minmax(0,1fr) 285px}.team-nav{font-size:12px;gap:7px}.visual-inspector{padding:14px}.visual-card.node-card strong{font-size:24px}.canvas-command{padding:12px}.canvas-command-actions button{font-size:11px}}
@media(max-width:950px){.visual-workspace{height:auto;min-height:0;grid-template-columns:145px minmax(0,1fr)}.visual-inspector{grid-column:1/-1;border-left:0;border-top:1px solid #e2e8f0;max-height:none}.canvas-column{height:650px}.team-rail{max-height:650px}.property-field{max-width:900px}.visual-inspector .form-grid{display:grid;grid-template-columns:1fr 1fr}.visual-inspector .form-grid .full{grid-column:1/-1}.people-line{gap:14px}}
@media(max-width:600px){header{height:auto;padding:12px}header h1{font-size:17px}.tabs{padding:0 14px;gap:20px}.actionbar{padding:10px 14px;gap:8px}.visual-workspace{display:flex;flex-direction:column}.team-rail{padding:8px 12px;flex-direction:row;overflow:auto;gap:5px;border-right:0;border-bottom:1px solid #e3e8ef}.rail-title,.rail-bottom{display:none}.team-nav{width:auto;white-space:nowrap;min-height:33px;padding:7px 10px}.team-nav span{min-width:max-content}.team-nav small{display:none}.canvas-column{height:520px}.canvas-command{padding:12px;gap:6px}.canvas-breadcrumb strong{font-size:12px}.canvas-search{padding:8px 12px}.canvas-search label{max-width:240px}.canvas-search input{font-size:14px}.canvas-bottom{padding:7px 12px}.visual-inspector{padding:20px 16px}.visual-inspector .form-grid{display:flex}.visual-inspector input,.visual-inspector select,.visual-inspector textarea{font-size:16px}#session-info{font-size:11px}.canvas-command-actions .compact-primary{font-size:11px}.canvas-tool{min-height:32px;width:32px}dialog{padding:17px}}
/* Keep non-editable fields visually distinct in both the inspector and dialogs. */
input:disabled,textarea:disabled,select:disabled,
input[readonly],textarea[readonly]{background:#f0f2f5;color:#768293;border-color:#e0e5eb;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#768293;box-shadow:none}
