:root{color-scheme:dark;font:14px 'Segoe UI',Arial,sans-serif;color:#ececec;background:#171717}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit;background:#303030;border:1px solid #505050;border-radius:6px;padding:9px 12px}button{cursor:pointer}button:hover{background:#383838}button:disabled{opacity:.45;cursor:default}input,select{min-width:0}input:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #ddd;outline-offset:2px}header{height:70px;display:flex;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid #383838;background:#202020}header strong{font-size:19px}header small{color:#aaa;font-size:11px;letter-spacing:1.5px;margin-left:auto}.avatar{border-radius:50%;padding:10px;background:#3b3b3b}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 108px)}aside{background:#1b1b1b;border-right:1px solid #383838;padding:24px 16px;overflow:auto;display:flex;flex-direction:column;gap:18px}.heading,.topline{display:flex;align-items:center;justify-content:space-between;gap:14px}h2{font-size:16px;margin:0}h1{font-size:28px;font-weight:600;margin:9px 0 0}.muted,small,.asideNote{color:#aaa}.asideNote{font-size:12px;line-height:1.8;margin-top:auto}nav button{border:0;background:transparent;width:100%;text-align:left;display:flex;gap:8px;align-items:center;margin:3px 0;min-height:38px}nav button.selected{background:#3b3b3b}nav button span:last-child{overflow:hidden;text-overflow:ellipsis}main{padding:30px 36px;overflow:auto}.tabs{display:flex;gap:26px;border-bottom:1px solid #383838;margin:28px 0}.tabs button{background:none;border:0;border-radius:0;padding:12px 0;color:#aaa}.tabs button[aria-pressed=true]{color:white;border-bottom:2px solid white}.sectionHead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0}.intro{max-width:760px;color:#aaa;line-height:1.7}.card{background:#202020;border:1px solid #383838;border-radius:9px;padding:20px;margin:12px 0}.person{display:flex;align-items:center;gap:12px}.person strong{display:block}.person small{display:block;margin-top:4px}.cardTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.rights{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.badge{font-size:12px;background:#303030;padding:6px 10px;border-radius:5px}.source{font-size:12px;color:#aaa;margin-top:14px}.source button{padding:0;border:0;background:none;text-decoration:underline;color:inherit}.primary{background:#ececec;color:#202020}.primary:hover{background:white}.empty{padding:40px;border:1px dashed #505050;color:#aaa;border-radius:8px;text-align:center}.previewGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.previewGrid .card{margin:0}.previewGrid h3{font-size:16px}.demoAsset{height:90px;display:grid;place-items:center;color:#aaa;background:#292929;border-radius:6px;font-size:12px}footer{height:38px;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:0 24px;border-top:1px solid #383838;font-size:12px;color:#aaa}dialog{width:min(600px,94vw);max-height:85vh;overflow:auto;border:1px solid #505050;border-radius:12px;padding:26px;background:#222;color:#eee}dialog::backdrop{background:#000a}label.field{display:grid;gap:8px;margin:20px 0}label.check{display:flex;gap:12px;align-items:center;padding:10px 0}input[type=checkbox]{accent-color:#ccc;width:17px;height:17px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.warning{color:#e0be7b;line-height:1.6}.impact{padding:10px 0;border-bottom:1px solid #383838;font-size:13px}.impact small{display:block;margin-top:6px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}#fields input:not([type=checkbox]),#fields select{width:100%}@media(max-width:850px){.shell{grid-template-columns:220px minmax(0,1fr)}main{padding:20px}header{gap:12px;padding:0 16px}header small{display:none}}@media(max-width:600px){.shell{display:block;height:auto;min-height:calc(100vh - 108px)}aside{max-height:260px;border-bottom:1px solid #383838}.asideNote{display:none}footer{position:sticky;bottom:0;background:#202020}footer span:last-child{display:none}.tabs{gap:16px}.cardTop{align-items:flex-start;flex-wrap:wrap}}
/* Separate disclosure controls preserve selection when a branch is collapsed. */
.treeRow{display:flex;align-items:center;min-width:0}.treeRow .disclosure{flex:0 0 26px;width:26px;justify-content:center;padding:0;min-height:34px;font-size:19px}.disclosureSpace{flex:0 0 26px}.treeRow .collectionLabel{flex:1;min-width:0;padding:8px 5px}.treeRow .disclosure:disabled{opacity:.6}
.collectionLabel.dropTarget{outline:2px solid #ececec;outline-offset:-2px;background:#505050}.collectionLabel[draggable=true]{cursor:grab}.collectionLabel[draggable=true]:active{cursor:grabbing}

.publicMode aside,.publicMode .tabs,.publicMode .topline>.toolbar,.publicMode #reset,.publicMode header>.avatar{display:none}.publicMode .shell{grid-template-columns:minmax(0,1fr)}a{color:inherit}dialog .actions{position:sticky;bottom:-26px;background:#222;padding:16px 0}

.accessWorkbench{--accent:#d5e8a9;--olive:#3c4929;height:100dvh;overflow:hidden}
.accessWorkbench [hidden]{display:none!important}
.accessWorkbench .shell{grid-template-columns:210px 310px minmax(0,1fr);height:calc(100dvh - 108px)}
.accessWorkbench[data-admin-mode=preview] .shell{grid-template-columns:210px minmax(0,1fr)}
.accessWorkbench .adminRail{background:#1b1b1b;border-right:1px solid #383838;padding:30px 12px;display:flex;flex-direction:column;gap:8px;min-height:0}
.accessWorkbench .adminRail button{padding:14px 18px;border-radius:7px;font-size:16px}
.accessWorkbench .adminRail>a{margin-top:auto;padding:16px;text-decoration:none;border-top:1px solid #383838}
.accessWorkbench aside{padding:30px 14px;min-height:0;overflow:hidden;gap:18px}
.accessWorkbench #userRows,.accessWorkbench #tree{overflow:auto;min-height:0;flex:1;scrollbar-gutter:stable;scrollbar-color:#555 transparent}
.accessWorkbench .userRow{display:flex;gap:12px;align-items:center;width:100%;min-height:72px;margin:0 0 8px;padding:12px;text-align:left;border:0;background:none}
.accessWorkbench .userRow.selected{background:#383838}
.accessWorkbench .userRow>span:last-child{min-width:0}
.accessWorkbench .userRow strong,.accessWorkbench .userRow small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accessWorkbench .userRow small{font-size:12px;margin-top:5px}
.accessWorkbench .avatar{width:40px;height:40px;flex-shrink:0;display:inline-grid;place-items:center;padding:0}
.accessWorkbench main{padding:0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.accessWorkbench .topline{padding:28px;flex-wrap:wrap}
.accessWorkbench #content{overflow:auto;padding:0 28px 28px;min-height:0}
.accessWorkbench #workbench{display:flex;flex-direction:column;flex:1;min-height:0}
.accessWorkbench .accessHeading{padding:28px 28px 18px;flex-shrink:0}
.accessWorkbench h1{margin:0;font-size:28px;font-weight:650}
.accessWorkbench h2{font-size:21px}
.accessWorkbench .accessSubtitle{display:flex;align-items:center;gap:18px;margin:24px 0 20px}
.accessWorkbench .accessSubtitle>span{font-size:13px;color:#aaa}
.accessWorkbench .accessSearch{display:flex;gap:10px;align-items:center}
.accessWorkbench .accessSearch input{flex:1;background:#242424;min-width:100px}
.accessWorkbench .accessSearch>div{display:flex;gap:7px}
.accessWorkbench .filterPill{border-radius:24px;white-space:nowrap}
.accessWorkbench .filterPill.chosen{background:var(--olive);color:var(--accent);border-color:#596641}
.accessWorkbench #accessTree{overflow:auto;min-height:0;flex:1;padding:0 28px;scrollbar-color:#555 transparent;scrollbar-gutter:stable}
.accessWorkbench .accessBranch{padding-top:16px}
.accessWorkbench .accessName{display:flex;gap:12px;align-items:center;padding-left:calc(var(--depth)*18px);font-size:18px}
.accessWorkbench .accessName button{width:24px;padding:0;background:none;border:0;font-size:22px}
.accessWorkbench .permissionRow{display:flex;gap:9px;padding:14px 0 18px calc(var(--depth)*18px + 36px);border-bottom:1px solid #303030}
.accessWorkbench .permission{border-radius:24px;flex:1;min-width:65px;white-space:nowrap;padding:9px 8px;font-size:13px}
.accessWorkbench .permission.yes{background:var(--olive);color:var(--accent);border-color:#596641}
.accessWorkbench .permission.mixed{color:var(--accent);border:1px dashed var(--accent);background:#242720}
.accessWorkbench .permission:hover{filter:brightness(1.15)}
.accessWorkbench .permission{display:flex;align-items:center;justify-content:center;gap:4px}
.accessWorkbench .permission svg{width:14px;height:14px;flex-shrink:0}
.accessWorkbench .adminRail button{display:flex;align-items:center;gap:12px}
.accessWorkbench .adminRail a{display:flex;align-items:center;gap:12px}
.accessWorkbench .accessName>svg{flex-shrink:0}
.accessWorkbench .accessActions{display:flex;justify-content:flex-end;gap:12px;flex-shrink:0;padding:18px 28px;border-top:1px solid #383838}
.accessWorkbench #profileControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.accessWorkbench #profileControls .source{margin:0 8px 0 0}
.accessWorkbench footer{overflow:hidden;flex-shrink:0}
.accessWorkbench footer span:last-child:not(:first-child){display:none}
.accessWorkbench dialog{padding:24px;width:min(740px,94vw);overflow:hidden}
.accessWorkbench #form{display:flex;flex-direction:column;max-height:calc(85dvh - 48px)}
.accessWorkbench #fields{overflow:auto;min-height:0;padding:0 4px;scrollbar-color:#555 transparent}
.accessWorkbench dialog .heading,.accessWorkbench dialog .actions{flex-shrink:0}
.accessWorkbench dialog .actions{position:static;padding-bottom:0}
@media(max-width:1250px){.accessWorkbench .shell{grid-template-columns:170px 270px minmax(0,1fr)}.accessWorkbench .accessSearch{flex-wrap:wrap}.accessWorkbench .accessSearch input{flex-basis:100%}.accessWorkbench .permissionRow{gap:5px}.accessWorkbench .permission{min-width:54px;font-size:12px}.accessWorkbench .accessHeading,.accessWorkbench #accessTree{padding-left:18px;padding-right:18px}}
@media(max-width:850px){.accessWorkbench{overflow:auto}.accessWorkbench .shell{min-width:830px}.accessWorkbench header{min-width:830px}.accessWorkbench aside{max-height:none}.accessWorkbench footer{position:fixed;bottom:0;left:0;right:0;background:#171717}.accessWorkbench .heading{flex-wrap:wrap}}

.accessWorkbench[data-admin-mode=collections] .shell{grid-template-columns:210px minmax(0,1fr)}
.structureLayout{display:grid;grid-template-columns:minmax(360px,1fr) 320px;flex:1;min-height:0}
.structureMain{padding:28px 24px 0;min-height:0;min-width:0;display:flex;flex-direction:column}
.structureHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.structureHeading h1{margin:0;font-size:26px}
.structureSearch,.previewChoice{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.structureSearch input{flex:1;min-width:80px;width:auto}
.structureSearch button[aria-pressed=true]{background:var(--olive);color:var(--accent)}
.previewChoice select{flex:1;min-width:0}
.structureColumns,.structureRow{display:grid;grid-template-columns:minmax(160px,1fr) 70px 100px;gap:12px;align-items:center}
.structureColumns{padding:12px 12px;border-bottom:1px solid #383838;font-size:12px;color:#c4c4bc;flex-shrink:0}
.structureColumns>span:first-child{padding-left:26px}
.previewColumns{grid-template-columns:minmax(160px,1fr) repeat(3,82px)}
#structureRows{overflow:auto;min-height:0;flex:1;scrollbar-gutter:stable;scrollbar-color:#555 transparent;padding-bottom:32px}
.structureRow{min-height:56px;padding:10px 10px;border-bottom:1px solid #303030;border-radius:7px;cursor:pointer;position:relative;transition:padding-top .15s ease,padding-bottom .15s ease,background .12s}
.structureRow:hover{background:#262626}.structureRow.selected{background:#383838}
.structureRow:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
.structureName{display:flex;align-items:center;gap:8px;min-width:0;padding-left:calc(var(--depth)*20px)}
.structureName strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.structureName svg{width:18px;height:18px;flex-shrink:0}
.structureName button{border:0;background:transparent;padding:0;min-width:20px;width:20px;height:28px;color:#bbb;flex-shrink:0}
.structureName .dragHandle{cursor:grab;font-size:19px;touch-action:none}.structureName .dragHandle:disabled{visibility:hidden}
.structureName .disclose{font-size:19px}.structureName .disclose:disabled{opacity:0}
.accessBadge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #494949;background:#2c2c2c;border-radius:24px;font-size:12px;padding:5px 10px;white-space:nowrap;color:#eee}
.accessBadge.granted{background:var(--olive);color:var(--accent);border-color:#52613c}
.accessWorkbench #structureInspector{display:block;border-left:1px solid #383838;padding:28px 22px;overflow:auto;background:#191919}
#structureInspector h2{font-size:23px;margin:0 0 28px;overflow-wrap:anywhere}
#structureInspector .field{margin-bottom:22px}#structureInspector input{width:100%;box-sizing:border-box}
.parentChoice{display:flex;align-items:center;gap:10px;margin-top:8px}.parentChoice span{background:#252525;border:1px solid #444;padding:10px;flex:1;overflow-wrap:anywhere;border-radius:6px}
.visibilityChoice{display:flex;border:1px solid #444;border-radius:24px;overflow:hidden}.visibilityChoice button{flex:1;border:0;border-radius:24px;background:transparent}.visibilityChoice button.selected{background:var(--olive);color:var(--accent)}
#structureInspector section{border-top:1px solid #383838;margin-top:24px;padding-top:20px}#structureInspector h3{font-size:14px;margin:0 0 14px}
.personAccess{display:flex;gap:10px;margin:16px 0;align-items:center}.personAccess strong{font-size:13px}.personAccess small{display:block;font-size:11px;color:#aaa;margin-top:5px}
.rightSource{margin-bottom:20px}.rightSource>div{display:flex;gap:12px;align-items:center;margin-top:8px}.rightSource small{color:#aaa;overflow-wrap:anywhere}
#removeStructure{margin-top:24px;background:transparent;border:0;padding-left:0}
.structureRow.dropBefore{padding-top:50px}.structureRow.dropAfter{padding-bottom:50px}
.structureRow.dropBefore:before,.structureRow.dropAfter:after{content:'';position:absolute;left:8px;right:8px;height:32px;border:1px dashed #8b9c65;border-radius:5px;background:#d5e8a90c;pointer-events:none}
.structureRow.dropBefore:before{top:6px}.structureRow.dropAfter:after{bottom:6px}
.structureRow.dropInside{outline:1px dashed var(--accent);outline-offset:-2px;background:#303924}
.structureRow.dragSource{opacity:.45}.dragging{user-select:none;cursor:grabbing}
@media(max-width:1100px){.structureLayout{grid-template-columns:minmax(320px,1fr) 260px}.structureMain{padding:20px 14px 0}.structureColumns,.structureRow{gap:6px;grid-template-columns:minmax(120px,1fr) 42px 90px}.previewColumns{grid-template-columns:minmax(110px,1fr) repeat(3,64px)}.structureName{padding-left:calc(var(--depth)*12px);gap:4px}.accessBadge{padding:5px 7px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.structureRow{transition:none}}
