:root{--navy:#073e56;--green:#58a83e;--ink:#183342;--muted:#76838b;--line:#e2e7e8;--paper:#f7f8f6}*{box-sizing:border-box}body{margin:0;font:13px Arial,sans-serif;color:var(--ink);background:white}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:9px 12px;transition:background .12s,transform .12s}button:hover{background:#edf3ed;border-color:#a5bdab}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:2px}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover{background:#12556d}header{height:76px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:15px}.brand img{width:124px;height:42px;object-fit:contain}.brand span{height:24px;width:1px;background:var(--line)}.brand strong{font-size:23px;letter-spacing:-1px}.brand small{font-size:9px;letter-spacing:1.6px;color:var(--muted);align-self:center}.headtools{display:flex;align-items:center;gap:8px}#saved{font-size:11px;color:var(--muted);margin-right:14px}main{display:grid;grid-template-columns:280px minmax(300px,1fr) 246px;height:calc(100dvh - 76px);min-height:550px}aside{background:white;overflow:auto}.directory{border-right:1px solid var(--line);display:flex;flex-direction:column}.sidetop{padding:24px 18px 10px}.eyebrow{font-size:9px;font-weight:bold;letter-spacing:1.8px;color:var(--muted)}h2{font-size:18px;letter-spacing:-.5px;margin:9px 0 18px}#peopleCount{font-size:11px;background:#edf3ed;padding:4px 7px;border-radius:5px;color:#4d7856;vertical-align:middle;margin-left:5px}input,select{background:white;border:1px solid var(--line);border-radius:6px;padding:9px;color:var(--ink);min-width:0}#search{width:100%;background:#f6f8f7;padding:11px}.pills{display:flex;gap:4px;margin:12px 0}.pills button{flex:1;font-size:11px;padding:7px 4px;border-color:transparent;color:#62737c}.pills .active{background:var(--navy);color:white}.filterrow{display:flex;gap:6px}.filterrow select{width:50%;font-size:10px;padding:7px 3px}.hint{font-size:11px;line-height:1.6;color:var(--muted)}#people{padding:0 12px;flex:1;overflow:auto;min-height:100px}.person{padding:11px 8px;border-bottom:1px solid #eef1ef;display:flex;align-items:center;gap:10px;cursor:grab}.person:hover{background:#f5f8f3;border-radius:8px}.avatar{width:32px;height:32px;border-radius:9px;background:#eaf1e7;color:#47753e;display:grid;place-items:center;font-size:10px;font-weight:bold;flex-shrink:0}.person .info{flex:1;min-width:0}.person strong{font-size:12px;display:block}.person small{display:block;font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person .add{padding:3px 5px;border:0;background:transparent;font-size:17px}.person .editperson{font-size:10px;padding:3px;border:0;background:transparent;color:#80918b}.sidebottom{padding:14px 18px;border-top:1px solid var(--line)}.sidebottom button{font-size:11px}.sidebottom p{font-size:10px;line-height:1.5;color:#8a949a;margin:10px 0 0}.workspace{display:flex;flex-direction:column;min-width:0;background:var(--paper)}.chartbar{background:white;min-height:85px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:10px}#chartTitle{padding:4px 0;border:0;font-size:19px;font-weight:bold;background:transparent;width:100%;max-width:400px}.chartactions{display:flex;gap:5px;align-items:center}.chartactions button,.chartactions select{font-size:11px;padding:8px}.chartactions select{max-width:140px}.canvaswrap{position:relative;flex:1;overflow:auto;background-color:#f7f8f6;background-image:radial-gradient(#d7dfda .8px,transparent .8px);background-size:18px 18px}#canvas{position:relative;width:2600px;height:1800px;transform-origin:0 0}#connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.node{position:absolute;width:204px;min-height:110px;background:white;border:1px solid #d5dfdb;border-top:3px solid var(--navy);border-radius:9px;box-shadow:0 4px 12px #12332207;padding:13px 14px;cursor:grab;user-select:none;transition:box-shadow .12s}.node.selected{outline:2px solid var(--green);outline-offset:3px}.node.dragover{outline:3px dashed var(--green);background:#eff9eb}.node.placeholder{border-top-color:var(--green);background:#fcfefb}.node strong{display:block;font-size:13px;line-height:1.3}.node .role{font-size:11px;line-height:1.4;color:#60757e;margin-top:5px}.node .meta{font-size:10px;color:#74817f;line-height:1.4;margin-top:8px}.node .tag{position:absolute;right:10px;top:-10px;font-size:8px;background:#e7f0e3;color:#47723c;padding:3px 6px;border-radius:4px}.node .connector{display:none;position:absolute;bottom:-9px;left:calc(50% - 9px);width:18px;height:18px;border-radius:50%;background:var(--green);color:white;font-size:15px;text-align:center}.node:hover .connector{display:block}.canvasnote{position:sticky;top:18px;left:22px;pointer-events:none;color:#8a9694;font-size:10px;width:max-content;padding:9px;background:#f7f8f6e0;border-radius:5px}.zoomtools{position:sticky;left:calc(50% - 165px);bottom:22px;margin-top:calc(0px - 1800px);top:calc(100% - 65px);width:max-content;display:flex;align-items:center;gap:3px;padding:6px;border:1px solid var(--line);border-radius:11px;background:white;box-shadow:0 5px 20px #143c5210;z-index:5}.zoomtools button{border:0;padding:7px 10px;font-size:11px}.zoomtools b{font-size:10px;min-width:40px;text-align:center}.zoomtools span{height:17px;width:1px;background:var(--line);margin:0 3px}footer{padding:11px 20px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;background:white;color:var(--muted)}footer i{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin:0 6px}.inspector{padding:25px 18px;border-left:1px solid var(--line)}.inspector h3{font-size:12px;margin:22px 0 12px}.inspector label{font-size:11px;display:block;margin:12px 0;color:#65757c}.inspector label:not(.check) input,.inspector label select{display:block;width:100%;margin-top:6px}.check{display:flex!important;align-items:center;gap:7px;line-height:1.4}.check input{accent-color:var(--green)}.placeholdergrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.placeholdergrid button{font-size:10px}.danger{color:#ad4545}.subtle{margin-top:22px;width:100%;background:transparent}#selection{padding-bottom:15px;border-bottom:1px solid var(--line)}#selection:empty{display:none}#selection .hint{margin-top:0}.fieldpair{display:flex;gap:8px}.fieldpair>*{width:50%}dialog{border:1px solid var(--line);border-radius:15px;padding:30px;width:480px;max-width:95vw;color:var(--ink);box-shadow:0 20px 100px #12334425}dialog::backdrop{background:#062e4055;backdrop-filter:blur(4px)}.close{position:absolute;right:12px;top:10px;border:0;font-size:22px;padding:4px 8px}dialog h2{margin-top:0}dialog label{display:block;font-size:12px;color:#60737a;margin:14px 0}dialog label input,dialog label select{display:block;width:100%;margin-top:6px}dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.templatechoice{display:block;text-align:left;width:100%;margin:10px 0;padding:18px}.templatechoice b{display:block;font-size:14px}.templatechoice small{display:block;color:var(--muted);margin-top:7px;line-height:1.5}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;background:var(--navy);color:white;padding:12px 20px;border-radius:9px;transition:.2s;z-index:100;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%)}#empty{position:absolute;top:38%;left:0;right:0;text-align:center}#empty p{color:var(--muted)}@media(max-width:1150px){main{grid-template-columns:245px minmax(300px,1fr)}.inspector{position:fixed;right:16px;top:155px;width:235px;max-height:calc(100vh - 180px);z-index:10;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #12332215;display:none}.inspector.visible{display:block}.chartbar{padding:15px}.brand small,#saved{display:none}}@media(max-width:750px){header{padding:0 12px;height:65px}.brand img{width:90px}.brand strong{font-size:19px}.headtools button{font-size:10px;padding:8px}#restore{display:none}main{grid-template-columns:190px minmax(280px,1fr);height:calc(100dvh - 65px);overflow:auto}.sidetop{padding:16px 10px}.chartbar{align-items:flex-start;flex-direction:column;height:110px}.chartactions select{max-width:125px}.sidebottom{padding:10px}.person{padding:10px 3px}.avatar{display:none}footer span:last-child{display:none}h2{font-size:15px}.pills button{font-size:10px}.filterrow{flex-direction:column}.filterrow select{width:100%}}@media print{header,.directory,.inspector,.chartbar,.zoomtools,.canvasnote,footer{display:none!important}main{display:block;height:auto}.canvaswrap{overflow:visible;background:white}#canvas{transform:scale(.45)!important;transform-origin:top left}.node{box-shadow:none}body{background:white}}
.node{touch-action:none}.person{touch-action:pan-y}.person .add{font-size:10px;padding:5px}.roster{border-top:1px solid #e2e9e2;margin-top:12px;padding-top:2px}.rosterheading{font-size:9px;letter-spacing:1px;color:#47723c;font-weight:bold;margin:15px 0 10px}.rostername{font-size:11px;line-height:1.4;margin-top:9px}.rosterdetail{font-size:9px;color:#74817f;line-height:1.45;margin-top:2px}.rosterchooser{max-height:330px;overflow:auto;border-top:1px solid #e2e7e8;border-bottom:1px solid #e2e7e8;padding:5px}.rosterchooser small{color:#8b9696;margin-left:auto}.chartactions{flex-wrap:wrap;justify-content:flex-end}.chartbar>div:first-child{flex:1;min-width:150px}#focusBranch{max-width:105px}.zoomtools button{padding:7px;font-size:10px}.close{font-size:11px;padding:6px}#canvas{width:6500px;height:5000px}.zoomtools{margin-top:-5000px}.globalsettings .hint{margin-bottom:12px}
.rostername[data-person]{cursor:grab;touch-action:none}.rostername[data-person]:hover{color:#58a83e;text-decoration:underline}
.node{min-height:76px;padding:9px 10px;border-radius:6px}.node strong{font-size:12px}.node .role{font-size:10px;margin-top:3px;line-height:1.3}.node .meta{font-size:9px;margin-top:4px}.roster{margin-top:7px;padding-top:4px}.rosterheading{margin:7px 0 5px;font-size:9px;letter-spacing:.4px}.rostername{font-size:10px;margin-top:4px;line-height:1.35}.summarylines{font-size:10px;line-height:1.5;margin-top:7px;color:#60757e}.exportfields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.exportfields label{margin:8px 0}.exportactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}dialog:has(.exportfields){width:700px;max-height:92vh;overflow:auto}#exportPreview svg{display:block;width:100%;height:auto;margin-top:20px;border:1px solid #dde5df}textarea{width:100%;display:block;margin-top:6px;border:1px solid #e2e7e8;padding:9px;border-radius:6px;font:12px Arial}
#teamFilter{width:100%;margin-top:8px;font-size:11px}.allocationtoolbar{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.allocationtoolbar input{flex:1;min-width:130px}.allocationlist{max-height:430px;overflow:auto}.allocationrow{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0ed;padding:9px 0}.allocationrow>span{flex:1}.allocationrow strong{display:block;font-size:12px}.allocationrow small{display:block;color:#75848a;margin-top:4px;font-size:10px}.allocationrow select{width:105px}dialog:has(.allocationlist){width:730px}.allocationrow input{accent-color:#58a83e}
