:root{--bg: #f7f6f2;--text: #1e2a4a;--text-muted: #5f6b85;--text-faint: #949cb0;--heading: #2b3a8f;--surface: #ffffff;--surface-alt: #f4f7fa;--border: #e2e6ee;--border-input: #c9d3e0;--border-subtle: #eef1f6;--navy: #2b3a8f;--navy-deep: #232f75;--steel: #3e85c0;--brand-green: #8db63c;--navbar-bg: #2b3a8f;--navbar-text: #ffffff;--navbar-link: #c6d4f2;--navbar-link-hover: #ffffff;--navbar-user: #93a3d6;--primary: #2d92da;--primary-hover: #1d7dc4;--primary-text: #ffffff;--danger: #d1453b;--accent-bg: #e6f2fb;--accent-text: #1d6fae;--accent-link: #1d7dc4;--success: #5f8420;--success-bg: #f0f6e2;--success-card-bg: #f7faee;--success-border: #8db63c;--neutral-badge-bg: #eef0f3;--neutral-badge-text: #5f6b85;--alert-bg: #fdecea;--alert-text: #b02a25;--input-bg: #ffffff;--input-text: #1e2a4a;--shadow-strong: rgba(20, 30, 70, .28);--shadow-soft: rgba(20, 30, 70, .08);--table-header-text: #5f6b85;--status-done: #679324;--status-progress: #2d92da;--status-none: #8d99b0}:root[data-theme=dark]{--bg: #0c1122;--text: #e7ebf7;--text-muted: #9aa6c8;--text-faint: #707c9e;--heading: #cdd8f5;--surface: #151c36;--surface-alt: #1a2242;--border: #29335c;--border-input: #364173;--border-subtle: #202950;--navy: #2b3a8f;--navy-deep: #101635;--steel: #4d94cf;--brand-green: #a3c85a;--navbar-bg: #0a0e1e;--navbar-text: #ffffff;--navbar-link: #b9c6ea;--navbar-link-hover: #ffffff;--navbar-user: #7f8db8;--primary: #43a4ec;--primary-hover: #2d92da;--primary-text: #ffffff;--danger: #f2685c;--accent-bg: #1c2f55;--accent-text: #8ec7f2;--accent-link: #6ab5f0;--success: #b5d573;--success-bg: #1e2b12;--success-card-bg: #182310;--success-border: #7d9c3a;--neutral-badge-bg: #232c52;--neutral-badge-text: #aab4d4;--alert-bg: #3a1d1b;--alert-text: #f2a49e;--input-bg: #0c1122;--input-text: #e7ebf7;--shadow-strong: rgba(0, 0, 0, .55);--shadow-soft: rgba(0, 0, 0, .4);--table-header-text: #9aa6c8;--status-done: #7d9c3a;--status-progress: #2d92da;--status-none: #5d6a8c}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}.page{max-width:1000px;margin:0 auto;padding:24px}.page-wide{max-width:1400px}.page h1{color:var(--heading)}.page-loading{padding:40px;text-align:center}.navbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:var(--navbar-bg);color:var(--navbar-text);border-bottom:3px solid var(--brand-green)}.navbar .brand{display:flex;align-items:center;gap:12px;color:var(--navbar-text);text-decoration:none}.brand-logo{color:#fff;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-title{font-weight:700;font-size:19px;letter-spacing:1px}[dir=rtl] .brand-title{font-size:15px;letter-spacing:0}.brand-sub{font-size:11px;color:var(--navbar-link)}@media (max-width: 640px){.brand-sub{display:none}}.nav-links{display:flex;align-items:center;gap:16px}.nav-links a{color:var(--navbar-link);text-decoration:none}.nav-links a:hover{color:var(--navbar-link-hover)}.nav-user{color:var(--navbar-user);font-size:14px}.settings-controls{display:flex;align-items:center;gap:8px}.settings-controls-auth{position:absolute;top:16px;inset-inline-end:16px;z-index:2}.settings-btn{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;padding:5px 10px;font-size:13px;border-radius:6px;line-height:1.2}.settings-btn:hover{border-color:#fff9;background:transparent}.settings-btn-icon{font-size:15px;padding:4px 8px}button{cursor:pointer;background:var(--primary);color:var(--primary-text);border:none;border-radius:6px;padding:9px 16px;font-size:14px;transition:background .15s ease}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:not-allowed}.link-btn,.link-btn:hover{background:none;color:var(--accent-link);padding:0;font-size:14px}.link-btn.danger{color:var(--danger)}input,textarea,select{padding:9px 10px;border:1px solid var(--border-input);border-radius:6px;font-size:14px;font-family:inherit;background:var(--input-bg);color:var(--input-text)}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}label{display:flex;flex-direction:column;gap:4px;font-size:14px;margin-bottom:14px}.alert{background:var(--alert-bg);color:var(--alert-text);padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:14px}.notice{background:var(--success-bg);color:var(--success);padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:14px}.verify-instructions{font-size:14px;color:var(--text-muted);text-align:center;margin-top:0;overflow-wrap:anywhere}.otp-input{letter-spacing:8px;text-align:center;font-size:22px;font-weight:600;direction:ltr}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,rgba(0,0,0,0) 0 58%,var(--brand-green) 58% 59.6%,var(--navy-deep) 59.6% 100%),linear-gradient(115deg,var(--navy) 0 24%,var(--steel) 24% 25.4%,var(--navy) 25.4% 100%);overflow:hidden}:root[data-theme=dark] .auth-page{background:linear-gradient(115deg,rgba(0,0,0,0) 0 58%,var(--brand-green) 58% 59.4%,#0a0e22 59.4% 100%),linear-gradient(115deg,#131a3d 0,#131a3d 24%,#2a568a 24%,#2a568a 25.4%,#131a3d 25.4%,#131a3d)}.auth-card{position:relative;z-index:1;background:var(--surface);padding:32px 36px;border-radius:12px;width:380px;box-shadow:0 12px 34px var(--shadow-strong);border-top:4px solid var(--brand-green);margin:24px 0}.auth-card-wide{width:440px;max-width:calc(100vw - 32px)}.auth-card label input,.auth-card label select{width:100%}.auth-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;margin-bottom:18px}.auth-brand .brand-logo{color:var(--primary)}.auth-brand h1{margin:4px 0 0;letter-spacing:1px;font-size:26px;color:var(--heading)}[dir=rtl] .auth-brand h1{font-size:20px;letter-spacing:0}.auth-hospital{font-weight:600;font-size:15px;color:var(--text)}.subtitle{color:var(--text-muted);margin-top:0;margin-bottom:20px;font-size:14px;text-align:center}.switch-link{font-size:14px;text-align:center;color:var(--text-muted)}.auth-layout{display:flex;align-items:flex-end;justify-content:center}.auth-mascot{height:280px;margin-bottom:48px;margin-inline-end:-14px;pointer-events:none;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}[dir=rtl] .auth-mascot{transform:scaleX(-1)}@media (max-width: 980px){.auth-mascot{display:none}}.home-toolbar{display:flex;gap:10px;align-items:center;margin:16px 0 4px}.search-input{flex:1;max-width:420px}.filter-panel{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:10px 0;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.filter-panel .filter-label{flex-direction:column;align-items:stretch;gap:4px;margin-bottom:0;color:var(--text-muted)}.card-groups{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.card-groups .badge{margin:0}.filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px}.chip,.chip:hover{background:var(--surface);border:1.5px solid var(--border-input);color:var(--text-muted);border-radius:999px;padding:7px 16px;font-size:13px;line-height:1.2;transition:border-color .15s ease,color .15s ease,background .15s ease}.chip:hover{border-color:var(--primary);color:var(--primary)}.chip.active,.chip.active:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}.badge-category{background:var(--success-bg);color:var(--success);margin-bottom:8px;display:inline-block}.course-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:14px}@media (min-width: 620px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.course-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1340px){.course-grid{grid-template-columns:repeat(4,1fr)}}.course-box{display:flex;flex-direction:column;background:var(--surface);border-radius:10px;padding:0;overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--border);border-top:3px solid var(--primary);transition:box-shadow .15s ease}.course-box .card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}.course-box .course-meta{margin-top:auto}.card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;background:var(--border)}.card-image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#000) 0%,var(--primary) 55%,var(--brand-green) 100%)}.card-image-placeholder span{font-size:44px;font-weight:800;color:#ffffffe6}.course-box:hover{box-shadow:0 6px 18px var(--shadow-soft)}.course-box h2{margin:0 0 8px;font-size:18px;color:var(--heading)}.course-desc{color:var(--text-muted);font-size:14px}.course-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:13px;color:var(--text-muted)}.badge{padding:3px 10px;border-radius:999px;font-size:12px;background:var(--accent-bg);color:var(--accent-text)}.badge-completed{background:var(--success-bg);color:var(--success)}.badge-not_started{background:var(--neutral-badge-bg);color:var(--neutral-badge-text)}.step-card{background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--steel);border-radius:10px;padding:20px;margin-top:20px}.step-card h2{color:var(--heading);margin-top:0}.step-card.enroll-card{border-inline-start-color:var(--brand-green)}.target-audience{margin:14px 0}.target-audience h3{margin:0 0 8px;font-size:14px;color:var(--heading)}.target-badges{display:flex;flex-wrap:wrap;gap:6px}.target-badges .badge{margin-bottom:0}.step-card.completed-card{border-color:var(--success-border);border-inline-start-color:var(--success-border);background:var(--success-card-bg);display:flex;align-items:center;justify-content:space-between;gap:20px}.completed-mascot{height:130px;flex-shrink:0}.video-list{list-style:none;padding:0;margin:12px 0 0}.video-list li{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.video-frame{margin-top:16px}.video-frame iframe{width:100%;height:420px;border:none;border-radius:8px}.eval-form{background:var(--surface);border:1px solid var(--border);border-inline-start:4px solid var(--primary);border-radius:10px;padding:24px;margin-top:20px}.eval-form h2{color:var(--heading);margin-top:0}.question-block{margin-bottom:18px}.question-text{font-weight:600;margin-bottom:8px}.options{display:flex;flex-direction:column;gap:6px}.option-label{flex-direction:row;align-items:center;gap:8px}.eval-form textarea{width:100%;min-height:70px}.admin-shell{display:flex;min-height:calc(100vh - 59px)}.admin-sidebar{width:200px;background:var(--surface);border-inline-end:1px solid var(--border);padding:20px 0;display:flex;flex-direction:column;gap:4px}.admin-sidebar a{padding:10px 20px;text-decoration:none;color:var(--text);font-size:14px;border-inline-start:3px solid transparent}.admin-sidebar a.active{background:var(--accent-bg);color:var(--accent-link);font-weight:600;border-inline-start-color:var(--brand-green)}.admin-content{flex:1;padding:24px 32px}.admin-content h1{color:var(--heading)}.admin-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;margin-top:20px}.admin-panel h2{color:var(--heading);margin-top:0}.details-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 16px;align-items:end}.details-form label input,.details-form label select{width:100%}.details-actions{display:flex;align-items:center;gap:10px;grid-column:1 / -1}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn-link{background:var(--primary);color:var(--primary-text);padding:9px 16px;border-radius:6px;text-decoration:none;font-size:14px;white-space:nowrap}.btn-link:hover{background:var(--primary-hover)}.tg-section{margin:16px 0 6px}.correct-opt{color:var(--success);font-weight:600}.eval-result{text-align:center}.score-line{font-size:20px;margin:12px 0 20px}.score-line strong{color:var(--primary);font-size:26px}.reg-group-label{display:block;font-size:14px;margin-bottom:6px}.role-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-head h2{margin:0}.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px;margin:14px 0}.perm-item{flex-direction:row;align-items:center;gap:8px;margin-bottom:0;font-size:14px}.perm-item input{width:auto}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.manage-list{list-style:none;padding:0;margin:0}.manage-list li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.manage-list li span:first-child{flex:1}.muted{color:var(--text-faint);font-size:13px}.muted-heading{margin:18px 0 8px;font-size:14px;color:var(--text-muted)}.data-table a{color:var(--accent-link);text-decoration:none}.data-table a:hover{text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:20px 0}.stat-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--brand-green);border-radius:10px;padding:18px;display:flex;flex-direction:column}.stat-value{font-size:26px;font-weight:700;color:var(--heading)}.stat-label{color:var(--text-muted);font-size:13px}.status-legend{display:flex;flex-wrap:wrap;gap:16px;margin:6px 0 12px;font-size:13px;color:var(--text-muted)}.status-legend span{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.completion-cell{display:flex;align-items:center;gap:10px;min-width:180px}.status-meter{display:flex;gap:2px;height:10px;flex:1;border-radius:999px;overflow:hidden}.status-meter .seg{border-radius:2px;min-width:3px}.seg-done{background:var(--status-done)}.seg-progress{background:var(--status-progress)}.seg-none{background:var(--status-none)}.completion-pct{font-size:13px;color:var(--text-muted);min-width:36px;text-align:end}.export-row{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:14px}.data-table th,.data-table td{text-align:start;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.data-table th{background:var(--surface-alt);font-weight:600;color:var(--table-header-text);font-size:13px;border-bottom:2px solid var(--steel)}.pager{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:14px}.chart-duo{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 1000px){.chart-duo{grid-template-columns:1fr 1fr}}.chart-duo .admin-panel{margin:8px 0}.chart-panel h2{margin-top:0}.muted{color:var(--text-muted)}.bar-list{display:flex;flex-direction:column;gap:14px;margin-top:12px}.bar-row{display:flex;flex-direction:column;gap:6px}.bar-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.bar-name{font-weight:600;color:var(--heading)}.bar-track{flex:1;height:9px;background:color-mix(in srgb,var(--border) 55%,transparent);border-radius:6px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:6px;transition:width .4s ease}.bar-fill.pre{background:color-mix(in srgb,var(--primary) 45%,var(--border))}.bar-fill.post{background:var(--brand-green)}.duo-bars{display:flex;flex-direction:column;gap:5px}.duo-line{display:flex;align-items:center;gap:10px}.duo-tag{min-width:130px;font-size:12px;color:var(--text-muted)}.bar-num{min-width:42px;font-size:12px;font-weight:700;color:var(--heading);text-align:end}.delta-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--border) 40%,transparent);color:var(--text-muted)}.delta-badge.up{background:color-mix(in srgb,var(--brand-green) 18%,transparent);color:var(--brand-green)}.delta-badge.down{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.best-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,#e8b931 22%,transparent);color:#a07908}.count-chip{display:inline-flex;align-items:center;font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.improve-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}.satisfaction-wrap{display:flex;align-items:center;gap:22px}.donut{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-inner{width:78px;height:78px;border-radius:50%;background:var(--surface);display:grid;place-items:center}.donut-value{font-size:18px;font-weight:800;color:var(--heading)}.hospital-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:12px}.hospital-card{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.hospital-card h3{margin:0;font-size:15px;color:var(--heading)}.hosp-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hosp-best{font-size:13px;color:var(--text-muted)}.mini-note{font-size:12px;margin:0}.simple-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.simple-list li{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;font-size:14px;border-bottom:1px solid var(--border);padding-bottom:8px}.multi-select{position:relative}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:inherit;font:inherit;cursor:pointer;text-align:start}.multi-select-trigger.open,.multi-select-trigger:focus-visible{border-color:var(--primary);outline:none}.multi-select-placeholder{color:var(--text-muted)}.multi-select-caret{color:var(--text-muted);flex-shrink:0}.multi-select-chips{display:flex;flex-wrap:wrap;gap:6px}.ms-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;font-size:13px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:600}.ms-chip-x{cursor:pointer;font-weight:700;line-height:1}.ms-chip-x:hover{color:var(--danger)}.multi-select-panel{position:absolute;z-index:30;inset-inline:0;top:calc(100% + 6px);max-height:240px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px var(--shadow-soft);padding:6px}.multi-select-option{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;margin:0}.multi-select-option:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.multi-select-option input{width:auto;margin:0}.search-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin:16px 0 0;box-shadow:0 2px 10px var(--shadow-soft)}.search-card .home-toolbar{margin:0}.search-card .filter-panel{background:transparent;border:none;border-top:1px solid var(--border);border-radius:0;padding:12px 0 0;margin:12px 0 0}.results-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 2px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-muted);font-size:14px;font-weight:600}.image-preview-wrap{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.image-preview{width:240px;aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block}.image-preview-empty{display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#000) 0%,var(--primary) 55%,var(--brand-green) 100%)}.image-preview-empty span{font-size:40px;font-weight:800;color:#ffffffe6}.image-actions{display:flex;flex-direction:column;gap:8px}.image-file-label{margin-bottom:0;font-weight:600;color:var(--accent-link);cursor:pointer}.image-file-label input[type=file]{font-size:13px;border:none;padding:0;background:transparent}.image-hint{font-size:12px;color:var(--text-muted)}.table-scroll{overflow-x:auto;margin-top:12px}.mini-bar-cell{display:flex;align-items:center;gap:8px;min-width:130px}.mini-bar-track{flex:1;height:8px;border-radius:5px;background:color-mix(in srgb,var(--border) 55%,transparent);overflow:hidden}.mini-bar-fill{display:block;height:100%;border-radius:5px;background:var(--brand-green)}.mini-bar-pct{min-width:38px;text-align:end;font-weight:700;font-size:13px;color:var(--heading)}
