:root{--theme-c-light: #fff;--theme-c-dark: #333;--theme-c-accent-primary: #f70;--theme-c-light-text: #fff;--theme-c-dark-text: #000;--theme-padding: .5rem;--theme-radius: .25rem;--theme-input-padding: .25rem;--theme-button-shadow: .1rem .1rem .2rem #00000066}:root{--color-background: var(--theme-c-dark);--color-text: var(--theme-c-light-text);--color-border: var(--theme-c-accent-primary);--padding: var(--theme-padding);--radius: var(--theme-radius);--button-shadow: var(--theme-button-shadow);--button-padding: var(--theme-input-padding);--input-padding: var(--theme-input-padding);--surface-card: #2a2a2a;--surface-raised: #333;--surface-inset: #1a1a1a;--surface-overlay: #000000b3;--border-subtle: #444;--border-dashed: #666;--drop-highlight: #ff770022;--shadow-drawer: #00000066;--color-on-accent: #111;--status-ok: #3bb54a;--status-warning: #f2b01e;--status-offline: #e04646;--status-problem: #f6a;--status-unknown: #888;--status-none: #555;--group-color: #9fd0f5;--on-group-color: #10202e;--status-held: #4a9eed}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{height:100vh;color:var(--color-text);background:var(--color-background);line-height:1.6;font-family:sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{margin:1rem 0;border-radius:var(--theme-radius);border:1px solid #999;box-shadow:var(--button-shadow);padding:var(--input-padding)}input{margin:.25rem 0;border-radius:var(--theme-radius);border:1pxl solid #999;padding:var(--input-padding)}:root{--n-tab-text-color-active: #fff;--fa-primary-color: rgb(253, 162, 52);--fa-secondary-color: rgb(255, 255, 255)}#app{width:100%;height:100%}#loginScreen{display:flex;align-items:center;justify-content:center;height:100%}#loginForm{width:50vh;aspect-ratio:1}NAV{background-color:#222}NAV UL{list-style:none;padding:0 0 .5rem .5rem}NAV A{text-decoration:none;color:#fff;display:flex;align-items:center;background-color:#333;padding:.5rem;margin:0 .5rem .5rem 0}NAV A.router-link-active{margin-right:0}.nav-icon{margin:0 .5rem 0 0}.nav-label{opacity:1;display:block}.n-layout{background-color:transparent;overflow:visible}.n-layout-sider{background-color:transparent}.n-layout-sider--collapsed .nav-label{content-visibility:hidden;transition:all .25s}.nav-divider{font-size:.8rem}.change-password form{display:flex;flex-direction:column;gap:.75rem}.change-password label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.change-password .problem{color:var(--danger, #e88);font-size:.85rem;margin:0}.media-icon-fallback{display:inline-block;width:1.25em;text-align:center;font-weight:700;color:var(--theme-c-accent-primary)}.presence-avatars{display:flex;align-items:center}.presence-avatars .n-avatar{margin-left:-.4rem;border:2px solid var(--surface-raised)}.presence-avatars .n-avatar:first-child{margin-left:0}.presence-avatars .n-avatar.editing{border-color:var(--status-held)}HEADER{background-color:#222;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem .5rem .5rem}HEADER H1{font-size:1rem}HEADER .header-actions{display:flex;align-items:center;gap:.5rem}#userProfile{display:flex;align-items:center}.profile-icon{border:1px solid #f00;border-radius:50%;width:2rem;height:2rem;margin-right:1rem}.connectionStatus{--fa-primary-color: rgb(255, 255, 255);--fa-secondary-color: rgb(12, 247, 0);display:flex;align-items:center;font-size:1rem;font-weight:100;margin:0}.connectionStatus .disconnected{--fa-primary-color: rgb(255, 0, 0);--fa-secondary-color: rgb(255, 255, 255)}.connectionStatus .latency{font-size:.7rem;margin-right:.5rem;color:#fff9}FOOTER{background-color:#222;color:#777;display:flex;align-items:center;padding:var(--theme-padding);justify-content:space-between;padding:1rem}.library-card{--tile-height: 6rem;flex:none;width:max(6.5rem,calc(var(--tile-height) * var(--ratio, 1.6)));max-width:100%;cursor:grab;border:2px solid transparent;border-radius:var(--radius);background:var(--surface-raised);overflow:hidden}.library-card.picking{cursor:pointer}.library-card.picking:hover{border-color:var(--theme-c-accent-primary)}.library-card .thumb{position:relative;height:var(--tile-height);display:grid;place-items:center;background:var(--surface-inset);font-size:1.5rem;overflow:hidden}.library-card .thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.library-card .module-name{font-size:1rem}.library-card .badge{position:absolute;top:.25rem;padding:.05rem .3rem;border-radius:.6rem;background:var(--surface-overlay);font-size:.7rem}.library-card .badge.video{left:.25rem}.library-card .badge.scope{right:.25rem}.library-card .caption{display:flex;flex-direction:column;padding:.25rem .4rem;font-size:.8rem}.library-card .caption .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-card .caption .detail{font-size:.7rem;opacity:.6}.tag-column{flex:none;width:9rem;display:flex;flex-direction:column;gap:.4rem;overflow-y:auto}.tag-column header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;opacity:.8}.tag-column ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.tag-column .hint{font-size:.75rem;opacity:.6}.tag-column button{width:100%;display:flex;justify-content:space-between;gap:.4rem;padding:.2rem .4rem;border:1px solid transparent;border-radius:var(--radius);background:none;color:inherit;font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.tag-column button:hover{background:var(--surface-raised)}.tag-column button.selected{background:var(--theme-c-accent-primary);color:var(--color-on-accent)}.tag-column button .tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-column button .count{opacity:.6}.library-drawer{transition:right .3s ease,width .3s ease;box-shadow:-.25rem 0 .75rem var(--shadow-drawer)}.library-drawer .drawer-head{display:flex;align-items:center;gap:.5rem;padding-right:2rem}.library-drawer .n-drawer-body-content-wrapper{display:flex;flex-direction:column;gap:.6rem}.library-drawer .pick-note{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-radius:var(--radius);background:var(--theme-c-accent-primary);color:var(--color-on-accent)}.library-drawer .controls{display:flex;gap:.5rem}.library-drawer .tabs{display:flex;align-items:center;gap:.25rem;border-bottom:1px solid var(--border-subtle)}.library-drawer .tabs button{padding:.35rem .75rem;border:0;border-bottom:2px solid transparent;background:none;color:inherit;font:inherit;cursor:pointer;opacity:.7}.library-drawer .tabs button.on{opacity:1;border-bottom-color:var(--theme-c-accent-primary)}.library-drawer .tabs button .count{font-size:.75rem;opacity:.6}.library-drawer .tabs .n-radio-group{margin-left:auto}.library-drawer .body{flex:1;min-height:0;display:flex;gap:.75rem}.library-drawer .results{flex:1;min-width:0;overflow-y:auto}.library-drawer .grid{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.library-drawer .empty{text-align:center;padding:2rem 0;opacity:.6;display:flex;flex-direction:column;align-items:center;gap:.5rem}:root{--header-height: 3.5rem}#CMSLayout{height:100vh;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"header header" "nav main" "footer footer"}HEADER{grid-area:header;height:var(--header-height)}NAV{grid-area:nav}MAIN{grid-area:main;padding:var(--theme-padding) 1rem;overflow:auto}FOOTER{grid-area:footer}.event-settings dl{display:grid;grid-template-columns:8rem 1fr;gap:.5rem 1rem}.event-settings dt{color:#999}.event-settings dd{margin:0}.event-settings .slug{display:flex;flex-direction:column;gap:.25rem;max-width:30rem}.event-settings .slug small{opacity:.7}.event-settings .slug-edit{display:flex;gap:.5rem}.presence-chip{display:inline-block;padding:0 .5rem;border-radius:1rem;font-size:.75rem;line-height:1.4rem;white-space:nowrap;background:var(--status-held);color:var(--color-on-accent)}.table{height:70vh}.content-table{height:calc(60vh - 8rem)}.content-table-group td{background:var(--surface-raised)!important}.content-table-group-title{position:relative;z-index:1;white-space:nowrap;font-weight:700;font-size:.95rem}.content-table-group .n-checkbox{visibility:hidden}.drawer-presence{margin-bottom:.5rem}.edit-icon,.delete-icon{margin-right:1rem;cursor:pointer}.event-admin-form form{display:flex;flex-direction:column;gap:.75rem}.event-admin-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.event-admin-form .dates{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.event-admin-form .problem{color:var(--danger, #e88);font-size:.85rem;margin:0}.event-admin-form .modules{border:1px solid var(--border, #444);padding:.5rem .75rem}.event-admin-form .modules .module-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.event-admin-form .form-actions{margin-top:1.5rem}.admin-events h1{margin:0 0 .5rem}.client-admin-form form{display:flex;flex-direction:column;gap:.75rem}.client-admin-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.client-admin-form .form-actions{margin-top:1.5rem}.admin-clients h1{margin:0 0 .5rem}.admin-clients .note{font-size:.85rem;opacity:.7;margin:0 0 .5rem}.user-grants{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}.user-grants h2{font-size:1.1rem;margin:0}.user-grants .note{font-size:.85rem;opacity:.7;margin:0}.user-grants .presets{display:flex;gap:.5rem;flex-wrap:wrap}.user-grants .grant-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.user-admin-form form{display:flex;flex-direction:column;gap:.75rem}.user-admin-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.user-admin-form .flags{display:flex;gap:1.5rem}.user-admin-form .note{font-size:.85rem;opacity:.7;margin:.25rem 0}.user-admin-form .form-actions,.user-admin-form .password-reset{margin-top:1.5rem}.user-admin-form .password-reset h2{font-size:1.1rem;margin:0 0 .5rem}.admin-users h1{margin:0 0 .5rem}.org-admin-form form{display:flex;flex-direction:column;gap:.75rem}.org-admin-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.org-admin-form .note{font-size:.85rem;opacity:.7;margin:0}.org-admin-form .form-actions{margin-top:1.5rem}.admin-organizations h1{margin:0 0 .5rem}
