:root{--teal:#00677f;--dark:#00546a;--border:#d7dadd;--text:#292d30;--muted:#667078;--bg:#eef0f2}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{color:#334047;cursor:pointer;background:#fff;border:1px solid #aeb5ba;border-radius:3px;padding:8px 14px}button:hover{background:#f4f6f7}.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}.primary:hover{background:var(--dark)}.primary:disabled{opacity:.6}.compact{align-self:flex-end;margin-bottom:1px}.admin-login-shell{background:#555 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cpath fill='none' stroke='%23666' stroke-width='2' d='M10 40c30-35 70-35 95 0s18 75-12 101M35 60c20-23 47-22 62 1s9 50-11 67M130 0c-9 26-5 53 17 72M0 130c31-4 53 8 66 30'/%3E%3C/svg%3E");place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{text-align:center;background:#fff;border-radius:4px;width:min(460px,100%);padding:42px 48px;box-shadow:0 8px 30px #0005}.brand-mark{background:var(--teal);color:#fff;border:5px solid #dceff2;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;font-size:22px;font-weight:700;display:grid}.brand-mark.small{border-width:3px;width:42px;height:42px;margin:0;font-size:15px}.login-card h1{margin:0 0 10px;font-size:26px}.login-card p{color:var(--muted);margin:0 0 28px;line-height:1.5}.login-card label{text-align:left;font-weight:700;display:block}.login-card input,.question-form input,.question-form textarea,.form-row input,.import-box{background:#fff;border:1px solid #aab2b8;border-radius:2px;width:100%;margin-top:7px;padding:10px}.login-card .primary{width:100%;margin-top:20px;padding:11px}.login-card small{color:#8a9297;margin-top:24px;display:block}.admin-app header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:var(--muted);margin-top:3px}.link-button{color:var(--teal);border:0}.admin-body{grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 70px);display:grid}aside{background:#3f474c;padding:24px 0}aside button{text-align:left;color:#e8ecee;background:0 0;border:0;border-left:4px solid #0000;border-radius:0;width:100%;padding:14px 25px;display:block}aside button:hover{background:#4c555b}aside button.active{color:#fff;background:#30383d;border-left-color:#52b5c5;font-weight:700}.workspace{width:100%;max-width:1500px;padding:30px}.title-row{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.title-row h1{margin:0;font-size:27px}.title-row p{color:var(--muted);margin:6px 0 0}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}.stat{border:1px solid var(--border);border-top:4px solid var(--teal);background:#fff;padding:22px}.stat strong{font-size:30px;display:block}.stat span{color:var(--muted)}.panel{border:1px solid var(--border);background:#fff;margin-bottom:22px}.panel-head{border-bottom:1px solid var(--border);background:#f6f7f8;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-head h2{margin:0;font-size:16px}.panel-content{padding:18px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e4e6;padding:11px 10px}th{text-transform:uppercase;color:#5f6870;background:#f6f7f8;font-size:12px}.empty{text-align:center;color:#7d858b;padding:35px}.status{text-transform:capitalize;background:#e4e8ea;border-radius:12px;padding:3px 8px;font-size:12px;display:inline-block}.status.active,.status.completed{color:#276e38;background:#dcf1e1}.status.disabled,.status.expired{color:#8a3030;background:#f5dede}.status.in_progress{color:#245e79;background:#dcecf4}.form-row{align-items:end;gap:16px;display:flex}.form-row label{min-width:180px;font-weight:700}.question-form{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.question-form label{font-weight:700}.question-form .wide{grid-column:1/-1}.question-form .check{align-items:center;gap:8px;font-weight:400;display:flex}.question-form .check input{width:auto;margin:0}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.question-cell{min-width:300px;max-width:560px;line-height:1.35;display:block}.helper{color:var(--muted);margin-top:0}.import-box{margin:0 0 12px;font-family:monospace;display:block}.notice{border:1px solid;margin-bottom:18px;padding:12px 15px}.notice.success{color:#245e31;background:#e4f3e7;border-color:#a6cfad}.notice.error{color:#812c2c;background:#f8e4e4;border-color:#d9aaaa}.loading-line{background:linear-gradient(90deg,var(--teal),#62bdc8,var(--teal));height:3px;margin-bottom:14px}.modal-backdrop{z-index:10;background:#0008;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.record-modal{background:#fff;width:min(1000px,100%);max-height:90vh;padding:28px;position:relative;overflow:auto}.close{border:0;font-size:28px;position:absolute;top:12px;right:15px}.record-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0;display:grid}.record-grid article{border:1px solid var(--border);padding:12px}.record-grid strong,.record-grid span{display:block}.record-grid span{color:var(--muted);margin:4px 0 10px}.record-grid video,.no-video{aspect-ratio:16/9;color:#aaa;background:#111;place-items:center;width:100%;display:grid}.report{border-left:4px solid var(--teal);background:#f3f6f7;margin-top:20px;padding:18px}.score-row{flex-wrap:wrap;gap:10px;display:flex}.score-row span{border:1px solid var(--border);background:#fff;padding:7px 10px}@media (max-width:850px){.admin-body{grid-template-columns:1fr}aside{padding:0;display:flex;overflow:auto}aside button{white-space:nowrap;border-bottom:4px solid #0000;border-left:0;width:auto}.stats{grid-template-columns:repeat(2,1fr)}.workspace{padding:18px}.question-form{grid-template-columns:1fr}.form-row{flex-direction:column;align-items:stretch}.record-grid{grid-template-columns:1fr}}@media (max-width:520px){.stats{grid-template-columns:1fr}.login-card{padding:32px 24px}.title-row{display:block}.title-row>button{margin-top:12px}}button,input,textarea,select{font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}.invite-create-form{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.invite-create-form label{font-weight:700}.invite-create-form label span{color:#b73535;margin-left:4px}.invite-create-form input,.invite-create-form select,.question-form select,.filter-row select{background:#fff;border:1px solid #aab2b8;border-radius:2px;width:100%;margin-top:7px;padding:10px}.invite-create-form .wide{grid-column:1/-1}.filter-row{align-items:flex-end;gap:12px;margin:0 0 16px;display:flex}.filter-row label{min-width:220px;font-weight:700}.list-filters{border:1px solid var(--border);background:#f4f7f8;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr)) auto;align-items:end;gap:12px;margin:0 0 18px;padding:14px;display:grid}.question-list-filters{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(130px,1fr)) auto}.program-bank-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.program-bank-card{text-align:left;background:#fff;border:1px solid #cdd5d9;border-radius:6px;grid-template-columns:1fr auto;gap:4px 12px;min-height:108px;padding:16px;display:grid}.program-bank-card:hover,.program-bank-card.selected{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f0f8fa}.program-bank-card span{color:var(--muted);letter-spacing:.08em;align-self:center;font-size:12px;font-weight:700}.program-bank-card strong{color:#243238;grid-column:1;font-size:22px}.program-bank-card small{color:#075d71;background:#dceef2;border-radius:999px;grid-area:1/2/span 2;align-self:center;padding:5px 8px;font-weight:700}.program-bank-card em{color:var(--muted);grid-column:1/-1;font-size:12px;font-style:normal}.list-filters label{color:#36444b;min-width:0;font-weight:700}.list-filters input,.list-filters select{background:#fff;border:1px solid #aab2b8;border-radius:2px;width:100%;margin-top:7px;padding:10px;display:block}.filter-count{color:var(--muted);white-space:nowrap;padding:10px 0}.success-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161f2394;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.success-modal{text-align:center;background:#fff;border-radius:8px;width:min(430px,100%);padding:38px 34px 32px;animation:.24s ease-out both success-pop;box-shadow:0 24px 70px #00000047}.success-modal h2{color:#243238;margin:18px 0 8px;font-size:25px}.success-modal p{color:var(--muted);margin:0 0 24px;line-height:1.6}.success-modal button{min-width:150px}.success-check{border:4px solid #32a65a;border-radius:50%;width:78px;height:78px;margin:0 auto;animation:.42s ease-out both success-ring;position:relative}.success-check:after{content:"";transform-origin:50%;border-bottom:5px solid #32a65a;border-right:5px solid #32a65a;width:20px;height:36px;animation:.3s ease-out .22s forwards success-tick;position:absolute;top:14px;left:24px;transform:rotate(45deg)scale(0)}@keyframes success-pop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes success-ring{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes success-tick{to{transform:rotate(45deg)scale(1)}}.full-code{align-items:center;gap:8px;min-width:230px;display:flex}.full-code code,.legacy-code code{white-space:nowrap;font-size:13px}.full-code button{padding:4px 8px}.legacy-code{flex-direction:column;gap:4px;display:flex}.legacy-code small{color:#9a5a22;white-space:nowrap}.sort-button{color:inherit;font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}.sort-button:hover{color:var(--teal);background:0 0}.sort-button span{color:var(--teal);font-size:10px}.invite-note{white-space:normal;overflow-wrap:anywhere;min-width:140px;max-width:240px;line-height:1.45;display:block}.invite-actions{white-space:nowrap;gap:7px;display:flex}.invite-actions .danger{color:#a42d2d;border-color:#bf4a4a}.invite-actions .danger:hover{background:#fae9e9}.invite-actions .edit{border-color:var(--teal);color:var(--teal);font-weight:700}.invite-edit-modal{background:#fff;border-radius:8px;width:min(820px,100%);max-height:92vh;padding:30px;position:relative;overflow:auto;box-shadow:0 24px 70px #0000004d}.invite-edit-modal h2{margin:0 0 8px;font-size:24px}.invite-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.invite-edit-form label{color:#36444b;min-width:0;font-weight:700}.invite-edit-form label span{color:#b73535;margin-left:4px}.invite-edit-form input,.invite-edit-form select,.invite-edit-form textarea{background:#fff;border:1px solid #aab2b8;border-radius:2px;width:100%;margin-top:7px;padding:10px;display:block}.invite-edit-form textarea{resize:vertical}.invite-edit-form .wide{grid-column:1/-1}.invite-derived-note{border-left:4px solid var(--teal);color:#4f5d64;background:#eef6f7;margin:18px 0;padding:12px 14px;line-height:1.55}.invite-edit-actions{justify-content:flex-end;gap:10px;display:flex}.question-video{aspect-ratio:16/9;background:#111;border-radius:3px;width:190px;display:block}.no-question-video{color:#777;white-space:nowrap;padding:8px 0;display:inline-block}@media (min-width:1050px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:850px){.invite-create-form{grid-template-columns:1fr}.invite-create-form .wide{grid-column:auto}.invite-edit-form{grid-template-columns:1fr}.invite-edit-form .wide{grid-column:auto}.list-filters,.question-list-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.list-filters .search-field,.list-filters .filter-count{grid-column:1/-1}}@media (max-width:520px){.list-filters,.question-list-filters{grid-template-columns:1fr}.list-filters .search-field,.list-filters .filter-count{grid-column:auto}.success-modal{padding:30px 22px 26px}}.login-card label+label{margin-top:16px}.admin-account{align-items:center;gap:14px;display:flex}.admin-account>span{color:var(--muted);font-size:13px}aside button{justify-content:space-between;align-items:center;display:flex}aside button.locked,aside button.locked:hover{color:#899197;cursor:not-allowed;opacity:.72;background:#363d42}.report-modal{width:min(1380px,100%)}.rubric-banner{border-left:4px solid var(--teal);background:#e8f3f5;gap:5px;margin:18px 0;padding:15px 18px;display:grid}.rubric-banner span{color:#46545b}.notice.warning{color:#69500b;background:#fff4d6;border-color:#dfbf60}.ai-action-bar{border:1px solid var(--border);background:#f5f8f9;justify-content:space-between;align-items:center;gap:18px;margin:16px 0;padding:18px;display:flex}.ai-action-bar div{gap:5px;display:grid}.ai-action-bar span{color:var(--muted)}.ai-action-bar button{min-width:245px}.ai-progress{height:42px;color:var(--dark);background:#e9f5f7;align-items:center;gap:12px;margin:-6px 0 16px;padding:0 14px;display:flex}.ai-progress i{border:3px solid #a8d7df;border-top-color:var(--teal);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.model-note{color:var(--muted);font-size:12px}.answer-review-list{gap:14px;margin:20px 0;display:grid}.answer-review{border:1px solid var(--border);background:#fff}.answer-review>summary{cursor:pointer;background:#f5f7f8;justify-content:space-between;gap:18px;padding:15px 18px;list-style:none;display:flex}.answer-review>summary::-webkit-details-marker{display:none}.answer-review>summary div{gap:5px;display:grid}.answer-review>summary span{color:var(--muted)}.answer-review>summary em{color:var(--teal);text-align:right;font-style:normal;font-weight:700}.answer-review>summary small{text-align:right;color:var(--muted)}.answer-review-body{grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;padding:18px;display:grid}.answer-media video,.answer-media .no-video{aspect-ratio:16/9;background:#111;width:100%}.answer-media p{background:#f5f7f8;padding:12px;line-height:1.55}.review-fields{gap:14px;display:grid}.review-fields label{font-weight:700}.review-fields textarea,.review-fields select{background:#fff;border:1px solid #aab2b8;border-radius:2px;width:100%;margin-top:6px;padding:9px}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.criteria,.caps{border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;padding:14px;display:grid}.criteria legend,.caps legend{font-weight:700}.criteria label{justify-content:space-between;align-items:center;gap:10px;font-weight:400;display:flex}.criteria select{width:130px;margin:0}.caps label{align-items:flex-start;gap:8px;font-weight:400;display:flex}.caps input{margin-top:3px}.generate-final{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:15px;padding:18px 0;display:flex}.generate-final small{color:var(--muted)}.final-report>h3{margin:0 0 6px;font-size:24px}.competency-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.competency-grid div{border:1px solid var(--border);background:#fff;gap:7px;padding:12px;display:grid}.competency-grid strong{color:var(--teal);font-size:24px}.table-actions{align-items:center;gap:8px;min-width:290px;display:flex}.export-record{border-color:var(--teal);color:var(--teal);font-weight:700}.export-record:hover{background:#e9f5f7}.record-heading{justify-content:space-between;align-items:flex-start;gap:24px;padding-right:38px;display:flex}.record-heading h2{margin:0 0 6px}.record-heading p{margin:0}@media (max-width:850px){.answer-review-body{grid-template-columns:1fr}.three-columns,.competency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.criteria{grid-template-columns:1fr}}@media (max-width:520px){.three-columns,.competency-grid{grid-template-columns:1fr}.generate-final,.ai-action-bar,.record-heading{flex-direction:column;align-items:stretch}.ai-action-bar button{min-width:0}.table-actions{flex-direction:column;align-items:stretch;min-width:230px}.record-heading{padding-right:32px}}
