.ielts-admin-dashboard{max-width:1280px;margin:0 auto;padding:8px 0 28px}.ielts-admin-dashboard__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px}.ielts-admin-dashboard h1{margin:0;color:var(--color-base-900);font-size:24px;font-weight:650;letter-spacing:-.025em}.ielts-admin-dashboard__heading p{margin:5px 0 0;color:var(--color-base-500);font-size:13px}.ielts-admin-dashboard__tabs{display:flex;gap:2px;padding:3px;border-radius:7px;background:var(--color-base-100)}.ielts-admin-dashboard__tabs a{padding:7px 11px;border-radius:5px;color:var(--color-base-600);font-size:12px;font-weight:600;text-decoration:none}.ielts-admin-dashboard__tabs a:hover{color:var(--color-primary-600)}.ielts-admin-dashboard__tabs .is-active{background:#fff;color:var(--color-base-900);box-shadow:0 1px 3px rgb(15 23 42 / .1)}.ielts-admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.ielts-admin-metric{display:block;overflow:hidden;border:1px solid var(--color-base-200);border-radius:8px;background:#fff;color:inherit;text-decoration:none}.ielts-admin-metric:hover{border-color:var(--color-primary-200)}.ielts-admin-metric__main{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 17px}.ielts-admin-metric span,.ielts-admin-metric strong{display:block}.ielts-admin-metric span{color:var(--color-base-500);font-size:12px}.ielts-admin-metric strong{margin-top:5px;color:var(--color-base-900);font-size:27px;font-weight:650;letter-spacing:-.03em;line-height:1}.ielts-admin-metric__main i{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:var(--color-primary-50);color:var(--color-primary-600);font-size:19px}.ielts-admin-metric small{display:block;padding:12px 20px;border-top:1px solid var(--color-base-100);color:var(--color-base-500);font-size:11px}.ielts-admin-panel{margin-top:20px;border:1px solid var(--color-base-200);border-radius:8px;background:#fff}.ielts-admin-panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--color-base-100)}.ielts-admin-panel h2{margin:0;color:var(--color-base-900);font-size:14px;font-weight:650}.ielts-admin-panel header p{margin:4px 0 0;color:var(--color-base-500);font-size:11px}.ielts-admin-panel header>a,.ielts-admin-panel header>span{border-radius:5px;color:var(--color-base-600);font-size:11px;font-weight:600;text-decoration:none}.ielts-admin-panel header>a{color:var(--color-primary-600)}.ielts-admin-panel header>a:hover{text-decoration:underline}.ielts-admin-panel header>span{padding:7px 9px;background:var(--color-base-100)}.ielts-admin-chart__legend{display:flex;justify-content:center;gap:23px;margin:18px 0 5px;color:var(--color-base-600);font-size:11px}.ielts-admin-chart__legend span{display:flex;align-items:center;gap:6px}.ielts-admin-chart__legend i{display:inline-block;width:18px;height:2px;background:var(--color-primary-600)}.ielts-admin-chart__legend span:last-child i{background:repeating-linear-gradient(90deg,var(--color-primary-400) 0 2px,transparent 2px 5px)}.ielts-admin-chart__canvas{padding:4px 20px 14px}.ielts-admin-chart svg{display:block;width:100%;height:190px;overflow:visible}.ielts-admin-chart svg line{stroke:var(--color-base-200);stroke-dasharray:2 3}.ielts-admin-chart svg polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.ielts-admin-chart__attempts{stroke:var(--color-primary-600)}.ielts-admin-chart__students{stroke:var(--color-primary-400);stroke-dasharray:2 5}.ielts-admin-chart__labels{display:grid;grid-template-columns:repeat(7,1fr);padding:0 18px;color:var(--color-base-500);font-size:10px;text-align:center}.ielts-admin-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:170px;padding:24px;color:var(--color-base-500);text-align:left}.ielts-admin-empty>i{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:var(--color-base-100);color:var(--color-primary-600)}.ielts-admin-empty strong{display:block;color:var(--color-base-800);font-size:12px}.ielts-admin-empty p{margin:3px 0 0;font-size:11px}.ielts-admin-empty a{display:inline-block;margin-top:8px;color:var(--color-primary-600);font-size:11px;font-weight:650;text-decoration:none}.ielts-admin-table-wrap{overflow-x:auto}.ielts-admin-tests table{width:100%;min-width:690px;border-collapse:collapse;text-align:left}.ielts-admin-tests th,.ielts-admin-tests td{padding:13px 20px;border-bottom:1px solid var(--color-base-100);color:var(--color-base-600);font-size:11px;white-space:nowrap}.ielts-admin-tests thead th{background:var(--color-base-50);color:var(--color-base-500);font-size:10px;font-weight:650;text-transform:uppercase}.ielts-admin-tests tbody tr:last-child>*{border-bottom:0}.ielts-admin-tests tbody th{color:var(--color-base-800);font-weight:600}.ielts-admin-tests tbody th a{color:inherit;text-decoration:none}.ielts-admin-tests tbody th a:hover{color:var(--color-primary-600)}.ielts-admin-status{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:650}.ielts-admin-status.is-live{background:#e9f9ef;color:#187647}.ielts-admin-status.is-draft{background:var(--color-base-100);color:var(--color-base-600)}@media(max-width:900px){.ielts-admin-metrics{grid-template-columns:1fr}.ielts-admin-dashboard__heading{align-items:flex-start;flex-direction:column}.ielts-admin-chart__canvas{padding-right:10px;padding-left:10px}}@media(max-width:600px){.ielts-admin-dashboard{padding-top:0}.ielts-admin-dashboard__tabs{width:100%}.ielts-admin-dashboard__tabs a{flex:1;text-align:center}.ielts-admin-panel>header{align-items:flex-start;flex-direction:column;gap:9px}.ielts-admin-chart__legend{justify-content:flex-start;padding:0 16px;gap:12px}.ielts-admin-chart__canvas{overflow-x:auto}.ielts-admin-chart svg{min-width:500px}.ielts-admin-chart__labels{min-width:500px}.ielts-admin-empty{justify-content:flex-start}} /* Excel importer: a self-contained Unfold-compatible admin utility. */ .html-import.excel-import { max-width: 1120px; } .html-import__header { align-items: flex-end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.5rem; } .html-import__header h1 { font-size: 1.5rem; font-weight: 700; margin: .25rem 0 .5rem; } .html-import__header p { color: var(--body-quiet-color); line-height: 1.55; margin: 0; max-width: 43rem; } .html-import__header > a { border: 1px solid var(--border-color); border-radius: .5rem; color: var(--primary-600); flex: none; font-size: .8125rem; font-weight: 700; padding: .65rem .85rem; text-decoration: none; } .html-import__eyebrow { color: var(--primary-600); font-size: .6875rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 .25rem; text-transform: uppercase; } .html-import__steps { background: var(--body-bg); border: 1px solid var(--border-color); border-radius: .75rem; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0 0 1.125rem; padding: 0; } .html-import__steps li { align-items: center; display: flex; gap: .625rem; min-height: 4.25rem; padding: .75rem 1rem; position: relative; } .html-import__steps li:not(:last-child)::after { background: var(--border-color); content: ""; height: 2rem; position: absolute; right: 0; width: 1px; } .html-import__steps li > span,.excel-import-checklist li > span { align-items: center; background: var(--primary-100); border-radius: 999px; color: var(--primary-700); display: flex; flex: 0 0 auto; font-size: .75rem; font-weight: 800; height: 1.75rem; justify-content: center; width: 1.75rem; } .html-import__steps strong,.html-import__steps small,.excel-import-checklist strong,.excel-import-checklist small { display: block; } .html-import__steps strong,.excel-import-checklist strong { font-size: .8125rem; } .html-import__steps small,.excel-import-checklist small { color: var(--body-quiet-color); font-size: .6875rem; margin-top: .1rem; } .html-import__steps .is-current > span { background: var(--primary-600); color: #fff; } .html-import__steps .is-current strong { color: var(--primary-600); } .html-import-card { background: var(--body-bg); border: 1px solid var(--border-color); border-radius: .75rem; overflow: hidden; } .html-import-card__heading { align-items: flex-start; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; padding: 1.25rem 1.375rem; } .html-import-card__heading h2 { font-size: 1.125rem; margin: .125rem 0 .35rem; } .html-import-card__heading p,.html-import-form__intro { color: var(--body-quiet-color); font-size: .8125rem; line-height: 1.5; margin: 0; } .html-import-form { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr); } .html-import-form__main { border-right: 1px solid var(--border-color); } .html-import-form__aside { background: var(--darkened-bg); padding: 1.375rem; } .html-import-form__aside h2 { font-size: 1.125rem; margin: .125rem 0 .45rem; } .excel-import-checklist { list-style: none; margin: 0; padding: .5rem 1.375rem 1rem; } .excel-import-checklist li { align-items: center; border-bottom: 1px solid var(--border-color); display: flex; gap: .75rem; padding: .875rem 0; } .excel-import-template-card { align-items: center; background: var(--primary-50); border: 1px solid var(--primary-200); border-radius: .625rem; color: var(--body-fg); display: flex; gap: .7rem; margin: .25rem 1.375rem 1.25rem; padding: .8rem; text-decoration: none; } .excel-import-template-card > span { align-items: center; background: var(--primary-600); border-radius: .4rem; color: #fff; display: flex; font-size: .7rem; font-weight: 800; height: 2.25rem; justify-content: center; width: 2.25rem; } .excel-import-template-card div { flex: 1; }.excel-import-template-card strong,.excel-import-template-card small { display: block; }.excel-import-template-card strong { font-size: .75rem; }.excel-import-template-card small { color: var(--body-quiet-color); font-size: .6875rem; margin-top: .1rem; } .html-file-picker { border: 1px dashed var(--primary-300); border-radius: .625rem; margin: 1rem 0; padding: .9rem; }.html-file-picker input { max-width: 100%; }.html-file-picker strong,.html-file-picker small { display: block; font-size: .75rem; margin-top: .35rem; }.html-file-picker small { color: var(--body-quiet-color); font-size: .6875rem; } .html-import-publish { align-items: flex-start; background: var(--body-bg); border: 1px solid var(--border-color); border-radius: .625rem; cursor: pointer; display: flex; gap: .6rem; margin-top: 1rem; padding: .8rem; }.html-import-publish strong,.html-import-publish small { display: block; }.html-import-publish strong { font-size: .75rem; }.html-import-publish small { color: var(--body-quiet-color); font-size: .6875rem; margin-top: .15rem; } .html-import-safety { background: var(--primary-50); border-radius: .5rem; margin-top: 1rem; padding: .8rem; }.html-import-safety strong { color: var(--primary-700); font-size: .75rem; }.html-import-safety p { color: var(--body-quiet-color); font-size: .6875rem; line-height: 1.45; margin: .3rem 0 0; } .html-import-form__footer,.html-import-actions { align-items: center; border-top: 1px solid var(--border-color); display: flex; gap: .75rem; grid-column: 1 / -1; justify-content: flex-end; padding: .9rem 1.125rem; }.html-import-form__footer a,.html-import-actions a { color: var(--body-quiet-color); font-size: .8125rem; text-decoration: none; }.html-import-form__footer button,.html-import-actions button { background: var(--primary-600); border: 0; border-radius: .5rem; color: #fff; cursor: pointer; font-weight: 700; padding: .65rem .9rem; } .html-import-summary { display: grid; grid-template-columns: repeat(4, 1fr); }.html-import-summary > div { border-bottom: 1px solid var(--border-color); border-right: 1px solid var(--border-color); padding: 1rem 1.375rem; }.html-import-summary strong,.html-import-summary span { display: block; }.html-import-summary strong { font-size: 1.125rem; }.html-import-summary span { color: var(--body-quiet-color); font-size: .6875rem; margin-top: .15rem; text-transform: uppercase; }.html-import-preview-list { padding: .5rem 1.25rem; }.html-import-preview-item { display: grid; gap: .75rem; grid-template-columns: 2rem 1fr; padding: 1rem 0; }.html-import-preview-item + .html-import-preview-item { border-top: 1px solid var(--border-color); }.html-import-preview-item__number { align-items: center; background: var(--primary-100); border-radius: .4rem; color: var(--primary-700); display: flex; font-size: .75rem; font-weight: 800; height: 2rem; justify-content: center; }.html-import-preview-item h3 { font-size: .875rem; margin: 0; }.html-import-preview-item p { color: var(--body-quiet-color); font-size: .75rem; line-height: 1.5; margin: .4rem 0; } @media (max-width: 800px) { .html-import__header { align-items: flex-start; flex-direction: column; }.html-import-form { grid-template-columns: 1fr; }.html-import-form__main { border-right: 0; }.html-import-form__aside { border-top: 1px solid var(--border-color); }.html-import-summary { grid-template-columns: repeat(2, 1fr); } }