@import "https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Source+Sans+Pro:wght@400;600&display=swap";.breadcrumb{background:var(--relic-parchment-light);border-bottom:1px solid var(--relic-border);padding:.75rem 1.5rem}.breadcrumb ol{align-items:center;gap:.5rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:.5rem;display:flex}.breadcrumb a{color:var(--relic-text-muted);text-decoration:none;transition:color .15s}.breadcrumb a:hover{color:var(--relic-accent)}.breadcrumb-separator{color:var(--relic-border);font-size:.7rem}.breadcrumb-current{color:var(--relic-text);font-weight:500}.app{min-height:100vh;display:flex}.app-sidebar{width:var(--relic-sidebar-width);background:var(--relic-nav-bg);z-index:100;flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0}.app-sidebar.collapsed{width:var(--relic-sidebar-collapsed)}.sidebar-brand{text-align:center;border-bottom:1px solid #d4c4a826;padding:1.25rem 1rem}.sidebar-logo{font-family:var(--relic-font-heading);color:var(--relic-accent);letter-spacing:.15em;margin:0;font-size:1.5rem;font-weight:700}.sidebar-logo .logo-icon{display:none}.sidebar-tagline{color:var(--relic-nav-text);opacity:.7;letter-spacing:.05em;margin-top:.25rem;font-size:.65rem}.app-sidebar.collapsed .sidebar-tagline,.app-sidebar.collapsed .sidebar-logo .logo-text{display:none}.app-sidebar.collapsed .sidebar-logo .logo-icon{font-size:1.25rem;display:inline}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-links{flex-direction:column;gap:.25rem;display:flex}.nav-links a{color:var(--relic-nav-text);border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 2rem .75rem 1rem;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-links a:hover{color:var(--relic-nav-hover);background:linear-gradient(90deg,#c9a2271a 0% 70%,#0000 100%)}.nav-links a.active{color:var(--relic-accent);border-left-color:var(--relic-accent);background:linear-gradient(90deg,#c9a22726 0% 70%,#0000 100%)}.nav-links a svg{flex-shrink:0;width:1.1rem}.app-sidebar.collapsed .nav-link-text{display:none}.app-sidebar.collapsed .nav-links a{justify-content:center;padding:.75rem}.app-sidebar:after{content:"";pointer-events:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAASICAMAAABIuk0RAAAAAXNSR0IB2cksfwAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF////LR8U////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Rmt2pwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH6gUaEjoTMvpCdgAAA55JREFUeNrtncFuBCEMQ+3//+leqrZqt9q0a7AJ2ePqaQYSEiCBDPjzhwe/szA4sGi5UdhTKDGUMEix4kuTu4BkuWnFW8U4mN+c1d7S0TbEusFsA0TytBssEI8WiksCNUYLxiJG6dMMmFRZ+y1L6d+A/RhuweDAlF0AsB+jA6u1DdE9JS4Zlh3sFOdjvAc7fiDB4AbF3jK4C0oMUGJMxtQDqYV/427n0EL1ydgszI7aQMVOu9mDHKlyu2gGHN97UsyhgX/rILcGASJvtkKb1FBG3WmRm7RtUGKA4aXZA6n8UgZbFu/BGIyNstaZjNK/id2gejJirhu0yK3HqQmDTjnYpQva5OVxi/HmsPpkWzBsK0yblAcoa9xrT7Ose8U9/ca9jFH5NKlAkjEGY7ds7hg7fThWDsGLH0f8DckTZQNMPZBmZ7Q2bnmPQA73ljXHBSnmCvrt3/LAIt4OFyQd0ePzMelAwn6smDpXYobjEMUjB1qsw4mOFkdc5jLdQqxoCyUMJcuCA6PjaeFnGsPNmcdjjnkheEkQ60N8ZxrPx6Ryk2Iep+oZSPdgDS69zpp8MSae6z3RvODFD4Nfuibo9zRp+/5vpW2FxOjjd/7yNGkaopi0lQUkLQZYHiGOaplToOwgrEE5R54/LD05ca0PaXGByNIF8XHW88V7zZlthznP1ObHpMu882PRyYXHpT29IwoqDUgq81nPoul/wxhefCO39iak2BTwmRj+ZoFwsKUxfHWcPLgcd3J+wdG28Ug45sDMTSm5XFvwiNfStuCpbeq/tZObY4WfvPGEAavtAeHAphjpPwdSsk57HKTEYJhar3kb9iviljMZRbTNgTlUj2CMg600Z2CwrxgcTzsfQwmDFKMWs6gewZhYIKZ5YX/232ILHjcIrbKCbUE7LCsvRU31gGO8Dbbu51F9sW0WLHyi9Ey7ydgfzr+lH/wwBK/uOlejxdTV5NijKPp8EeafWAOB3KNTBD8tu2B7cttysWRPrlaWBat/IIBSTPzSL6ACgxTTtu2T02AfVSVEGLUYpZiyp5BidYHQIDfmKqssEIYOpO1OVTov7F8jWb4vI1wSWDbF2r1z7WmyYEJsrCYXK8YGHZg0q5ibP43O7U7eeTEmtIXkNGsPLcyFjoieMnYgdTAZDnbIAkPp8OHA5Pn6aAP0TLv3nOqX3/ba/1WCJwdxrJ7cpKzg673ZxYXUl/otZUbSy3FfVIDxng8Qv4C9AayWQQjfjgvWAAAAAElFTkSuQmCC);background-position:100%;background-repeat:repeat-y;background-size:19px 580px;width:100%;height:100%;position:absolute;top:0;left:19px}.sidebar-toggle{border-top:1px solid #d4c4a826;justify-content:flex-end;padding:.75rem;display:flex}.sidebar-toggle button{color:var(--relic-nav-text);cursor:pointer;opacity:.7;background:0 0;border:none;padding:.5rem;transition:opacity .15s}.sidebar-toggle button:hover{opacity:1}.app-main{margin-left:var(--relic-sidebar-width);background-color:var(--relic-parchment);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .2s;display:flex;position:relative}.app-main.sidebar-collapsed{margin-left:var(--relic-sidebar-collapsed)}.app-main:before{content:"";top:0;left:var(--relic-sidebar-width);opacity:.15;pointer-events:none;z-index:0;background-image:url(/static/image/map-background.094561cd6c.jpg);background-position:50%;background-size:cover;transition:left .2s;position:fixed;bottom:0;right:0}.app-main.sidebar-collapsed:before{left:var(--relic-sidebar-collapsed)}.app-main>*{z-index:1;position:relative}.app-content{flex-direction:column;flex:1;min-height:0;display:flex}.app-content>*{width:min(95%,1400px);margin-inline:auto}.app-sidebar.collapsed+.app-main{margin-left:var(--relic-sidebar-collapsed)}.selectable-table{border-collapse:collapse;background:var(--relic-parchment-light);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #3d29141a}.selectable-table th{text-align:left;background:var(--relic-parchment-dark);color:var(--relic-text);border-bottom:1px solid var(--relic-border);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.selectable-table td{border-bottom:1px solid var(--relic-parchment-dark);padding:.75rem 1rem}.selectable-table tbody tr{transition:background .1s}.selectable-table tbody tr:hover{background:var(--relic-parchment-dark)}.selectable-table-row-selected{background:#c9a2271a}.selectable-table-row-selected:hover{background:#c9a22726}.selectable-table-checkbox-cell{text-align:center;cursor:pointer;width:40px;padding:.75rem .5rem}.selectable-table-checkbox-cell input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--relic-accent)}.selectable-table-row-clickable{cursor:pointer}.distribute-modal-overlay{z-index:1000;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.distribute-modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:95vw;max-width:1100px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.distribute-modal .modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.distribute-modal .modal-header h2{font-size:18px;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.distribute-modal .close-btn{cursor:pointer;color:var(--relic-text-muted);background:0 0;border:none;padding:0;font-size:24px;line-height:1}.wizard-steps{border-bottom:1px solid var(--relic-border);background:var(--relic-parchment);margin:0;padding:0;display:flex}.wizard-step{color:var(--relic-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 16px;font-size:14px;transition:all .2s}.wizard-step:hover:not(.disabled){color:var(--relic-text);background:var(--relic-parchment-light)}.wizard-step.active{color:var(--relic-accent);border-bottom-color:var(--relic-accent);font-weight:500}.wizard-step.disabled{opacity:.5;cursor:not-allowed}.modal-body{flex:1;min-height:400px;padding:20px;overflow-y:auto}.review-step{flex-direction:column;gap:20px;display:flex}.item-section h3{color:var(--relic-text);font-size:16px;font-family:var(--relic-font-heading);margin:0 0 12px}.item-list{margin:0;padding:0;list-style:none}.item-list>li{background:var(--relic-parchment);border:1px solid var(--relic-border);border-radius:4px;margin-bottom:8px;padding:10px 12px}.nested-list{color:var(--relic-text-muted);margin:8px 0 0 20px;padding:0;font-size:13px;list-style:outside}.targets-step{height:100%}.targets-layout{grid-template-columns:1fr 1fr;gap:20px;height:100%;display:grid}.search-panel,.targeted-panel{flex-direction:column;min-height:0;display:flex}.search-panel h3,.targeted-panel h3{color:var(--relic-text);margin:0 0 12px;font-size:16px}.search-box{gap:8px;margin-bottom:16px;display:flex}.search-box input{border:1px solid var(--relic-border);border-radius:4px;flex:1;padding:8px 12px;font-size:14px}.search-box button{background:var(--relic-accent);color:var(--relic-nav-bg);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.search-box button:disabled{opacity:.6;cursor:not-allowed}.search-results,.targeted-list{border:1px solid var(--relic-border);border-radius:4px;flex:1;max-height:250px;overflow-y:auto}.search-results table,.targeted-list table{border-collapse:collapse;width:100%;font-size:13px}.search-results th,.targeted-list th{text-align:left;background:var(--relic-parchment);border-bottom:1px solid var(--relic-border);color:var(--relic-text);padding:8px 10px;font-weight:500;position:sticky;top:0}.search-results td,.targeted-list td{border-bottom:1px solid var(--relic-border);color:var(--relic-text);padding:8px 10px}.search-results tr:last-child td,.targeted-list tr:last-child td{border-bottom:none}.add-btn,.remove-btn{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:12px}.add-btn{background:var(--relic-success);color:#fff}.remove-btn{background:var(--relic-error);color:#fff}.no-targets{color:var(--relic-text-muted);text-align:center;padding:20px;font-style:italic}.cms-section{border:1px solid var(--relic-border);border-radius:4px;margin-top:16px}.cms-section summary{cursor:pointer;color:var(--relic-text);background:var(--relic-parchment);padding:10px 12px;font-weight:500}.cms-options{padding:12px}.cms-filters{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.cms-filters label{color:var(--relic-text);align-items:center;gap:4px;font-size:13px;display:flex}.state-grid{background:var(--relic-parchment);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:4px 12px;max-height:200px;margin-bottom:12px;padding:8px;display:grid;overflow-y:auto}.state-grid label{color:var(--relic-text);align-items:center;gap:4px;font-size:12px;display:flex}.state-grid .select-all{border-bottom:1px solid var(--relic-border);grid-column:1/-1;margin-bottom:4px;padding-bottom:4px;font-weight:500}.cms-select-btn{background:var(--relic-accent);color:var(--relic-nav-bg);cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.cms-select-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-step{flex-direction:column;gap:20px;display:flex}.confirm-section{background:var(--relic-parchment);border:1px solid var(--relic-border);border-radius:4px;padding:16px}.confirm-section h3{color:var(--relic-text);margin:0 0 12px;font-size:16px}.confirm-section h4{color:var(--relic-text-muted);margin:12px 0 8px;font-size:14px}.confirm-section ul{color:var(--relic-text);margin:0;padding-left:20px;font-size:14px}.confirm-targets{flex-wrap:wrap;gap:8px;display:flex}.target-chip,.more-chip{background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text);border-radius:16px;padding:4px 10px;font-size:12px}.more-chip{background:var(--relic-accent);color:var(--relic-nav-bg);border-color:var(--relic-accent)}.success-message{text-align:center;padding:40px 20px}.success-message h3{color:var(--relic-success);margin:0 0 16px;font-size:20px}.success-message p{color:var(--relic-text);margin:8px 0}.distribute-modal .modal-footer{border-top:1px solid var(--relic-border);background:var(--relic-parchment);justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;display:flex}.distribute-modal .modal-footer button{cursor:pointer;border-radius:4px;padding:10px 20px;font-size:14px}.back-btn{background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text)}.next-btn{background:var(--relic-accent);color:var(--relic-nav-bg);border:none}.next-btn:disabled{opacity:.6;cursor:not-allowed}.distribute-btn{background:var(--relic-success);color:#fff;border:none}.distribute-btn:disabled{opacity:.6;cursor:not-allowed}.close-btn-footer{background:var(--relic-accent);color:var(--relic-nav-bg);border:none}.modal-error{color:var(--relic-error);border-top:1px solid var(--relic-error);background:#8a3f3f1a;padding:12px 20px}.courses-page{max-width:1200px;margin:0 auto;padding:1.5rem}.courses-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.courses-header h1{margin:0;font-size:1.5rem}.courses-filters{align-items:center;gap:1rem;display:flex}.courses-category-select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);min-width:180px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.courses-category-select:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.courses-search{gap:.5rem;display:flex}.courses-search input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:250px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.courses-search input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.courses-search button{background:var(--relic-nav-bg);color:var(--relic-parchment);cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.courses-search button:hover{background:var(--relic-text)}.courses-error{color:var(--relic-error);background:#f5e6e6;border:1px solid #d4b8b8;border-radius:4px;margin-bottom:1rem;padding:1rem}.courses-loading{text-align:center;color:var(--relic-text-muted);padding:3rem}.courses-table{border-collapse:collapse;background:var(--relic-parchment-light);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #3d29141a}.courses-table th{text-align:left;background:var(--relic-parchment-dark);color:var(--relic-text);border-bottom:1px solid var(--relic-border);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.courses-table td{border-bottom:1px solid var(--relic-parchment-dark);padding:.75rem 1rem}.courses-row{cursor:pointer;transition:background .1s}.courses-row:hover{background:var(--relic-parchment-dark)}.course-id{color:var(--relic-text-muted);font-family:monospace;font-size:.8rem}.courses-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.courses-pagination button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.courses-pagination button:hover:not(:disabled){background:var(--relic-parchment-dark)}.courses-pagination button:disabled{opacity:.5;cursor:not-allowed}.courses-pagination span{color:var(--relic-text-muted);font-size:.9rem}.lesson-info-modal-overlay{z-index:1000;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lesson-info-modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:90vw;max-width:800px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.lesson-info-modal .modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.lesson-info-modal .modal-header h2{font-size:18px;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.lesson-info-modal-body{flex:1;padding:20px;overflow-y:auto}.modal-loading,.modal-error{text-align:center;color:var(--relic-text);padding:40px}.modal-error{color:var(--relic-error)}.lesson-not-created{border:1px solid var(--relic-accent);color:var(--relic-nav-bg);background:#c9a22726;border-radius:4px;padding:16px;font-size:14px}.lesson-section{margin-bottom:24px}.lesson-section h3{color:var(--relic-text);border-bottom:1px solid var(--relic-border);font-size:16px;font-family:var(--relic-font-heading);margin:0 0 12px;padding-bottom:8px}.lesson-name-display{background:var(--relic-parchment);color:var(--relic-text);border-radius:4px;margin:0;padding:12px;font-size:14px}.objectives-list{margin:0;padding:0 0 0 20px;list-style:outside}.objectives-list li{color:var(--relic-text);margin:8px 0;font-size:14px;line-height:1.5}.objective-code{background:var(--relic-parchment-dark);color:var(--relic-text);border-radius:3px;margin-right:8px;padding:2px 6px;font-family:monospace;font-size:12px}.modal-footer{border-top:1px solid var(--relic-border);background:var(--relic-parchment);justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-footer button{cursor:pointer;border-radius:4px;padding:10px 20px;font-size:14px}.save-btn{background:var(--relic-nav-bg);color:var(--relic-parchment);border:none}.save-btn:hover:not(:disabled){background:var(--relic-text)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-btn{background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text)}.glossary-editor{border:1px solid var(--relic-border);border-radius:4px;overflow:hidden}.glossary-header{background:var(--relic-parchment);border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.glossary-header h3{border:none;margin:0;padding:0;font-size:14px}.add-word-btn{background:var(--relic-success);color:var(--relic-parchment);cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:13px}.add-word-btn:hover:not(:disabled){background:#4a6732}.add-word-btn:disabled{opacity:.5;cursor:not-allowed}.glossary-empty{text-align:center;color:var(--relic-text-muted);margin:0;padding:20px;font-style:italic}.glossary-list{margin:0;padding:0;list-style:none}.glossary-item{border-bottom:1px solid var(--relic-border)}.glossary-item:last-child{border-bottom:none}.glossary-item-header{background:var(--relic-parchment-light);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.glossary-item-header:hover{background:var(--relic-parchment)}.glossary-word-info{align-items:center;gap:8px;display:flex}.play-audio-btn{background:var(--relic-nav-bg);width:24px;height:24px;color:var(--relic-parchment);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;display:flex}.play-audio-btn:hover{background:var(--relic-text)}.glossary-word-text{color:var(--relic-text);font-weight:500}.glossary-expand-icon{color:var(--relic-text-muted);font-size:10px}.glossary-item-fields{background:var(--relic-parchment);border-top:1px solid var(--relic-border);padding:16px}.glossary-item-fields label{color:var(--relic-text-muted);margin-bottom:12px;font-size:13px;font-weight:500;display:block}.glossary-item-fields input,.glossary-item-fields textarea{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:100%;color:var(--relic-text);border-radius:4px;margin-top:4px;padding:8px 10px;font-family:inherit;font-size:14px;display:block}.glossary-item-fields input:focus,.glossary-item-fields textarea:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.glossary-item-fields input:disabled,.glossary-item-fields textarea:disabled{background:var(--relic-parchment-dark);cursor:not-allowed}.glossary-item-fields textarea{resize:vertical;min-height:60px}.remove-word-btn{background:var(--relic-error);color:var(--relic-parchment);cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:8px 16px;font-size:13px}.remove-word-btn:hover:not(:disabled){background:#6b2929}.remove-word-btn:disabled{opacity:.5;cursor:not-allowed}.audio-field-row{gap:8px;margin-top:4px;display:flex}.audio-field-row input{flex:1;margin-top:0}.upload-audio-btn{background:var(--relic-text-muted);color:var(--relic-parchment);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:8px 12px;font-size:13px}.upload-audio-btn:hover:not(:disabled){background:var(--relic-text)}.upload-audio-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-publish-modal-overlay{z-index:1000;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bulk-publish-modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:90vw;max-width:700px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.bulk-publish-modal .modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bulk-publish-modal .modal-header h2{font-size:18px;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.bulk-publish-body{flex:1;padding:20px;overflow-y:auto}.no-items{text-align:center;color:var(--relic-text-muted);margin:0;padding:20px;font-style:italic}.bulk-publish-summary{background:var(--relic-parchment);color:var(--relic-text);border-radius:4px;margin-bottom:16px;padding:12px 16px;font-size:14px}.bulk-publish-list{border:1px solid var(--relic-border);border-radius:8px;max-height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.bulk-publish-item{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.bulk-publish-item:last-child{border-bottom:none}.bulk-publish-item.no-draft{opacity:.5}.bulk-publish-item-info{flex:1;min-width:0}.bulk-publish-item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--relic-text);font-size:14px;font-weight:500;display:block;overflow:hidden}.bulk-publish-item-path{color:var(--relic-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.bulk-publish-item-status{flex-shrink:0}.bulk-publish-item .status-badge{border-radius:4px;padding:3px 8px;font-size:11px;font-weight:500}.bulk-publish-item .status-badge.pending{color:var(--relic-nav-bg);background:#c9a22733}.bulk-publish-item .status-badge.checking,.bulk-publish-item .status-badge.no-draft{background:var(--relic-parchment-dark);color:var(--relic-text-muted)}.bulk-publish-item .status-badge.publishing{color:var(--relic-nav-bg);background:#c9a22726}.bulk-publish-item .status-badge.success{color:var(--relic-success);background:#5d7a3a33}.bulk-publish-item .status-badge.error{color:var(--relic-error);background:#8a3f3f33}.bulk-publish-modal .modal-footer{border-top:1px solid var(--relic-border);background:var(--relic-parchment);justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px;display:flex}.bulk-publish-modal .modal-footer button{cursor:pointer;border-radius:4px;padding:10px 20px;font-size:14px}.bulk-publish-modal .publish-all-btn{background:var(--relic-success);color:var(--relic-parchment);border:none}.bulk-publish-modal .publish-all-btn:hover{background:#4a6732}.bulk-publish-modal .cancel-btn{background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text)}.bulk-publish-modal .cancel-btn:hover{background:var(--relic-parchment-dark)}.bulk-publish-modal .publish-videos-btn{background:var(--relic-accent);color:var(--relic-nav-bg);border:none}.bulk-publish-modal .publish-videos-btn:hover{background:#b08f30}.bulk-publish-item-status{flex-shrink:0;gap:6px;display:flex}.video-upload-modal-overlay{z-index:1000;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.video-upload-modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:90vw;max-width:600px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.video-upload-modal .modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.video-upload-modal .modal-header h2{font-size:18px;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.video-upload-body{flex:1;padding:20px;overflow-y:auto}.drop-zone{border:2px dashed var(--relic-border);text-align:center;cursor:pointer;background:var(--relic-parchment);border-radius:8px;padding:40px 20px;transition:all .2s}.drop-zone:hover{border-color:var(--relic-accent);background:#c9a2271a}.drop-zone.dragging{border-color:var(--relic-accent);background:#c9a22726;border-style:solid}.drop-zone-content{pointer-events:none}.drop-icon{margin-bottom:12px;font-size:48px;display:block}.drop-primary{color:var(--relic-text);margin:0 0 4px;font-size:16px;font-weight:500}.drop-secondary{color:var(--relic-text-muted);margin:0;font-size:14px}.upload-list{border:1px solid var(--relic-border);border-radius:8px;margin-top:20px;overflow:hidden}.upload-list-header{background:var(--relic-parchment);border-bottom:1px solid var(--relic-border);color:var(--relic-text);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.upload-stats{gap:12px;font-size:12px;font-weight:400;display:flex}.stat-success{color:var(--relic-success)}.stat-error{color:var(--relic-error)}.stat-pending{color:var(--relic-text-muted)}.upload-items{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.upload-item{border-bottom:1px solid var(--relic-border);flex-direction:column;padding:12px 16px;display:flex}.upload-item:last-child{border-bottom:none}.upload-item-info{justify-content:space-between;align-items:center;gap:12px;display:flex}.upload-item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--relic-text);flex:1;font-size:14px;overflow:hidden}.upload-item-size{color:var(--relic-text-muted);flex-shrink:0;font-size:12px}.upload-item-status{align-items:center;gap:8px;margin-top:8px;display:flex}.status-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.status-badge.pending{background:var(--relic-parchment-dark);color:var(--relic-text-muted)}.status-badge.uploading{color:var(--relic-nav-bg);background:#c9a22726}.status-badge.success{color:var(--relic-success);background:#5d7a3a33}.status-badge.error{color:var(--relic-error);background:#8a3f3f33}.remove-item-btn{background:var(--relic-parchment-dark);cursor:pointer;width:20px;height:20px;color:var(--relic-text-muted);border:none;border-radius:50%;padding:0;font-size:14px;line-height:1}.remove-item-btn:hover{background:var(--relic-border);color:var(--relic-text)}.upload-progress{background:var(--relic-parchment-dark);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.upload-progress-bar{background:var(--relic-accent);border-radius:2px;height:100%;transition:width .3s}.upload-note{border:1px solid var(--relic-accent);color:var(--relic-nav-bg);background:#c9a22726;border-radius:4px;margin:16px 0 0;padding:12px;font-size:13px}.video-upload-modal .modal-footer{border-top:1px solid var(--relic-border);background:var(--relic-parchment);justify-content:flex-end;align-items:center;padding:16px 20px;display:flex}.video-upload-modal .cancel-btn{cursor:pointer;background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text);border-radius:4px;padding:10px 20px;font-size:14px}.video-upload-modal .cancel-btn:hover{background:var(--relic-parchment-dark)}.course-preview{font-family:var(--relic-font-body);padding:1.5rem}.course-preview-loading,.course-preview-error{text-align:center;color:var(--relic-text-muted);padding:3rem;font-size:1rem}.course-preview-error{color:var(--relic-error)}.course-preview-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.course-preview-header h1{font-size:1.5rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.read-only-badge{background:var(--relic-warning);color:var(--relic-text);border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.upload-videos-btn{background:var(--relic-nav-bg);color:var(--relic-parchment);cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:.5rem 1rem;font-size:.875rem;transition:background .15s}.upload-videos-btn:hover{background:var(--relic-text)}.course-preview-header .publish-all-btn{background:var(--relic-success);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:background .15s}.course-preview-header .publish-all-btn:hover{background:#4a6830}.course-documents{background:var(--relic-parchment-light);border:1px solid var(--relic-border);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.course-documents h2{font-size:1rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0 0 .75rem}.course-documents ul{margin:0;padding:0;list-style:none}.course-documents li{margin:.25rem 0}.course-documents a{color:var(--relic-accent);text-decoration:none;transition:color .15s}.course-documents a:hover{color:var(--relic-accent-hover);text-decoration:underline}.course-tree{border-left:2px solid var(--relic-border)}.course-tree-item{margin:.25rem 0}.course-tree-item-row{background:var(--relic-parchment-light);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:background .15s;display:flex}.course-tree-item-row:hover{background:var(--relic-parchment-dark)}.item-name{color:var(--relic-text);flex:1;font-size:.875rem}.item-name.header{font-size:1rem;font-weight:600;font-family:var(--relic-font-heading)}.item-name.clickable{font:inherit;color:var(--relic-accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:none;transition:color .15s}.item-name.clickable:hover{color:var(--relic-accent-hover);text-decoration:underline}.item-type{color:var(--relic-text-muted);background:var(--relic-parchment-dark);text-transform:uppercase;letter-spacing:.025em;border-radius:3px;padding:.15rem .4rem;font-family:monospace;font-size:.65rem}.publish-section-btn{background:var(--relic-success);color:#fff;cursor:pointer;border:none;border-radius:3px;margin-left:.5rem;padding:.2rem .5rem;font-size:.65rem;transition:background .15s}.publish-section-btn:hover{background:#4a6830}.item-additional-info{color:var(--relic-text-muted);padding:.25rem .75rem;font-size:.75rem;font-style:italic}.modal-overlay{z-index:1000;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:95vw;max-width:800px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h2{font-size:1.125rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.close-btn{cursor:pointer;color:var(--relic-text-muted);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:color .15s}.close-btn:hover{color:var(--relic-text)}.modal-body{flex:1;padding:1.25rem;overflow:auto}.activity-data-modal-overlay{z-index:1100;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.activity-data-modal{background:var(--relic-parchment-light);border-radius:8px;flex-direction:column;width:90vw;max-width:600px;max-height:90vh;display:flex;box-shadow:0 4px 24px #2d1f144d}.activity-data-modal .modal-header{border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.activity-data-modal .modal-header h2{font-size:18px;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.activity-data-modal .close-btn{cursor:pointer;color:var(--relic-text-muted);background:0 0;border:none;padding:0;font-size:24px;line-height:1}.activity-data-modal .close-btn:hover{color:var(--relic-text)}.activity-data-modal-body{flex:1;padding:20px;overflow-y:auto}.activity-data-modal .modal-loading,.activity-data-modal .modal-error{text-align:center;color:var(--relic-text);padding:20px}.activity-data-modal .modal-error{color:var(--relic-error)}.activity-options-form{flex-direction:column;gap:16px;display:flex}.form-row{flex-direction:column;gap:4px;display:flex}.form-row label{color:var(--relic-text);font-size:14px;font-weight:500}.form-row input[type=text],.form-row input[type=number],.form-row select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:4px;padding:8px 12px;font-size:14px}.form-row input[type=text]:focus,.form-row input[type=number]:focus,.form-row select:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.form-row input:disabled,.form-row select:disabled{background:var(--relic-parchment-dark);cursor:not-allowed}.form-row.readonly{flex-direction:row;align-items:center;gap:12px}.form-row.readonly label{min-width:140px}.readonly-value{color:var(--relic-text-muted);background:var(--relic-parchment-dark);word-break:break-all;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:14px}.form-row.checkbox-row{flex-direction:row;align-items:center}.form-row.checkbox-row label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.form-row.checkbox-row input[type=checkbox]{cursor:pointer;width:16px;height:16px}.form-section-header{color:var(--relic-text);border-bottom:1px solid var(--relic-border);justify-content:space-between;align-items:center;margin-top:8px;padding-bottom:4px;font-size:14px;font-weight:600;display:flex}.insert-defaults-btn{background:var(--relic-parchment);border:1px solid var(--relic-border);cursor:pointer;color:var(--relic-text);border-radius:4px;padding:4px 10px;font-size:12px}.insert-defaults-btn:hover:not(:disabled){background:var(--relic-parchment-dark)}.insert-defaults-btn:disabled{opacity:.5;cursor:not-allowed}.object-grading-table{border-collapse:collapse;width:100%;font-size:13px}.object-grading-table th,.object-grading-table td{text-align:left;border:1px solid var(--relic-border);padding:8px}.object-grading-table th{background:var(--relic-parchment-dark);color:var(--relic-text);font-weight:600}.object-grading-table td{color:var(--relic-text)}.object-grading-table td:first-child{font-weight:500}.object-grading-table input[type=number]{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:70px;color:var(--relic-text);border-radius:3px;padding:4px 6px;font-size:13px}.object-grading-table input[type=checkbox]{cursor:pointer;width:16px;height:16px}.object-grading-table input:disabled{cursor:not-allowed}.activity-data-modal .modal-footer{border-top:1px solid var(--relic-border);background:var(--relic-parchment);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.activity-data-modal .cancel-btn,.activity-data-modal .save-btn{cursor:pointer;border-radius:4px;padding:8px 20px;font-size:14px}.activity-data-modal .cancel-btn{background:var(--relic-parchment-light);border:1px solid var(--relic-border);color:var(--relic-text)}.activity-data-modal .cancel-btn:hover{background:var(--relic-parchment-dark)}.activity-data-modal .save-btn{background:var(--relic-nav-bg);border:1px solid var(--relic-nav-bg);color:var(--relic-parchment)}.activity-data-modal .save-btn:hover:not(:disabled){background:var(--relic-text)}.activity-data-modal .save-btn:disabled{opacity:.5;cursor:not-allowed}.activity-page{flex-direction:column;height:100%;min-height:calc(100vh - 50px);display:flex}.activity-page-error{text-align:center;color:var(--relic-error);padding:2rem}.activity-header{background:var(--relic-parchment-light);border-bottom:1px solid var(--relic-border);padding:1rem 1.5rem}.activity-title{align-items:center;gap:.75rem;display:flex}.activity-title h1{margin:0;font-size:1.25rem}.version-badge,.mode-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.version-badge{background:var(--relic-success);color:#fff}.version-badge.draft{background:var(--relic-warning);color:var(--relic-text)}.mode-badge{background:var(--relic-text-muted);color:#fff}.activity-controls{background:var(--relic-parchment-dark);border-bottom:1px solid var(--relic-border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.activity-controls label{color:var(--relic-text);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.activity-controls select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:4px;padding:.4rem .6rem;font-size:.85rem}.activity-controls select:focus{border-color:var(--relic-accent);outline:none}.activity-controls button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;transition:background .15s}.activity-controls button:hover:not(:disabled){background:var(--relic-parchment);border-color:var(--relic-text-muted)}.activity-controls button:disabled{opacity:.5;cursor:not-allowed}.activity-controls .publish-btn{background:var(--relic-success);color:#fff;border-color:var(--relic-success)}.activity-controls .publish-btn:hover:not(:disabled){background:#4a6830}.activity-controls .draft-media-checkbox{cursor:pointer;margin-left:auto}.activity-controls .draft-media-checkbox input{cursor:pointer}.activity-content{flex:1;min-height:0;display:flex}.activity-iframe{background:#fff;border:none;flex:1;width:100%;height:100%}.task-editor{font-family:var(--relic-font-body);border:1px solid var(--relic-border);background:var(--relic-parchment-light);border-radius:4px}.task-editor-error{text-align:center;padding:1rem}.task-editor-error .error-message{color:var(--relic-error);margin-bottom:.5rem}.task-editor-header{background:var(--relic-parchment-dark);border-bottom:1px solid var(--relic-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.task-editor-meta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.task-editor-meta label{color:var(--relic-text);align-items:center;gap:.25rem;font-size:.875rem;display:flex}.task-editor-meta select,.task-editor-meta input[type=number]{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:3px;padding:.25rem .5rem;font-size:.875rem}.task-editor-meta input[type=number]{width:60px}.toggle-raw{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:3px;padding:.25rem .75rem;font-size:.875rem;transition:all .15s}.toggle-raw:hover{background:var(--relic-parchment)}.toggle-raw.active{background:var(--relic-nav-bg);color:var(--relic-parchment);border-color:var(--relic-nav-bg)}.task-editor-raw{padding:.5rem}.task-editor-raw textarea{border:1px solid var(--relic-border);resize:vertical;box-sizing:border-box;background:var(--relic-parchment-light);width:100%;min-height:300px;color:var(--relic-text);border-radius:3px;padding:.5rem;font-family:Consolas,Monaco,monospace;font-size:.875rem}.task-editor-raw .parse-error{color:var(--relic-error);margin-top:.25rem;font-size:.875rem}.task-editor-parts{flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.part-editor{border:1px solid var(--relic-border);background:var(--relic-parchment);border-radius:4px;padding:.75rem}.part-editor label{color:var(--relic-text-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.part-editor textarea,.part-editor input[type=text],.part-editor input[type=number]{border:1px solid var(--relic-border);box-sizing:border-box;background:var(--relic-parchment-light);width:100%;color:var(--relic-text);border-radius:3px;padding:.375rem .5rem;font-size:.875rem}.part-editor textarea{resize:vertical;font-family:inherit}.part-text textarea{font-family:Consolas,Monaco,monospace}.part-choicegroup{background:#c9a22714}.choicegroup-header{justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;display:flex}.choicegroup-type{color:var(--relic-nav-bg);font-weight:600}.choicegroup-id{color:var(--relic-text-muted)}.choicegroup-choices{flex-direction:column;gap:.375rem;display:flex}.choicegroup-choice{align-items:center;gap:.5rem;display:flex}.choicegroup-choice input[type=radio],.choicegroup-choice input[type=checkbox]{margin:0}.choice-content-input{flex:1}.part-choice{background:var(--relic-parchment-light);align-items:center;gap:.75rem;display:flex}.part-choice.correct{border-color:var(--relic-success);background:#5d7a3a1a}.part-choice>label{white-space:nowrap;align-items:center;gap:.25rem;margin-bottom:0;display:flex}.part-choice .choice-content-input{flex:1}.part-input{background:#c9a2270d}.input-meta{gap:1rem;margin-bottom:.5rem;display:flex}.input-meta label{align-items:center;gap:.25rem;margin-bottom:0;display:flex}.input-meta select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:3px;padding:.25rem .5rem;font-size:.875rem}.input-dimensions{gap:1rem;margin-top:.5rem;display:flex}.input-dimensions label{align-items:center;gap:.25rem;margin-bottom:0;display:flex}.input-dimensions input{width:80px}.part-container{background:var(--relic-parchment);border-left:3px solid var(--relic-text-muted)}.container-header{gap:.5rem;margin-bottom:.5rem;font-family:Consolas,Monaco,monospace;font-size:.75rem;display:flex}.container-tag{color:var(--relic-nav-bg);font-weight:600}.container-class{color:var(--relic-accent-hover,#a68820)}.container-children{border-left:1px dashed var(--relic-border);flex-direction:column;gap:.25rem;margin-left:.75rem;padding-left:.75rem;display:flex}.container-child-wrapper,.part-with-controls{flex-direction:column;gap:.25rem;display:flex}.part-header,.input-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.part-delete-btn,.choice-delete-btn{color:var(--relic-text-muted);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.25rem;line-height:1}.part-delete-btn:hover,.choice-delete-btn:hover{color:var(--relic-error)}.add-part-button-container{justify-content:center;height:20px;display:flex;position:relative}.add-part-button{border:1px dashed var(--relic-border);background:var(--relic-parchment-light);width:20px;height:20px;color:var(--relic-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:flex}.add-part-button:hover{border-color:var(--relic-accent);color:var(--relic-accent);background:#c9a2271a}.add-part-menu{background:var(--relic-parchment-light);border:1px solid var(--relic-border);z-index:100;border-radius:4px;min-width:180px;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #2d1f1433}.add-part-option{text-align:left;cursor:pointer;width:100%;color:var(--relic-text);background:0 0;border:none;padding:.5rem .75rem;font-size:.875rem;display:block}.add-part-option:hover{background:#c9a2271a}.add-part-option:first-child{border-radius:4px 4px 0 0}.add-part-option:last-child{border-radius:0 0 4px 4px}.add-choice-btn{border:1px dashed var(--relic-border);color:var(--relic-text-muted);cursor:pointer;background:0 0;border-radius:3px;margin-top:.25rem;padding:.25rem .5rem;font-size:.75rem}.add-choice-btn:hover{border-color:var(--relic-accent);color:var(--relic-accent)}.container-tag-input,.container-class-input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:60px;color:var(--relic-text);border-radius:2px;padding:.125rem .25rem;font-family:Consolas,Monaco,monospace;font-size:.75rem}.container-header{align-items:center;gap:.5rem;margin-bottom:.5rem;font-family:Consolas,Monaco,monospace;font-size:.75rem;display:flex}.choicegroup-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.choicegroup-header select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:2px;padding:.125rem .25rem;font-size:.75rem}.image-editor-wrapper{display:inline-block;position:relative}.image-editor-wrapper.editable{cursor:pointer}.image-editor-wrapper img{border-radius:4px;max-width:100%;height:auto;display:block}.image-editor-overlay{opacity:0;pointer-events:none;background:#2d1f1499;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.image-editor-wrapper.editable:hover .image-editor-overlay{opacity:1}.image-editor-icon{background:var(--relic-parchment-light);color:var(--relic-text);border-radius:4px;padding:6px 12px;font-size:14px;font-weight:500}.image-editor-modal{z-index:10001;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-editor-content{background:var(--relic-parchment-light);border-radius:8px;width:90%;max-width:500px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 4px 20px #2d1f144d}.image-editor-content h3{font-size:1.125rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0 0 1rem}.image-editor-preview{background:var(--relic-parchment);border:1px solid var(--relic-border);text-align:center;border-radius:4px;margin-bottom:1rem;padding:1rem}.image-editor-preview img{border-radius:4px;max-width:100%;max-height:200px}.image-editor-field{margin-bottom:1rem}.image-editor-field label{color:var(--relic-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.image-editor-field input[type=text],.image-editor-field textarea{border:1px solid var(--relic-border);box-sizing:border-box;background:var(--relic-parchment-light);width:100%;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.image-editor-field textarea{resize:vertical}.image-editor-field input:focus,.image-editor-field textarea:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.image-editor-src-row{gap:.5rem;display:flex}.image-editor-src-row input{flex:1}.image-editor-src-row button{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text);cursor:pointer;white-space:nowrap;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.image-editor-src-row button:hover:not(:disabled){background:var(--relic-parchment-dark)}.image-editor-src-row button:disabled{opacity:.6;cursor:not-allowed}.image-editor-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.image-editor-actions button{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.image-editor-actions button:hover{background:var(--relic-parchment-dark)}.image-editor-actions button.primary{background:var(--relic-nav-bg);border-color:var(--relic-nav-bg);color:var(--relic-parchment)}.image-editor-actions button.primary:hover{background:var(--relic-text)}.image-editor-actions button.danger{background:var(--relic-error);border-color:var(--relic-error);color:#fff}.image-editor-actions button.danger:hover{background:#6b2929}.image-editor-spacer{flex:1}.image-editor-size-row{gap:1rem;display:flex}.image-editor-size-row .image-editor-field{flex:1}.video-editor-wrapper{cursor:default;display:inline-block;position:relative}.video-editor-wrapper.editable{cursor:pointer}.video-editor-wrapper.editable:hover .video-editor-overlay{opacity:1}.video-placeholder{background:linear-gradient(135deg, var(--relic-nav-bg) 0%, var(--relic-text) 100%);border:2px dashed var(--relic-text-muted);min-width:320px;min-height:180px;color:var(--relic-nav-text);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex}.video-placeholder .video-icon{color:var(--relic-accent);font-size:3rem}.video-placeholder .video-label{color:var(--relic-border);font-family:monospace;font-size:.875rem}.video-editor-overlay{opacity:0;background:#2d1f14b3;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.video-editor-icon{background:var(--relic-accent);color:var(--relic-nav-bg);border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.video-editor-modal{z-index:10001;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.video-editor-content{background:var(--relic-parchment-light);border-radius:8px;width:90%;max-width:500px;padding:1.5rem;box-shadow:0 4px 20px #2d1f144d}.video-editor-content h3{font-size:1.125rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0 0 1rem}.video-editor-preview{margin-bottom:1rem}.video-placeholder-large{background:linear-gradient(135deg, var(--relic-nav-bg) 0%, var(--relic-text) 100%);height:150px;color:var(--relic-nav-text);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.video-placeholder-large .video-icon{color:var(--relic-accent);font-size:2.5rem}.video-placeholder-large .video-id{color:var(--relic-border);font-family:monospace;font-size:.875rem}.video-editor-field{margin-bottom:1rem}.video-editor-field label{color:var(--relic-text);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.video-editor-field input[type=text]{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:100%;color:var(--relic-text);border-radius:4px;padding:.5rem;font-family:monospace;font-size:.875rem}.video-editor-field input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.video-editor-upload-row button{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.video-editor-upload-row button:hover:not(:disabled){background:var(--relic-parchment-dark)}.video-editor-upload-row button:disabled{opacity:.5;cursor:not-allowed}.video-editor-actions{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.video-editor-actions button{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.video-editor-actions button:hover{background:var(--relic-parchment-dark)}.video-editor-actions button.primary{background:var(--relic-nav-bg);color:var(--relic-parchment);border-color:var(--relic-nav-bg)}.video-editor-actions button.primary:hover{background:var(--relic-text)}.floating-toolbar{background:var(--relic-nav-bg);z-index:10000;border-radius:4px;align-items:center;gap:2px;padding:4px 6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 2px 8px #2d1f1466}.floating-toolbar:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--relic-nav-bg);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.floating-toolbar button{width:28px;height:28px;color:var(--relic-nav-text);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:14px;transition:all .15s;display:flex}.floating-toolbar button:hover{color:var(--relic-accent);background:#c9a22733}.floating-toolbar button:active{background:#c9a2274d}.toolbar-divider{background:#d4c4a84d;width:1px;height:20px;margin:0 4px}.toolbar-link-input{align-items:center;gap:4px;display:flex}.toolbar-link-input input{background:var(--relic-parchment-light);width:180px;color:var(--relic-text);border:none;border-radius:3px;padding:4px 8px;font-size:13px}.toolbar-link-input input:focus{outline:none;box-shadow:0 0 0 2px #c9a22766}.toolbar-link-input button{width:24px;height:24px;font-size:12px}.toolbar-qid-dropdown{flex-direction:column;min-width:180px;max-width:250px;display:flex}.toolbar-qid-header{color:var(--relic-nav-text);border-bottom:1px solid #d4c4a84d;justify-content:space-between;align-items:center;margin-bottom:4px;padding:2px 4px;font-size:12px;display:flex}.toolbar-qid-header button{width:20px;height:20px;font-size:10px}.toolbar-qid-list{flex-direction:column;gap:2px;max-height:150px;display:flex;overflow-y:auto}.toolbar-qid-item{text-overflow:ellipsis;white-space:nowrap;font-family:monospace;overflow:hidden;justify-content:flex-start!important;width:100%!important;padding:4px 8px!important;font-size:12px!important}.toolbar-qid-empty{color:var(--relic-nav-text);opacity:.7;text-align:center;padding:8px;font-size:12px}.frame-editor{font-family:var(--relic-font-body);padding:1rem;line-height:1.5}.frame-editor [contenteditable=true]{border-radius:2px;outline:none;transition:background-color .15s}.frame-editor [contenteditable=true]:hover{background-color:#c9a2270d}.frame-editor [contenteditable=true]:focus{background-color:#c9a2271a;box-shadow:0 0 0 2px #c9a2274d}.frame-editor-fstack{border:2px dashed var(--relic-border);background-color:var(--relic-parchment-light);border-radius:4px;margin:8px 0;padding:12px;position:relative}.frame-editor-fstack:before{content:"Stack";background:var(--relic-text-muted);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:2px 6px;font-size:10px;font-weight:600;position:absolute;top:-10px;left:8px}.frame-editor-placeholder{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;margin:2px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.frame-editor-qid{color:var(--relic-nav-bg);border:1px solid var(--relic-accent);background-color:#c9a22726}.frame-editor-qid:hover{border-color:var(--relic-accent-hover);background-color:#c9a22740}.frame-editor-taskid{background-color:var(--relic-parchment-dark);color:var(--relic-text-muted);border:1px solid var(--relic-border)}.frame-editor-taskid:hover{background-color:var(--relic-parchment);border-color:var(--relic-text-muted)}.frame-editor-fdone{color:var(--relic-success);border:1px solid var(--relic-success);-webkit-user-select:none;user-select:none;background-color:#5d7a3a26;border-radius:4px;align-items:center;margin:4px 0;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.frame-editor img{border-radius:4px;max-width:100%;height:auto}.frame-editor .left-column{float:left;width:48%;padding-right:2%}.frame-editor .right-column{float:right;width:48%;padding-left:2%}.frame-editor .content:after{content:"";clear:both;display:table}.frame-editor .title-bar{background:linear-gradient(135deg, var(--relic-nav-bg) 0%, var(--relic-text) 100%);color:var(--relic-parchment);border-radius:4px;margin-bottom:16px;padding:8px 16px}.frame-editor .title-bar h1{font-size:18px;font-weight:600;font-family:var(--relic-font-heading);color:var(--relic-parchment);margin:0}.frame-editor .content{padding:8px}.activity-edit-page{flex-direction:column;height:100%;min-height:calc(100vh - 50px);display:flex}.edit-page-error{text-align:center;color:var(--relic-error);padding:2rem}.edit-header{background:var(--relic-parchment-light);border-bottom:1px solid var(--relic-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.edit-title{align-items:center;gap:.75rem;display:flex}.back-btn{border:1px solid var(--relic-border);background:var(--relic-parchment);width:2rem;height:2rem;color:var(--relic-text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.back-btn:hover{background:var(--relic-parchment-dark);color:var(--relic-text)}.edit-title h1{font-size:1.125rem;font-family:var(--relic-font-heading);color:var(--relic-text);margin:0}.edit-tabs{gap:.25rem;display:flex}.edit-tabs button{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text-muted);cursor:pointer;border-radius:4px 4px 0 0;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.edit-tabs button:hover{background:var(--relic-parchment-dark)}.edit-tabs button.active{background:var(--relic-parchment-light);border-bottom-color:var(--relic-parchment-light);color:var(--relic-accent);font-weight:600}.edit-actions{align-items:center;gap:.75rem;display:flex}.dirty-indicator{color:var(--relic-warning);font-size:.875rem}.draft-indicator{color:var(--relic-accent);font-size:.875rem}.edit-actions button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.edit-actions button:hover:not(:disabled){background:var(--relic-parchment-dark)}.edit-actions button:disabled{opacity:.5;cursor:not-allowed}.edit-actions .publish-btn{background:var(--relic-success);color:#fff;border-color:var(--relic-success)}.edit-actions .publish-btn:hover:not(:disabled){background:#4a6830}.edit-actions .publish-btn:disabled{background:var(--relic-parchment-dark);color:var(--relic-text-muted);border-color:var(--relic-border)}.edit-body{flex-direction:column;flex:1;padding:1rem;display:flex;overflow:hidden}.edit-loading,.edit-error{text-align:center;color:var(--relic-text-muted);padding:2rem}.edit-error{color:var(--relic-error)}.edit-layout{flex:1;gap:1rem;min-height:0;display:flex}.frame-selector{border:1px solid var(--relic-border);background:var(--relic-parchment-light);border-radius:4px;flex-shrink:0;width:200px;overflow-y:auto}.frame-selector h4{background:var(--relic-parchment-dark);font-size:.875rem;font-family:var(--relic-font-heading);border-bottom:1px solid var(--relic-border);color:var(--relic-text);margin:0;padding:.75rem}.frame-item{border-bottom:1px solid var(--relic-parchment-dark);align-items:stretch;display:flex}.frame-btn{text-align:left;cursor:pointer;color:var(--relic-text);background:0 0;border:none;border-left:3px solid #0000;flex:1;justify-content:space-between;align-items:center;padding:.625rem .75rem;font-size:.875rem;transition:all .15s;display:flex}.frame-btn:hover{background:var(--relic-parchment-dark)}.frame-btn.selected{background:var(--relic-parchment-dark);border-left-color:var(--relic-accent);color:var(--relic-accent)}.frame-btn .task-count{color:var(--relic-text-muted);background:var(--relic-parchment);border-radius:10px;padding:2px 6px;font-size:.7rem}.frame-actions{border-left:1px solid var(--relic-parchment-dark);flex-direction:column;display:flex}.reorder-btn,.remove-btn{cursor:pointer;color:var(--relic-text-muted);background:0 0;border:none;flex:1;justify-content:center;align-items:center;padding:.25rem .5rem;font-size:.625rem;transition:all .15s;display:flex}.reorder-btn:hover:not(:disabled){background:var(--relic-parchment-dark);color:var(--relic-accent)}.remove-btn{font-size:.875rem;font-weight:700}.remove-btn:hover:not(:disabled){color:var(--relic-error);background:#8a3f3f1a}.reorder-btn:disabled,.remove-btn:disabled{opacity:.3;cursor:not-allowed}.add-frame-btn{border:2px dashed var(--relic-border);cursor:pointer;width:calc(100% - 1rem);color:var(--relic-text-muted);background:0 0;border-radius:4px;margin:.5rem;padding:.75rem;font-size:.875rem;transition:all .15s}.add-frame-btn:hover{border-color:var(--relic-accent);color:var(--relic-accent);background:#c9a2270d}.main-editor{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.frame-editor-container{border:1px solid var(--relic-border);background:#fff;border-radius:4px;flex:1;overflow-y:auto}.raw-editor-container{border:1px solid var(--relic-border);background:var(--relic-parchment-light);border-radius:4px;flex-direction:column;flex:1;display:flex;overflow:hidden}.raw-html-editor{resize:none;background:var(--relic-parchment-light);width:100%;color:var(--relic-text);box-sizing:border-box;border:none;flex:1;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5}.raw-html-editor:focus{outline:none;box-shadow:inset 0 0 0 2px #c9a2274d}.no-content,.no-selection{height:100%;color:var(--relic-text-muted);justify-content:center;align-items:center;display:flex}.tasks-editor{flex:1;gap:1rem;min-height:0;display:flex}.task-selector{border:1px solid var(--relic-border);background:var(--relic-parchment-light);border-radius:4px;flex-shrink:0;width:220px;overflow-y:auto}.task-selector h4{background:var(--relic-parchment-dark);font-size:.875rem;font-family:var(--relic-font-heading);border-bottom:1px solid var(--relic-border);color:var(--relic-text);margin:0;padding:.75rem}.stack-group{border-bottom:1px solid var(--relic-parchment-dark)}.stack-label{color:var(--relic-text-muted);background:var(--relic-parchment);padding:.375rem .75rem;font-size:.75rem;font-weight:500}.task-item{align-items:stretch;display:flex}.task-btn{text-align:left;cursor:pointer;width:100%;color:var(--relic-text);background:0 0;border:none;border-left:3px solid #0000;flex:1;padding:.5rem .75rem;font-family:monospace;font-size:.8rem;transition:all .15s;display:block}.task-btn:hover{background:var(--relic-parchment-dark)}.task-btn.selected{background:var(--relic-parchment-dark);border-left-color:var(--relic-accent)}.task-btn.question{color:var(--relic-success)}.task-btn.custom{color:var(--relic-text-muted)}.remove-task-btn{cursor:pointer;color:var(--relic-text-muted);border:none;border-left:1px solid var(--relic-parchment-dark);background:0 0;padding:0 .5rem;font-size:.875rem;font-weight:700;transition:all .15s}.remove-task-btn:hover{color:var(--relic-error);background:#8a3f3f1a}.task-content{border:1px solid var(--relic-border);background:#fff;border-radius:4px;flex:1;overflow-y:auto}.custom-task-info{color:var(--relic-text-muted);padding:1rem}.add-frame-modal{z-index:1200;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-frame-content{background:var(--relic-parchment-light);border-radius:8px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 4px 20px #2d1f144d}.add-frame-content h4{font-family:var(--relic-font-heading);color:var(--relic-text);margin:0 0 .5rem}.add-frame-content p{color:var(--relic-text-muted);margin:0 0 1rem}.template-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.template-btn{border:1px solid var(--relic-border);background:var(--relic-parchment);cursor:pointer;text-align:left;border-radius:4px;flex-direction:column;align-items:flex-start;padding:.75rem 1rem;transition:all .15s;display:flex}.template-btn:hover{border-color:var(--relic-accent);background:#c9a2270d}.template-btn strong{color:var(--relic-text);font-size:.9rem}.template-btn span{color:var(--relic-text-muted);margin-top:.25rem;font-size:.8rem}.cancel-btn{border:1px solid var(--relic-border);background:var(--relic-parchment);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;transition:all .15s}.cancel-btn:hover{background:var(--relic-parchment-dark)}.add-task-btn{border:2px dashed var(--relic-border);cursor:pointer;width:calc(100% - 1rem);color:var(--relic-text-muted);background:0 0;border-radius:4px;margin:.5rem;padding:.75rem;font-size:.875rem;transition:all .15s}.add-task-btn:hover{border-color:var(--relic-accent);color:var(--relic-accent);background:#c9a2270d}.add-task-modal{z-index:1200;background:#2d1f1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.add-task-content{background:var(--relic-parchment-light);border-radius:8px;width:90%;max-width:400px;padding:1.5rem;box-shadow:0 4px 20px #2d1f144d}.add-task-content h4{font-family:var(--relic-font-heading);color:var(--relic-text);margin:0 0 .5rem}.add-task-content p{color:var(--relic-text-muted);margin:0 0 1rem}.course-sets-page{max-width:1200px;margin:0 auto;padding:1.5rem}.course-sets-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.course-sets-header h1{margin:0;font-size:1.5rem}.course-sets-filters{align-items:center;gap:1rem;display:flex}.course-sets-search{gap:.5rem;display:flex}.course-sets-search input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:250px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.course-sets-search input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.course-sets-error{color:var(--relic-error);background:#f5e6e6;border:1px solid #d4b8b8;border-radius:4px;margin-bottom:1rem;padding:1rem}.course-sets-loading{text-align:center;color:var(--relic-text-muted);padding:3rem}.course-sets-table{border-collapse:collapse;background:var(--relic-parchment-light);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #3d29141a}.course-sets-table th{text-align:left;background:var(--relic-parchment-dark);color:var(--relic-text);border-bottom:1px solid var(--relic-border);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.course-sets-table td{border-bottom:1px solid var(--relic-parchment-dark);padding:.75rem 1rem}.course-sets-row{transition:background .1s}.course-sets-row:hover{background:var(--relic-parchment-dark)}.status-badge{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:#155724;background:#d4edda}.status-inactive{color:#6c757d;background:#e2e3e5}.course-sets-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.course-sets-pagination button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.course-sets-pagination button:hover:not(:disabled){background:var(--relic-parchment-dark)}.course-sets-pagination button:disabled{opacity:.5;cursor:not-allowed}.course-sets-pagination span{color:var(--relic-text-muted);font-size:.9rem}.bulk-actions{border:1px solid var(--relic-accent);background:#c9a2271a;border-radius:4px;align-items:center;gap:12px;margin-bottom:1rem;padding:12px 16px;display:flex}.bulk-actions .selection-count{color:var(--relic-text);font-weight:500}.bulk-actions .distribute-btn{background:var(--relic-success);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.bulk-actions .distribute-btn:hover{background:#4a6732}.bulk-actions .clear-selection-btn{background:var(--relic-parchment-light);color:var(--relic-text);border:1px solid var(--relic-border);cursor:pointer;border-radius:4px;margin-left:auto;padding:8px 16px;font-size:14px}.bulk-actions .clear-selection-btn:hover{background:var(--relic-parchment-dark)}.libraries-page{max-width:1200px;margin:0 auto;padding:1.5rem}.libraries-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.libraries-header h1{margin:0;font-size:1.5rem}.libraries-filters{align-items:center;gap:1rem;display:flex}.libraries-search{gap:.5rem;display:flex}.libraries-search input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:250px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.libraries-search input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.libraries-error{color:var(--relic-error);background:#f5e6e6;border:1px solid #d4b8b8;border-radius:4px;margin-bottom:1rem;padding:1rem}.libraries-loading{text-align:center;color:var(--relic-text-muted);padding:3rem}.libraries-table{border-collapse:collapse;background:var(--relic-parchment-light);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #3d29141a}.libraries-table th{text-align:left;background:var(--relic-parchment-dark);color:var(--relic-text);border-bottom:1px solid var(--relic-border);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.libraries-table td{border-bottom:1px solid var(--relic-parchment-dark);padding:.75rem 1rem}.libraries-row{transition:background .1s}.libraries-row:hover{background:var(--relic-parchment-dark)}.library-id{color:var(--relic-text-muted);cursor:help;font-family:monospace;font-size:.8rem}.library-status{border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:500;display:inline-block}.library-status.status-active{color:#1e7e34;background:#e6f4ea}.library-status.status-draft{color:#856404;background:#fff3cd}.library-status.status-archived{color:#6c757d;background:#f5f5f5}.libraries-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.libraries-pagination button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.libraries-pagination button:hover:not(:disabled){background:var(--relic-parchment-dark)}.libraries-pagination button:disabled{opacity:.5;cursor:not-allowed}.libraries-pagination span{color:var(--relic-text-muted);font-size:.9rem}.history-page{max-width:1200px;margin:0 auto;padding:1.5rem}.history-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.history-header h1{margin:0;font-size:1.5rem}.history-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.history-filter-group{flex-direction:column;gap:.25rem;display:flex}.history-filter-group label{color:var(--relic-text-muted);font-size:.8rem;font-weight:500}.history-date-input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.history-date-input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.history-category-select{border:1px solid var(--relic-border);background:var(--relic-parchment-light);min-width:160px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.history-category-select:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.history-username-input{border:1px solid var(--relic-border);background:var(--relic-parchment-light);width:200px;color:var(--relic-text);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.history-username-input:focus{border-color:var(--relic-accent);outline:none;box-shadow:0 0 0 2px #c9a22733}.history-error{color:var(--relic-error);background:#f5e6e6;border:1px solid #d4b8b8;border-radius:4px;margin-bottom:1rem;padding:1rem}.history-loading{text-align:center;color:var(--relic-text-muted);padding:3rem}.history-table{border-collapse:collapse;background:var(--relic-parchment-light);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #3d29141a}.history-table th{text-align:left;background:var(--relic-parchment-dark);color:var(--relic-text);border-bottom:1px solid var(--relic-border);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.history-table td{border-bottom:1px solid var(--relic-parchment-dark);padding:.75rem 1rem}.history-row{cursor:pointer;transition:background .1s}.history-row:hover,.history-row.expanded{background:var(--relic-parchment-dark)}.history-status-cell{text-align:center}.history-status-success{color:#2e7d32;font-size:1.1rem;font-weight:700}.history-status-failure{color:#c62828;font-size:1.1rem;font-weight:700}.history-details-row{background:var(--relic-parchment-dark)}.history-details-row td{padding:0}.history-details{border-top:1px solid var(--relic-border);background:#00000005;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;padding:1rem 1.5rem;display:grid}.history-detail-item{gap:.5rem;display:flex}.history-detail-label{color:var(--relic-text-muted);font-size:.85rem;font-weight:600}.history-detail-value{color:var(--relic-text);word-break:break-all;font-family:monospace;font-size:.85rem}.no-results{text-align:center;color:var(--relic-text-muted);padding:2rem!important}.history-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.history-pagination button{border:1px solid var(--relic-border);background:var(--relic-parchment-light);color:var(--relic-text);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.history-pagination button:hover:not(:disabled){background:var(--relic-parchment-dark)}.history-pagination button:disabled{opacity:.5;cursor:not-allowed}.history-pagination span{color:var(--relic-text-muted);font-size:.9rem}:root{--relic-nav-bg:#2d1f14;--relic-nav-text:#d4c4a8;--relic-nav-hover:#e8dcc6;--relic-accent:#c9a227;--relic-accent-hover:#dbb42f;--relic-parchment:#f5ead6;--relic-parchment-light:#faf6ed;--relic-parchment-dark:#e8dcc6;--relic-text:#3d2914;--relic-text-muted:#6b5344;--relic-border:#d4c4a8;--relic-success:#5d7a3a;--relic-warning:#b8860b;--relic-error:#8b3a3a;--relic-font-heading:"Merriweather", Georgia, serif;--relic-font-body:"Source Sans Pro", -apple-system, BlinkMacSystemFont, sans-serif;--relic-sidebar-width:240px;--relic-sidebar-collapsed:60px}*{box-sizing:border-box}body{font-family:var(--relic-font-body);background:var(--relic-parchment);color:var(--relic-text);margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--relic-font-heading);color:var(--relic-text)}.no-course{text-align:center;color:var(--relic-text-muted);padding:60px 20px}