:root{--reope-light-green:#8b7d3b;--reope-green:#5a512a;--reope-yellow:#fab120;--reope-orange:#cf8a29;--reope-black:#242426;--bg:#f6f7f9;--surface:#fff;--surface-card:#fff4dd;--border:#d9dee5;--text:#242426;--muted:#6b7684;--accent:var(--reope-orange);--danger:#a32020;--danger-fill:#e4a3a3;--surface-org:#f3f1e2;--radius:6px;--header-height:4rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h4{margin:0 0 .5rem}code{font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:.9em}.muted{color:var(--muted)}header{height:var(--header-height);background:var(--reope-black);border-bottom:1px solid var(--reope-orange);z-index:30;align-items:center;gap:1rem;padding:0 1.25rem;display:flex;position:sticky;top:0}header strong{color:var(--reope-yellow)}.brand{align-items:center;gap:1rem;display:inline-flex}footer{color:var(--reope-light-green);pointer-events:none;z-index:0;justify-content:center;display:flex;position:fixed;bottom:.5rem;left:0;right:0}footer a{pointer-events:auto;color:inherit}main{padding-bottom:120px}header nav{flex:1;gap:.25rem;display:flex}header nav a{border-radius:var(--radius);color:var(--reope-yellow);padding:.35rem .75rem;text-decoration:none}header nav a.on{color:var(--reope-yellow);font-weight:600;text-decoration:underline}header .muted{color:var(--reope-light-green)}header button.secondary{background:var(--reope-yellow);color:var(--reope-black);border-color:var(--reope-orange)}main{max-width:1200px;margin:0 auto;padding:1.25rem}main.wide{max-width:max(1200px,100% - 200px)}main.centred{justify-content:center;padding-top:12vh;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.small-card{border:2px solid var(--surface-card);border-left:10px solid var(--surface-card);border-radius:var(--radius);align-items:center;gap:1rem;margin-bottom:.5rem;padding:.5rem;display:flex}.small-card button{width:100px}main.centred .card{flex-direction:column;gap:.6rem;width:min(24rem,100%);display:flex}section.card{padding:1rem}.row{flex-wrap:wrap;gap:.6rem;display:flex}.grow{flex:1}.row.end{justify-content:flex-end}.flex-container{gap:1rem;display:flex}.flex-child{flex:1}.flex-child-button{flex-shrink:0;width:120px}.content-header{margin-bottom:1rem}.card-item-header{align-items:center;display:flex}.card-item-header h4{color:var(--reope-green);font-size:1.1rem;font-weight:600}.sub-header h4{color:var(--reope-green);margin-bottom:0;font-size:1rem;font-weight:600}.sub-header p{color:var(--reope-black);margin-top:0;margin-bottom:.8rem;font-size:.9rem;font-weight:400}.card.expandable{padding:0}.header{cursor:pointer;border-radius:var(--radius);align-items:center;padding:1rem}.header:hover{background:var(--bg)}.header:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.caret{color:var(--muted);text-align:center;width:1rem}.admin-layout{align-items:flex-start;gap:1rem;display:flex}.admin-sidebar{flex-direction:column;flex:0 0 11rem;gap:.25rem;display:flex;position:sticky;top:1rem}.admin-sidebar a{border-radius:var(--radius);color:var(--text);border:1px solid #0000;padding:.45rem .75rem;text-decoration:none}.admin-sidebar a:hover{background:var(--surface)}.admin-sidebar a.on{background:var(--surface);border-color:var(--border);color:var(--reope-green);font-weight:600}.admin-content{flex:1;min-width:0}.sidebar-title{padding:0 .75rem}.sidebar-title h2{color:var(--reope-green);margin:0 0 .5rem;font-size:1.15rem}@media (width<=720px){.admin-layout{flex-direction:column}.admin-sidebar{flex-flow:wrap;flex-basis:auto;width:100%;position:static}}.edit-panel-scrim{inset:var(--header-height) 0 0 0;z-index:20;background:#00000040;position:fixed}.edit-panel{--panel-width:clamp(min(100vw, 62rem), 46vw, 77rem);top:var(--header-height);z-index:20;width:var(--panel-width);background:var(--bg);border-left:1px solid var(--border);flex-direction:column;display:flex;position:fixed;bottom:0;right:0;box-shadow:-8px 0 24px #00000026}.panel-header{align-items:center;padding:1.25rem 1.25rem 0}.panel-header h3{margin:0}.panel-body{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem 1.25rem 1.25rem;display:flex;overflow-y:auto}.panel-footer{background:var(--reope-black);border-top:1px solid var(--reope-orange);justify-content:flex-end;gap:.6rem;padding:.75rem 1.25rem;display:flex}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:.5rem;padding:.35rem .42rem;display:flex}.tile.added{border-color:var(--reope-yellow);background:var(--surface-card)}.tile.org.added{border-color:var(--reope-light-green);background:var(--surface-org)}.tile.locked{background:var(--bg);border-style:dashed}.tile select{max-width:6.5rem;height:1.85rem;padding:0 .4rem}.tile-body{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:1.25;overflow:hidden}.tile-lock{color:var(--muted);flex-shrink:0;align-items:center;display:inline-flex}.tile>.entity-icon{width:1.2em;height:1.2em;margin-right:0}.tile-sub{color:var(--reope-green);text-overflow:ellipsis;font-size:.7em;display:block;overflow:hidden}.tile button.icon,button.icon.add{width:1.85rem;height:1.85rem}button.icon.add:not(:disabled):hover,button.icon.go:not(:disabled):hover{color:var(--accent);border-color:var(--accent)}.selectable{cursor:pointer}.selectable:hover{border-color:var(--accent)}.mini-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.5rem;display:grid}.mini-tile{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius);white-space:nowrap;text-overflow:ellipsis;padding:.25rem .45rem;font-size:.85rem;overflow:hidden}.mini-tile.alt{background:var(--surface-org);border-color:var(--reope-light-green)}.mini-tile.clickable{cursor:pointer}.mini-tile.clickable:hover{border-color:var(--accent)}.entity-icon{vertical-align:-.125em;opacity:.6;flex-shrink:0;width:1em;height:1em;margin-right:.4em}.name-field{align-items:flex-end}.data-table td input,.data-table td select{width:100%}.data-table td{vertical-align:middle}.data-table tbody tr:not(.add-row) td:first-child{padding-left:calc(1rem + 1px)}th.shrink-item,td.shrink-item{width:5.5rem;min-width:0}th.role-item,td.role-item{width:6.6rem}th.icon-item,td.icon-item{width:2rem;min-width:0;padding-right:0}.data-table.icon-lead tbody tr:not(.add-row) td:first-child{padding-left:.5rem}.data-table.icon-lead tbody tr:not(.add-row) td:nth-child(2){padding-left:calc(1rem + 1px)}.icon-badge{display:inline-block}.icon-badge .entity-icon{width:1.25em;height:1.25em;color:var(--reope-green);opacity:1;margin-right:0}.icon-badge.dim .entity-icon{color:inherit;opacity:.25}.data-table .copy-reveal{opacity:0;transition:opacity .1s}.data-table tr:hover .copy-reveal,.data-table .copy-reveal:focus-within{opacity:1}button.icon.copied{background:var(--accent);border-color:var(--accent);color:#fff}.expand-add{width:2.3rem;height:2.3rem;position:relative}.expand-add>button{white-space:nowrap;z-index:4;align-items:center;height:2.3rem;padding:0;display:inline-flex;position:absolute;top:0;right:0;overflow:hidden}.expand-add .plus{flex-shrink:0;justify-content:center;align-items:center;width:2.3rem;height:100%;display:inline-flex}.expand-add .expand-label{max-width:0;padding-left:0;transition:max-width .15s,padding-left .15s;overflow:hidden}.expand-add>button:not(:disabled):hover .expand-label,.expand-add>button:focus-visible .expand-label{max-width:8rem;padding-left:.7rem}.kebab{display:inline-block;position:relative}.kebab-menu{z-index:25;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:10rem;padding:.25rem;display:flex;position:fixed;box-shadow:0 4px 12px #0000001f}button.menu-item{color:var(--text);text-align:left;border-radius:var(--radius);background:0 0;border:none;padding:.45rem .6rem}button.menu-item:hover{background:var(--bg);color:var(--danger)}.grant-tree{flex-direction:column;gap:.75rem;display:flex}.grant-audience>span{color:var(--reope-green);font-weight:600}.grant-tree ul{margin-left:1.25rem}.grant-check{color:var(--text);cursor:pointer;flex-direction:row;align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:.95rem}dialog{border:1px solid var(--border);border-radius:var(--radius);max-width:min(28rem,92vw);color:var(--text);background:var(--surface);padding:1.25rem}dialog::backdrop{background:#00000059}dialog h3{margin:0 0 .5rem}dialog p{margin:0 0 1rem}.dialog-fields{width:min(24rem,80vw)}dialog form .row.end{margin-top:1rem}.busy-overlay{z-index:50;cursor:progress;background:#fff0;animation:.15s .3s forwards busy-scrim;position:fixed;inset:0}@keyframes busy-scrim{to{background:#ffffff59}}.list{margin:0;padding:0;list-style:none}.list>.card{padding:.7rem}.list .card-item-header h4{margin-bottom:.35rem}.list .mini-grid{margin-top:.35rem}.list>.card>p.muted{margin:.35rem 0 0;font-size:.85rem;line-height:1.5rem}label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}input,select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.4rem .5rem}button,.button{font:inherit;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;border:1px solid #0000;padding:.4rem .8rem;text-decoration:none;display:inline-block}.button{align-items:center;display:inline-flex}.row input,.row select,.row button:not(.link):not(.id),.row .button{height:2.3rem}button.toggle{width:7.5rem}button:disabled{opacity:.5;cursor:default}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.danger{background:var(--surface);color:var(--danger);border-color:var(--border)}button.ultra-danger{background:var(--danger-fill);color:var(--reope-black);border-color:var(--danger)}button.link{color:var(--accent);text-align:center;background:0 0;border:none;padding:.2rem}button.link.left{text-align:left}.divider{color:var(--muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--border);flex:1}.alert{border-radius:var(--radius);border:1px solid var(--border);margin:0 0 .5rem;padding:.5rem .75rem}.alert.error{color:var(--danger);background:#fdecec;border-color:#f0c0c0}.alert.ok{color:var(--accent);background:#eaf6ee;border-color:#bfe0cb}.inactive{color:var(--muted);text-decoration:line-through}button.id{background:var(--bg);border-radius:var(--radius);color:var(--text);cursor:copy;border:none;padding:.2rem .4rem}button.id:hover{background:var(--border)}button.id.copied{background:var(--accent);color:#fff}.derived{color:var(--muted);flex-basis:100%;margin:0;font-size:.85rem}.badge{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.apps{border-top:1px solid var(--border);padding:.75rem 1rem .25rem}.expandable .meta{margin:0;padding:0 1rem .75rem}.expandable table,.expandable .more{margin-bottom:1rem}.expandable table{border-top:1px solid var(--border)}.more{margin-left:1rem}.padded-top{padding-top:1rem}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;min-width:110px;padding:.3rem .5rem}th.level-item,td.level-item{width:50px;min-width:0}th.event-item,td.event-item{min-width:280px}th{color:var(--muted);font-weight:600}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--bg)}.nowrap{white-space:nowrap}.message,.files{overflow-wrap:anywhere;max-width:40ch}.logs .message{width:100%;max-width:none}.level{text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.level.warn{color:#9a6700}.level.error,.level.critical{color:var(--danger)}.level.debug{color:var(--muted)}.detail{background-color:#fff9;grid-template-columns:7rem 1fr;gap:.25rem 1rem;margin:0;padding:10px 10px 10px 1.5rem;display:grid}.detail dt{color:var(--muted)}.detail dd{min-width:0;margin:0}.detail pre{background:var(--bg);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-height:18rem;margin:0;padding:.5rem;font-size:.8rem;overflow:auto}.datetime{gap:.3rem;display:flex}.presets{flex-basis:100%;align-items:center;gap:.5rem;font-size:.85rem;display:flex}select.unset,select option.unset{color:var(--muted);font-style:italic}select option{color:var(--text);font-style:normal}.alert.warn{color:#7a5c00;background:#fdf6e3;border-color:#e8d9a8}button.icon{border:1px solid var(--border);color:var(--muted);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:2.3rem;height:2.3rem;padding:0;line-height:1.2;display:inline-flex}button.icon.wide{justify-content:flex-start;width:100%;padding:0 .6rem}button.icon.wide span{text-align:center;flex:1}button.icon:not(:disabled):hover{color:var(--danger);border-color:var(--danger)}.presets .export{margin-left:auto;font-size:1rem}.submit{flex:1;align-items:flex-end;gap:.4rem;min-width:9rem;display:flex}.submit button[type=submit]{flex:1}.row label>select{max-width:8.5rem}.datetime input[type=date]{width:8rem}.datetime input[type=time]{width:5.5rem}.paging{align-items:center;gap:.75rem;margin:.75rem 0 0;font-size:.85rem;display:flex}.sliding-toggle{--atom:.175rem;--size:calc(var(--atom) * 8.5);--width:calc(var(--atom) * 15);--half:calc(var(--atom) * .5);--inside:calc(var(--size) - 2 * var(--atom));border:1px solid var(--border);border-radius:1rem;align-items:center;height:2.3rem;padding:0 .3rem 0 .7rem;display:flex}.sliding-toggle .toggle-switch{width:var(--width);height:var(--size);display:inline-block;position:relative}.sliding-toggle .toggle-switch input{opacity:0;width:0;height:0}.sliding-toggle .slider{cursor:pointer;border-radius:var(--size);background-color:#ccc;position:absolute;inset:0}.sliding-toggle .slider:before{content:"";height:var(--inside);width:var(--inside);left:var(--atom);bottom:var(--atom);box-shadow:0 var(--half) var(--atom) #0003;background-color:#fff;border-radius:50%;transition:transform .1s cubic-bezier(.4,0,.2,1);position:absolute}.sliding-toggle .toggle-switch input:checked+.slider{background-color:var(--reope-yellow)}.sliding-toggle .toggle-switch input:checked+.slider:before{transform:translateX(var(--inside))}
