:root{--ink:#26311d;--ink-soft:#5c6b54;--paper:#fbf8f6;--panel:#fff;--line:#e5dfd1;--gold:#c08a3e;--gold-deep:#9c6d2a;--green:#3f5820;--green-deep:#2e4118;--rust:#a3432b;--font-serif:"Cormorant Garamond", serif;--font-sans:"Poppins", sans-serif;--radius:2px;--wrap-max:1080px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.55}h1,h2,h3,.serif{font-family:var(--font-serif);letter-spacing:.2px;margin:0;font-weight:600}code{background:#f0eee4;border-radius:2px;padding:1px 5px;font-size:12.5px}#root{min-height:100vh}.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 24px}a{color:inherit}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}fieldset{border:none;margin:0 0 22px;padding:0}legend{font-family:var(--font-serif);color:var(--green-deep);border-bottom:1px solid var(--line);width:100%;margin-bottom:14px;padding:0 0 8px;font-size:17px;font-weight:600}.topbar{border-bottom:1px solid var(--line);background:var(--panel)}.topbar-inner{max-width:var(--wrap-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 24px;display:flex}.brand{cursor:pointer;align-items:center;gap:12px;display:flex}.brand img{width:auto;height:46px;display:block}.brand-divider{background:var(--line);width:1px;height:34px}.brand-sub{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.brand-sub-label{color:var(--ink-soft);letter-spacing:.4px;text-transform:uppercase;font-size:10px}.brand-sub img.bp-logo{width:auto;height:20px;display:block}.topbar-actions{align-items:center;gap:10px;display:flex}.btn{border-radius:var(--radius);border:1px solid var(--green-deep);background:var(--green-deep);color:#fff;padding:9px 16px;font-size:13.5px;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.secondary:hover{border-color:var(--ink)}.btn.gold{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}.btn.green{background:var(--green-deep);border-color:var(--green-deep);color:#fff}.btn.rust{border-color:var(--rust);color:var(--rust);background:0 0}.btn.rust:hover{background:var(--rust);color:#fff}.btn.small{padding:6px 11px;font-size:12.5px}.btn:disabled{opacity:.4;cursor:not-allowed}.hero{grid-template-columns:1fr;gap:32px;padding:56px 0 36px;display:grid}.hero .eyebrow{color:var(--gold-deep);letter-spacing:1px;font-size:13px;font-weight:500}.hero h1{max-width:620px;margin-top:8px;font-size:36px}.hero p.lede{color:var(--ink-soft);max-width:500px;margin-top:14px;font-size:16px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.portal-visual{background:var(--panel);border:1px solid var(--line);padding:26px;position:relative;overflow:hidden}.pv-glow{background:radial-gradient(circle,var(--gold) 0%,transparent 70%);opacity:.25;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.pv-kicker{letter-spacing:.6px;color:var(--gold-deep);text-transform:uppercase;font-size:11px}.portal-visual h3{margin-top:6px;font-size:19px}.pv-line{background:var(--line);height:1px;margin:16px 0}.pv-item{justify-content:space-between;align-items:center;padding:8px 0;font-size:13.5px;display:flex}.pv-pill{color:var(--ink-soft);background:#f0eee4;border-radius:2px;padding:2px 9px;font-size:11px}.footer-tagline{text-align:center;font-family:var(--font-serif);color:var(--ink-soft);margin-top:40px;font-size:15px}.footer-note{text-align:center;color:var(--ink-soft);padding-bottom:36px;font-size:11.5px}.section-label{color:var(--ink-soft);letter-spacing:.3px;align-items:center;gap:10px;margin-bottom:14px;font-size:12.5px;display:flex}.section-label .rule{background:var(--line);flex:1;height:1px}.course-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.course-row:last-child{border-bottom:none}.course-name{font-family:var(--font-serif);font-size:18px;font-weight:600}.course-desc{color:var(--ink-soft);max-width:520px;margin-top:3px;font-size:13.5px}.course-dates{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.badge{letter-spacing:.3px;border:1px solid #0000;border-radius:2px;padding:3px 9px;font-size:11px;display:inline-block}.badge.upcoming{color:var(--gold-deep);background:#f1e4cc;border-color:#e1c793}.badge.ongoing{color:var(--green-deep);background:#e6ecdd;border-color:#cbdab6}.badge.completed{color:var(--ink-soft);border-color:var(--line);background:#f0eee4}.badge.inreview{color:var(--gold-deep);background:#f1e4cc;border-color:#e1c793}.badge.pendingstatus{color:var(--rust);background:#f3e3df;border-color:#e3beb3}.badge.activestatus{color:var(--green-deep);background:#e6ecdd;border-color:#cbdab6}.empty{color:var(--ink-soft);text-align:left;border-bottom:1px solid var(--line);padding:36px 0;font-size:14px}.panel{background:var(--panel);border:1px solid var(--line);margin-bottom:24px;padding:26px 28px}.panel.accent{border-left:3px solid var(--gold)}.panel h2{margin-bottom:4px;font-size:20px}.panel .sub{color:var(--ink-soft);margin-bottom:18px;font-size:13px}.field{margin-bottom:14px}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:12.5px;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:2px;padding:9px 11px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none}.radio-row{flex-wrap:wrap;align-items:center;gap:18px;padding:4px 0;display:flex}.radio-row label{color:var(--ink);align-items:center;gap:6px;font-size:13.5px;display:flex}.row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.row3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}@media (width<=640px){.row2,.row3,.hero{grid-template-columns:1fr}}@media (width>=860px){.hero{grid-template-columns:1.1fr .9fr;align-items:center}}.msg{border-radius:2px;margin-bottom:16px;padding:10px 13px;font-size:13.5px}.msg.ok{color:var(--green-deep);background:#e6ecdd}.msg.err{color:var(--rust);background:#f3e3df}.terms-box{border:1px solid var(--line);max-height:120px;color:var(--ink-soft);background:#fcfbf8;margin-bottom:10px;padding:12px 14px;font-size:12.5px;overflow:auto}.terms-box li{margin-bottom:6px}.agree-row{align-items:flex-start;gap:8px;font-size:13px;display:flex}.agree-row input{width:auto;margin-top:3px}.shell{max-width:var(--wrap-max);min-height:calc(100vh - 74px);margin:0 auto;display:flex}.nav{border-right:1px solid var(--line);flex:none;width:200px;padding:26px 18px}.nav .navlabel{color:var(--ink-soft);letter-spacing:.3px;margin-bottom:12px;font-size:11px;line-height:1.5}.nav a{text-align:left;width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:2px;margin-bottom:2px;padding:9px 8px;font-size:13.5px;text-decoration:none;display:block}.nav a:hover{color:var(--ink);background:#f0eee4}.nav a.active{background:var(--green-deep);color:#fff}.main{flex:1;min-width:0;padding:30px 32px}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--ink-soft);border-bottom:1px solid var(--ink);letter-spacing:.2px;padding:8px 10px;font-size:11.5px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 10px;font-size:13.5px}tr:last-child td{border-bottom:none}.id-chip{font-family:var(--font-serif);background:#f0eee4;border-radius:2px;padding:2px 8px;font-size:13px;font-weight:600}.certificate{border:2px solid var(--gold);background:#fff;padding:2px}.certificate-inner{border:1px solid var(--gold);text-align:center;padding:40px 36px}.certificate-inner img{height:50px;margin-bottom:10px}.certificate-inner .cert-eyebrow{color:var(--ink-soft);letter-spacing:1px;font-size:12px}.certificate-inner .cert-name{font-family:var(--font-serif);color:var(--green-deep);margin:14px 0 6px;font-size:30px}.certificate-inner .cert-course{margin:10px 0;font-size:16px}.certificate-inner .cert-course b{font-family:var(--font-serif);font-weight:600}.certificate-inner .cert-meta{color:var(--ink-soft);margin-top:22px;font-size:12.5px}.certificate-inner .cert-rule{background:var(--gold);width:70px;height:2px;margin:18px auto}.pagination{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.file-btn{display:inline-block;position:relative;overflow:hidden}.file-btn input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.modal-backdrop{z-index:50;background:#26311d8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.modal-box{border:1px solid var(--line);background:#fff;width:100%;max-width:520px;max-height:85vh;padding:26px 28px;overflow:auto}.profile-grid{grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:14px;font-size:13.5px;display:grid}.profile-grid label{color:var(--ink-soft);margin-bottom:2px;font-size:11px;display:block}@media print{body *{visibility:hidden}#print-area,#print-area *{visibility:visible}#print-area{width:100%;position:absolute;top:0;left:0}}
