:root{--ink:#153254;--muted:#647f9e;--line:#dce7f4;--blue:#1974dc;--light:#eaf3ff;--shadow:0 10px 30px #1b539115;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#eaf2fc,#f6faff 55%,#edf5ff)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.btn{padding:11px 16px;border-radius:12px;border:1px solid #c0d8f2;background:white;color:#1360b7;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}
.btn-main{background:linear-gradient(105deg,#258afa,#166dce);color:white;border:0;box-shadow:0 8px 20px #1e7dd82a}
.btn-main:disabled{background:#a8bfd7;box-shadow:none;cursor:not-allowed}
.btn-outline{background:#f8fbff;border-color:#bbd7f8}.btn-text{border:0;background:transparent;color:#0a61bd;box-shadow:none}
input,select{width:100%;min-height:48px;border:1px solid #bbd1e9;border-radius:11px;padding:11px 14px;color:#173354;background:#fff;outline:0}
input:focus,select:focus{border-color:#318bef;box-shadow:0 0 0 3px #318bef20}
label{display:block;font-size:14px;font-weight:730;line-height:1.4}
label input,label select{margin-top:8px;font-weight:400;font-size:15px}
label small{display:block;color:#7b92ab;font-weight:400;margin-top:6px}
.entry{min-height:100vh;padding:30px;display:grid;place-items:center}
.entry-frame{max-width:1010px;width:100%;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dbe7f4;border-radius:28px;background:white;box-shadow:0 15px 55px #0d4d9620}
.entry-brand{background:linear-gradient(150deg,#207de5,#084792);color:white;padding:42px 38px;min-height:500px;position:relative;overflow:hidden}
.entry-symbol{width:77px;height:77px;border-radius:22px;background:#ffffff26;font-size:45px;display:grid;place-items:center}
.entry-brand h1{font-size:54px;letter-spacing:-2px;margin:22px 0 8px;line-height:1.1}
.entry-brand p{font-size:20px;line-height:1.48;color:#edf5ff;max-width:400px}
.entry-highlights{margin-top:35px;display:grid;gap:13px;font-size:16px;font-weight:650}
.brand-watermark{font-size:95px;position:absolute;bottom:-30px;right:15px;color:#ffffff15;font-weight:900;white-space:nowrap}
.entry-auth{padding:45px 38px;display:flex;flex-direction:column;justify-content:center}
.tiny-caption{font-size:13px;letter-spacing:1.1px;font-weight:850;color:#2375ca}
.entry-auth h2{font-size:34px;margin:9px 0}
.entry-auth p{color:var(--muted);line-height:1.5}
.form-stack{display:grid;gap:16px}.form-stack .btn-main{font-size:17px;padding:15px}
.message{padding:13px;border-radius:12px;margin:15px 0;background:#eff7ff;border:1px solid #d3e7fa;font-size:14px}
.message.error{background:#fff0ef;border-color:#f0cac6;color:#9b3026}
.auth-footer{margin-top:22px;border-top:1px solid var(--line);padding-top:17px;color:#778ba3;font-size:12px;line-height:1.4}
#guestBox p{background:#eff7ff;border-radius:12px;padding:13px;color:#31597f}#guestBox .btn{width:100%}
.topline{background:white;border-bottom:1px solid #e1eaf5}.container{max-width:1330px;margin:0 auto;padding:0 20px}
.top-inner{height:65px;display:flex;align-items:center;justify-content:space-between}.top-product{font-size:20px;font-weight:900;color:#0c50a3}.top-product span{color:#64a3e7}.top-user{display:flex;align-items:center;gap:13px;font-weight:650;font-size:14px}
.hero{margin:22px 0 17px;padding:24px 28px;border:1px solid #dceaf8;border-radius:22px;background:linear-gradient(110deg,#fff,#e8f3ff);display:flex;align-items:center;gap:21px;box-shadow:var(--shadow)}
.hero-icon{width:82px;height:82px;border-radius:19px;background:linear-gradient(150deg,#4c9aff,#166bc9);display:grid;place-items:center;color:white;font-size:46px;box-shadow:0 10px 20px #2377d52c}
.hero h1{font-size:42px;color:#0d519f;line-height:1.1;margin:0}.hero p{font-size:16px;margin:10px 0 0;color:#536f8e}
.hero-right{margin-left:auto;display:flex;align-items:center;gap:13px;color:#1c6cce}.hero-right span{background:white;padding:20px;border-radius:15px;box-shadow:var(--shadow);font-size:29px;font-weight:950}.hero-right span:nth-of-type(2){color:#159568}.hero-right b{background:#2586e8;color:white;padding:14px 10px;border-radius:12px}
.notice{display:flex;gap:12px;align-items:center;background:#fff7e8;color:#91580a;border:1px solid #f6e1ba;border-radius:13px;padding:13px 16px;margin-bottom:17px;font-size:14px}
.notice>span{font-weight:900;font-size:22px}.columns{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);gap:17px;align-items:start}
.paper{background:white;border:1px solid #e4ebf4;border-radius:20px;box-shadow:var(--shadow)}.main-paper{padding:24px 25px}
.section-title{display:flex;align-items:flex-start;gap:14px}.number{display:grid;place-items:center;background:#2988ee;color:white;font-size:25px;font-weight:850;border-radius:50%;width:42px;height:42px;flex:none}
.section-title h2{font-size:23px;margin:0}.section-title p{font-size:14px;color:var(--muted);margin:3px 0 15px}
.upload-area{display:flex;align-items:center;gap:16px;border:2px dashed #bfd9fa;background:#f8fbff;border-radius:16px;padding:17px;min-height:94px}
.upload-file-icon{width:55px;height:58px;flex:none;background:#e5f0ff;color:#2679dc;border-radius:11px;display:grid;place-items:center;font-size:30px;font-weight:900}
.upload-info{min-width:0;flex:1;display:grid;gap:4px}.upload-info strong{font-size:17px;overflow-wrap:anywhere}.upload-info small{color:var(--muted)}.choose-file{white-space:nowrap}
.line{height:1px;background:#e4ecf5;margin:22px 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.mix-btn{width:100%;display:flex;justify-content:space-between;font-size:19px;margin-top:24px;padding:17px}
.status{display:flex;gap:13px;align-items:center;border-radius:14px;padding:16px;margin-top:15px;background:#e9f5ff;border:1px solid #d5e8fb}
.status>span{width:41px;height:41px;flex:none;border-radius:50%;background:#318cec;display:grid;place-items:center;color:white;font-weight:900;font-size:22px}.status strong{color:#164f88}
.status p{margin:4px 0 0;white-space:pre-wrap;font-size:14px;color:#436781}
.status.success{background:#e7f7ee;border-color:#c7e8d4}.status.success>span{background:#21a061}.status.success strong{color:#197446}
.status.error{background:#fff1ef;border-color:#f2c9c5}.status.error>span{background:#c74434}.status.error strong{color:#a42e22}
.sidebar{display:grid;gap:16px}.sidebar-card{overflow:hidden}.side-header{margin:0;padding:15px 18px;font-size:18px}.side-header.blue{background:#eaf4ff;color:#0c5eb5}.side-header.amber{background:#fff8e7;color:#9b5a08}.side-header.green{background:#eaf8f0;color:#176f43}
.steps{padding:10px 20px 18px;display:grid;gap:12px}.steps>div{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;align-items:center}.steps i{grid-row:span 2;width:36px;height:36px;border-radius:50%;background:#e5f2ff;color:#227cd7;display:grid;place-items:center;font-style:normal;font-weight:900}.steps strong{font-size:15px}.steps span{font-size:13px;color:#7087a2}
.sidebar ul{padding:4px 22px 14px 39px;color:#4b6886;line-height:1.6;font-size:14px}.sidebar li{margin:8px 0}
.summary-row{display:flex;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #e7eef5;font-size:14px;gap:10px}.summary-row:last-child{border:0}.summary-row span{color:#64809c}.summary-row strong{text-align:right}.result-pill{border-radius:999px;background:#e4f3ff;color:#195fae;padding:5px 10px}
footer{font-size:12px;color:#7990a7;text-align:center;padding:24px}
@media(max-width:1050px){.columns{grid-template-columns:1fr}.hero-right{display:none}}
@media(max-width:720px){.entry{padding:12px}.entry-frame{grid-template-columns:1fr}.entry-brand{min-height:auto;padding:26px}.entry-brand h1{font-size:38px}.entry-brand p{font-size:15px}.entry-highlights{gap:7px;margin-top:14px;font-size:14px}.entry-auth{padding:25px}.container{padding:0 12px}.hero{padding:16px}.hero h1{font-size:30px}.hero-icon{width:58px;height:58px;font-size:29px}.main-paper{padding:17px}.form-grid{grid-template-columns:1fr}.upload-area{flex-wrap:wrap}.choose-file{width:100%}.top-product{font-size:16px}.top-user{font-size:12px}.topbar{display:none}.top-inner{height:65px}}


/* 2026 DTMIX responsive exam editor and structured review */
:root{--ink:#183654;--muted:#68829c}
.hero{padding:17px 23px;margin:17px 0 14px}
.hero-icon{width:58px;height:58px;font-size:30px}
.hero h1{font-size:28px;letter-spacing:-.02em}
.hero p{font-size:14px;margin-top:5px}
.hero-right span{font-size:22px;padding:12px}
.hero-right b{font-size:12px;padding:10px}
.section-title h2{font-size:19px}
.section-title p{font-size:13px}
.main-paper{padding:20px}
.number{width:38px;height:38px;font-size:20px}
.form-grid{gap:15px 17px}
input,select{min-height:43px;padding:9px 12px;font-size:14px}
label{font-size:13px}
label small{font-size:12px}
.top-product{font-size:18px}
.top-user{gap:8px}
.top-user .btn{padding:8px 11px;font-size:12px}
.code-settings{border:1px solid #d5e5f8;border-radius:14px;padding:11px;background:#f8fbff}
.label-title{font-size:13px;font-weight:750;margin-bottom:8px}
.mode-tabs{display:flex;background:#ebf4ff;border-radius:10px;padding:3px;gap:4px;margin-bottom:9px}
.mode-tab{border:0;flex:1;padding:8px 10px;font-size:13px;font-weight:750;color:#1d65b5;background:transparent;border-radius:8px;cursor:pointer}
.mode-tab.active{background:#1c76dd;color:#fff;box-shadow:0 3px 7px #0b60b82a}
.code-inputs{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.code-preview{margin-top:8px;background:#eff7ff;border:1px dashed #aed5fa;border-radius:8px;padding:8px 10px}
.code-preview small{font-size:11px;color:#6382a1}
.code-preview div{margin-top:4px;font-size:12px;font-weight:700;line-height:1.45;color:#1763b1;overflow-wrap:anywhere}
.action-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}
.action-bar .btn{min-height:53px}
.action-bar .mix-btn{margin:0;padding:13px 12px;font-size:15px;gap:6px}
.action-bar .analyze-btn{background:#f0f7ff;font-size:14px;border:1px solid #8fbbec}
.action-bar .mix-btn strong{font-weight:800}
.preview-panel{border-top:1px solid #dce9f8;margin-top:24px;padding-top:20px}
.preview-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}
.preview-heading h2{margin:0;font-size:20px;color:#1559ad}
.preview-heading p{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.preview-count{display:inline-block;background:#e5f2ff;color:#1465b9;font-weight:800;border-radius:20px;padding:7px 13px;font-size:12px;white-space:nowrap}
.preview-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f7faff;border:1px solid #e1edfa;border-radius:13px;padding:11px}
.preview-tools label{font-size:12px}
.preview-tools select,.preview-tools input{margin-top:5px}
.preview-legend{display:flex;flex-wrap:wrap;gap:8px 17px;margin:13px 0 15px;color:#657e96;font-size:12px}
.preview-questions{display:grid;gap:12px}
.preview-q{border:1px solid #dbe8f5;border-radius:13px;padding:13px 15px;background:#fff}
.preview-q-header{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.preview-q-header strong{font-size:14px;color:#115ab1}
.preview-tag{font-size:11px;border-radius:50px;padding:4px 8px;background:#eaf4ff;color:#2368ae}
.preview-q-stem{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:14px;color:#213c59}
.preview-cluster{border-left:3px solid #3a97e7;padding:8px 10px;margin-bottom:9px;background:#f0f7ff;white-space:pre-wrap;font-size:13px}
.preview-option{display:flex;gap:9px;padding:9px 10px;border:1px solid #ebf0f5;border-radius:8px;margin-top:7px;font-size:13px}
.preview-option .opt-label{width:21px;flex:none;font-weight:850}
.preview-option .opt-text{white-space:pre-wrap;overflow-wrap:anywhere}
.preview-option.correct{background:#e7f7ed;border-color:#b3dfc5;color:#13683d}
.preview-option.false-known{background:#f9fbfd}
.answer-summary{font-size:12px;margin-top:9px;padding:8px 10px;background:#f7fbff;border-radius:8px;color:#346184}
.answer-summary.missing{background:#fff5e6;color:#925e1d}
.preview-alerts{border:1px solid #f0d4a6;background:#fff9eb;color:#8e5d1b;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.6;margin-bottom:12px}
.preview-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:10px;color:#637f99;font-size:12px}
.preview-pagination>div{display:flex;gap:7px}
.preview-pagination .btn{padding:7px 10px;font-size:12px}
.help-panel{padding:14px 18px;margin-bottom:14px;font-size:13px;line-height:1.6}
.help-panel h3{margin:0 0 7px}
.admin-panel{padding:20px;margin-top:16px}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #e5ecf4;padding:9px;overflow-wrap:anywhere}
.admin-table th{background:#f3f8ff}
.admin-table button{font-size:12px;padding:6px 9px}
.admin-table select{min-height:36px;max-width:150px}
.admin-scroll{overflow-x:auto}
.admin-setup{background:#fff9e8;border:1px solid #efdfb5;border-radius:10px;padding:13px;font-size:13px}
.admin-setup button{margin-top:9px}
@media(max-width:900px){.action-bar{grid-template-columns:1fr}}
@media(max-width:720px){.hero{padding:13px}.hero h1{font-size:24px}.hero-icon{width:48px;height:48px;font-size:26px}.topline{display:block}.top-inner{height:auto;min-height:60px;gap:7px;flex-wrap:wrap;padding-block:8px}.top-user{flex-wrap:wrap}.top-user .btn{font-size:11px}.preview-tools{grid-template-columns:1fr}.preview-heading{flex-wrap:wrap}.preview-pagination{flex-wrap:wrap}}

/* Compact workspace after removing the oversized heading and advisory banner. */
#workspace > main.container{padding-top:18px}

/* Answer audit in the recognized exam review */
.audit-panel{margin:17px 0;padding:14px 15px;border:1px solid #d7e6f6;border-radius:13px;background:#f9fcff}
.audit-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.audit-top h3{margin:0;font-size:16px;color:#1c527f}
.audit-top>span{color:#527393;font-size:12px;font-weight:650;line-height:1.5}
.audit-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.audit-card{background:#fff;border:1px solid #d9e8f4;border-radius:11px;padding:11px 12px}
.audit-card.incomplete{border-color:#edcda0;background:#fffaf2}
.audit-title{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:9px}
.audit-title>strong{color:#1b609f;font-size:14px}
.audit-badge{border-radius:999px;background:#e6f6ea;color:#1b7445;font-weight:750;font-size:10px;padding:4px 7px}
.audit-badge.attention{background:#fff0d8;color:#a46518}
.audit-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.audit-stat{display:grid;gap:3px;min-width:0}
.audit-stat>span{font-size:11px;color:#6b85a0}
.audit-stat>strong{font-size:18px;color:#143c65}
.audit-stat:nth-child(2)>strong{color:#147749}
.audit-stat:nth-child(3)>strong{color:#b2711b}
@media(max-width:760px){.audit-parts{grid-template-columns:1fr}.audit-top>span{font-size:11px}}


/* Commercial compact workflow: file + choose action on one row */
#workspace > main.container{padding-top:12px}
.columns{grid-template-columns:minmax(0,1.85fr) minmax(300px,.95fr);gap:13px}
.main-paper{padding:15px 17px 17px}
.upload-inline{display:grid;grid-template-columns:158px minmax(0,1fr);gap:15px;align-items:center}
.upload-heading{display:grid;gap:3px}
.upload-heading strong{font-size:16px;color:#184c84}
.upload-heading small{font-size:12px;color:#7b91aa}
.upload-area{padding:8px 10px;min-height:59px;gap:10px;border:1px solid #c9daed;background:#f9fbff;border-radius:11px}
.upload-info strong{font-size:14px}
.upload-info small{font-size:11px}
.upload-area .choose-file{font-size:12px;padding:9px 12px;white-space:nowrap}
.main-paper>.line{margin:14px 0 11px}
.section-title.compact-section{margin:0 0 12px;align-items:center}
.section-title.compact-section h2{font-size:17px;margin:0}
.form-grid{gap:12px 14px}
.form-grid input,.form-grid select{min-height:41px}
.action-bar{margin-top:14px}
.action-bar .btn{min-height:45px}
.sidebar{gap:12px}
.result-compact .summary-row{padding:10px 13px}
.side-body{padding:12px 13px}
.audit-side-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.audit-side-heading h3{margin:0;font-size:16px}
.small-state{font-size:11px;font-weight:700;white-space:nowrap;background:#fff;border-radius:999px;padding:5px 8px;color:#4f7299}
.audit-overview{font-size:13px;color:#526e88}
.audit-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.audit-overview-metric{min-width:0;border:1px solid #ddeaf7;border-radius:9px;padding:8px 7px;background:#f8fbff;display:grid;gap:5px}
.audit-overview-metric span{font-size:11px;color:#7188a0;line-height:1.3}
.audit-overview-metric strong{font-size:19px;color:#195fbb}
.audit-overview-metric:nth-child(2) strong{color:#138358}
.audit-overview-metric:nth-child(3) strong{color:#bf7d18}
.audit-side-parts{display:grid;gap:9px;margin-top:11px}
.audit-side-part{border:1px solid #dce7f2;border-radius:10px;padding:10px 11px;background:white}
.audit-side-title{display:flex;justify-content:space-between;align-items:center;gap:7px}
.audit-side-title strong{color:#155caa;font-size:14px}
.audit-count{font-size:11px;border-radius:999px;background:#eff5fd;color:#476e98;padding:3px 8px;white-space:nowrap}
.audit-side-type{margin:6px 0 10px;font-size:12px;color:#6e859a}
.audit-side-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.audit-side-stat{border-radius:7px;background:#f4f8fd;padding:7px;display:grid;gap:3px;min-width:0}
.audit-side-stat span{font-size:10px;color:#7188a0}
.audit-side-stat strong{font-size:16px;color:#2e547b}
.audit-side-stat.ok strong{color:#11835a}
.audit-side-stat.warn strong{color:#c37b12}
.audit-small-line{font-size:11px;color:#5c7790;line-height:1.4;margin:8px 0 0}
.audit-small-line.audit-attention{color:#aa6c1d}
.audit-detail{margin-top:7px;border-top:1px solid #e8eff7;padding-top:8px}
.audit-detail summary{font-size:11px;font-weight:700;color:#206dba;cursor:pointer;list-style-position:inside}
.audit-detail.audit-has-errors summary{color:#ac6a16}
.audit-detail-line{font-size:11px;line-height:1.55;padding:6px 0;border-bottom:1px solid #f0f4f8;color:#496885;overflow-wrap:anywhere}
.audit-detail-line:last-child{border-bottom:0}
/* True full-screen continuous source exam preview */
body.preview-open{overflow:hidden}
.preview-overlay{position:fixed;inset:0;z-index:9999;background:#f3f7fc;display:flex;flex-direction:column}
.preview-overlay.hidden{display:none!important}
.preview-shell{width:100%;height:100%;display:flex;flex-direction:column;min-height:0}
.preview-full-header{background:#fff;border-bottom:1px solid #dce8f4;display:flex;align-items:center;gap:15px;padding:13px 26px;flex-shrink:0;box-shadow:0 2px 12px #224c7b12}
.preview-full-title{flex:1;min-width:0}
.preview-full-title h2{margin:0;color:#154f92;font-size:21px}
.preview-full-title p{margin:4px 0 0;color:#6d839d;font-size:12px;overflow-wrap:anywhere}
.preview-full-header .btn{padding:9px 16px;white-space:nowrap}
.preview-scroll{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;overscroll-behavior:contain}
.preview-document{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:20px 0 50px}
.preview-tools{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:13px}
.preview-legend{margin:11px 0;font-size:12px}
.preview-part-heading{font-size:20px;font-weight:800;margin:24px 0 12px;color:#155ca8;padding-bottom:10px;border-bottom:2px solid #d8e8f9}
.preview-q{padding:13px 18px;margin:0;border-color:#e0eaf5;box-shadow:0 2px 9px #31537d08}
.preview-questions{gap:12px}
.preview-q-header{margin-bottom:7px}
.preview-q-header strong{font-size:15px}
.preview-q-stem{font-size:15px;line-height:1.55}
.preview-option{padding:7px 10px;margin-top:5px;font-size:14px}
.answer-summary{font-size:13px;padding:7px 10px}
.preview-full-end{text-align:center;color:#6e859e;font-size:13px;padding:22px 10px}
.preview-empty{text-align:center;padding:60px 15px;color:#7891a8}
@media(max-width:980px){.columns{grid-template-columns:1fr}.upload-inline{grid-template-columns:140px minmax(0,1fr)}}
@media(max-width:620px){
 .upload-inline{grid-template-columns:1fr;gap:7px}
 .upload-heading small{display:none}
 .upload-area{gap:7px}
 .preview-full-header{padding:10px;gap:6px}
 .preview-full-title h2{font-size:16px}
 .preview-full-header .btn{font-size:12px;padding:8px}
 .preview-document{width:calc(100% - 18px);padding-top:10px}
 .preview-tools{grid-template-columns:1fr}
 .preview-q{padding:10px 11px}
 .preview-q-stem{font-size:14px}
}


/* DTMIX contrast-first visual refresh: centered field values and legible audit cards */
/* Dark text and strong borders are intentional: small statistics remain readable. */
#workspace{
  --ui-ink:#142a44;
  --ui-label:#183857;
  --ui-secondary:#465e78;
  --ui-action:#1463b9;
  --ui-outline:#abc2db;
  color:var(--ui-ink);
}
#workspace > main.container{padding-top:14px}
#workspace .paper{
  background:#ffffff;
  border:1px solid #d5e1ed;
  box-shadow:0 4px 20px rgba(21,53,89,.07);
}
#workspace .main-paper{padding:18px 20px 20px}
#workspace label:not(.btn),
#workspace .label-title,
#workspace .upload-heading strong{
  color:var(--ui-label);
  font-size:14px;
  font-weight:750;
  line-height:1.45;
}
#workspace .section-title.compact-section h2{
  color:#102f55;
  font-size:18px;
  font-weight:800;
}
#workspace input:not([type="file"]),
#workspace select{
  color:#0d2947;
  font-size:15px;
  font-weight:650;
  text-align:center;
  background-color:#ffffff;
  border:1.5px solid #aec5de;
  border-radius:10px;
  min-height:45px;
  box-shadow:none;
}
#workspace input:not([type="file"])::placeholder{
  color:#526983;
  opacity:1;
  font-size:13px;
  font-weight:500;
}
#workspace input:focus-visible,
#workspace select:focus-visible{
  outline:3px solid rgba(22,112,207,.24);
  outline-offset:1px;
  border-color:#176bc5;
}
#workspace label small,
#workspace .upload-heading small,
#workspace .upload-info small,
#workspace .code-preview small{
  color:#425b76;
  font-size:12px;
  font-weight:500;
}
#workspace .code-settings{
  border-color:#b4cce6;
  background:#f5f9ff;
  padding:13px;
}
#workspace .mode-tabs{
  background:#e2ebf8;
  border:1px solid #cfdef0;
}
#workspace .mode-tab{
  color:#164d86;
  font-size:14px;
  font-weight:750;
}
#workspace .mode-tab.active{
  background:#176ac6;
  color:#fff;
  box-shadow:0 2px 8px rgba(19,86,161,.17);
}
#workspace .code-preview{
  text-align:center;
  background:#eef5ff;
  border:1px solid #b6d2ee;
  padding:10px 13px;
}
#workspace .code-preview div{
  color:#1055a2;
  font-size:14px;
  font-weight:800;
  line-height:1.55;
}
#workspace .upload-area{
  background:#f7faff;
  border:1.5px solid #b6cde5;
  padding:10px 12px;
  min-height:65px;
}
#workspace .upload-info{
  text-align:center;
  align-content:center;
}
#workspace .upload-info strong{
  color:#12365c;
  font-size:15px;
  font-weight:800;
}
#workspace .upload-area .choose-file{
  color:#0e56a1;
  background:#fff;
  border:1.5px solid #a5c4e7;
  font-size:13px;
  font-weight:750;
}
#workspace .btn:focus-visible{
  outline:3px solid rgba(16,101,197,.35);
  outline-offset:2px;
}
#workspace .action-bar .btn{
  border-radius:10px;
  font-weight:800;
  font-size:14px;
  min-height:48px;
}
#workspace .action-bar .btn-main{
  background:#176bc6;
  color:#fff;
}
#workspace .action-bar .analyze-btn{
  background:#edf5ff;
  border-color:#97bde5;
  color:#1057a5;
}
#workspace .side-header.blue{
  background:#dfedff;
  border-bottom:1px solid #cadcef;
}
#workspace .audit-side-heading h3{
  color:#124f94;
  font-size:17px;
  font-weight:850;
}
#workspace .small-state{
  color:#185d39;
  background:#e5f6eb;
  border:1px solid #b8ddc5;
  font-size:12px;
  font-weight:800;
}
#workspace .side-body{padding:14px}
#workspace .audit-overview{
  color:#253d57;
  font-size:13px;
  font-weight:550;
}
#workspace .audit-overview-grid{gap:8px}
#workspace .audit-overview-metric{
  text-align:center;
  align-items:center;
  justify-items:center;
  gap:7px;
  background:#f2f6fb;
  border:1px solid #cfdfed;
  border-radius:9px;
  padding:11px 5px;
}
#workspace .audit-overview-metric span{
  color:#354c65;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}
#workspace .audit-overview-metric strong{
  color:#1459a5;
  font-size:23px;
  font-weight:850;
  line-height:1.2;
}
#workspace .audit-overview-metric:nth-child(2) strong{color:#0b7546}
#workspace .audit-overview-metric:nth-child(3) strong{color:#9e580c}
#workspace .audit-side-parts{gap:11px}
#workspace .audit-side-part{
  background:#fff;
  border:1px solid #cfdeed;
  padding:12px;
}
#workspace .audit-side-title strong{
  color:#1159aa;
  font-size:15px;
  font-weight:850;
}
#workspace .audit-count{
  color:#235785;
  background:#eaf2fc;
  font-size:12px;
  font-weight:750;
  padding:5px 9px;
}
#workspace .audit-side-type{
  color:#354e69;
  font-size:13px;
  font-weight:650;
  margin:8px 0 10px;
}
#workspace .audit-side-stats{gap:7px}
#workspace .audit-side-stat{
  text-align:center;
  justify-items:center;
  align-content:center;
  background:#f1f5fa;
  border:1px solid #e0e9f1;
  border-radius:8px;
  min-height:70px;
  padding:8px 5px;
  gap:6px;
}
#workspace .audit-side-stat span{
  color:#3b526b;
  font-size:11.5px;
  font-weight:700;
  line-height:1.35;
}
#workspace .audit-side-stat strong{
  color:#183e64;
  font-size:20px;
  line-height:1.1;
  font-weight:850;
}
#workspace .audit-side-stat.ok strong{color:#087547}
#workspace .audit-side-stat.warn strong{color:#9c570c}
#workspace .audit-small-line{
  color:#3f566e;
  font-size:12.5px;
  font-weight:550;
  line-height:1.5;
}
#workspace .audit-small-line.audit-attention,
#workspace .audit-detail.audit-has-errors summary{color:#96500a}
#workspace .audit-detail summary{
  color:#15599e;
  font-size:12.5px;
  font-weight:750;
}
#workspace .audit-detail-line{
  color:#263f59;
  font-size:12.5px;
  line-height:1.5;
}
#workspace .result-compact .summary-row{
  color:#274057;
  font-size:13px;
  padding:12px 15px;
}
#workspace .result-compact .summary-row span{color:#425b76}
#workspace .result-compact .summary-row strong{color:#183b61;font-weight:800}
#workspace .status p{color:#274862}
#workspace .status strong{color:#154c85}
#previewPanel .preview-full-header h2{color:#133e70}
#previewPanel .preview-full-title p,
#previewPanel .preview-legend,
#previewPanel .preview-full-end{color:#3c5875;font-weight:600}
#previewPanel .preview-q-stem,
#previewPanel .opt-text{color:#182e45}
#previewPanel .preview-option{border-color:#d3e0ed}
#previewPanel .preview-tag{color:#164e85;background:#e5f0fc}
#previewPanel .preview-tools label{color:#183857;font-weight:750}
#previewPanel .preview-tools input,
#previewPanel .preview-tools select{
  color:#123354;
  text-align:center;
  background:#fff;
  border:1.5px solid #afc6df;
  font-weight:650;
}
@media(max-width:700px){
  #workspace .main-paper{padding:14px 12px}
  #workspace .audit-overview-metric strong{font-size:20px}
  #workspace .audit-side-stat strong{font-size:18px}
  #workspace .audit-overview-metric span,
  #workspace .audit-side-stat span{font-size:11px}
}


/* Original DOCX preview produced by the same GOC export used for the ZIP. */
#workspace .action-bar{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.2fr);gap:9px}
#workspace .action-bar .original-btn{
  background:#eef9f3;
  border:1.5px solid #8ecbaa;
  color:#176a42;
  font-weight:800;
}
#workspace .action-bar .original-btn:hover:not(:disabled){background:#e1f5e9}
#workspace .action-bar .original-btn:disabled{opacity:.55;cursor:not-allowed}
.original-overlay{z-index:10002}
.original-full-header{flex-wrap:wrap}
.original-full-header .btn{font-size:13px;white-space:nowrap}
.original-full-header .btn-main{background:#136cba;color:#fff}
.original-info{
  padding:9px 20px;
  text-align:center;
  font-size:12px;
  line-height:1.45;
  font-weight:550;
  color:#405c79;
  background:#fff8e9;
  border-bottom:1px solid #f2e1bd;
}
.original-scroll{background:#e9eff7}
.original-busy{
  margin:22px auto;
  max-width:750px;
  text-align:center;
  color:#194d82;
  font-size:14px;
  line-height:1.6;
  background:#fff;
  border-radius:12px;
  border:1px solid #cbddec;
  padding:16px 22px;
}
.original-document{min-height:100px}
.original-document .docx-wrapper{background:transparent;padding:18px 12px 40px}
.original-document .docx{box-shadow:0 7px 23px rgba(19,44,76,.12);margin:0 auto 18px}
@media(max-width:1100px){
 #workspace .action-bar{grid-template-columns:1fr 1fr}
 #workspace .action-bar .mix-btn{grid-column:1/-1}
}
@media(max-width:720px){
 #workspace .action-bar{grid-template-columns:1fr}
 #workspace .action-bar .mix-btn{grid-column:auto}
 .original-full-header{gap:8px;padding:9px}
 .original-full-header .preview-full-title{flex-basis:100%}
 .original-full-header .btn{flex:1}
 .original-info{font-size:11px;text-align:left;padding:8px 12px}
 .original-document .docx-wrapper{overflow-x:auto}
}


/* DTMIX centered exam-header fields — consistent, legible commercial form */
#workspace #mixForm .form-grid{
  gap:13px 15px;
  align-items:stretch;
}
#workspace #mixForm .form-grid > label{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  min-width:0;
  padding:12px 13px;
  margin:0;
  border:1px solid #dde7f2;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%);
  color:#183b60;
  text-align:center;
  font-size:14px;
  font-weight:750;
  line-height:1.4;
  transition:border-color .18s ease,box-shadow .18s ease;
}
#workspace #mixForm .form-grid > label:focus-within{
  border-color:#7facdd;
  box-shadow:0 0 0 3px rgba(33,119,210,.10);
}
#workspace #mixForm .form-grid > label > input,
#workspace #mixForm .form-grid > label > select{
  display:block;
  width:100%;
  min-height:45px;
  margin:9px 0 0;
  padding:10px 11px;
  text-align:center;
  text-align-last:center;
  color:#102e50;
  font-size:15px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.35;
  background:#ffffff;
  border:1px solid #b7cce2;
  border-radius:9px;
}
#workspace #mixForm .form-grid > label > input::placeholder{
  color:#60738b;
  opacity:1;
  font-weight:450;
  font-size:13px;
}
#workspace #mixForm .form-grid > label > small{
  display:block;
  margin:7px auto 0;
  max-width:100%;
  color:#49637c;
  text-align:center;
  font-weight:500;
  font-size:12px;
  line-height:1.35;
}
#workspace #mixForm .code-settings{
  margin:0;
  padding:12px 13px;
  border:1px solid #cbdef2;
  border-radius:14px;
  background:linear-gradient(180deg,#f5f9ff,#eef5fe);
}
#workspace #mixForm .code-settings .label-title{
  margin:0 0 9px;
  color:#183b60;
  font-size:14px;
  font-weight:750;
  text-align:center;
}
#workspace #mixForm .code-settings .mode-tabs{margin-bottom:11px}
#workspace #mixForm .code-inputs label,
#workspace #mixForm #manualCodes label{
  color:#1d4064;
  text-align:center;
  font-size:13px;
  font-weight:700;
}
#workspace #mixForm .code-inputs input,
#workspace #mixForm #manualCodes input{
  margin-top:7px;
  text-align:center;
  font-size:15px;
  font-weight:600;
  background:white;
  border-color:#b7cce2;
}
#workspace #mixForm .code-preview{
  background:#ffffff;
  border:1px dashed #bad1ea;
  padding:9px 11px;
}
#workspace #mixForm .code-preview div{
  font-size:13px;
  font-weight:750;
  line-height:1.5;
}
#workspace .section-title.compact-section{
  padding:0 0 10px;
  margin:0 0 13px;
  border-bottom:1px solid #e6eef6;
}
#workspace .section-title.compact-section h2{
  color:#154a80;
  font-size:17px;
  font-weight:800;
}
#workspace .upload-heading strong{font-size:15px}
#workspace .upload-area{border-radius:12px}
#workspace .audit-side-part{border-radius:12px}
@media(max-width:720px){
  #workspace #mixForm .form-grid > label{padding:11px 10px}
  #workspace #mixForm .form-grid > label > input,
  #workspace #mixForm .form-grid > label > select{font-size:14px}
}


/* Comprehensive manual overlay, isolated from the exam configuration layout. */
.guide-overlay{
 position:fixed;
 inset:0;
 z-index:10010;
 background:#eaf1fa;
 display:flex;
 padding:0;
}
.guide-overlay.hidden{display:none!important}
.guide-window{
 width:100%;
 height:100%;
 min-height:0;
 display:flex;
 flex-direction:column;
 background:#f4f8fd;
}
.guide-topbar{
 flex:0 0 auto;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:16px;
 background:white;
 padding:13px 24px;
 border-bottom:1px solid #dce7f2;
 box-shadow:0 2px 12px rgba(18,62,111,.08);
}
.guide-topbar h2{
 margin:0;
 font-size:19px;
 color:#164e88;
 font-weight:850;
}
.guide-topbar p{
 margin:3px 0 0;
 font-size:12px;
 color:#506c87;
 line-height:1.5;
}
.guide-topbar .btn{
 padding:9px 16px;
 font-size:13px;
 white-space:nowrap;
 border:1px solid #a9c8e9;
 color:#135a9e;
 background:#f7fbff;
}
#guideFrame{
 flex:1 1 auto;
 min-height:0;
 display:block;
 border:0;
 width:100%;
 background:#f4f8fd;
}
@media(max-width:650px){
 .guide-topbar{padding:10px 12px;gap:8px}
 .guide-topbar h2{font-size:16px}
 .guide-topbar p{font-size:11px}
 .guide-topbar .btn{font-size:11px;padding:8px 10px}
}


/* DTMIX commercial sign-in: consistent typography, proper centering and contrast. */
#loginPage.entry{
  min-height:100vh;
  padding:clamp(14px,3.5vh,38px) 16px;
  background:radial-gradient(ellipse at 0% 0%,#dfefff 0%,transparent 46%),
             radial-gradient(ellipse at 100% 100%,#ecf5ff 0%,transparent 48%),#f5f8fd;
}
#loginPage .entry-frame{
  max-width:1020px;
  width:100%;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  border-radius:22px;
  border:1px solid #d5e4f4;
  box-shadow:0 22px 70px rgba(20,65,120,.12);
}
#loginPage .entry-brand{
  min-height:535px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:42px 38px;
  background:linear-gradient(152deg,#277ddb 0%,#1664b9 55%,#0e4a96 100%);
  text-align:center;
}
#loginPage .entry-symbol{
  width:76px;height:76px;
  border-radius:21px;
  background:rgba(255,255,255,.18);
  display:grid;
  place-items:center;
  font-size:38px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
#loginPage .entry-brand h1{
  color:white;
  font-weight:850;
  font-size:clamp(46px,4.2vw,60px);
  line-height:1.08;
  margin:22px 0 10px;
  letter-spacing:-1.8px;
  text-align:center;
}
#loginPage .entry-brand>p{
  color:#f2f8ff;
  text-align:center;
  font-size:17px;
  line-height:1.55;
  margin:9px auto 0;
  max-width:350px;
  font-weight:450;
}
#loginPage .entry-highlights{
  display:grid;
  gap:14px;
  width:min(100%,405px);
  margin:37px auto 0;
  color:#fff;
  text-align:left;
  font-size:14px;
  line-height:1.55;
  font-weight:600;
}
#loginPage .entry-highlights>div{
  display:flex;
  align-items:center;
  min-height:28px;
}
#loginPage .entry-auth{
  padding:38px clamp(28px,4.2vw,56px);
  background:#fff;
  justify-content:center;
}
#loginPage .entry-heading{
  text-align:center;
  margin-bottom:24px;
}
#loginPage .tiny-caption{
  color:#1a67b4;
  font-size:11px;
  font-weight:850;
  letter-spacing:1.3px;
}
#loginPage .entry-heading h2{
  color:#132f50;
  font-size:clamp(29px,3vw,37px);
  letter-spacing:-.7px;
  font-weight:800;
  line-height:1.15;
  margin:12px 0 8px;
}
#loginPage .entry-heading p{
  margin:0;
  color:#5a718a;
  font-size:14px;
  font-weight:450;
  line-height:1.5;
}
#loginPage .form-stack{
  gap:15px;
  width:100%;
}
#loginPage .form-stack label{
  display:block;
  color:#193858;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}
#loginPage .form-stack label input{
  width:100%;
  height:48px;
  min-height:48px;
  margin-top:7px;
  padding:11px 14px;
  border:1.5px solid #b6cbe3;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
  color:#193653;
  text-align:center;
  font-size:15px;
  font-weight:550;
  letter-spacing:0;
}
#loginPage .form-stack label input::placeholder{
  color:#71839b;
  opacity:1;
  font-size:13px;
  font-weight:450;
}
#loginPage .form-stack label input:focus-visible{
  outline:3px solid rgba(33,118,220,.16);
  outline-offset:1px;
  border-color:#2678d0;
}
#loginPage .form-stack label small{
  color:#536b83;
  font-size:11.5px;
  font-weight:500;
  text-align:center;
}
#loginPage .form-stack .btn-main{
  margin-top:6px;
  min-height:49px;
  border-radius:10px;
  background:#176dcc;
  box-shadow:0 8px 20px rgba(22,102,191,.15);
  font-size:16px;
  font-weight:800;
}
#loginPage .form-stack .btn-main:hover{background:#0e5cb3}
#loginPage .form-stack .btn-text{
  padding:6px 4px;
  border:0;
  background:none;
  color:#155eab;
  font-size:14px;
  font-weight:700;
}
#loginPage .form-stack .btn-text:hover{text-decoration:underline}
#loginPage #guestBox{margin:0}
#loginPage #guestBox .btn{min-height:49px}
#loginPage .message{
  border-radius:10px;
  text-align:center;
  font-size:13px;
  font-weight:600;
}
#loginPage .form-stack input[autocomplete="username"]{
  font-variant-ligatures:none;
}
@media(max-width:750px){
 #loginPage .entry-frame{
   max-width:540px;
   grid-template-columns:minmax(0,1fr);
   border-radius:18px;
 }
 #loginPage .entry-brand{
   min-height:0;
   padding:23px 22px 24px;
 }
 #loginPage .entry-symbol{
   width:58px;height:58px;
   font-size:29px;
   border-radius:16px;
 }
 #loginPage .entry-brand h1{
   font-size:39px;
   margin:11px 0 5px;
 }
 #loginPage .entry-brand>p{
   max-width:400px;
   font-size:13px;
   margin-top:3px;
 }
 #loginPage .entry-highlights{display:none}
 #loginPage .entry-auth{padding:26px 22px 29px}
 #loginPage .entry-heading{margin-bottom:17px}
}
@media(max-width:420px){
 #loginPage.entry{padding:8px}
 #loginPage .entry-auth{padding:22px 16px}
 #loginPage .entry-heading h2{font-size:28px}
}


/* License status and licensing panel; subdued until an action is necessary. */
.license-badge{display:inline-flex;align-items:center;justify-content:center;max-width:220px;
 padding:7px 11px;border-radius:999px;border:1px solid #d0e0f0;background:#edf5fe;
 color:#24567f;font-size:12px;font-weight:700;text-align:center;white-space:nowrap}
.license-notice{margin:12px 0;background:#fff8e9;color:#885610;border:1px solid #edd7aa;
 border-radius:10px;padding:10px 15px;font-weight:650;font-size:13px;line-height:1.55}
.license-notice.expired{background:#fff3f0;border-color:#f0c4bf;color:#a13527}
.admin-tabs{display:flex;gap:9px;align-items:center;margin:0 0 16px}
.admin-tabs .btn{padding:9px 17px;font-weight:800}
.license-admin{width:100%;min-width:0}
.license-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:15px}
.license-kpi{border:1px solid #d9e6f2;border-radius:11px;background:#f6faff;padding:12px 14px;
 display:grid;align-content:center;gap:5px;text-align:center}
.license-kpi span{font-size:12px;color:#516c84;font-weight:700}
.license-kpi strong{font-size:24px;font-weight:850;color:#145a9b}
.license-table{min-width:890px}
.license-table td,.license-table th{vertical-align:middle}
.license-person strong{font-size:13px;color:#173c5d}
.license-detail{font-size:11px;color:#536d84;line-height:1.5;overflow-wrap:anywhere}
.license-action-cell{min-width:340px}
.license-grant-controls{display:grid;gap:7px;min-width:300px}
.license-grant-controls input{width:100%;max-width:100%;padding:8px 10px;min-height:35px;
 border-radius:8px;border:1px solid #bed2e6;background:white;color:#173858;font-size:12px}
.license-action-buttons{display:flex;gap:5px;flex-wrap:wrap}
.license-action-buttons .btn{min-height:33px;padding:6px 9px;font-size:11px;font-weight:750}
.license-history{background:#f7faff;border:1px solid #dce9f6;border-radius:8px;
 max-height:180px;overflow-y:auto;padding:8px 10px;font-size:12px}
.license-history p{margin:4px 0;font-size:11px;line-height:1.5;color:#395c78}
@media(max-width:800px){.license-badge{max-width:none;font-size:11px;padding:6px}
 .license-kpis{gap:6px}.license-kpi{padding:9px 6px}.license-kpi strong{font-size:19px}
 .license-kpi span{font-size:10px}
}
@media(max-width:580px){.license-badge{order:3;width:100%}.license-notice{font-size:12px}}

.group-config{margin:12px 0;padding:13px 15px;border:1px solid #cbdff0;border-radius:11px;background:#f8fbff}.group-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.group-head strong{color:#174e7c;font-size:14px}.group-head span{font-size:12px;color:#60788c}.group-part{padding:8px 0;border-top:1px solid #e0eaf3}.group-part>strong{font-size:13px;color:#285b7f}.group-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 0}.group-name{flex:1;min-width:160px;font-size:13px}.group-pick,.group-check,.group-flags label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#385b75}.group-pick input{width:58px;min-height:30px;border:1px solid #bdd1e3;border-radius:7px;padding:4px 6px;text-align:center}.group-check input,.group-flags input{accent-color:#1973b8}.group-flags{display:flex;gap:18px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #dbe8f4}
