@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--blue:#0874a5;--deep:#06394f;--orange:#f87526;--green:#68b83d;--ink:#192f3d;--muted:#667a89;--line:#e5edf1;--bg:#f4f8fb;--white:#fff;--radius:19px;--shadow:0 18px 55px rgba(18,54,82,.075)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:'Outfit',system-ui,sans-serif;line-height:1.15;margin:0}h1{font-size:clamp(1.7rem,2.5vw,2.55rem);letter-spacing:-.035em}h2{font-size:1.22rem;letter-spacing:-.015em}h3{font-size:1rem}p{line-height:1.65}input,select,textarea,button{font:inherit}label{font-size:.85rem;font-weight:700;color:#425c69;display:block}input:not([type=hidden]):not([type=checkbox]),select,textarea{width:100%;display:block;border:1px solid #dae6ed;border-radius:11px;padding:12px 13px;margin-top:7px;background:#fff;color:var(--ink);outline:none;transition:box-shadow .2s,border .2s}input:focus,select:focus,textarea:focus{border-color:#168bb8;box-shadow:0 0 0 4px rgba(25,139,192,.12)}textarea{min-height:92px;resize:vertical}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;border:1px solid #d8e7ef;background:#fff;padding:11px 17px;border-radius:11px;font-size:.88rem;font-weight:800;color:#26475a;cursor:pointer;white-space:nowrap;transition:transform .18s,box-shadow .18s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(32,89,125,.12);text-decoration:none}.btn.primary{background:linear-gradient(115deg,#0983b7,#07668f);border-color:transparent;color:white}.btn.orange{background:var(--orange);color:white;border-color:transparent}.btn.small{font-size:.77rem;padding:9px 12px}.btn.wide{width:100%}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-weight:800;font-size:.68rem;color:#1392b3}.notice{border-radius:12px;padding:13px 16px;margin:15px 0;font-size:.9rem;border:1px solid transparent}.notice.success{background:#e9f9ec;color:#1c7743;border-color:#bde9c9}.notice.warning{background:#fff8e7;color:#8e6715;border-color:#f5dfaa}.notice.error{background:#fff0ee;color:#b3433b;border-color:#f1bfba}.stack{display:flex;flex-direction:column;gap:15px}.stack>.btn{align-self:flex-start}.stack>.btn.wide{align-self:stretch}.stack-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-note{font-size:.79rem;color:var(--muted);line-height:1.55;margin:0}.site-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:9px max(4%,calc((100vw - 1250px)/2));background:rgba(255,255,255,.92);box-shadow:0 4px 24px rgba(28,68,86,.06);backdrop-filter:blur(18px);gap:20px}.site-head img{width:174px;max-height:76px;object-fit:contain}.site-head nav{display:flex;gap:24px;align-items:center;font-size:.88rem;font-weight:700}.site-head nav>a:not(.btn){color:#334b5b}.site-brand{display:flex}.hero{max-width:1270px;margin:auto;padding:70px 4% 85px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.hero h1{font-size:clamp(2.5rem,4.5vw,4.7rem);line-height:1.04;max-width:720px;margin:18px 0}.hero h1 em{color:var(--blue);font-style:normal}.hero h1 strong{color:var(--orange);font-weight:800}.hero p{font-size:1.09rem;color:#577181;max-width:600px}.hero-actions{display:flex;gap:13px;margin-top:28px;flex-wrap:wrap}.hero-visual{position:relative;background:linear-gradient(140deg,#edfaff,#e9f7ee 78%);border:1px solid #d5ebf1;border-radius:34px;padding:48px 26px;box-shadow:var(--shadow)}.hero-visual img{width:100%;filter:drop-shadow(0 12px 11px rgba(44,74,83,.07))}.float-label{position:absolute;background:rgba(255,255,255,.95);padding:12px 17px;border-radius:13px;font-size:.8rem;font-weight:800;box-shadow:0 12px 32px #0a34421c}.float-label.one{top:22px;left:-24px;color:#197d45}.float-label.two{bottom:26px;right:-16px;color:var(--blue)}.section{max-width:1250px;margin:auto;padding:70px 4%}.section-title{text-align:center;margin-bottom:40px}.section-title h2{font-size:2.1rem;margin:10px 0}.section-title p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.feature-card,.course-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 9px 30px rgba(25,63,85,.035)}.feature-card .icon{display:grid;place-items:center;background:#e5f6fb;color:var(--blue);border-radius:14px;width:48px;height:48px;font-size:1.5rem;margin-bottom:16px}.feature-card p,.course-card p{font-size:.88rem;color:var(--muted)}.course-meta{display:flex;gap:12px;color:#67808f;font-size:.78rem;flex-wrap:wrap;margin:14px 0}.course-card .tag{display:inline-block;padding:5px 9px;border-radius:50px;background:#ecf9ed;color:#348248;font-size:.72rem;font-weight:800}.course-card h3{margin-top:13px;font-size:1.15rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.footer{background:#082c3b;color:#ccdde4;padding:30px 4%;text-align:center;font-size:.82rem}.auth-body,.public-body{background:radial-gradient(circle at top right,#e6fbf2,transparent 34%),radial-gradient(circle at bottom left,#e5f5ff,transparent 30%),#f8fbfd}.auth-wrap{padding:45px 15px;min-height:calc(100vh - 80px);display:grid;place-items:center}.auth-card{width:min(100%,465px);margin:50px auto;background:#fff;padding:33px 35px;border-radius:26px;box-shadow:0 28px 75px #1e4a6120;border:1px solid #edf2f5}.auth-card h1{font-size:1.87rem;margin:8px 0}.auth-card .brand-img{width:215px;height:145px;object-fit:contain;display:block;margin:-23px auto 12px}.auth-card .muted{font-size:.9rem}.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:22px;font-size:.8rem;font-weight:700}.auth-bottom{text-align:center;font-size:.83rem;margin-bottom:0}.auth-card.setup{width:min(100% - 24px,780px)}.auth-card.setup h3{margin:24px 0 14px}.auth-card.setup .btn{margin-top:20px}.shell{display:flex;min-height:100vh}.sidebar{width:254px;min-width:254px;background:linear-gradient(175deg,#083e54,#082d40 70%);color:#e5f4fa;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:30;box-shadow:15px 0 50px #132f4312}.sidebar-brand{display:flex;align-items:center;gap:7px;padding:19px 16px 18px;color:white;border-bottom:1px solid #ffffff21}.sidebar-brand img{width:104px;height:73px;object-fit:contain}.sidebar-brand span{font:700 1.11rem 'Outfit';line-height:1.1}.sidebar-brand small{display:block;font:500 .67rem 'DM Sans';color:#c4d7df;margin-top:5px}.sidebar-label{color:#80b1c6;font-size:.65rem;letter-spacing:.16em;font-weight:800;padding:22px 22px 10px}.side-nav{padding:0 11px 20px;display:flex;flex-direction:column;gap:3px}.side-nav a{display:flex;gap:10px;align-items:center;padding:10px 14px;color:#b9d5e1;font-weight:650;font-size:.81rem;border-radius:11px;transition:.2s}.side-nav a:hover{background:#ffffff12;color:white;text-decoration:none}.side-nav a.active{color:white;background:linear-gradient(100deg,#138fc2,#16749b);box-shadow:0 7px 18px #001f313b}.nav-dot{width:7px;height:7px;background:#6dbbb6;border-radius:50%;opacity:.75}.side-nav a.active .nav-dot{background:#ffaf7a;opacity:1}.sidebar-logout{margin:auto 20px 24px;color:#accbd7;padding-top:12px;font-size:.84rem}.main{margin-left:254px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid #e4edf2;min-height:75px;padding:15px 3%;display:flex;align-items:center;justify-content:space-between;gap:12px}.crumb{display:flex;align-items:center;gap:10px;font-size:.83rem;color:#758a99}.crumb b{color:#1f3948}.slash{color:#cad7e0}.topbar-right{display:flex;gap:11px;align-items:center}.user-role{font-size:.79rem;color:#567180;font-weight:700}.online-dot{width:9px;height:9px;border-radius:50%;background:#60bf74;box-shadow:0 0 0 5px #e9f7ed}.avatar{width:35px;height:35px;background:linear-gradient(125deg,#fe9856,#ed6c29);color:white;border-radius:12px;display:grid;place-items:center;font-weight:800}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:9px;padding:9px;cursor:pointer}.content{padding:33px 3% 60px;flex:1;max-width:1670px;width:100%;margin:0 auto}.app-footer{padding:14px 3%;text-align:center;font-size:.72rem;color:#7d8e97}.section-heading{margin-bottom:25px}.section-heading h1{margin:8px 0 6px}.section-heading p{font-size:.92rem;color:var(--muted);margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:23px}.metric{border:1px solid #e8eff3;border-radius:17px;background:#fff;padding:21px;box-shadow:0 6px 30px #0e3d5708;position:relative;overflow:hidden}.metric:before{content:'';position:absolute;right:-30px;top:-30px;width:90px;height:90px;background:#e1f8fb;border-radius:50%}.metric:nth-child(2):before{background:#e9f7e2}.metric:nth-child(3):before{background:#fff0e5}.metric:nth-child(4):before{background:#e7edf9}.metric .num{display:block;font:800 2.02rem 'Outfit';margin:13px 0 4px;color:#1c4558}.metric .label{font-size:.78rem;color:var(--muted);font-weight:700}.panel{border:1px solid #e6eef3;background:rgba(255,255,255,.97);border-radius:18px;padding:23px;margin-bottom:19px;box-shadow:0 12px 38px #193d5409}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.panel-heading h2{font-size:1.15rem}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;text-align:left;min-width:600px}.table-wrap th{color:#78909d;font-weight:800;text-transform:uppercase;font-size:.67rem;letter-spacing:.08em;background:#f7fafc;border-top:1px solid #ecf2f5;border-bottom:1px solid #ecf2f5}.table-wrap th,.table-wrap td{padding:12px 10px;vertical-align:middle}.table-wrap td{border-bottom:1px solid #eff3f6;font-size:.82rem;color:#435966}.table-wrap tbody tr:hover{background:#fbfdfe}.table-wrap .empty-row{text-align:center;padding:30px}.pill{display:inline-flex;border-radius:50px;background:#edf2f4;color:#536575;padding:5px 10px;font-size:.69rem;font-weight:800;text-transform:capitalize}.pill-active,.pill-approved,.pill-completed,.pill-competent,.pill-upheld,.pill-present,.pill-open,.pill-sent{background:#e3f7e9;color:#2a914c}.pill-pending,.pill-in_progress,.pill-late,.pill-draft,.pill-submitted{background:#fff2d9;color:#9e7213}.pill-rejected,.pill-absent,.pill-not_yet_competent,.pill-rework_required,.pill-failed{background:#ffebea;color:#b64843}.pill-suspended,.pill-on_hold,.pill-closed{background:#ebf1f4;color:#5a7383}.inline-form{display:inline-flex;gap:6px;align-items:center}.inline-form select,.inline-form input{width:auto;max-width:210px;font-size:.75rem!important;padding:8px!important;margin:0!important}.inline-form .btn{padding:8px 10px;font-size:.72rem}.pill-link{font-weight:750;font-size:.78rem}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-link{padding:16px;border:1px solid #e2ebf1;background:linear-gradient(120deg,#f4fbfd,#fff);border-radius:13px;font-weight:800;font-size:.82rem}.quick-link span{float:right;color:#eb7b3c}.badge-sample{display:inline-block;color:var(--blue);background:#eef8fc;padding:5px 9px;border-radius:10px;font-size:.7rem;font-weight:800;margin-bottom:9px}.triple-stat{display:flex;gap:14px;align-items:center;margin:10px 0;flex-wrap:wrap}.triple-stat b{font-size:1.3rem;color:var(--blue)}.small-note{font-size:.78rem;color:#758e9c;margin:12px 0}.two-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.details-block{padding:13px;border-radius:10px;background:#f7fafc;margin-bottom:12px}.details-block p{margin:4px 0}.list-simple{padding-left:20px;font-size:.85rem;color:#506774;line-height:1.85}.no-data{color:var(--muted);padding:17px 0}.subheading{font-weight:800;margin:15px 0 8px;color:#285062}.hr-gap{border:none;border-top:1px solid #edf1f4;margin:20px 0}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.form-row label{flex:1;min-width:160px}.form-row .btn{margin-bottom:0}.dashboard-welcome{background:linear-gradient(115deg,#0b5271,#0b86b2 62%,#299f99);border-radius:22px;color:white;padding:28px 32px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;overflow:hidden}.dashboard-welcome h2{font-size:1.7rem;margin-bottom:10px}.dashboard-welcome p{color:#dfedf4;font-size:.89rem;margin:0}.welcome-icon{font-size:4rem;opacity:.33}.dashboard-welcome .eyebrow{color:#b7f0ec}.error-page{text-align:center;padding:80px 10px}
@media(max-width:1150px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.show{transform:translateX(0)}.main{margin-left:0}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:38px}.hero-visual{max-width:550px;margin:auto}.site-head{padding:8px 16px}.site-head nav{gap:12px}.site-head nav>a:first-child{display:none}.grid-two,.contact-grid{grid-template-columns:1fr}}@media(max-width:570px){.site-head img{width:110px}.site-head nav{font-size:.75rem}.site-head nav a:nth-child(2){display:none}.hero h1{font-size:2.5rem}.cards,.metric-grid,.grid-three,.form-grid,.quick-links{grid-template-columns:1fr}.panel{padding:17px}.content{padding:22px 14px 40px}.topbar{padding:12px 15px}.auth-card{padding:28px 24px}.section{padding:50px 16px}.hero{padding:30px 16px 55px}.hero-visual{padding:25px 10px}.float-label{display:none}.user-role{display:none}}

.sidebar-brand img{background:rgba(255,255,255,.96);padding:3px;border-radius:10px}
@media print{.site-head,.print-hide,.footer{display:none!important}body{background:white!important}.certificate-paper{box-shadow:none!important;border:7px double #0a759d!important;max-width:none!important;min-height:85vh!important}}
