:root{--ink:#10265c;--muted:#5f687c;--paper:#f7f8fb;--line:#dce1ec;--green:#122f7b;--green-dark:#0a215c;--mint:#e8edf9;--gold:#ed1b2f;--white:#fff;--abrs-red:#ed1b2f;--abrs-blue:#122f7b}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}.login-shell{background:radial-gradient(circle at 15% 15%,#e4efe8 0 12%,#0000 12.2%),linear-gradient(135deg,#f6f2e9,#eaf2ee);place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{background:#ffffffed;border:1px solid #d6ddd7;border-radius:28px;width:min(520px,100%);padding:52px;box-shadow:0 24px 70px #254b3d1a}.brand-mark{background:var(--green);color:#fff;letter-spacing:-1px;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:34px;font-size:23px;font-weight:800;display:grid}.brand-mark.small{border-radius:12px;width:40px;height:40px;margin:0;font-size:16px}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.login-card h1,.candidate-header h1,.empty-state h1{letter-spacing:-.035em;margin:0;line-height:1.05}.login-card h1{font-size:46px}.login-copy{color:var(--muted);margin:22px 0 30px;font-size:18px;line-height:1.55}.primary-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button:hover{background:var(--green-dark)}.privacy-note{color:#74807d;margin:22px 0 0;font-size:13px;line-height:1.5}.app-shell{min-height:100vh}.topbar{background:var(--white);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;height:74px;padding:0 32px;display:flex;position:sticky;top:0}.brand,.account{align-items:center;gap:12px;display:flex}.brand>span:last-child{flex-direction:column;display:flex}.brand small{color:var(--muted);margin-top:2px;font-size:11px}.account{font-size:13px}.account a{color:var(--green);font-weight:700;text-decoration:none}.role{text-transform:capitalize;background:#eef1ef;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:700}.role-coach{color:#1b614f;background:#e0f0ea}.role-candidate{color:#755716;background:#f4ead3}.workspace{grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 74px);display:grid}:is(.workspace:has(>.content-panel:only-child),.workspace-learner){grid-template-columns:minmax(0,1fr)}.candidate-panel{border-right:1px solid var(--line);background:#f3f1ea;padding:28px 20px}.panel-heading,.modal-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading h2,.modal-heading h2{letter-spacing:-.025em;margin:0;font-size:25px}.icon-button,.close-button{cursor:pointer;background:var(--green);color:#fff;border:0}.icon-button{border-radius:12px;width:38px;height:38px;font-size:25px}.close-button{color:var(--muted);background:0 0;font-size:28px}.candidate-list{gap:8px;margin-top:24px;display:grid}.candidate{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:4px;padding:13px 14px;display:flex}.candidate:hover{background:#fff9}.candidate.active{background:#fff;border-color:#d9dfda;box-shadow:0 5px 15px #294b3b0a}.candidate span{font-weight:700}.candidate small,.list-empty{color:var(--muted)}.list-empty{padding:10px;font-size:13px;line-height:1.5}.content-panel{width:100%;max-width:1260px;margin:0 auto;padding:42px clamp(24px,5vw,72px) 80px}.candidate-header{justify-content:space-between;align-items:center;gap:28px;display:flex}.candidate-header h1{font-size:42px}.candidate-header p:last-child{color:var(--muted);margin:10px 0 0}.progress-dial{--progress:0deg;background:conic-gradient(var(--green) var(--progress),#e1e6e2 0);border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:relative}.progress-dial:after{content:"";background:var(--paper);border-radius:50%;position:absolute;inset:8px}.progress-dial span{z-index:1;font-weight:800}.progress-summary{grid-template-columns:minmax(160px,420px) auto;align-items:center;gap:16px;margin:28px 0 34px;display:grid}.progress-summary p{color:var(--muted);margin:0;font-size:13px}.progress-track{background:#dde4df;border-radius:99px;height:8px;overflow:hidden}.progress-track span{background:var(--green);border-radius:inherit;height:100%;display:block}.module-list{gap:14px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.module-card summary{cursor:pointer;grid-template-columns:42px 1fr auto;align-items:center;gap:15px;padding:18px 20px;list-style:none;display:grid}.module-card summary::-webkit-details-marker{display:none}.module-number{background:var(--mint);width:36px;height:36px;color:var(--green);border-radius:10px;place-items:center;font-weight:800;display:grid}.module-card summary>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.module-card summary small{color:var(--muted);font-size:12px}.module-status{color:var(--muted);background:#f0f2f0;border-radius:99px;padding:6px 9px;font-size:12px;font-weight:800}.module-status.complete{color:#17604e;background:#dbefe7}.activity-list{border-top:1px solid var(--line)}.activity{grid-template-columns:minmax(230px,1fr) minmax(260px,430px);gap:30px;padding:22px 22px 22px 77px;display:grid}.activity+.activity{border-top:1px solid #edf0ed}.activity h3{margin:0 0 7px;font-size:16px}.activity p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.activity-note{color:#81611f;margin-top:8px;font-style:italic;display:block}.signoff-slots{grid-template-columns:repeat(3,minmax(75px,1fr));align-content:start;gap:8px;display:grid}.signoff{background:#fafbf9;border:1px solid #dce2de;border-radius:10px;min-height:70px;padding:8px}.signoff.achieved{background:#edf7f3;border-color:#a8cabd}.signoff label{align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.signoff input[type=checkbox]{accent-color:var(--green);width:17px;height:17px}.signoff input[type=date]{width:100%;color:var(--green-dark);background:0 0;border:0;min-width:0;margin-top:8px;padding:0;font-size:11px}.signoff input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;margin:0;padding:0}.signoff-date{color:var(--green-dark);margin-top:8px;font-size:11px;font-weight:700;display:block}.signoff small{color:#98a29e;margin-top:10px;font-size:10px;display:block}.empty-state{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(590px,100% - 40px);margin:12vh auto;padding:46px}.empty-state p:last-child{color:var(--muted);line-height:1.6}.empty-state.compact{margin:14vh auto}.modal-backdrop{z-index:20;background:#15332d73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;gap:18px;width:min(520px,100%);padding:30px;display:grid;box-shadow:0 30px 80px #0a1d1840}.modal label{gap:7px;font-size:13px;font-weight:700;display:grid}.modal input{height:45px;font:inherit;border:1px solid #cfd7d2;border-radius:10px;padding:0 12px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.toast{z-index:30;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:13px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #162c2740}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (width<=850px){.workspace{grid-template-columns:1fr}.candidate-panel{border-right:0;border-bottom:1px solid var(--line)}.candidate-list{display:flex;overflow:auto}.candidate{min-width:170px}.activity{grid-template-columns:1fr;padding-left:22px}.content-panel{padding-top:30px}.account>span:first-child{display:none}}@media (width<=560px){.topbar{padding:0 15px}.brand small{display:none}.candidate-header h1{font-size:32px}.progress-dial{width:68px;height:68px}.progress-summary{grid-template-columns:1fr}.signoff-slots{grid-template-columns:repeat(3,1fr)}.module-card summary{grid-template-columns:38px 1fr}.module-status{display:none}.field-row{grid-template-columns:1fr}.login-card{padding:34px 26px}.login-card h1{font-size:37px}}.login-shell{background:linear-gradient(145deg,#edf1fa,#fff 55%,#fbecee)}.login-card{border-top:6px solid var(--abrs-red)}.login-logos{justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px;display:flex}.login-logos img:first-child{width:210px;height:auto}.login-logos img:last-child{object-fit:contain;width:92px;height:92px}.topbar{border-top:4px solid var(--abrs-red);height:84px}.brand img:first-child{width:145px;height:auto}.brand .lingfield-header-logo{object-fit:contain;width:54px;height:54px}.brand .divider{background:var(--line);width:1px;height:40px}.product-name{color:var(--muted);margin-left:4px;font-size:12px;font-weight:700}.role-reviewer{color:var(--abrs-blue);background:#e8edf9}.candidate-panel{background:#eef1f7}.candidate{position:relative}.candidate-status{color:var(--abrs-blue);margin-top:3px;font-size:10px;font-style:normal}.practical-label{text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--abrs-red)!important;margin-bottom:5px!important;font-size:10px!important}.module-comments{border-top:1px solid var(--line);background:#f7f8fb;padding:20px 22px 22px 77px}.module-comments label,.review-panel label{gap:8px;font-size:13px;font-weight:700;display:grid}.module-comments textarea,.review-panel textarea{resize:vertical;min-height:92px;font:inherit;color:var(--ink);background:#fff;border:1px solid #cbd3e3;border-radius:11px;padding:12px}.module-comments textarea:disabled{color:var(--muted);background:#f0f2f6}.module-comments>small{color:var(--muted);margin-top:8px;display:block}.workflow-status{color:var(--abrs-blue);background:#e8edf9;border-radius:99px;align-items:center;gap:8px;margin-top:16px;padding:7px 11px;font-size:12px;font-weight:800;display:inline-flex}.workflow-status span{background:var(--abrs-red);border-radius:50%;width:8px;height:8px}.outcome-approved{color:#216243;background:#e3f1e9}.outcome-approved span{background:#2f8a5c}.outcome-returned{color:#932b36;background:#fde9e9}.completion-panel,.review-panel{border:1px solid var(--line);border-top:5px solid var(--abrs-red);background:#fff;border-radius:17px;margin-top:24px;padding:26px;box-shadow:0 10px 30px #112b6d0d}.completion-panel{grid-template-columns:90px minmax(240px,1fr) auto;align-items:center;gap:24px;display:grid}.completion-panel>img{object-fit:contain;width:82px;height:82px}.completion-panel h2,.review-panel h2{color:var(--abrs-blue);margin:0}.completion-panel p,.review-panel>p{color:var(--muted);line-height:1.5}.completion-actions{justify-items:stretch;gap:7px;display:grid}.completion-actions small{text-align:center;max-width:190px;color:var(--muted)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.lingfield-button{background:var(--abrs-blue)}.signed-line{font-size:13px;color:var(--abrs-blue)!important}.review-panel{gap:14px;display:grid}.review-actions{justify-content:flex-end;gap:10px;display:flex}.secondary-button{min-height:48px;color:var(--abrs-blue);cursor:pointer;background:#fff;border:1px solid #c8cfdd;border-radius:12px;padding:0 20px;font-weight:700}@media (width<=850px){.product-name{display:none}.completion-panel{grid-template-columns:70px 1fr}.completion-actions{grid-column:1/-1}.module-comments{padding-left:22px}}@media (width<=560px){.brand .lingfield-header-logo,.brand .divider{display:none}.brand img:first-child{width:120px}.login-logos img:first-child{width:170px}.login-logos img:last-child{width:74px;height:74px}.completion-panel{grid-template-columns:1fr}.completion-panel>img{width:68px;height:68px}.review-actions{display:grid}.account .role{display:none}}.role-admin{color:#9b2331;background:#fbe5e8}.admin-coach-button{width:100%;color:var(--abrs-blue);cursor:pointer;background:#fff;border:1px dashed #9aa8c8;border-radius:10px;margin-top:18px;padding:10px 12px;font-weight:800}.coach-manager{border:1px solid var(--line);border-top:5px solid var(--abrs-red);background:#fff;border-radius:17px;grid-template-columns:1fr auto;gap:20px;margin-bottom:34px;padding:25px;display:grid}.coach-manager h1{margin:0;font-size:30px}.coach-manager p{color:var(--muted);margin-bottom:0;line-height:1.5}.coach-table{border-top:1px solid var(--line);grid-column:1/-1;display:grid}.coach-row{border-bottom:1px solid #edf0f6;grid-template-columns:42px minmax(180px,1fr) auto auto;align-items:center;gap:13px;padding:13px 0;display:grid}.coach-row>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.coach-row small{color:var(--muted)}.coach-avatar{background:var(--mint);border-radius:10px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.account-active,.account-inactive{border-radius:99px;padding:6px 9px;font-size:11px;font-weight:800}.account-active{color:#216243;background:#e3f1e9}.account-inactive{color:#747b89;background:#f1f2f5}.small-control{min-height:36px;padding:0 12px;font-size:12px}.form-help{color:var(--muted);margin:0;font-size:12px;line-height:1.5}@media (width<=650px){.coach-manager{grid-template-columns:1fr}.coach-manager>.primary-button{justify-self:start}.coach-row{grid-template-columns:38px 1fr auto}.coach-row .small-control{grid-column:2/-1;justify-self:start}}
