@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Manrope:wght@400;600;700&display=swap");:root{--blue:#0b3d91;--blue-soft:#e6f0ff;--text:#0f1b2d;--muted:#5f6b7a;--border:#d5e2f2;--bg:#fff;--cream:#f4f8ff;--teal:#3bbf8b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Manrope,Segoe UI,sans-serif;background:#eef2f7;color:var(--text)}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:.2px}a{color:inherit;text-decoration:none}.page{min-height:100vh;padding:48px clamp(20px,6vw,80px);display:flex;flex-direction:column;gap:32px}.page.home{position:relative;border-radius:32px;background:radial-gradient(circle at top left,#fff 0,#f5f7fb 40%,#e9f1ff 100%);box-shadow:0 30px 80px rgba(9,30,66,.08)}.page.narrow{max-width:560px;margin:0 auto}.content-narrow{max-width:720px;width:100%;margin:0 auto;display:grid;grid-gap:24px;gap:24px}.header{justify-content:space-between;gap:24px}.header,.header-status{display:flex;align-items:center}.header-status{gap:12px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:12px;color:var(--muted)}.header.minimal{flex-direction:column;align-items:flex-start}.subnav{display:flex;flex-direction:column;gap:12px}.header-greeting{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:#f7fbff;font-weight:600;color:var(--text)}.subnav-links{display:flex;gap:12px;flex-wrap:wrap}.brand{display:flex;gap:16px;align-items:center}.brand-logo{width:46px;height:46px;border-radius:12px}.nav{display:flex;gap:16px;align-items:center}.portal-header{flex-wrap:wrap;width:100%}.menu{padding:12px 16px;border:1px solid var(--border);background:#f7fbff}.menu,.teacher-menu{display:flex;gap:12px;flex-wrap:wrap;border-radius:16px}.teacher-menu{padding:10px 12px;background:#f2f6fd;border:1px solid var(--border)}.menu-link{padding:8px 14px;border-radius:999px;font-weight:600;border:1px solid transparent;color:var(--blue);background:#fff}button.menu-link{cursor:pointer}.menu-link.active{background:var(--blue);color:#fff;border-color:var(--blue)}.divider{height:1px;background:var(--border);margin:16px 0}.primary{background:var(--blue);color:#fff;border-radius:10px;border:none}.ghost,.primary{padding:10px 18px;font-weight:600;cursor:pointer}.ghost{border-radius:10px;border:1px solid var(--blue);color:var(--blue);background:transparent}.ghost.teacher-link{border:none;padding:0;background:transparent;color:var(--muted)}.ghost.teacher-link:hover{color:var(--blue)}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:32px;gap:32px;align-items:start}.medical-hero{background:#fff;border-radius:28px;padding:clamp(20px,4vw,36px);box-shadow:0 20px 60px rgba(11,61,145,.12);border:1px solid #e3ecfb}.hero-copy{display:grid;grid-gap:16px;gap:16px}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:1.6px;color:#2a6fda;font-weight:700}.hero-visual img{width:100%;height:auto;border-radius:24px;box-shadow:0 16px 40px rgba(11,61,145,.18)}.hero-visual{position:relative}.hero-badge{position:absolute;left:12%;bottom:-18px;background:#fff;border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 16px 32px rgba(11,61,145,.12);border:1px solid #e3ecfb}.hero-badge strong{display:block;font-size:14px}.hero-badge span{font-size:12px;color:var(--muted)}.badge-dot{width:12px;height:12px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px #e6f6f0}.hero-note{margin-top:14px;font-size:13px;color:var(--muted)}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.stat-card{border-radius:14px;padding:12px 14px;background:var(--blue-soft);border:1px solid #dce8fb;display:grid;grid-gap:6px;gap:6px}.stat-title{font-size:12px;color:var(--muted)}.hero.simple{grid-template-columns:1fr;max-width:640px;gap:16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px}.info-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:#f7fbff;box-shadow:0 6px 16px rgba(11,61,145,.08)}.info-card h3{margin-bottom:8px}.info-card p{color:var(--muted);line-height:1.5}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:24px;gap:24px}.feature-grid.medical .feature-card{background:#fff;border-radius:20px}.feature-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;display:grid;grid-gap:12px;gap:12px;box-shadow:0 10px 24px rgba(11,61,145,.08)}.feature-card img{width:100%;height:auto;border-radius:14px}.feature-card p{color:var(--muted);line-height:1.5}.teachers{display:grid;grid-gap:12px;gap:12px}.presence-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.presence-card{border-radius:18px;border:1px solid #e3ecfb;background:#fff;padding:16px;display:grid;grid-gap:10px;gap:10px;box-shadow:0 12px 24px rgba(11,61,145,.08)}.presence-strip.compact .presence-card{padding:12px;box-shadow:0 8px 18px rgba(11,61,145,.08)}.presence-title{font-weight:700}.presence-row{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.presence-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.presence-dot.online{background:var(--teal);box-shadow:0 0 0 6px rgba(59,191,139,.18),0 0 12px rgba(59,191,139,.6)}.presence-dot.offline{background:#e5484d;box-shadow:0 0 0 6px rgba(229,72,77,.16),0 0 12px rgba(229,72,77,.5)}.presence-dot.in-avatar{position:absolute;right:4px;bottom:4px;width:12px;height:12px;border:2px solid #fff}.journey{padding:24px;border-radius:24px;border:1px solid #e3ecfb;background:#fff;display:grid;grid-gap:20px;gap:20px}.journey-head{display:grid;grid-gap:6px;gap:6px}.journey-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.journey-steps article{border-radius:18px;padding:16px;border:1px solid var(--border);background:#f7fbff;display:grid;grid-gap:10px;gap:10px}.step-index{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-weight:700;background:var(--blue);color:#fff}@media (max-width:720px){.page.home{border-radius:18px}.hero-badge{position:static;width:-moz-fit-content;width:fit-content;margin-top:12px}}.teacher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.teacher-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff;display:flex;gap:12px;align-items:center}.teacher-photo{width:56px;height:56px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;font-weight:700;color:var(--blue);overflow:hidden;position:relative}.teacher-photo img{width:100%;height:100%;object-fit:cover}.hero h2{font-size:clamp(28px,4vw,40px);margin-bottom:12px}.hero p{color:var(--muted);line-height:1.5;margin-bottom:20px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-card{border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--blue-soft)}.hero-card ul{list-style:none;display:grid;grid-gap:10px;gap:10px;margin:12px 0 20px;color:var(--muted)}.status{display:flex;gap:8px;align-items:center;font-weight:600}.dot{width:10px;height:10px;background:#18a34a;border-radius:50%}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:24px;gap:24px}.grid article{border:1px solid var(--border);border-radius:12px;padding:16px;background:#fff}.card{border:1px solid var(--border);border-radius:16px;padding:20px;display:grid;grid-gap:16px;gap:16px}.upload-box{border:2px dashed var(--border);border-radius:16px;padding:18px;display:grid;grid-gap:8px;gap:8px;background:#f7fbff}.file-input{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-input input[type=file]{position:absolute;left:-9999px}.file-name{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name,.format-sample{font-size:13px;color:var(--muted)}.format-sample{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;white-space:pre-wrap;font-family:IBM Plex Mono,SFMono-Regular,monospace}.card.warning{border-color:#f0c36d;background:#fff8e6}.stack{display:grid;grid-gap:16px;gap:16px}label{display:block;font-weight:600}.label-text{display:inline-flex;align-items:center}label>input,label>select,label>textarea{display:block;width:100%;margin-top:8px}label>.hint{display:block;margin-top:6px}.check{display:flex;align-items:center;gap:10px;font-weight:600}.check input{margin:0}.required{color:#b42318;margin-left:4px;display:inline;vertical-align:baseline}.required-note{font-size:12px;color:var(--muted);margin-top:-6px}input,textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}textarea{font-family:inherit;resize:vertical}select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff}.hint{font-size:13px}.hint,.muted{color:var(--muted)}.error,.muted{font-size:14px}.error{color:#b42318}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.filters input,.filters select{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px}.table{display:grid;grid-gap:12px;gap:12px}.question-list{display:grid;grid-gap:16px;gap:16px}.question-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:#fff;display:grid;grid-gap:12px;gap:12px}.question-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.option-grid{display:flex;flex-wrap:wrap;gap:8px}.option-chip{border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:13px;background:#f7fbff}.option-chip.correct{border-color:#1b8a5a;background:#e6f7ef;color:#0f5132;font-weight:600}.option-chip.wrong{border-color:#b42318;background:#fff3f3;color:#7a1f1f;font-weight:600}.answer-note{font-size:13px;color:#1b8a5a;font-weight:600}.row{display:flex;justify-content:space-between;border:1px solid var(--border);border-radius:12px;padding:14px 18px;background:#fff}.row span{color:var(--muted)}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.import-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:#fff}.config-metric strong{display:block;margin-top:4px;font-size:20px}.config-toggle{grid-column:1/-1}.config-toggle .check{margin-bottom:6px}.config-toggle .hint{display:block;margin-left:34px}.config-field{display:flex;flex-direction:column;gap:6px}.link-button{background:none;border:none;padding:0;color:var(--blue);font-weight:700;cursor:pointer;text-align:left}.link-button:hover{text-decoration:underline}.link-button.block{display:grid;grid-gap:4px;gap:4px;text-decoration:none;flex:1 1}.link-title{font-weight:700}.link-sub{font-size:13px;color:var(--muted);font-weight:400}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,320px));justify-content:start;grid-gap:20px;gap:20px}.test-card{border:1px solid var(--border);border-radius:16px;padding:18px;background:#fff;display:grid;grid-gap:16px;gap:16px;box-shadow:0 10px 24px rgba(15,27,45,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.test-card:hover{transform:translateY(-2px);border-color:#9fbbe4;box-shadow:0 16px 32px rgba(15,27,45,.12)}.test-card.passed{border-color:#2f8f4e;background:#f3fbf6}.test-card.failed{border-color:#b42318;background:#fff3f3}.card-head{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.card-head h3{overflow-wrap:break-word;word-break:normal}.test-title{line-height:1.2}.teacher-avatar{width:48px;height:48px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;font-weight:700;color:var(--blue);overflow:hidden;position:relative}.teacher-avatar img{width:100%;height:100%;object-fit:cover}.card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.card-meta .label{display:block;font-size:12px;color:var(--muted)}.teacher-tests-grid{grid-template-columns:repeat(5,240px);justify-content:start}.teacher-test-card{min-height:260px}.teacher-test-card .card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start}.teacher-test-card .card-head button{justify-self:end;white-space:nowrap}@media (max-width:1500px){.teacher-tests-grid{grid-template-columns:repeat(4,240px)}}@media (max-width:1200px){.teacher-tests-grid{grid-template-columns:repeat(3,240px)}}@media (max-width:900px){.teacher-tests-grid{grid-template-columns:repeat(2,240px)}}@media (max-width:640px){.teacher-tests-grid{grid-template-columns:1fr}}.label{font-size:12px;color:var(--muted)}.card-meta strong{font-size:16px}.card-window{font-size:13px;color:var(--muted);border-top:1px dashed var(--border);padding-top:10px}.card-actions{display:flex;gap:10px;flex-wrap:wrap;min-height:44px}.card-actions button{flex:1 1 220px;height:44px}.status-row{margin-top:8px;gap:8px;min-height:28px}.modal-backdrop,.status-row{display:flex;align-items:center}.modal-backdrop{position:fixed;inset:0;background:rgba(15,27,45,.48);justify-content:center;padding:24px;z-index:60}.modal{width:min(420px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 50px rgba(11,61,145,.2);display:grid;grid-gap:16px;gap:16px}.modal.large{width:min(520px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-close{border:none;background:transparent;font-size:24px;cursor:pointer;color:var(--muted)}.options{display:grid;grid-gap:10px;gap:10px}.question-card{background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #dbe7f6}.option-button{display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:600;text-align:left}.option-button:hover{border-color:var(--blue);box-shadow:0 6px 16px rgba(11,61,145,.12)}.option-key{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:700}.attempt-header{display:flex;align-items:center;gap:16px}.attempt-layout{margin-top:20px;gap:32px}.attempt-footer{display:flex;justify-content:flex-start;padding-top:8px}.timers{display:flex;gap:16px;flex-wrap:wrap;background:#f7fbff}.progress-panel,.timers{padding:12px 16px;border-radius:14px;border:1px solid var(--border)}.progress-panel{margin-top:12px;background:#fff}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-bottom:8px}.progress{height:8px;border-radius:999px;background:#e9eef5;overflow:hidden}.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#1f65d6,#4aa3ff);transition:width .3s ease}.timer{display:grid;grid-gap:4px;gap:4px}.timer strong{font-size:18px}.timer.danger strong{color:#b42318}.review-list{display:grid;grid-gap:12px;gap:12px}.review-item{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff;display:grid;grid-gap:10px;gap:10px}.review-options{display:flex;flex-wrap:wrap;gap:8px}.performance-grid{display:grid;grid-gap:16px;gap:16px}.performance-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff;display:grid;grid-gap:12px;gap:12px}.performance-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.performance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;padding:12px 14px;border:1px dashed var(--border);border-radius:12px;background:#fbfdff}.performance-stats strong{display:block;font-size:15px;margin-top:4px}.editor-panel{margin-top:24px;padding:20px;border-radius:16px;border:1px solid var(--border);background:#f8fafc;display:grid;grid-gap:16px;gap:16px}.editor-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.review-panel{margin-top:20px;padding:20px;border-radius:16px;border:1px solid var(--border);background:#fff;display:grid;grid-gap:16px;gap:16px}.avatar-uploader{display:grid;grid-gap:14px;gap:14px;align-items:center}.avatar-preview{width:120px;height:120px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.avatar-placeholder{width:120px;height:120px;border-radius:50%;border:2px dashed var(--border);display:grid;place-items:center;color:var(--muted);background:#f8fafc}.question-editor{border:1px solid var(--border);border-radius:12px;padding:16px;background:#fff;display:grid;grid-gap:12px;gap:12px}.question-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.option-editor{display:grid;grid-gap:8px;gap:8px}.option-row{display:grid;grid-template-columns:auto auto 1fr;grid-gap:10px;gap:10px;align-items:center}.badge{padding:6px 12px;border-radius:999px;background:#f0f4fa;color:var(--muted);white-space:nowrap}.badge.open{background:var(--blue);color:#fff}.badge.passed{background:#2f8f4e;color:#fff}.badge.failed{background:#b42318;color:#fff}.badge.warning{background:#f0c36d;color:#5a3b00}.badge.repeat{margin-left:8px}.back{color:var(--blue)}.back.disabled{color:var(--muted);cursor:default}@media (max-width:720px){.header{align-items:flex-start}.header,.row{flex-direction:column}.row{gap:8px}}.teacher-tests-list{display:flex;flex-direction:column;gap:10px}.teacher-test-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:12px 14px}.teacher-test-row .card-head{display:block;margin-bottom:8px}.teacher-test-row .card-head h3{margin-bottom:4px}.teacher-test-row .card-meta{display:flex;flex-wrap:wrap;gap:10px 16px}.teacher-test-row .card-meta>div{display:flex;align-items:baseline;gap:6px}.teacher-test-row .card-meta .label{font-size:11px}.teacher-test-row .ghost{align-self:start;justify-self:end;white-space:nowrap}@media (max-width:900px){.teacher-test-row{grid-template-columns:1fr}.teacher-test-row .ghost{justify-self:start}}.teacher-test-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px}.teacher-test-main{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1}.teacher-test-title{min-width:0}.teacher-test-title h3,.teacher-test-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-test-meta{display:flex;flex-wrap:nowrap;gap:12px;align-items:center;min-width:0;overflow:hidden}.teacher-test-meta>div{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}.teacher-test-edit{flex:0 0 auto;white-space:nowrap}@media (max-width:1100px){.teacher-test-row{padding:10px 12px}.teacher-test-meta{flex-wrap:wrap}}@media (max-width:900px){.teacher-test-row{flex-direction:column;align-items:flex-start}.teacher-test-main{flex-wrap:wrap}.teacher-test-edit{align-self:flex-start}}.notify-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d92d20;margin-left:8px;box-shadow:0 0 0 2px rgba(217,45,32,.2)}.teacher-tests-list .test-card.teacher-test-row{background:#f7faff;border-color:#d7e4f6;box-shadow:none}.teacher-tests-list .test-card.teacher-test-row:hover{transform:none;box-shadow:0 6px 18px rgba(15,27,45,.08)}.teacher-test-title h3{font-size:15px}.teacher-test-title p{font-size:12px}.teacher-test-meta .label{font-size:10px;text-transform:uppercase;letter-spacing:.4px}.teacher-test-meta strong{font-size:13px}.teacher-test-meta>div{background:#fff;border:1px solid var(--border);border-radius:10px;padding:6px 8px}.teacher-test-edit{padding:8px 14px}@media (max-width:720px){.page{padding:28px 16px}.header{gap:12px}.nav{width:100%;justify-content:flex-start;flex-wrap:wrap}.menu,.teacher-menu{overflow-x:auto;flex-wrap:nowrap;padding:10px 12px}.menu-link{flex:0 0 auto}.card{padding:16px}.card-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.filters button,.filters input,.filters select{width:100%}.row-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.teacher-test-row{gap:10px}.teacher-test-main{flex-direction:column;align-items:flex-start;gap:10px}.teacher-test-meta{flex-wrap:wrap}.teacher-test-edit{width:100%;text-align:center}.hero{grid-template-columns:1fr}.hero-visual{margin-top:16px}}.result-card .card-head{align-items:flex-start;gap:10px}.result-card .card-head h3{margin-bottom:4px}.result-card .card-head p{margin:0}.result-card .status-row{margin-top:6px;min-height:0}.review-modal{width:min(720px,100%)}.review-scroll{max-height:min(70vh,520px);overflow-y:auto;padding-right:8px}.review-scroll::-webkit-scrollbar{width:8px}.review-scroll::-webkit-scrollbar-thumb{background:#c7d6ea;border-radius:8px}.review-scroll::-webkit-scrollbar-track{background:#eef4fb;border-radius:8px}