:root{--brand:#1b4d7e;--brand-dark:#0a2d55;--accent:#e07b26;--bg:#eef1f5;--surface:#fff;--ink:#18222e;--muted:#5a6a78;--line:#dce4ec;--ok:#2e9e5b;--danger:#c94335;--shadow:0 12px 36px rgba(13,35,61,.10)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:10px 28px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;gap:14px;min-width:0;color:var(--ink)}.brand:hover{text-decoration:none}.brand img{height:42px;max-width:190px;width:auto;object-fit:contain}.brand span{display:flex;flex-direction:column;gap:2px}.brand strong{font-size:15px;color:var(--brand-dark)}.brand small{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nav a,.link-button{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:6px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:700;font-size:14px}.nav a:hover,.link-button:hover,.nav a.is-active{background:#e8eef4;color:var(--brand);text-decoration:none}.auth-page{background:linear-gradient(135deg,#eef1f5 0%,#f7f9fb 100%)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:34px}.login-logo{height:48px;width:auto;display:block;margin-bottom:28px}.page,.course-page,.certificate-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 56px}.narrow{width:min(760px,calc(100% - 40px))}.page-heading,.course-toolbar,.certificate-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.login-panel h1,.page-heading h1,.course-toolbar h1,.certificate-toolbar h1,.centered h1{margin:0;color:var(--brand-dark);font-size:clamp(25px,3vw,34px);line-height:1.12}.login-panel p,.muted{color:var(--muted);line-height:1.55}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dashboard-grid,.admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);gap:22px;align-items:start}.dashboard-grid>*,.admin-grid>*{min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(13,35,61,.06);padding:24px;min-width:0}.panel.subtle{box-shadow:none}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;color:var(--brand-dark);font-size:17px;font-weight:800;min-width:0}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.actions.center{justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-weight:800;line-height:1;text-align:center;white-space:normal}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-dark);text-decoration:none}.btn-primary:disabled{background:#9aa9b5;border-color:#9aa9b5;cursor:not-allowed}.btn-outline{background:#fff;color:var(--brand);border-color:#b9c8d8}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}.badge-ok{background:#e7f5ed;color:#1d7445}.badge-wait{background:#fff3df;color:#9b5a00}.info-list{margin:18px 0 0;display:grid;gap:12px}.info-list div{display:grid;gap:3px}.info-list dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.info-list dd{margin:0;color:var(--ink);font-weight:700}.steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.steps span{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:#f7f9fb;color:#425466;font-size:13px;font-weight:700}.form-stack{display:grid;gap:16px}.form-stack.compact{gap:12px}label{display:grid;gap:7px;color:#334155;font-weight:800;font-size:13px}input,select{width:100%;min-height:42px;border:1px solid #cbd6e2;border-radius:6px;background:#fff;color:var(--ink);padding:9px 11px}input:focus,select:focus{outline:3px solid rgba(224,123,38,.20);border-color:var(--accent)}.alert,.flash,.inline-message{border-radius:6px;padding:12px 14px;margin-bottom:16px;font-weight:700;line-height:1.4}.alert-danger,.inline-message.danger{background:#fff0ee;color:#9d2f24;border:1px solid #f2c6bf}.inline-message.info,.flash{background:#e8eef4;color:var(--brand-dark);border:1px solid #c9d6e2}.centered{text-align:center}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px}.metric span{display:block;color:var(--brand);font-size:32px;font-weight:800;line-height:1}.metric small{display:block;margin-top:8px;color:var(--muted);font-weight:800}.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}td small{display:block;color:var(--muted);margin-top:3px}.course-page{width:min(1360px,calc(100% - 28px));padding-top:22px}.course-toolbar{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 8px 24px rgba(13,35,61,.06)}.course-toolbar h1{font-size:clamp(22px,2vw,30px)}.course-actions{display:grid;gap:11px;justify-items:end;min-width:min(340px,100%)}.progress-shell{width:100%;height:9px;border-radius:999px;background:#dce4ec;overflow:hidden}.progress-shell span{display:block;width:0;height:100%;background:var(--accent);transition:width .25s ease}.course-frame{display:block;width:100%;height:min(78vh,900px);min-height:680px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(13,35,61,.06)}.certificate-frame{width:100%;height:min(78vh,880px);min-height:680px;border:1px solid var(--line);border-radius:8px;background:#fff}@media(max-width:860px){.topbar,.page-heading,.course-toolbar,.certificate-toolbar{align-items:stretch;flex-direction:column}.topbar{position:static;gap:12px;padding:12px 16px}.nav{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.nav a,.link-button{flex:0 0 auto}.dashboard-grid,.admin-grid,.metric-grid{grid-template-columns:1fr}.course-actions{justify-items:stretch;min-width:0;width:100%}.course-frame,.certificate-frame{min-height:620px}}@media(max-width:640px){.auth-shell{min-height:100dvh;padding:16px;place-items:stretch;align-content:center}.login-panel{padding:24px 20px}.login-logo{height:42px;max-width:100%;margin-bottom:22px}.brand{width:100%;align-items:flex-start}.brand img{height:36px;max-width:164px}.page,.narrow,.course-page,.certificate-page{width:calc(100% - 24px)}.page,.certificate-page{padding:22px 0 36px}.course-page{padding:12px 0 24px}.page-heading,.course-toolbar,.certificate-toolbar{gap:14px;margin-bottom:14px}.course-toolbar,.certificate-toolbar,.panel{padding:16px}.panel-title{align-items:flex-start;flex-direction:column;gap:8px}.actions,.steps{align-items:stretch;flex-direction:column}.btn,.steps span{width:100%}.course-frame{height:72dvh;min-height:560px;border-radius:6px}.certificate-frame{height:70dvh;min-height:540px;border-radius:6px}}@media print{.topbar,.certificate-toolbar{display:none}}
