.medtl-lab{--m:#2947d3;--m2:#5f74ff;--ink:#17203a;--muted:#65708a;--soft:#f4f7ff;--card:#fff;--line:#e5e9f5;font-family:Inter,Arial,sans-serif;color:var(--ink);max-width:1220px;margin:24px auto;padding:0 16px}.medtl-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#eef4ff,#ffffff 55%,#f6f1ff);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(34,53,120,.08)}.medtl-kicker{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--m);font-size:12px}.medtl-hero h1{font-size:36px;line-height:1.1;margin:8px 0}.medtl-hero p{max-width:760px;color:var(--muted);font-size:16px;margin:0}.medtl-badge{background:#12204f;color:#fff;border-radius:999px;padding:12px 18px;font-weight:800;white-space:nowrap}.medtl-alert{margin:18px 0;padding:15px 18px;background:#fff8e8;border:1px solid #ffe2a5;border-radius:18px;color:#6b4b00;font-weight:700}.medtl-shell{display:grid;grid-template-columns:270px 1fr;gap:18px}.medtl-side{position:sticky;top:20px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:0 12px 36px rgba(24,33,75,.06)}.medtl-step{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:16px;padding:13px;text-align:left;cursor:pointer;font-weight:800;color:#4c5874}.medtl-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2ff;color:var(--m)}.medtl-step.is-active{background:linear-gradient(135deg,var(--m),var(--m2));color:#fff}.medtl-step.is-active span{background:#fff;color:var(--m)}.medtl-main{min-width:0}.medtl-common-card,.medtl-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:22px;margin-bottom:18px;box-shadow:0 14px 45px rgba(25,36,85,.06)}.medtl-common-card h3,.medtl-panel h2{margin-top:0}.medtl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.medtl-lab label{display:block;font-weight:800;color:#28324e;margin:12px 0 6px}.medtl-lab input,.medtl-lab select,.medtl-lab textarea{width:100%;box-sizing:border-box;border:1px solid #dbe2f0;border-radius:15px;padding:12px 13px;background:#fbfcff;color:#17203a;font:inherit}.medtl-lab textarea{resize:vertical}.medtl-upload-row{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:stretch;margin-top:10px}.medtl-upload-box{border:2px dashed #b8c4ee!important;background:#f7f9ff;border-radius:20px;padding:22px;text-align:center;cursor:pointer}.medtl-upload-box input{display:none}.medtl-upload-box span{display:block;color:var(--muted);font-weight:600;margin-top:6px}.medtl-preview-wrap{min-height:150px;background:#f7f8fc;border:1px solid var(--line);border-radius:20px;display:grid;place-items:center;overflow:hidden}.medtl-preview-wrap img{max-width:100%;max-height:260px;display:none}.medtl-panel{display:none}.medtl-panel.is-active{display:block}.medtl-muted{color:var(--muted)}.medtl-run{border:0;background:linear-gradient(135deg,var(--m),var(--m2));color:#fff;border-radius:16px;padding:14px 20px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(41,71,211,.25)}.medtl-run:disabled{opacity:.6;cursor:wait}.medtl-result{background:#fbfcff;border:1px solid var(--line);border-radius:20px;padding:18px;line-height:1.65;max-height:760px;overflow:auto}.medtl-result h1,.medtl-result h2,.medtl-result h3{color:#17203a}.medtl-empty{color:var(--muted);font-style:italic}.medtl-login-card{max-width:520px;margin:50px auto;padding:18px}.medtl-login-inner{background:#fff;border:1px solid #e5e9f5;border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(34,53,120,.08)}@media(max-width:900px){.medtl-shell{grid-template-columns:1fr}.medtl-side{position:relative;top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}.medtl-grid{grid-template-columns:1fr 1fr}.medtl-upload-row{grid-template-columns:1fr}.medtl-hero{display:block}.medtl-badge{display:inline-block;margin-top:16px}.medtl-hero h1{font-size:30px}}@media(max-width:560px){.medtl-grid,.medtl-side{grid-template-columns:1fr}.medtl-lab{padding:0 10px}.medtl-hero,.medtl-common-card,.medtl-panel{border-radius:20px;padding:18px}.medtl-hero h1{font-size:26px}}

/* v1.0.1 trainer-facing polish */
.medtl-hero{text-align:center;justify-content:center;flex-direction:column}.medtl-hero p{margin-left:auto;margin-right:auto}.medtl-badge{margin-top:4px}.medtl-shell{align-items:start}.medtl-main{max-width:920px;margin:0 auto;width:100%}.medtl-common-card,.medtl-panel{text-align:left}.medtl-common-card>h3,.medtl-panel>h2{text-align:center}.medtl-muted{text-align:center}.medtl-howto{background:linear-gradient(135deg,#f7faff,#fff);border:1px solid #dfe7fb;border-radius:20px;padding:16px 18px;margin:10px 0 18px;line-height:1.65;color:#34405f}.medtl-howto strong{display:block;text-align:center;color:#17203a;font-size:18px;margin-bottom:6px}.medtl-howto p{margin:0 0 10px;text-align:center}.medtl-howto ul{margin:8px auto 0;max-width:760px}.medtl-run{display:block;margin:18px auto 0;min-width:240px;text-align:center}.medtl-result{text-align:left}.medtl-side{display:flex;flex-direction:column;gap:8px}.medtl-step{justify-content:flex-start}.medtl-step span{flex:0 0 auto}@media(max-width:900px){.medtl-side{position:relative;display:flex;flex-direction:column;align-items:stretch}.medtl-main{max-width:100%}.medtl-howto p{text-align:left}}@media(max-width:560px){.medtl-lab{max-width:100%;margin:16px auto;padding:0 12px}.medtl-hero,.medtl-alert,.medtl-shell,.medtl-common-card,.medtl-panel{margin-left:auto;margin-right:auto}.medtl-step{justify-content:flex-start}.medtl-run{width:100%;min-width:0}.medtl-howto{padding:14px}.medtl-howto ul{padding-left:18px}}

/* v1.0.2 theory foundation model integration */
.medtl-theory-card{background:linear-gradient(135deg,#f8fbff,#fffaf0);border:1px solid #dfe7fb;border-radius:20px;padding:16px 18px;margin:12px 0 20px;line-height:1.65;color:#34405f;text-align:center}
.medtl-theory-card strong{display:block;color:#17203a;font-size:18px;margin-bottom:6px}
.medtl-theory-card p{max-width:880px;margin:0 auto;color:#5f6b86}
.medtl-lens-note{background:#f4f7ff;border:1px solid #dfe7fb;border-radius:16px;padding:12px 14px;color:#33405f;line-height:1.55;text-align:center;margin:10px auto 16px;max-width:850px}
.medtl-lens-note b{color:#17203a}
@media(max-width:560px){.medtl-theory-card,.medtl-lens-note{text-align:left}.medtl-theory-card p{font-size:14px}}

/* v1.0.4 trainee access-code workspace */
.medtl-trainee-wrap{--m:#2947d3;--m2:#6577ff;--ink:#17203a;--muted:#66718a;--soft:#f5f7ff;--line:#e4e9f6;font-family:Inter,Arial,sans-serif;color:var(--ink);max-width:1180px;margin:28px auto;padding:0 16px}.medtl-trainee-hero{background:linear-gradient(135deg,#f1f5ff,#fff 62%,#f7f1ff);border:1px solid var(--line);border-radius:28px;padding:32px;text-align:center;box-shadow:0 18px 50px rgba(34,53,120,.08)}.medtl-trainee-hero h1{font-size:38px;line-height:1.1;margin:8px 0 10px}.medtl-trainee-hero p{max-width:780px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.7}.medtl-trainee-error{margin:18px auto;padding:14px 18px;border:1px solid #ffc2c2;background:#fff4f4;border-radius:18px;color:#8b1c1c;font-weight:800;max-width:680px}.medtl-access-form,.medtl-form-card,.medtl-saved-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;margin:20px auto;box-shadow:0 14px 45px rgba(25,36,85,.06)}.medtl-access-form{max-width:560px}.medtl-access-form label,.medtl-trainee-form label{display:block;font-weight:850;color:#28324e;margin:14px 0 8px}.medtl-access-form input,.medtl-trainee-form input,.medtl-trainee-form select,.medtl-trainee-form textarea{width:100%;box-sizing:border-box;border:1px solid #dbe2f0;border-radius:16px;padding:13px 15px;background:#fbfcff;color:#17203a;font:inherit}.medtl-access-form button,.medtl-submit-row button,.medtl-saved-actions button{border:0;background:linear-gradient(135deg,var(--m),var(--m2));color:#fff;border-radius:16px;padding:14px 22px;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(41,71,211,.24)}.medtl-access-form button{width:100%;margin-top:12px}.medtl-centered-intro{text-align:center}.medtl-centered-intro>p{color:var(--muted);margin-top:0}.medtl-upload-large{display:block;border:2px dashed #b8c4ee!important;background:#f7f9ff;border-radius:24px;padding:28px;text-align:center;cursor:pointer;margin:18px auto 22px!important;max-width:680px}.medtl-upload-large input{display:none}.medtl-upload-large span{display:block;color:var(--muted);font-weight:650;margin-top:8px}.medtl-trainee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;text-align:left}.medtl-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.medtl-analysis-box{background:#fbfcff;border:1px solid #e7ecf7;border-radius:20px;padding:14px;margin:0!important}.medtl-analysis-box textarea{margin-top:8px;min-height:150px;background:#fff}.medtl-form-card h2{text-align:center;margin-top:0;font-size:28px}.medtl-submit-row{text-align:center;margin:24px 0 40px}.medtl-submit-row button{min-width:280px}.medtl-saved-actions{text-align:center;margin:20px 0}.medtl-saved-actions button{margin:5px}.medtl-saved-card{line-height:1.7}.medtl-saved-card h2{text-align:center;font-size:32px}.medtl-saved-image{display:block;max-width:520px;width:100%;height:auto;margin:14px auto;border-radius:20px;border:1px solid var(--line)}.medtl-saved-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:#f7f9ff;border:1px solid var(--line);border-radius:18px;padding:14px;margin:18px 0}.medtl-saved-meta p{margin:0}.medtl-saved-section{border-top:1px solid #e8edf7;padding:14px 0}.medtl-saved-section h3{margin:0 0 6px;color:#17203a}.medtl-saved-section p{margin:0 0 8px}@media(max-width:900px){.medtl-trainee-grid{grid-template-columns:1fr 1fr}.medtl-box-grid{grid-template-columns:1fr}.medtl-saved-meta{grid-template-columns:1fr 1fr}.medtl-trainee-hero h1{font-size:32px}}@media(max-width:560px){.medtl-trainee-wrap{padding:0 12px;margin:18px auto}.medtl-trainee-hero,.medtl-form-card,.medtl-access-form,.medtl-saved-card{border-radius:22px;padding:20px}.medtl-trainee-hero h1{font-size:28px}.medtl-trainee-grid,.medtl-saved-meta{grid-template-columns:1fr}.medtl-submit-row button{width:100%;min-width:0}.medtl-box-grid{gap:12px}.medtl-analysis-box textarea{min-height:170px}}
@media print{body *{visibility:hidden!important}#medtl_saved_analysis,#medtl_saved_analysis *{visibility:visible!important}#medtl_saved_analysis{position:absolute;left:0;top:0;width:100%;box-shadow:none!important;border:0!important}.medtl-saved-actions{display:none!important}}
