/* Leitner administration · compact workspace · Source Sans 3 · 2026-11-10 */
@font-face{font-family:'Source Sans 3';src:url('../assets/course-admin/SourceSans3-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../assets/course-admin/SourceSans3-Semibold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
:root{--admin-ink:#24272c;--admin-muted:#656a72;--admin-line:#dfe1e4;--admin-soft:#f0f1f3;--admin-selected:#e7e8eb;--admin-dark:#272b30;--admin-radius:6px;--sidebar-width:238px;--primary:#272b30;--primary-dark:#171a1f;--primary-light:#50565e;--secondary:#656a72;--success:#007b50;--danger:#ba1930;--warning:#806000;--info:#0075df;--dark:#24272c;--light:#f5f6f7;--white:#fff;--border-radius:6px;--card-shadow:none;--bs-body-font-family:'Source Sans 3',system-ui,sans-serif;--bs-body-font-size:15px;--bs-body-color:var(--admin-ink);--bs-primary-rgb:39,43,48}
*{box-sizing:border-box}body{font-family:'Source Sans 3',system-ui,sans-serif!important;font-size:15px;line-height:1.45;color:var(--admin-ink);background:#fff;margin:0}input,select,textarea,button{font-family:'Source Sans 3',system-ui,sans-serif!important}a{color:inherit}a:hover{color:var(--admin-ink)}button,a,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #737a84;outline-offset:3px;box-shadow:none!important}h1,h2,h3,h4,h5,h6{color:var(--admin-ink);font-weight:600!important;line-height:1.25}.fw-bold,.fw-extrabold,.fw-bolder,strong,b{font-weight:600!important}.text-secondary,.text-muted,.muted,small{color:var(--admin-muted)}small,.small,.muted{font-size:13px}p{line-height:1.55}code,pre{font-family:ui-monospace,monospace;font-size:13px}img{max-width:100%;height:auto}
.wrapper{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--admin-dark);color:#f7f7f8;position:fixed;inset:0 auto 0 0;height:100dvh;overflow:auto;overscroll-behavior:contain;z-index:1040;display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:27px 22px 20px;border-bottom:1px solid #454a51}.admin-brand{font-size:24px;line-height:1.1;font-weight:600;text-decoration:none;color:#fff!important}.admin-brand small{display:block;font-size:13px;color:#c2c6cd;font-weight:400;margin-top:5px}.sidebar-course{padding:20px 20px 12px}.course-picker{margin:0!important}.course-picker label{display:block;font-size:12px;color:#c2c6cd;margin-bottom:7px;letter-spacing:.02em}.sidebar .course-picker select{display:block;width:100%;min-height:38px;border:1px solid #5a6068;border-radius:5px;padding:7px 11px;background:#373d44;color:#fff;font-size:14px}.sidebar select option{background:#373d44;color:#fff}.sidebar-nav{display:flex!important;flex-direction:column;flex:1;padding:8px 12px 20px!important;margin:0!important;gap:3px!important}.sidebar-nav .nav-link{display:flex;align-items:center;gap:11px;color:#d8dbe0;padding:10px 12px;border:0!important;border-radius:5px;font-size:15px;line-height:1.2;text-decoration:none;min-height:39px}.sidebar-nav .nav-link i{width:17px;margin:0;font-size:15px;text-align:center;color:inherit}.sidebar-nav .nav-link:hover{color:#fff;background:#393f46}.sidebar-nav .nav-link.active{background:#50565e;color:#fff;font-weight:600}.sidebar-group{margin:17px 12px 5px;color:#aeb4bd;font-size:11px;letter-spacing:.07em}.sidebar-subnav{padding:3px 0 5px 28px}.sidebar-subnav .nav-link{font-size:13px;min-height:31px;padding:7px 12px}.sidebar-footer{margin-top:auto;padding-top:22px}.sidebar-footer .nav-link{font-size:14px}.mobile-header,.sidebar-overlay{display:none}
.main-content,.main-content.admin-page{flex:1;min-width:0;max-width:none;width:calc(100% - var(--sidebar-width));margin:0 0 0 var(--sidebar-width)!important;padding:28px 34px 48px!important;background:#fff;border-radius:0}.main-content h1,.main-content>div>div>h2{font-size:24px!important}.main-content h2{font-size:19px!important}.main-content h3{font-size:17px!important}.main-content h4{font-size:16px!important}.main-content h5,.main-content h6{font-size:15px!important}.admin-context{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--admin-muted);margin-bottom:13px}.admin-context b{font-weight:600}.admin-page-header,.admin-page>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:var(--admin-soft);margin:0 -14px 24px!important;padding:16px 20px!important;min-height:66px;border:0!important;border-radius:0!important}.admin-page-header h1,.admin-page-header h2,.admin-page>header h1{margin:0!important;font-size:24px!important}.admin-page-header p{margin:5px 0 0!important;font-size:13px;color:var(--admin-muted)}.admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* Content groups stay flat, including the old Bootstrap page templates. */
.main-content .card,.main-content .stats-card,.main-content .stat-card-mini,.main-content .metric-mini-card,.main-content .info-card-premium,.main-content .quick-item-card,.admin-page section,.admin-page fieldset{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;color:var(--admin-ink);transform:none!important}.main-content .card{margin-bottom:24px}.main-content .card-header{background:transparent!important;border:0!important;border-bottom:1px solid var(--admin-line)!important;border-radius:0!important;padding:0 0 13px!important;margin-bottom:16px}.main-content .card-body{padding:0!important}.main-content .card .card,.admin-page section section,.admin-page fieldset{padding:20px 0 0!important;margin:20px 0!important;border-top:1px solid var(--admin-line)!important}.main-content .card.p-4,.main-content .card.p-5{padding:0!important}.admin-page section{padding:0!important;margin:24px 0!important}.main-content .stats-card,.main-content .stat-card-mini,.main-content .metric-mini-card{padding:16px 18px 18px 0!important;border-bottom:1px solid var(--admin-line)!important}.main-content .stats-icon{display:flex;align-items:center;font-size:16px;width:auto;height:24px;background:transparent!important;color:var(--admin-muted)!important;border-radius:0;margin-bottom:8px}.stats-value{font-size:26px!important;font-weight:600!important;line-height:1.2;color:var(--admin-ink)!important}.stats-label{font-size:13px;color:var(--admin-muted)}.main-content .stats-card .text-info,.main-content .stats-card .text-warning,.main-content .stats-card .text-primary,.main-content .metric-mini-card h3{color:var(--admin-ink)!important}.admin-page .summary{display:flex;gap:30px;flex-wrap:wrap;margin:20px 0}.admin-page .summary span{background:transparent;border:0;border-radius:0;padding:10px 0}.main-content .shadow,.main-content .shadow-sm,.main-content .shadow-lg{box-shadow:none!important}.main-content .card.bg-primary,.main-content .card.bg-info,.main-content .card.bg-success{color:var(--admin-ink)!important}.main-content .card.bg-primary *,.main-content .card.bg-info *,.main-content .card.bg-success *{color:inherit!important}
.btn,.admin-page button,.admin-page .button{font-family:'Source Sans 3',system-ui,sans-serif!important;font-size:14px!important;line-height:1.35!important;font-weight:600!important;padding:8px 14px!important;min-height:36px;border-radius:var(--admin-radius)!important;border:1px solid var(--admin-line);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:normal;text-decoration:none!important;box-shadow:none!important;transition:background-color .12s,border-color .12s}.btn-sm{font-size:13px!important;padding:6px 10px!important;min-height:31px}.btn-lg{font-size:15px!important;padding:10px 17px!important}.btn-primary,.btn-dark,.admin-page button[type=submit]:not(.secondary),.admin-primary{background:var(--admin-dark)!important;color:#fff!important;border-color:var(--admin-dark)!important}.btn-primary:hover,.btn-dark:hover,.admin-primary:hover,.admin-page button[type=submit]:not(.secondary):hover{background:#15191e!important;border-color:#15191e!important}.btn-white,.btn-light,.btn-outline-primary,.btn-outline-dark,.btn-outline-secondary,.btn-secondary,.admin-page .button,.admin-page button,.admin-secondary{background:#fff;color:var(--admin-ink)!important;border:1px solid #c6c9ce!important}.btn-white:hover,.btn-light:hover,.btn-outline-primary:hover,.btn-outline-dark:hover,.btn-outline-secondary:hover,.btn-secondary:hover,.admin-page .button:hover,.admin-page button:hover{background:var(--admin-soft)}.btn-danger,.btn-outline-danger{color:#a9192a;background:#fff;border-color:#d8a9af}.btn-danger:hover,.btn-outline-danger:hover{color:#fff;background:#a9192a;border-color:#a9192a}.btn:disabled,button:disabled,.btn.disabled{background:#edeef0!important;border-color:#edeef0!important;color:#92979f!important;opacity:1;cursor:not-allowed}.btn-link{background:none!important;border-color:transparent!important;color:var(--admin-ink)!important}.btn i{font-size:13px}.dropdown-menu{font-family:inherit;font-size:14px;padding:5px;border:1px solid var(--admin-line)!important;border-radius:6px!important;box-shadow:0 5px 18px #11111112!important}.dropdown-item{border-radius:4px;padding:7px 10px}.dropdown-item.active,.dropdown-item:active{background:var(--admin-selected);color:var(--admin-ink)}
.main-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.main-content select,.main-content textarea,.login-page input{font-family:'Source Sans 3',system-ui,sans-serif!important;font-size:15px!important;line-height:1.4;padding:8px 11px!important;min-height:37px;color:var(--admin-ink)!important;background:#fff!important;border:1px solid #cbd0d6!important;border-radius:6px!important;max-width:100%;box-shadow:none!important}.main-content input:disabled,.main-content input[readonly]{background:#f4f5f6!important;color:#757b84!important}.main-content textarea{min-height:105px;resize:vertical}.main-content label,.main-content .form-label{font-size:13px!important;font-weight:400;margin-bottom:6px;color:var(--admin-muted)}.main-content input[type=checkbox],.main-content input[type=radio]{accent-color:#5f656e;box-shadow:none!important;flex-shrink:0}.form-check-input:checked{background-color:#646a73;border-color:#646a73}.form-check-input:focus{border-color:#646a73}.main-content .form-check-input{min-width:16px;min-height:16px}.admin-page .check{display:flex;align-items:flex-start;gap:10px;font-size:14px}.main-content .input-group-text{background:#f3f4f5;border-color:#cbd0d6;border-radius:6px;font-size:14px}.main-content fieldset{min-width:0}.main-content legend{float:none;width:auto;font-size:16px;font-weight:600;padding:0;margin-bottom:16px}.admin-page .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}.admin-page .grid label{display:block}.admin-page .grid input,.admin-page .grid select,.admin-page .grid textarea,.admin-page fieldset>label input,.admin-page fieldset>label textarea{display:block;width:100%;margin-top:6px}.admin-page .filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:22px 0}.admin-page .filters label{display:flex;flex-direction:column;gap:5px;margin:0}.admin-page .filters label:first-of-type{flex:1;min-width:200px}.admin-page .filters input,.admin-page .filters select{width:100%}.main-content .rounded-pill{border-radius:6px!important}
.main-content .table-wrap,.main-content .table-responsive,.main-content .scroll{overflow:auto;background:transparent;border:0!important;border-radius:0!important;max-width:100%}.main-content table{width:100%;border-collapse:collapse;margin:0;background:#fff}.main-content table th{font-size:13px!important;font-weight:600!important;color:var(--admin-muted);letter-spacing:0!important;text-transform:none!important;background:transparent!important;border-top:0!important;border-bottom:1px solid var(--admin-line)!important;padding:10px 12px!important;white-space:nowrap}.main-content table td{font-size:15px!important;font-weight:400;padding:13px 12px!important;vertical-align:middle;border-bottom:1px solid #e8e9ec!important;box-shadow:none!important;background:transparent!important}.main-content table th:first-child,.main-content table td:first-child{padding-left:0!important}.main-content table th:last-child,.main-content table td:last-child{padding-right:0!important}.main-content .table-hover>tbody>tr:hover>*{background:#f7f8f9!important;box-shadow:none!important}.main-content table tr:last-child td{border-bottom:0!important}.main-content .badge{border-radius:4px!important;font-size:12px!important;font-weight:400;padding:4px 7px}.main-content .badge.bg-primary,.main-content .badge.bg-dark,.main-content .badge.bg-secondary{background:var(--admin-selected)!important;color:var(--admin-ink)!important}.admin-page details{min-width:300px}.admin-page details summary{cursor:pointer;font-size:13px}.admin-page .skill-grid th,.admin-page .skill-grid td{font-size:12px!important;padding:7px!important;white-space:nowrap}
.main-content .nav-tabs,.main-content .nav-pills,.admin-page .tabs,.admin-question-tabs{display:flex;flex-wrap:wrap;gap:7px;border:0!important;border-bottom:1px solid var(--admin-line)!important;padding:0 0 12px!important;margin:0 0 23px!important;list-style:none}.main-content .nav-tabs .nav-link,.main-content .nav-pills .nav-link,.admin-page .tabs a,.admin-question-tabs a{font-size:14px!important;font-weight:400;padding:8px 13px!important;border:0!important;border-radius:5px!important;color:var(--admin-ink)!important;background:transparent;text-decoration:none;box-shadow:none!important}.main-content .nav-tabs .nav-link.active,.main-content .nav-pills .nav-link.active,.admin-page .tabs [aria-current=page],.admin-question-tabs [aria-current=page]{background:var(--admin-selected)!important;font-weight:600!important}.page-link{color:var(--admin-ink);border-color:var(--admin-line);font-size:14px}.active>.page-link,.page-link.active{background:var(--admin-selected);border-color:#cbd0d6;color:var(--admin-ink)}.admin-page .notice,.main-content .alert{padding:12px 14px!important;border:0!important;border-left:3px solid #959ca5!important;background:#f2f3f4!important;border-radius:0!important;color:var(--admin-ink)!important;font-size:14px}.admin-page .notice.error,.main-content .alert-danger{border-left-color:#ba1930!important}.main-content .alert-success{border-left-color:#007b50!important}.main-content .accordion-item{border:0;border-bottom:1px solid var(--admin-line);border-radius:0!important}.main-content .accordion-button{background:#fff;font:600 15px 'Source Sans 3',sans-serif;padding:14px 0;box-shadow:none}.main-content .accordion-button:not(.collapsed){background:#f1f2f4;color:var(--admin-ink)}.main-content .accordion-body{padding:18px 0}.modal-content{font-family:'Source Sans 3',system-ui,sans-serif;border:1px solid var(--admin-line);border-radius:8px;box-shadow:0 12px 36px #0002}.modal-title{font-size:19px!important}.modal-header,.modal-footer{border-color:var(--admin-line);padding:16px 20px}.modal-body{padding:20px}.modal .card{box-shadow:none;border:0;border-radius:0}.bulk-actions-bar{position:fixed;bottom:20px;left:calc(var(--sidebar-width) + (100% - var(--sidebar-width))/2);transform:translate(-50%,120px);display:flex;align-items:center;gap:12px;background:#fff;padding:11px 16px;border:1px solid var(--admin-line);border-radius:7px;box-shadow:0 4px 16px #0001;z-index:1030;opacity:0;visibility:hidden;transition:transform .15s,opacity .15s}.bulk-actions-bar.show{transform:translate(-50%,0);opacity:1;visibility:visible}
body.login-page{background:#f5f6f7!important;min-height:100dvh;height:auto!important;display:grid;place-items:center;padding:30px 20px!important;overflow:auto!important}.login-page .bg-mesh,.login-page .blob{display:none!important}.login-container,.login-card{position:relative!important;background:#fff!important;border:1px solid var(--admin-line)!important;border-radius:8px!important;box-shadow:none!important;backdrop-filter:none!important;padding:32px!important;max-width:420px!important;width:100%!important;animation:none!important}.login-page h1,.login-page h2,.login-page .brand-title{font-family:'Source Sans 3',sans-serif!important;font-size:27px!important;font-weight:600!important;color:var(--admin-ink)!important;letter-spacing:0!important}.login-page .btn-login{background:var(--admin-dark)!important;color:#fff!important;border:0!important;border-radius:6px!important;box-shadow:none!important;font-family:inherit!important;font-size:15px!important;transform:none!important}
@media(max-width:1199px){.main-content,.main-content.admin-page{padding:24px!important}.admin-page .grid{gap:16px}}
@media(max-width:991.98px){.wrapper{display:block}.mobile-header{display:flex;align-items:center;gap:13px;position:sticky;top:0;background:var(--admin-dark);color:#fff;padding:13px 18px;min-height:56px;z-index:1035}.mobile-header .admin-brand{font-size:18px}.mobile-header button,.sidebar-close{color:#fff;background:transparent;border:0;min-width:36px;min-height:34px}.sidebar{width:238px;transform:translateX(-100%);visibility:hidden;transition:transform .16s,visibility .16s}.sidebar.show{transform:translateX(0);visibility:visible}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:#181b2066;z-index:1039}.main-content,.main-content.admin-page{width:100%;margin:0!important;padding:22px 18px!important}.top-nav{display:none}.admin-page-header,.admin-page>header{margin:0 0 20px!important;padding:14px!important}.bulk-actions-bar{left:50%;max-width:calc(100vw - 24px);width:max-content;flex-wrap:wrap;justify-content:center}.admin-page .grid{grid-template-columns:1fr}.main-content .filters{gap:10px}.admin-page details{min-width:250px}}
@media(min-width:992px){.sidebar-close{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.login-page .login-container{padding:0!important;border:0!important;background:transparent!important}.login-page .login-card{padding:32px!important}.login-page .premium-logo{background:var(--admin-dark)!important;border-radius:8px!important;box-shadow:none!important;transform:none!important}.login-page .login-subtitle,.login-page .footer-text,.login-page .input-label{color:var(--admin-muted)!important}.login-page .login-title{letter-spacing:0!important}.login-page .btn-premium{background:var(--admin-dark)!important;color:#fff!important;border-radius:6px!important;font:600 15px 'Source Sans 3',sans-serif!important;box-shadow:none!important}.main-content :is(h1,h2,h3,h4,h5,h6){font-family:'Source Sans 3',system-ui,sans-serif!important}.main-content .btn-success{background:#fff!important;color:var(--admin-ink)!important;border-color:#c6c9ce!important}
.admin-page .button.admin-primary,.admin-page button[type=submit]:not(.secondary){color:#fff!important;border-color:var(--admin-dark)!important}
.main-content .btn-group{gap:8px;flex-wrap:wrap}.main-content .btn-group>.btn{border-radius:6px!important;margin-left:0!important}

.main-content .message-list>div{border:0!important;border-bottom:1px solid var(--admin-line)!important;border-radius:0!important;background:#fff!important}.main-content .message-item.unread{border-left:3px solid #777d85!important;background:#f5f6f7!important}
.admin-related-links{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 20px;font-size:14px}.admin-related-links a{color:var(--admin-ink)!important}
.main-content .action-item,.main-content .danger-zone-premium,.main-content .info-block{background:transparent!important;border:0!important;border-top:1px solid var(--admin-line)!important;border-radius:0!important;box-shadow:none!important;padding:16px 0!important}
.main-content[data-admin-page=content-review] .grid{grid-template-columns:260px minmax(0,1fr)}
.main-content[data-admin-page=education-lessons] section>form{max-width:960px}.main-content[data-admin-page=education-lessons] input[type=file]{width:100%}
@media(max-width:991.98px){.main-content[data-admin-page=content-review] .grid{grid-template-columns:1fr}}
body.login-page{grid-template-columns:minmax(0,420px);justify-content:center;align-content:center;gap:0}.login-page .login-header{margin-bottom:26px}.login-page .premium-logo{width:56px;height:56px;font-size:27px;margin-bottom:20px}.login-page .input-group-premium label{color:var(--admin-muted);font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;padding-left:0}.login-page .input-wrapper i{color:var(--admin-muted);left:12px;font-size:14px}.login-page .input-wrapper input{padding-left:36px!important;min-height:42px}.login-page .btn-premium{padding:11px 16px;margin-top:6px;min-height:42px;transform:none!important}.login-page .login-link,.login-page .site-link{color:var(--admin-muted)!important}.login-page .site-link{background:transparent;border:0;transform:none!important}.login-page .login-links{margin-top:22px}.login-page .premium-alert{color:#a9192a;background:#fff1f2;border-color:#e6bcc3;border-radius:6px}

/* Import controls and guide remain inside the shared content column. */
.admin-import-page .admin-import-stats{display:flex;gap:30px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--admin-line);color:var(--admin-muted)}
.admin-import-page .admin-import-stats strong{font-size:20px;color:var(--admin-ink);margin-right:5px}
.admin-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.admin-import-page input[type=file]{display:block;width:100%;margin:5px 0 20px;min-height:44px}
.admin-import-page input[type=file]::file-selector-button{background:var(--admin-soft);color:var(--admin-ink);border:0;border-radius:4px;padding:5px 10px;margin-right:12px;font:inherit;cursor:pointer}
.admin-import-page .admin-import-guide{border-top:1px solid var(--admin-line)!important;padding-top:24px!important}
@media(max-width:767px){.admin-import-grid{grid-template-columns:minmax(0,1fr);gap:0}.admin-import-page .admin-actions{align-items:stretch;flex-direction:column}.admin-import-page .admin-import-stats{gap:18px}}
/* App-aligned question library: two flat levels; imports are header actions. */
.ql-skill-tabs{gap:4px!important;border-bottom:1px solid #e1e3e6!important;margin-top:-8px!important;flex-wrap:wrap}
.ql-skill-tabs a{font-size:14px!important;padding:8px 12px!important}
.ql-skill-tabs a span{font-size:12px;color:#6b7078;margin-left:5px}
.ql-filters{align-items:end!important;margin:20px 0!important;gap:14px!important}
.ql-filters label:first-child{flex:2;min-width:220px}
.ql-count{margin-bottom:8px!important}.ql-explanation{font-size:14px!important;max-width:1000px;margin-bottom:20px!important}
.ql-table th:nth-child(1){width:50%}.ql-table th:nth-child(2){width:30%}
.ql-table td{vertical-align:top!important}.ql-instruction{display:block;font-size:12px!important;margin-bottom:5px}
.ql-prompt{white-space:pre-line;font-weight:600}.ql-details{margin-top:10px;font-size:14px}
.ql-details summary{cursor:pointer;color:#626871;font-size:13px}
.ql-details dl{margin:12px 0 0;border-left:2px solid #e4e6e8;padding-left:14px}
.ql-details dt{font-weight:600;margin-top:8px}.ql-details dd{margin:2px 0 8px}
.ql-choices{display:flex;gap:8px;flex-wrap:wrap}.ql-choices span{border:1px solid #d9dce0;border-radius:4px;padding:3px 8px}
.ql-pagination{display:flex;gap:16px;align-items:center;margin:20px 0}
.ql-import{position:relative}.ql-import>div{position:absolute;right:0;top:100%;z-index:5;width:240px;background:#fff;border:1px solid #d8dbe0;padding:8px;box-shadow:0 4px 14px #00000012}
.ql-import>div>a{display:block;padding:8px;color:#272b30}.ql-import>summary{list-style:revert!important;cursor:pointer}
