.design-collection{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.design-choice{text-align:left;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:12px;cursor:pointer;color:var(--ink)}.design-choice:hover,.design-choice:focus-visible{border-color:var(--green);box-shadow:0 3px 14px #183d3410}.design-choice strong{display:block;font-size:11px;margin:9px 0 4px}.design-choice small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.design-swatch{position:relative;display:grid;place-items:center;aspect-ratio:1.414;background:#faf8ef;color:var(--green);font:28px Georgia,serif;border:1px solid color-mix(in srgb,var(--green) 40%,white)}.design-swatch:before{content:'';position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--green) 30%,white)}.design-swatch.modern{border-left:7px solid var(--green)}.design-swatch.editorial{border-top:6px solid var(--green)}.design-swatch.executive{border-top:16px solid var(--green)}.design-swatch.diploma{border:4px double var(--green)}.design-swatch.ribbon{background:linear-gradient(var(--green) 0 24%,#faf8ef 24%)}.design-swatch.geometric:before{inset:5px;border-width:2px 0 0 2px}.design-swatch.botanical{border-inline:4px dotted var(--green)}.design-swatch.minimal:before{border:0;border-bottom:1px solid var(--green);inset:4px 24px}.design-swatch.spotlight{border-left:10px solid var(--green);border-right:10px solid color-mix(in srgb,var(--green) 25%,white)}
.certificate.executive:before{inset:0 0 auto;height:17%;background:var(--green);border:0}.certificate.executive .cert-issuer,.certificate.ribbon .cert-issuer{color:var(--brand-contrast,#fff)}.certificate.executive:after{content:'';position:absolute;inset:auto 0 4%;height:3px;background:var(--green);z-index:-1}.certificate.diploma{border:4px double var(--green)}.certificate.diploma:before{inset:7px;border-color:var(--green)}.certificate.ribbon:before{inset:5% 15% auto;height:11%;border:0;background:var(--green)}.certificate.ribbon:after{content:'';position:absolute;inset:auto 7% 4%;height:2px;background:var(--green);z-index:-1}.certificate.geometric:before{inset:4%;border-width:2px 0 0 2px;border-color:var(--green);clip-path:polygon(0 0,24% 0,24% 3%,3% 3%,3% 30%,0 30%)}.certificate.geometric:after{content:'';position:absolute;inset:4%;border:2px solid var(--green);border-width:0 2px 2px 0;clip-path:polygon(97% 70%,100% 70%,100% 100%,76% 100%,76% 97%,97% 97%);z-index:-1}.certificate.botanical:before{inset:8% 4%;border:0;border-inline:3px dotted color-mix(in srgb,var(--green) 55%,white)}.certificate.minimal{background:#fff;border:0}.certificate.minimal:before{inset:auto 9% 5%;height:1px;background:var(--green);border:0}.certificate.spotlight:before{inset:0;right:auto;width:5%;background:var(--green);border:0}.certificate.spotlight:after{content:'';position:absolute;inset:0 0 0 auto;width:5%;background:color-mix(in srgb,var(--green) 15%,white);z-index:-1}.record-emblem{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:clamp(4px,1.3cqw,7px);line-height:1.5;color:var(--green)}.record-emblem img{width:clamp(14px,4cqw,22px);height:auto;margin-bottom:3px}.certificate.executive .cert-issuer img,.certificate.ribbon .cert-issuer img{background:white}
@media(max-width:1100px){.design-collection{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.design-collection{grid-template-columns:repeat(2,minmax(0,1fr))}}

.certificate.executive .cert-title{margin-top:14px}.certificate>div:first-child>img{max-height:5cqw!important;max-width:22cqw!important}

.company-table{max-height:560px;overflow:auto}.company-import-review{max-height:50vh;overflow:auto}.assignment-people{max-height:300px;overflow:auto;border:1px solid var(--line);padding:12px;border-radius:6px}.learning-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;border:1px solid var(--line);padding:20px;background:var(--paper);border-radius:6px}.company-table del{color:var(--muted)}

.content:has(#company-employees) .flex-between{flex-wrap:wrap;gap:16px}.content:has(#company-employees) .flex-between>div:first-child{flex:1 1 320px}.company-table table{min-width:720px}@media(max-width:600px){.company-table:before{content:"Swipe the table to see every column →";display:block;padding:10px;font-size:10px;color:var(--muted)}.content:has(#company-employees) .flex-between select{min-width:150px}}

.signature-preview{display:block;max-width:220px;max-height:65px;margin:10px 0;object-fit:contain}.signing-layout{max-width:780px;margin:45px auto;padding:0 22px}.signing-layout h1{font-size:clamp(30px,5vw,44px)}.signing-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.signing-details dt{font-size:11px;color:var(--muted)}.signing-details dd{margin:3px 0;font-weight:600;overflow-wrap:anywhere}#recipient-sign-canvas{width:100%;height:auto;border:1px dashed #98a799;border-radius:7px;background:white;touch-action:none;cursor:crosshair}@media(max-width:500px){.signing-details{grid-template-columns:1fr}.signing-layout{padding:0 15px;margin:25px auto}}

.certificate .cert-bottom .lead-ink{width:auto;height:auto;max-width:28cqw;max-height:6cqw;object-fit:contain;display:block;margin-bottom:3px}.certificate .record-emblem img{width:clamp(14px,4cqw,22px);height:auto}

/* Keep the ribbon header legible against its colored banner. */
.certificate.ribbon .cert-title{color:var(--brand-contrast,#fff)}
.certificate.ribbon:before{height:17%}
.batch-grid{grid-template-columns:minmax(0,1fr) 330px}.batch-grid>*{min-width:0}.roster-editor{min-width:0;max-width:100%}.roster-entry-table{max-width:100%}@media(max-width:1050px){.batch-grid{grid-template-columns:minmax(0,1fr)}}

.roster-editor [hidden]{display:none!important}.roster-modes{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.roster-entry-table{overflow:auto;max-height:520px}.roster-entry-table table{min-width:580px}.roster-entry-table td{padding:8px}.roster-entry-table input{min-width:145px;width:100%;padding:9px}.roster-entry-table th{font-size:10px}.roster-entry-table td:first-child{min-width:30px}.roster-column-options{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;font-size:11px}.roster-column-options label{display:flex;align-items:center;gap:5px}.roster-column-options input{width:auto}.roster-instructions{margin:20px 0;border-block:1px solid var(--line);padding:12px 0}.roster-instructions summary{cursor:pointer;font-weight:600;font-size:12px}.roster-instructions p{font-size:11px;line-height:1.7;margin:15px 0}.roster-status{margin:12px 0}.roster-editor [data-roster-map]{border:1px solid var(--line);padding:15px;border-radius:8px;margin-top:15px}.roster-editor .form-grid{gap:12px}.roster-editor [data-roster-panel=upload]>label{display:block}.roster-editor [data-roster-paste]{width:100%}@media(max-width:600px){.roster-entry-table:before{content:"Swipe the table to view every field";display:block;font-size:10px;padding:9px}.roster-editor .button{font-size:11px}.roster-entry-table input{min-width:135px}}
