:root{--ink:#0a0f1a;--text:#1a2233;--muted:#47536b;--line:#c9d2e0;--box-line:#b9c4d6;--accent:#00b8de;--accent-dark:#007e9a;--slate:#33456b;--marker:#e8a200;--lane:#f1f3f7;--lane-firm:#eef1f8;--lane-birdai:#e9f8fd;--danger:#a12a1c;--ok:#1d6b3a;--surface:#fff;--page:#f6f8fb}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:var(--page);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--box-line);background:var(--surface);cursor:pointer;border-radius:6px;padding:5px 10px}button:hover:not(:disabled){border-color:var(--accent-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.danger{color:var(--danger)}input[type=text],textarea,select{border:1px solid var(--box-line);background:var(--surface);border-radius:6px;width:100%;padding:5px 8px}textarea{resize:vertical;min-height:60px}label{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}label>span{letter-spacing:.3px;margin-bottom:2px;font-weight:700;display:block}.band{background:var(--ink);color:#f2f5f9;border-bottom:4px solid var(--accent);justify-content:space-between;align-items:flex-end;gap:16px;padding:12px 28px 10px;display:flex}.band .wm{letter-spacing:-.3px;font-size:20px;font-weight:700}.band .for{color:#a9b4c6;text-align:right;font-size:12px}.band a{color:#f2f5f9}.shell{max-width:1500px;margin:0 auto;padding:16px 28px 40px}h1{letter-spacing:-.4px;color:var(--ink);margin:0;font-size:26px;line-height:1.1}h2{letter-spacing:1.4px;text-transform:uppercase;color:var(--accent-dark);border-bottom:1px solid var(--line);margin:0 0 6px;padding-bottom:3px;font-size:12px}.lede{color:var(--muted);margin:4px 0 0;font-size:15px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 10px;display:flex}.toolbar .who{color:var(--muted);margin-left:auto;font-size:12px}.toolbar .here{color:var(--muted);font-size:12px}.banner{border:1px solid var(--marker);color:#5a3d00;background:#fff4d6;border-radius:8px;margin:12px 0;padding:10px 14px;font-weight:700}.note{color:var(--muted);margin:10px 0;font-size:13px}.invalid{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:18px;display:flex}.board{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.canvas{background:var(--surface);border:1px solid var(--line);border-radius:10px;height:clamp(360px,42vw - 168px,560px);overflow:hidden}.side{flex-direction:column;gap:12px;display:flex}.panel.loose{z-index:20;max-width:360px;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 22px #0a14282e}.panel.loose .row{align-items:baseline;margin-top:2px}.panel.loose .note{margin:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.panel .row{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:12px;display:flex}.legend .tag{font-size:9px}.bracket{color:var(--accent-dark);letter-spacing:.4px;margin:6px 0;font-size:12px;font-weight:700}.step{background:var(--surface);border:1px solid var(--box-line);cursor:grab;border-radius:7px;width:100%;height:100%;padding:6px 8px 20px;font-size:9.5px;line-height:1.25;position:relative;overflow:hidden}.step.accent{border:1.6px solid var(--accent)}.step.selected,.lane-node.selected,.marker-node.selected{box-shadow:0 0 0 2px var(--accent-dark)}.step .label{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:7.5px;font-weight:700;display:block}.num{text-align:center;background:var(--ink);color:#fff;letter-spacing:0;border-radius:8px;min-width:15px;height:15px;margin-right:4px;padding:0 3px;font-size:9.5px;font-weight:700;line-height:15px;display:inline-block}.step .title{color:var(--ink);font-size:11.5px;font-weight:700}.step .body{color:var(--muted);white-space:pre-wrap;margin-top:2px;display:block}.step .tag{position:absolute;bottom:5px;left:8px}.canvas .react-flow__handle{background:var(--accent-dark);opacity:0;cursor:crosshair;border:2px solid #fff;width:11px;height:11px;transition:opacity .12s}.canvas .react-flow__handle:after{content:"";border-radius:50%;position:absolute;inset:-7px}.canvas .react-flow__handle.drop{opacity:1;background:0 0;border:0;border-radius:7px;width:100%;height:100%;inset:0;transform:none}.canvas .react-flow__handle.drop:after{content:none}.canvas .react-flow__handle.drop.connectingto{box-shadow:0 0 0 2px var(--accent)}.canvas .react-flow__node:hover .react-flow__handle,.canvas .react-flow__handle.connectingfrom,.canvas .react-flow__handle.connectingto{opacity:1}.tag{letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:7.5px;font-weight:700;line-height:1.5;display:inline-block}.tag.broadridge{background:var(--slate);color:#fff}.tag.design{background:var(--accent-dark);color:#fff}.tag.assumption,.tag.open{border:1px dashed var(--muted);color:var(--muted);padding:0 4px}.lane-node{background:var(--lane);border-radius:8px;width:100%;height:100%;padding:5px 8px}.lane-node .title{letter-spacing:.9px;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:8.5px;font-weight:700}.lane-node.accent{background:var(--lane-birdai)}.lane-node.accent .title{color:var(--accent-dark)}.marker-node{background:var(--marker);color:#1a1300;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:10px;font-weight:700;display:flex}.tables{grid-template-columns:repeat(auto-fit,minmax(560px,1fr));align-items:start;gap:16px;margin-top:20px;display:grid}.tables.licence{grid-template-columns:1fr}.table-block{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto}table{border-collapse:collapse;width:100%}caption{text-align:left}th{text-align:left;letter-spacing:.8px;text-transform:uppercase;color:var(--slate);background:var(--lane-firm);border:1px solid var(--line);vertical-align:bottom;padding:4px 7px;font-size:10.5px}td{border:1px solid var(--line);vertical-align:top;white-space:pre-wrap;padding:3px 7px;font-size:13px}td .cell-button{text-align:left;white-space:pre-wrap;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;min-height:24px;padding:2px 3px;display:block}td .cell-button:hover:not(:disabled){border-color:var(--accent);background:#f4fbfd}td.actions{white-space:nowrap;width:1%}td.actions button{padding:2px 7px;font-size:11.5px}.table-block>.row{margin-top:8px}.table-block .comments{background:var(--page);margin-top:10px}@media (max-width:760px){.tables{grid-template-columns:1fr}}.comment{border-top:1px solid var(--line);padding:6px 0;font-size:13px}.comment .meta{color:var(--muted);font-size:11.5px}.comment .text{white-space:pre-wrap}.comment.resolved .text{color:var(--muted)}.save{align-items:center;gap:6px;font-size:12px;display:inline-flex}.save.saved{color:var(--ok)}.save.not-saved{color:var(--danger);font-weight:700}.history{margin-top:20px}.history li{border-top:1px solid var(--line);padding:6px 0;font-size:12.5px;list-style:none}.history ul{margin:0;padding:0}.history pre{white-space:pre-wrap;word-break:break-word;color:var(--muted);margin:2px 0 0;font-size:11.5px}footer.foot{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:8px;font-size:12px}.admin-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:16px;display:grid}.inline{color:var(--text);align-items:center;gap:6px;margin:0;font-size:13px;display:inline-flex}.inline input{width:auto}@media (max-width:760px){.board,.admin-grid{grid-template-columns:1fr}.shell{padding:12px 14px 32px}.band{padding:10px 14px 8px}}.print-page{background:#fff;flex-direction:column;width:11in;min-height:8.5in;margin:0 auto 16px;font-size:8.4pt;line-height:1.32;display:flex}.print-page .band{padding:10px 36px 8px}.print-page .band .wm{font-size:15pt}.print-page .band .for{font-size:8pt}.print-page .shell{flex:1;width:100%;max-width:none;margin:0;padding:12px 36px 0}.print-page h1{font-size:18pt}.print-page h2{margin-bottom:3px;font-size:7.6pt}.print-page .lede{margin-top:3px;font-size:9.6pt}.print-page .bracket{text-align:right;margin:4px 0 0;font-size:7.8pt}.print-page .diagram{width:100%;height:auto;max-height:3.75in;margin:4px auto 0;display:block}.print-page .legend{margin-top:4px;font-size:7.6pt}.print-page .legend .tag{font-size:6.5pt}.print-page .table-block{background:0 0;border:0;border-radius:0;margin-top:8px;padding:0;overflow:visible}.print-page td{padding:2px 5px;font-size:7.8pt}.print-page th{padding:2px 5px;font-size:6.4pt}.print-page .cols{align-items:flex-start;gap:18px;margin-top:2px;display:flex}.print-page .cols>div{flex:1}.print-page .cols>div:first-child{flex:1.5}.print-page footer.foot{justify-content:space-between;gap:16px;margin:6px 36px 12px;padding-top:5px;font-size:7.6pt;display:flex}.diagram text{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.legend>div:first-child .tag{background:var(--slate)}.legend>div:nth-child(3) .tag{border:1px dashed var(--muted);color:var(--muted);background:0 0;padding:0 4px}@media print{@page{size:11in 8.5in;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.no-print{display:none!important}.print-page{page-break-after:always;min-height:815px;margin:0}.print-page:last-child{page-break-after:auto}}
