:root{--edusim-primary: #2563eb;--edusim-primary-dark: #174aa9;--edusim-primary-soft: #eef6ff;--edusim-accent: #f59e0b;--edusim-accent-soft: #fff7e6;--edusim-success: #16803c;--edusim-success-soft: #eaf7ef;--edusim-danger: #b42318;--edusim-danger-soft: #fff2f2;--edusim-warning: #b45309;--edusim-warning-soft: #fff7ed;--edusim-ink: #0f172a;--edusim-muted: #64748b;--edusim-border: #dbe4f0;--edusim-panel: #ffffff;--edusim-page: #e8f0fa;--edusim-hero: linear-gradient(110deg, #ffffff 0%, #f8fbff 52%, #fff7e6 100%);--edusim-primary-gradient: linear-gradient(135deg, #3678ff 0%, #2456e8 52%, #173aa9 100%);--edusim-primary-gradient-hover: linear-gradient(135deg, #4b88ff 0%, #2f63f2 48%, #1d45b8 100%);--edusim-accent-gradient: linear-gradient(135deg, #f97316 0%, #f59e0b 100%);--bg: #08122d;--bg-soft: #0f1f46;--bg-glow: #2563eb;--panel: #f8fbff;--panel-strong: #ffffff;--surface: #eaf0ff;--text: #152a4d;--muted: #5c739a;--primary: var(--edusim-primary);--primary-dark: var(--edusim-primary-dark);--accent: var(--edusim-accent);--navy: #091431;--danger: var(--edusim-danger);--border: var(--edusim-border);--field-bg: #f8fbff;--field-bg-hover: #f6f9ff;--field-border: #c8d7ec;--shadow-soft: 0 10px 24px rgba(10, 32, 80, .18);--shadow-medium: 0 20px 44px rgba(10, 32, 80, .24);--grad-main: var(--edusim-primary-gradient);--grad-alt: linear-gradient(135deg, #174aa9 0%, #2563eb 100%);--layout-container-max: 1360px;--card-standard-max: 1120px;--field-control-height: 46px;--field-control-radius: 6px;--field-control-padding-x: 14px;--field-control-font-size: 18px;--field-max-width: 420px;--textarea-max-width: 560px}*{box-sizing:border-box}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shine-sweep{0%{transform:translate(-140%)}to{transform:translate(220%)}}html,body{min-height:100%;max-width:100%;overflow-x:hidden}app-root{min-height:100dvh;display:flex;flex-direction:column}body{margin:0;min-height:100dvh;font-family:Manrope,sans-serif;background:radial-gradient(circle at 8% 12%,#2563eb1f 0,#2563eb00 34%),radial-gradient(circle at 92% 18%,#1478e81a 0,#1478e800 34%),linear-gradient(180deg,#e8f0fa,#dfe8f4);color:var(--text)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{color:#173a72;font-weight:800}.container{width:min(var(--layout-container-max),95%);margin:0 auto}.container>.panel{width:min(100%,var(--card-standard-max));margin-inline:auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft);animation:fade-up .45s ease both;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:#b4c9f1}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;justify-self:start;border:1px solid var(--primary);background:var(--grad-main);background-size:170% 170%;color:#fff;border-radius:6px;padding:10px 14px;width:auto!important;max-width:100%;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn:after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,#fff0,#ffffff47 52%,#fff0);transform:translate(-150%);pointer-events:none}.btn:hover{background:var(--grad-alt);border-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 14px 30px #255ad252}.btn:hover:after{animation:shine-sweep .9s ease}.btn:disabled{opacity:.62;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{background:#f6f9ff;color:var(--primary-dark);border-color:#b8caef}.btn-outline:hover{background:#edf3ff;box-shadow:0 10px 18px #2249b033}.btn-danger{border-color:#c92424;background:linear-gradient(115deg,#b42323,#d43131)}.grid{display:grid;gap:14px}.cards-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}input:not([type=checkbox]):not([type=radio]),select,textarea{width:min(100%,var(--field-max-width));border-radius:var(--field-control-radius);border:1px solid var(--field-border);font-family:inherit;font-size:var(--field-control-font-size);line-height:1.35;background:var(--field-bg);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--field-control-height);padding:0 var(--field-control-padding-x)}textarea{width:min(100%,var(--textarea-max-width));min-height:120px;padding:12px var(--field-control-padding-x)}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#8facf0;background:var(--field-bg-hover)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:#6f94f1;box-shadow:0 0 0 3px #3a70f033}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;padding:0;border:1px solid var(--field-border);background:#fff;accent-color:var(--primary);cursor:pointer;flex:0 0 auto}label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}form{display:grid;gap:10px}.muted{color:var(--muted)}.ok{color:#2957d3}.error{color:#b42323}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;background:linear-gradient(115deg,#2f63ff29,#55a8ff38);color:#1f45c7}.badge.fail{background:linear-gradient(115deg,#d431312e,#ff848433);color:#9f2222}.badge.warn{background:linear-gradient(115deg,#889cc44d,#627aaa3d);color:#3f5681}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px;vertical-align:top}tbody tr{transition:background-color .18s ease}tbody tr:hover{background:#eef4ff}.page{padding:24px 0 40px;background:radial-gradient(circle at 8% 8%,rgba(37,99,235,.1),transparent 30%),linear-gradient(180deg,#e8f0fa,#dfe8f4);animation:fade-up .35s ease both}:where(.btn,.drawer-logout,.complete-btn,.course-action,.start-btn,.save-btn,.submit-btn,.add-btn,.module-head button,.unit-row,.dock-toggle b,.flow-tab.active,.view-toggle button.active,.level-pill,.status-badge.published,.bank-status-badge,.settings-step-map button.active .settings-step-status){border-color:var(--edusim-primary)!important;background:var(--edusim-primary-gradient)!important;color:#fff!important;box-shadow:0 12px 24px #2563eb2e!important}:where(.btn:hover,.drawer-logout:hover,.module-head button:hover,.flow-tab.active:hover){border-color:var(--edusim-primary-dark)!important;background:var(--edusim-primary-gradient-hover)!important}:where(.btn,.btn-action,.btn-secondary,.course-action,.start-btn,.save-btn,.submit-btn,.add-btn,.complete-btn,.modern-btn,.modern-save-btn,.modern-edit-btn,.modern-icon-btn,.builder-side-actions button,.lecturer-window-actions button,.module-head button,.simple-form-actions .btn,.inline-draft-actions .btn,.settings-flow-actions .btn,.editor-footer .btn,.moodle-right-actions .btn,.quiz-transfer-row .btn-action,.quiz-template-line .btn-outline,button[type=submit]){width:auto!important;min-width:112px!important;max-width:min(240px,100%)!important;min-height:42px!important;padding:10px 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;justify-self:start!important;gap:8px!important;border:1px solid rgba(33,83,217,.9)!important;border-radius:8px!important;background:var(--edusim-primary-gradient)!important;color:#fff!important;font-family:inherit!important;font-size:14px!important;font-weight:900!important;line-height:1.15!important;letter-spacing:0!important;text-align:center!important;white-space:normal!important;box-shadow:0 12px 24px #1f4fc238!important}:where(.btn:hover,.btn-action:hover,.btn-secondary:hover,.course-action:hover,.start-btn:hover,.save-btn:hover,.submit-btn:hover,.add-btn:hover,.complete-btn:hover,.modern-btn:hover,.modern-save-btn:hover,.modern-edit-btn:hover,.modern-icon-btn:hover,.builder-side-actions button:hover,.lecturer-window-actions button:hover,.module-head button:hover,.simple-form-actions .btn:hover,.inline-draft-actions .btn:hover,.settings-flow-actions .btn:hover,.editor-footer .btn:hover,.moodle-right-actions .btn:hover,.quiz-transfer-row .btn-action:hover,.quiz-template-line .btn-outline:hover,button[type=submit]:hover){border-color:#1d4ed8!important;background:var(--edusim-primary-gradient-hover)!important;box-shadow:0 16px 30px #1f4fc247!important}:where(.btn-outline,.btn-secondary,.modern-btn.ghost,.modern-edit-btn,.quiz-template-line .btn-outline){border-color:#b7c9f7!important;background:linear-gradient(180deg,#fff,#f3f7ff)!important;color:#2456e8!important;box-shadow:0 10px 20px #2b5cd11f!important}:where(.btn-outline:hover,.btn-secondary:hover,.modern-btn.ghost:hover,.modern-edit-btn:hover,.quiz-template-line .btn-outline:hover){border-color:#7fa2f4!important;background:linear-gradient(180deg,#f8fbff,#e9f0ff)!important;color:#173aa9!important}@media (max-width: 560px){:where(.btn,.btn-action,.btn-secondary,.course-action,.start-btn,.save-btn,.submit-btn,.add-btn,.complete-btn,.modern-btn,.modern-save-btn,.modern-edit-btn,.modern-icon-btn,button[type=submit]){width:100%!important;max-width:100%!important}}:where(.btn-outline,.flow-tab,.view-toggle button,.notification-head button,.widget-drawer-close,.confirm-close,.login-modal-close,.remove-image-btn){border-color:#bdd5ff!important;background:var(--edusim-primary-soft)!important;color:var(--edusim-primary-dark)!important}:where(.btn-danger,.remove-image-btn,.settings-step-map button.error .settings-step-status){border-color:var(--edusim-danger)!important;background:linear-gradient(135deg,var(--edusim-danger),#dc2626)!important;color:#fff!important}:where(.book-tab,.outline-tabs button.active){border-color:var(--edusim-accent)!important}:where(.lesson-row.done .lesson-dot,.path-dock-head span){background:var(--edusim-accent-gradient)!important}:where(.module-progress span,.course-progress-fill,.progress-fill,.progress-bar span){background:linear-gradient(90deg,var(--edusim-primary),var(--edusim-primary-dark),var(--edusim-accent))!important}:where(.modal-shell,.confirm-modal,.planner-modal,.submit-modal,.forgot-modal,.auth-card[role=dialog],.resource-drawer,.widget-drawer,.notification-drawer,.user-drawer,.utility-menu){border:1px solid var(--edusim-border)!important;border-radius:8px!important;background:var(--edusim-panel)!important;color:var(--edusim-ink)!important;box-shadow:0 24px 54px #0f172a38!important}:where(.modal-head,.planner-modal-head,.notification-head,.drawer-hero,.widget-drawer header,.utility-menu header){background:var(--edusim-hero)!important;border-bottom-color:var(--edusim-border)!important}:where(.modal-backdrop,.confirm-backdrop,.planner-modal-backdrop,.submit-modal-backdrop,.login-modal-backdrop,.forgot-modal-backdrop,.widget-drawer-backdrop){background:#09143194!important;backdrop-filter:blur(5px)}:where(.ok,.toast-ok,.comment-success,.import-success,.reflection-message,.status:not(.error),.dashboard-state:not(.error)){border:1px solid rgba(22,128,60,.24)!important;border-left:4px solid var(--edusim-success)!important;border-radius:8px!important;background:var(--edusim-success-soft)!important;color:var(--edusim-success)!important;padding:10px 12px!important;font-weight:800!important}:where(.error,.toast-error,.comment-error,.import-error,.inline-draft-error,.notification-state.error,.status.error){border:1px solid rgba(180,35,24,.24)!important;border-left:4px solid var(--edusim-danger)!important;border-radius:8px!important;background:var(--edusim-danger-soft)!important;color:var(--edusim-danger)!important;padding:10px 12px!important;font-weight:800!important}:where(.badge.warn,.status-pill.pending,.status-badge.draft){border-color:#b453093d!important;background:var(--edusim-warning-soft)!important;color:var(--edusim-warning)!important}:where(.status-pill.approved,.status-pill.pass,.status-pill:not(.fail):not(.pending):not(.rejected)){border-color:#16803c3d!important;background:var(--edusim-success-soft)!important;color:var(--edusim-success)!important}:where(.status-pill.rejected,.status-pill.fail,.badge.fail){border-color:#b423183d!important;background:var(--edusim-danger-soft)!important;color:var(--edusim-danger)!important}
