:root{color-scheme:light;--ink:#20272b;--muted:#66716c;--line:#e2e8e4;--green:#166b50;--soft:#edf6f0}
*{box-sizing:border-box;letter-spacing:0}
body{margin:0;background:#fff;color:var(--ink);font-family:Prompt,Arial,sans-serif;font-size:14px}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #63b8a0;outline-offset:3px}
svg{width:18px;height:18px;flex-shrink:0}
.admin-topbar{background:#fbfcfc;border-bottom:1px solid var(--line)}
.topbar-inner{max-width:1264px;margin:auto;padding:20px 32px;display:flex;align-items:center;gap:14px}
.brand-mark{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.brand-name{font-size:20px;font-weight:600;line-height:1.5}
.brand-description{color:var(--muted);font-size:12px;line-height:1.8;margin:2px 0 0}
.admin-shell{max-width:1264px;margin:auto;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:calc(100vh - 105px)}
.sidebar{background:#fafcfb;border-right:1px solid var(--line);padding:30px 20px}
.sidebar-inner{position:sticky;top:28px}
.profile{padding:0 12px 26px;border-bottom:1px solid var(--line);margin-bottom:24px}
.user-photo{width:72px;height:72px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #fff;outline:1px solid var(--line);margin-bottom:16px}
.profile-name{font-size:14px;font-weight:500;line-height:1.8;margin:0;overflow-wrap:anywhere}
.menu-label{font-size:11px;color:var(--muted);margin:0 12px 10px}
.admin-nav{gap:6px}
.admin-nav .nav-link{display:flex;align-items:center;gap:10px;color:#526359;border-left:3px solid transparent;border-radius:4px;padding:12px 10px;font-size:13px;line-height:1.7;min-height:46px}
.admin-nav .nav-link:hover{color:var(--green);background:#f0f6f2}
.admin-nav .nav-link.active{color:var(--green);background:var(--soft);border-left-color:#1b8861;font-weight:500}
.sidebar-footer{margin-top:28px;padding:20px 12px 0;border-top:1px solid var(--line)}
.logout-link{display:inline-flex;align-items:center;gap:10px;color:#88605c;font-size:12px;padding:4px 0}
.logout-link:hover{color:#a4423e}
.admin-main{min-width:0;padding:38px 36px 48px}
.breadcrumb-label{color:var(--muted);font-size:12px;margin:0 0 12px}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:34px}
h1{font-size:26px;font-weight:600;line-height:1.6;margin:0}
.category-count{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap;padding-top:10px}
.category-count strong{font-size:16px;font-weight:500;color:var(--green)}
.category-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0}
.category-table .id-column{width:100px}
.category-table thead{background:#f3f6f4}
.category-table th{padding:14px 18px;font-size:12px;font-weight:500;color:#5d6b63;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-table td{padding:0 18px;border-bottom:1px solid #e8ece9;vertical-align:middle;overflow-wrap:anywhere}
.category-table tbody tr:hover{background:#f9fbfa}
.category-id{font-size:12px;color:#7a857e}
.category-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;padding:17px 0;color:var(--ink);font-weight:400;line-height:1.8}
.category-link span{min-width:0;overflow-wrap:anywhere}
.category-link svg{color:#819188;width:16px;height:16px}
.category-link:hover{color:var(--green)}
.category-link:hover svg{color:var(--green)}
.category-table .empty-state{padding:36px 20px;line-height:1.9;text-align:center;color:var(--muted)}
.admin-footer{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);color:#77847d;font-size:11px;line-height:1.9}
@media(max-width:1000px){
 .admin-shell{grid-template-columns:220px minmax(0,1fr)}
 .topbar-inner{padding:20px 24px}
 .sidebar{padding:28px 16px}
 .admin-main{padding:32px 24px 40px}
 h1{font-size:23px}
 .page-heading{gap:12px}
 .category-table .id-column{width:86px}
}
@media(max-width:700px){
 .topbar-inner{padding:18px;align-items:flex-start;gap:12px}
 .brand-mark{width:32px;height:32px;margin-top:2px}
 .brand-name{font-size:18px}
 .brand-description{font-size:11px}
 .admin-shell{display:block;min-height:0}
 .sidebar{border-right:0;border-bottom:1px solid var(--line);padding:20px 18px 16px}
 .sidebar-inner{position:static}
 .profile{display:flex;align-items:center;gap:14px;padding:0 0 18px;margin-bottom:16px}
 .user-photo{width:52px;height:52px;margin-bottom:0;flex-shrink:0}
 .profile-name{font-size:13px}
 .menu-label{margin-left:0;margin-bottom:8px}
 .admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .admin-nav .nav-link{padding:10px 8px;gap:8px;font-size:12px;min-width:0}
 .admin-nav .nav-link span{min-width:0;overflow-wrap:anywhere}
 .admin-nav svg{width:16px;height:16px}
 .sidebar-footer{margin-top:12px;padding:12px 0 0}
 .admin-main{padding:26px 18px 32px}
 .breadcrumb-label{font-size:11px;margin-bottom:8px}
 .page-heading{margin-bottom:22px;gap:10px;flex-wrap:wrap;align-items:center}
 h1{font-size:22px}
 .category-count{padding-top:0;font-size:11px}
 .category-count strong{font-size:14px}
 .category-table .id-column{width:72px}
 .category-table th{padding:12px 10px;font-size:11px}
 .category-table td{padding:0 10px}
 .category-link{font-size:13px;gap:10px;min-height:62px}
 .admin-footer{margin-top:32px}
}
.edu-admin .admin-main{overflow-wrap:anywhere}
.edu-admin .page-title{font-size:26px;font-weight:600;line-height:1.6;margin:0 0 26px;text-align:left!important;color:var(--ink)!important}
.edu-admin .page-title svg{width:22px;height:22px;color:var(--green);vertical-align:middle;margin-right:8px}
.edu-admin .admin-table{table-layout:fixed;width:100%;border-collapse:collapse;--bs-table-bg:transparent;--bs-table-hover-bg:#f9fbfa;margin:0}
.edu-admin .admin-table th{font-size:12px;color:#5d6b63;font-weight:500;background:#f3f6f4;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 16px}
.edu-admin .admin-table td{border:0;border-bottom:1px solid var(--line);padding:16px;vertical-align:middle;overflow-wrap:anywhere}
.edu-admin .admin-table a:not(.btn){color:var(--ink);line-height:1.8}
.edu-admin .admin-table .fw-semibold{font-weight:400!important}
.edu-admin .admin-table a:not(.btn):hover{color:var(--green);text-decoration:underline}
.edu-admin .admin-table th:first-child{width:84px}
.edu-admin .manage-form-table th:last-child,.edu-admin .type-table th:last-child{width:106px}
.edu-admin .access-table th:first-child{width:auto}
.edu-admin .access-table th:last-child{width:64px}
.edu-admin .admin-table td:last-child form{vertical-align:middle}
.edu-admin .btn{font-family:inherit;font-size:13px;font-weight:400;border-radius:6px;padding:9px 14px;line-height:1.5}
.edu-admin .btn svg{width:16px;height:16px;vertical-align:-3px;margin-right:5px}
.edu-admin .btn-primary,.edu-admin .btn-success{background:#166b50;border-color:#166b50;color:#fff}
.edu-admin .btn-primary:hover,.edu-admin .btn-success:hover{background:#10543f;border-color:#10543f}
.edu-admin .btn-primary:focus-visible,.edu-admin .btn-success:focus-visible{outline:3px solid #63b8a0;outline-offset:3px}
.edu-admin .btn-secondary,.edu-admin .btn-warning{color:#53645a;background:#fff;border-color:#cdd6d1}
.edu-admin .btn-secondary:hover,.edu-admin .btn-warning:hover{color:#166b50;background:#edf6f0;border-color:#86b59e}
.edu-admin .btn-danger{color:#a44240;background:#fff;border-color:#e3c7c6}
.edu-admin .btn-danger:hover{color:#913331;background:#fcf0ef;border-color:#cb8f8b}
.edu-admin .icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;padding:0}
.edu-admin .icon-button svg{margin:0;width:16px;height:16px}
.edu-admin .form-label{font-size:13px;font-weight:500!important;margin-bottom:8px}
.edu-admin .form-control,.edu-admin .form-select{font-family:inherit;font-size:14px;border-radius:6px;border-color:#cdd6d1;padding:11px 12px;min-width:0}
.edu-admin .form-control:focus,.edu-admin .form-select:focus{border-color:#63b8a0;box-shadow:0 0 0 3px #e7f4ed}
.edu-admin textarea.form-control{min-height:110px;resize:vertical}
.edu-admin .form-control[type=file]{padding:9px 12px}
.edu-admin form .mb-3{margin-bottom:22px!important}
.edu-admin .form-text{font-size:11px;line-height:1.8}
.edu-admin .alert{border-radius:6px;font-size:13px;line-height:1.9;border:1px solid var(--line);box-shadow:none}
.edu-admin .alert-info,.edu-admin .alert-secondary{background:#f3f6f4;color:#53645a;border-color:var(--line)}
.edu-admin .alert-success{background:#edf6f0;color:#166b50;border-color:#c9e1d1}
.edu-admin .alert-danger{background:#fcf0ef;color:#a44240;border-color:#eed3d1}
.edu-admin .alert-warning{background:#fff9eb;color:#80642e;border-color:#eadcb5}
.edu-admin .text-primary{color:var(--green)!important}
.edu-admin .modal-content{border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 40px #20272b18}
.edu-admin .modal-header{padding:18px 24px;border-color:var(--line)}
.edu-admin .modal-title{font-size:18px;font-weight:500}
.edu-admin .modal-body{padding:24px}
.compact-shell{display:block;max-width:760px;margin:0 auto;min-height:0}
.compact-shell .admin-main{padding:30px 32px}
.edu-admin-compact .topbar-inner{max-width:760px;padding:18px 32px}
.edu-admin-compact .page-title{font-size:22px;margin-bottom:24px}
.modal-body .admin-topbar,.modal-body .admin-footer{display:none}
.modal-body .compact-shell .admin-main{padding:0}
.modal-body .compact-shell .page-title{display:none}
.edu-admin .form-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.edu-admin .index-heading{align-items:center;flex-wrap:wrap;margin-bottom:26px}
.edu-admin .index-heading .page-title{margin:0}
.edu-admin .index-heading .category-count{padding-top:0}
.edu-admin .index-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;min-width:0;max-width:100%}
.edu-admin .index-categories .category-filter{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.7;color:#53645a;background:#fff;max-width:100%}
.edu-admin .index-categories .category-filter:hover{color:var(--green);border-color:#86b59e;background:#f5f9f6}
.edu-admin .index-categories .category-filter.active{color:var(--green);border-color:#8cbca2;background:var(--soft);font-weight:500}
.edu-admin .index-categories .category-label{overflow-wrap:anywhere;min-width:0}
.edu-admin .index-categories .category-count{display:inline-block;padding:0;min-width:20px;font-size:11px;text-align:center;color:#77847d;font-variant-numeric:tabular-nums}
.edu-admin .index-search-fields{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;padding-bottom:26px}
.edu-admin .index-search-fields>div{min-width:0}
.edu-admin .index-search{position:relative}
.edu-admin .index-search svg{position:absolute;left:12px;top:14px;width:16px;height:16px;color:#718079;pointer-events:none}
.edu-admin .table-filter-input{width:100%;height:44px;border:1px solid #cdd6d1;border-radius:6px;background:#fff;font:inherit;padding:10px 12px 10px 36px;min-width:0}
.edu-admin .table-filter-input:focus{outline:3px solid #e7f4ed;border-color:#63b8a0}
.edu-admin #formsTable.index-form-table th:first-child{width:125px}
.edu-admin .index-form-table .cell-id{color:#7a857e;font-size:12px}
.edu-admin .index-form-table .highlight{background-color:#fff4cc;--bs-table-bg:#fff4cc}
.edu-admin .index-results{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.edu-admin .index-results small{font-size:12px;line-height:1.8}
.edu-admin .index-results .icon-button{width:40px;height:40px;flex-shrink:0}
.edu-admin #emptySearchRow[hidden]{display:none}
@media(max-width:700px){
 .edu-admin .index-categories{flex-wrap:nowrap;overflow-x:auto;margin-bottom:22px;padding-bottom:8px;scrollbar-width:thin}
 .edu-admin .index-categories .category-filter{flex-shrink:0;white-space:nowrap;padding:7px 10px}
 .edu-admin .index-search-fields{grid-template-columns:100px minmax(0,1fr);gap:10px;padding-bottom:22px}
 .edu-admin .table-filter-input{font-size:16px}
 .edu-admin #formsTable.index-form-table th:first-child{width:70px}
 .edu-admin .index-results small{font-size:11px}
}
@media(max-width:1000px){.edu-admin .page-title{font-size:23px}}
@media(max-width:700px){
 .edu-admin .page-title{font-size:21px;margin-bottom:22px}
 .edu-admin .admin-table th{padding:12px 8px;font-size:11px}
 .edu-admin .admin-table td{padding:14px 8px;font-size:13px}
 .edu-admin .admin-table th:first-child{width:58px}
 .edu-admin .manage-form-table th:last-child,.edu-admin .type-table th:last-child{width:88px}
 .edu-admin .access-table th:first-child{width:auto}
 .edu-admin .access-table th:last-child{width:54px}
 .edu-admin .admin-table .icon-button{width:32px;height:34px;min-width:32px}
 .edu-admin .btn{font-size:12px;padding:9px 12px}
 .edu-admin .admin-table .icon-button{padding:0}
 .compact-shell .admin-main{padding:24px 18px}
 .edu-admin-compact .topbar-inner{padding:18px}
 .edu-admin .modal-body{padding:20px 16px}
 .edu-admin .modal-header{padding:16px}
 .edu-admin .form-control,.edu-admin .form-select{font-size:16px}
}
@media(max-height:450px){
 .edu-admin-compact .topbar-inner{padding:10px 24px}
 .edu-admin-compact .brand-mark{width:28px;height:28px}
 .edu-admin-compact .brand-name{font-size:17px}
 .edu-admin-compact .brand-description,.edu-admin-compact .admin-footer{display:none}
 .edu-admin-compact .admin-main{padding:14px 24px}
 .edu-admin-compact .page-title{font-size:18px;margin-bottom:12px}
 .edu-admin-compact form .mb-3{margin-bottom:12px!important}
 .edu-admin-compact .form-control,.edu-admin-compact .form-select{padding:8px 12px}
 .edu-admin-compact textarea.form-control{height:100px;min-height:80px}
}
