:root{--ink:#1c1b1a;--muted:#706a66;--line:#e6dfd9;--paper:#fbf8f5;--panel:#fff;--wine:#7f1d2d;--wine2:#5f1421;--soft:#f3e9e8;--ok:#1f6a4d}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;padding:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{max-width:1180px;margin:0 auto;padding:0 24px}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#ffffffeb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.brand{align-items:center;gap:12px;font-weight:800;display:flex}.seal{background:var(--wine);color:#fff;border-radius:10px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;display:grid}.navlinks{align-items:center;gap:18px;font-size:14px;display:flex}.btn{border:1px solid var(--wine);background:var(--wine);color:#fff;cursor:pointer;border-radius:9px;padding:11px 16px;font-weight:700}.btn.secondary{color:var(--wine);background:#fff}.btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:52px;padding:86px 0 64px;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--wine);font-size:12px;font-weight:800}h1{max-width:850px;margin:14px 0 20px;font-family:Georgia,Times New Roman,serif;font-size:56px;line-height:1.03}h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:32px}h3{margin:0 0 8px}.lead{color:var(--muted);max-width:760px;font-size:19px;line-height:1.65}.heroCard,.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 12px 35px #4128230f}.statgrid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px;display:grid}.stat{background:var(--soft);border-radius:12px;padding:16px}.stat b{font-size:24px;display:block}.section{padding:44px 0}.grid3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid2{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.muted{color:var(--muted)}.form{gap:14px;display:grid}.field{gap:7px;display:grid}.field label{font-size:13px;font-weight:700}.field input,.field select,.field textarea,.search{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;padding:12px}.authWrap{max-width:520px;margin:70px auto}.notice{background:var(--soft);border:1px solid #ead6d4;border-radius:9px;padding:12px 14px;font-size:14px}.error{color:#8a1c1c;background:#fdebea;border-color:#f6c9c6}.success{color:var(--ok);background:#e9f7ef;border-color:#c9ead7}.dashHeader{padding:36px 0 18px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--soft);color:var(--wine2);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.resourceGrid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;display:grid}.resource{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:18px;display:flex}.resource .meta{color:var(--muted);font-size:12px}.toolbar{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}.tableWrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px}th{background:#f7f3f0}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:50px;padding:30px 0;font-size:13px}.stack{gap:14px;display:grid}.split{justify-content:space-between;align-items:center;gap:16px;display:flex}.kicker{color:var(--wine);font-size:13px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:30px}@media (max-width:850px){.hero{grid-template-columns:1fr;padding-top:52px}.grid3,.grid2,.resourceGrid,.toolbar{grid-template-columns:1fr}h1{font-size:42px}.navlinks a:not(.btn){display:none}}.heroSingle{grid-template-columns:1fr}.settingsSection{background:var(--panel);border:1px solid var(--line);border-radius:16px;gap:16px;padding:24px;display:grid;box-shadow:0 12px 35px #4128230a}.settingsHeading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subpanel{border:1px solid var(--line);background:#fcfaf8;border-radius:12px;gap:12px;padding:16px;display:grid}.checkRow{align-items:center;gap:9px;font-size:14px;display:flex}.checkRow input{width:auto}.colorRow{grid-template-columns:50px 1fr;gap:8px;display:grid}.colorRow input[type=color]{height:44px;padding:3px}.navEditRow{border:1px solid var(--line);background:#fcfaf8;border-radius:12px;grid-template-columns:1fr 1.2fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.navEditRow>input{border:1px solid var(--line);border-radius:9px;padding:10px}.miniActions{flex-wrap:wrap;gap:6px;display:flex}.miniActions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px}.stickySave{z-index:8;border:1px solid var(--line);background:#fffffff5;border-radius:12px;align-items:center;gap:14px;margin:10px 0 30px;padding:12px 14px;display:flex;position:sticky;bottom:14px;box-shadow:0 10px 30px #00000014}.settingsSection textarea{resize:vertical}@media (max-width:850px){.navEditRow{grid-template-columns:1fr}.stickySave{flex-direction:column;align-items:flex-start}}.roleFieldset{border:1px solid var(--line);background:#fcfaf8;border-radius:12px;gap:10px;padding:16px;display:grid}.roleFieldset legend{padding:0 6px;font-weight:700}.roleHelp{margin:0;font-size:13px}.roleChoices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;display:grid}@media (max-width:650px){.roleChoices{grid-template-columns:1fr}}.messageAlert{color:#694b00;background:#fff8e7;border-color:#efd68b;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.messageAlert .btn{white-space:nowrap}@media (max-width:650px){.messageAlert{flex-direction:column;align-items:flex-start}}.courseCardTitle{font-size:20px;line-height:1.25}.courseMeta{margin-top:6px;font-size:16px}.courseDescription{margin:20px 0;font-size:17px;line-height:1.55}.courseAccessPanel{border:1px solid var(--line);border-left:5px solid var(--ok);background:#f7fbf9;border-radius:12px;margin:18px 0;padding:16px 18px}.courseAccessPanel.upcoming{background:#f4f8fb;border-left-color:#486581}.courseAccessPanel.expiring{background:#fff8e8;border-left-color:#a26408}.courseAccessPanel.expired{background:#fdf0ef;border-left-color:#8a1c1c}.courseAccessHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:18px;display:flex}.courseAccessUrgency{color:#8a5707;background:#fff1c9;border:1px solid #ecd58d;border-radius:999px;padding:6px 10px;font-size:14px;font-weight:800}.courseAccessGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.courseAccessGrid>div{gap:4px;display:grid}.courseAccessLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.035em;font-size:13px;font-weight:800}.courseAccessValue{color:var(--ink);font-size:18px;font-weight:800;line-height:1.3}.courseState.active{color:var(--ok);background:#e9f7ef}.courseState.upcoming{color:#36566c;background:#edf4f8}.courseState.expiring{color:#805006;background:#fff1c9}.courseState.expired{color:#8a1c1c;background:#fdebea}.courseAccessDetail{max-width:800px;margin-top:18px;margin-bottom:0}@media (max-width:700px){.courseAccessGrid{grid-template-columns:1fr}.courseAccessHeader{flex-direction:column;align-items:flex-start}.courseAccessValue{font-size:17px}.courseCardTitle{font-size:19px}}.accountGrid{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.accountSummaryCard,.accountSupportCard{height:100%}.accountDetailsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.accountDetailsGrid>div,.accountSupportLine{gap:6px;display:grid}.accountLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:800}.accountSupportLine{margin-top:18px}@media (max-width:850px){.accountGrid,.accountDetailsGrid{grid-template-columns:1fr}}.clientSurface,.adminSurface{padding-bottom:24px}.clientSurface .dashHeader,.adminSurface .dashHeader{padding-top:42px;padding-bottom:22px}.clientSurface .dashHeader h2,.adminSurface .dashHeader h2{margin-bottom:10px;font-size:36px;line-height:1.12}.clientSurface .dashHeader .muted,.adminSurface .dashHeader .muted{font-size:16px;line-height:1.55}.clientSurface .section,.adminSurface .section{padding:28px 0}.clientSurface .card,.adminSurface .card,.clientSurface .settingsSection,.adminSurface .settingsSection{border-color:#e3d9d2;border-radius:20px;transition:box-shadow .18s,border-color .18s,transform .18s;box-shadow:0 14px 38px #4a2a2311}.clientSurface .card:hover,.adminSurface .card:hover{border-color:#d8c7bf;box-shadow:0 18px 44px #4a2a2316}.clientSurface .card h3,.adminSurface .card h3{font-size:21px;line-height:1.25}.clientSurface .card .muted,.adminSurface .card .muted{line-height:1.5}.clientSurface .btn,.adminSurface .btn{border-radius:11px;min-height:44px;padding:11px 18px;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;box-shadow:0 4px 12px #5f142114}.clientSurface .btn:hover,.adminSurface .btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #5f142124}.clientSurface .btn.secondary,.adminSurface .btn.secondary{background:#fffdfc;border-color:#cfaeb3}.clientSurface .btn.secondary:hover,.adminSurface .btn.secondary:hover{background:#fff7f7;border-color:#b97d87}.clientSurface .chip,.adminSurface .chip{letter-spacing:.01em;background:#f8eeee;border:1px solid #ead7d9;padding:8px 12px;font-size:12px}.clientSurface .kicker,.adminSurface .kicker{font-weight:800}.clientSurface .tableWrap,.adminSurface .tableWrap{border-color:#e2d8d1;border-radius:16px;box-shadow:0 8px 28px #4a2a230b}.clientSurface th,.adminSurface th{text-transform:uppercase;letter-spacing:.045em;color:#625a55;background:#f8f3f0;font-size:12px}.clientSurface td,.adminSurface td{padding-top:14px;padding-bottom:14px}.clientSurface tbody tr:hover,.adminSurface tbody tr:hover{background:#fffaf8}.clientSurface .field input,.clientSurface .field select,.clientSurface .field textarea,.clientSurface .search,.adminSurface .field input,.adminSurface .field select,.adminSurface .field textarea,.adminSurface .search,.adminSurface input,.adminSurface select,.adminSurface textarea{border-color:#ddd1ca;border-radius:11px;min-height:44px}.clientSurface .field input:focus,.clientSurface .field select:focus,.clientSurface .field textarea:focus,.clientSurface .search:focus,.adminSurface input:focus,.adminSurface select:focus,.adminSurface textarea:focus{border-color:#a44a5a;outline:none;box-shadow:0 0 0 3px #7f1d2d17}.clientSurface .grid3>.card,.adminSurface .grid3>.card{min-height:132px;position:relative;overflow:hidden}.clientSurface .grid3>.card:after,.adminSurface .grid3>.card:after{content:"";pointer-events:none;background:radial-gradient(circle,#7f1d2d17,#7f1d2d00 70%);border-radius:50%;width:110px;height:110px;position:absolute;bottom:-55px;right:-44px}.clientSurface .grid3>.card h2,.adminSurface .grid3>.card h2{margin-top:10px;margin-bottom:8px;font-size:34px}.dashboardFeatureCard{grid-template-columns:96px 1fr;align-items:center;gap:26px;min-height:190px;display:grid;position:relative;overflow:hidden;background:linear-gradient(115deg,#fff 0%,#fffdfc 64%,#faf1f0 100%)!important;padding:28px 30px!important}.dashboardFeatureCard:after{content:"";pointer-events:none;border:42px solid #7f1d2d07;border-radius:50%;width:420px;height:260px;position:absolute;bottom:-125px;right:-110px;transform:rotate(-17deg)}.dashboardFeatureIcon{width:86px;height:86px;color:var(--wine);background:linear-gradient(145deg,#f8e9e9,#fff7f6);border:1px solid #efd9db;border-radius:24px;place-items:center;font-size:40px;font-weight:800;display:grid;box-shadow:inset 0 1px #fff,0 8px 22px #7f1d2d14}.dashboardFeatureBody{z-index:1;min-width:0;position:relative}.dashboardFeatureHead h3{margin-bottom:8px!important;font-size:28px!important}.dashboardFeatureHead p{font-size:17px;line-height:1.55}.dashboardCountChip{white-space:nowrap;padding:10px 14px!important;font-size:14px!important}.dashboardFeatureActions{margin-top:22px}.dashboardPrimaryAction{align-items:center;gap:14px;font-size:17px;display:inline-flex;padding:13px 21px!important}.dashboardPrimaryAction span{font-size:22px;line-height:1}.clientSurface .courseCard{padding:26px 28px}.clientSurface .courseCardTitle{font-size:23px}.clientSurface .courseMeta{margin-top:8px;font-size:15px}.clientSurface .courseDescription{color:#615b57}.clientSurface .courseAccessPanel{border-radius:14px;padding:18px 20px;box-shadow:inset 0 0 0 1px #ffffffa6}.clientSurface .courseAccessHeader strong,.clientSurface .courseAccessValue{font-size:19px}.clientSurface .resource{border-color:#e2d8d1;border-radius:17px;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 9px 26px #4a2a230d}.clientSurface .resource:hover{border-color:#d3bfc0;transform:translateY(-2px);box-shadow:0 14px 32px #4a2a2314}.clientSurface .accountSummaryCard,.clientSurface .accountSupportCard{background:linear-gradient(145deg,#fff,#fffaf8)}.clientSurface .accountDetailsGrid>div{background:#fcf8f6;border:1px solid #eee2dc;border-radius:12px;padding:14px}.clientSurface .accountLabel{color:#766762}.clientSurface .notice{border-radius:12px;padding:14px 16px}.adminSurface .dashHeader{border-bottom:1px solid #eadfd9;margin-bottom:8px}.adminSurface .eyebrow{letter-spacing:.18em}.adminSurface .grid3>.card{background:linear-gradient(145deg,#fff,#fdf9f7)}.adminSurface .grid3>.card:first-child{border-top:4px solid #7f1d2d}.adminSurface .grid3>.card:nth-child(2){border-top:4px solid #9d6a24}.adminSurface .grid3>.card:nth-child(3){border-top:4px solid #4d6b63}.adminSurface .section>h3{margin-bottom:8px;font-size:23px}.adminSurface .section>h3:after{content:"";background:#b48189;border-radius:999px;width:42px;height:3px;margin-top:9px;display:block}.adminSurface .subpanel,.adminSurface .roleFieldset,.adminSurface .navEditRow{background:#fdfaf8;border-color:#e1d7d0;border-radius:14px}.adminSurface .stickySave{border-radius:14px;box-shadow:0 14px 35px #4a2a231f}.adminSurface .miniActions button{border-radius:9px;padding:8px 10px}@media (max-width:850px){.clientSurface .dashHeader h2,.adminSurface .dashHeader h2{font-size:30px}.dashboardFeatureCard{grid-template-columns:1fr;gap:18px;padding:24px!important}.dashboardFeatureIcon{border-radius:20px;width:70px;height:70px;font-size:32px}.dashboardFeatureHead{flex-direction:column;align-items:flex-start}.dashboardFeatureHead h3{font-size:25px!important}.dashboardFeatureHead p{font-size:16px}}@media (max-width:560px){.clientSurface .card,.adminSurface .card{border-radius:16px;padding:20px}.clientSurface .courseCard{padding:20px}.dashboardPrimaryAction{justify-content:center;width:100%}}.certificateFeatureCard .dashboardFeatureIcon{font-family:Georgia,serif;font-size:34px}.certificateCard{position:relative;overflow:hidden;border-top:4px solid var(--wine)!important;background:linear-gradient(135deg,#fff 0%,#fffdf9 66%,#f8eeec 100%)!important}.certificateCard:after{content:"";pointer-events:none;border:26px solid #7f1d2d09;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-95px;right:-70px}.certificateIcon{width:38px;height:38px;color:var(--wine);vertical-align:middle;background:#f7e9e9;border:1px solid #ead2d5;border-radius:50%;place-items:center;margin-right:10px;font-weight:800;display:inline-grid}.certificateMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.certificateMetaGrid>div,.verificationGrid>div{background:#fdf9f7;border:1px solid #eadfd9;border-radius:12px;flex-direction:column;gap:5px;padding:13px 15px;display:flex}.certificateMetaGrid span,.verificationGrid span{text-transform:uppercase;letter-spacing:.08em;color:#796b66;font-size:12px;font-weight:700}.certificateMetaGrid strong,.verificationGrid strong{overflow-wrap:anywhere;font-size:15px}.certificateCompletionCard{border-left:5px solid var(--wine)!important;background:linear-gradient(135deg,#fff,#fff8f4)!important}.verificationCard{max-width:900px;margin:0 auto;padding:30px!important}.verificationGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}@media (max-width:650px){.certificateMetaGrid,.verificationGrid{grid-template-columns:1fr}}.learningRecordFeatureCard .dashboardFeatureIcon{font-family:Georgia,serif;font-size:34px}.recordStat h2{color:var(--wine);margin:8px 0 0;font-size:34px}.recordFilter{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;align-items:end;gap:12px;margin-top:18px;display:grid}.recordActions{border-top:1px solid #eadfd9;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px;display:flex}.recordTableWrap{background:#fff;border:1px solid #e5dad4;border-radius:16px;overflow:auto;box-shadow:0 10px 28px #4a2a230d}.recordTable{border-collapse:collapse;width:100%;min-width:820px}.recordTable th{color:#675953;text-transform:uppercase;letter-spacing:.07em;text-align:left;background:#faf5f2;border-bottom:1px solid #e6dad4;padding:13px 14px;font-size:11px}.recordTable td{vertical-align:top;border-bottom:1px solid #eee5e0;padding:15px 14px}.recordTable tbody tr:last-child td{border-bottom:0}.recordTable tbody tr:hover{background:#fffaf8}.recordCode{margin-top:4px;font-size:12px}@media (max-width:900px){.recordFilter{grid-template-columns:1fr 1fr}.recordFilter label:nth-child(3){grid-column:1/-1}}@media (max-width:560px){.recordFilter{grid-template-columns:1fr}.recordFilter label:nth-child(3){grid-column:auto}.recordActions .btn{justify-content:center;width:100%}}.adminTabs{background:var(--soft);border:1px solid var(--line);z-index:8;border-radius:14px;flex-wrap:wrap;gap:8px;margin:8px 0 26px;padding:8px;display:flex;position:sticky;top:82px}.adminTab{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;padding:10px 14px;font-size:14px;font-weight:750}.adminTab:hover{color:var(--wine);background:#fff}.adminTab.active{color:var(--wine);border-color:var(--line);background:#fff;box-shadow:0 4px 14px #4128230f}.compactList{gap:10px;display:grid}.compactRow{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.compactActions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:760px){.adminTabs{position:static}.compactRow{flex-direction:column;align-items:flex-start}}
