:root{--tll-cert-primary:#3E64DE;--tll-cert-accent:#B6DFDA;--tll-cert-text:#172033;--tll-cert-muted:#667085;--tll-cert-border:#DDE3EE;--tll-cert-bg:#F6F8FC;--tll-cert-surface:#fff;--tll-cert-radius:16px}.tll-cert-manager,.tll-cert-manager *,.tll-cert-public-wrap,.tll-cert-public-wrap *,.tll-cert-verify-box,.tll-cert-verify-box *{box-sizing:border-box}.tll-cert-manager{width:100%;max-width:1280px;margin:22px auto;color:var(--tll-cert-text);font-family:inherit}.tll-cert-admin-wrap .tll-cert-manager{margin:10px 0 30px}.tll-cert-manager-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--tll-cert-border);border-radius:20px;background:linear-gradient(135deg,#fff,#f7f9ff)}.tll-cert-manager-header h2{margin:2px 0 6px;font-size:28px;line-height:1.15}.tll-cert-manager-header p,.tll-cert-card-heading p{margin:0;color:var(--tll-cert-muted);line-height:1.5}.tll-cert-kicker{display:block;margin-bottom:4px;color:var(--tll-cert-primary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tll-cert-beta{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 10px;border-radius:999px;background:#edf2ff;color:var(--tll-cert-primary);font-size:11px;font-weight:700}.tll-cert-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:7px;border:1px solid var(--tll-cert-border);border-radius:14px;background:#fff}.tll-cert-tabs button{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;border:0;border-radius:10px;background:transparent;color:var(--tll-cert-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.tll-cert-tabs button .dashicons{width:16px;height:16px;font-size:16px}.tll-cert-tabs button:hover,.tll-cert-tabs button:focus{background:#f5f7fb;color:var(--tll-cert-text);outline:none}.tll-cert-tabs button.is-active{background:var(--tll-cert-primary);color:#fff}.tll-cert-tab-panel{display:none}.tll-cert-tab-panel.is-active{display:block}.tll-cert-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:16px;align-items:start}.tll-cert-card{min-width:0;margin:0 0 16px;padding:18px;border:1px solid var(--tll-cert-border);border-radius:var(--tll-cert-radius);background:var(--tll-cert-surface);box-shadow:0 8px 24px rgba(15,23,42,.04)}.tll-cert-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.tll-cert-card-heading h3{margin:0 0 5px;font-size:20px;line-height:1.2}.tll-cert-card-heading p{font-size:13px}.tll-cert-manager label{display:grid;gap:6px;min-width:0;color:var(--tll-cert-text);font-size:13px;font-weight:700}.tll-cert-manager label small{color:var(--tll-cert-muted);font-weight:400;line-height:1.4}.tll-cert-manager input[type=text],.tll-cert-manager input[type=url],.tll-cert-manager input[type=date],.tll-cert-manager textarea,.tll-cert-manager select,.tll-cert-verify-form input{display:block;width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #cdd5df;border-radius:9px;background:#fff;color:var(--tll-cert-text);font:inherit;font-size:13px;box-shadow:none}.tll-cert-manager textarea{resize:vertical;line-height:1.5}.tll-cert-manager input:focus,.tll-cert-manager textarea:focus,.tll-cert-manager select:focus,.tll-cert-verify-form input:focus{border-color:var(--tll-cert-primary);outline:2px solid rgba(62,100,222,.12);outline-offset:0}.tll-cert-field-grid{display:grid;gap:12px;margin-bottom:12px}.tll-cert-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tll-cert-field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tll-cert-template-form>label{margin-bottom:12px}.tll-cert-stack{display:grid;gap:10px}.tll-cert-compact-select{min-width:190px}.tll-cert-color-input{display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px}.tll-cert-color-input input[type=color]{width:42px;height:40px;padding:2px;border:1px solid #cdd5df;border-radius:8px;background:#fff}.tll-cert-media-field{display:grid;gap:7px;min-width:0}.tll-cert-media-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:start;min-height:32px;padding:5px 9px;border:1px solid var(--tll-cert-border);border-radius:8px;background:#fff;color:var(--tll-cert-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tll-cert-media-button .dashicons{width:15px;height:15px;font-size:15px}.tll-cert-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px;margin:13px 0}.tll-cert-toggle input{margin:0}.tll-cert-form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.tll-cert-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid var(--tll-cert-primary);border-radius:10px;background:var(--tll-cert-primary);color:#fff!important;font:inherit;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer}.tll-cert-button:hover,.tll-cert-button:focus{filter:brightness(.94);outline:none}.tll-cert-button .dashicons{width:17px;height:17px;font-size:17px}.tll-cert-button-secondary{background:#fff;color:var(--tll-cert-primary)!important}.tll-cert-button:disabled{opacity:.45;cursor:not-allowed}.tll-cert-code-example{display:grid;gap:8px;align-content:end;padding:12px;border:1px dashed var(--tll-cert-border);border-radius:10px;background:#f8fafc}.tll-cert-code-example span{font-size:11px;font-weight:700;color:var(--tll-cert-muted);text-transform:uppercase;letter-spacing:.06em}.tll-cert-code-example code{font-size:14px;font-weight:700}.tll-cert-notice{margin:0 0 16px;padding:12px 14px;border:1px solid #bfd1ff;border-radius:10px;background:#f2f6ff;color:#26499f;font-size:13px}.tll-cert-notice-success{border-color:#b7e3c6;background:#f1fbf4;color:#176637}.tll-cert-notice-error{border-color:#f0b8b8;background:#fff4f4;color:#9a2929}.tll-cert-empty{padding:18px;border:1px dashed var(--tll-cert-border);border-radius:10px;color:var(--tll-cert-muted);text-align:center}.tll-cert-table-wrap{width:100%;overflow:auto}.tll-cert-table{width:100%;border-collapse:collapse;font-size:13px}.tll-cert-table th,.tll-cert-table td{padding:11px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}.tll-cert-table th{color:var(--tll-cert-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.tll-cert-table code{white-space:nowrap;font-size:11px}.tll-cert-table-actions{display:flex;gap:8px;flex-wrap:wrap}.tll-cert-table-actions a,.tll-cert-inline-link{color:var(--tll-cert-primary);font-weight:700;text-decoration:none}.tll-cert-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.tll-cert-status.is-active{background:#e8f8ee;color:#18723b}.tll-cert-status.is-revoked{background:#fff0f0;color:#a42c2c}
/* live template preview */
.tll-cert-preview-panel{position:sticky;top:24px}.tll-cert-template-preview{overflow:hidden;aspect-ratio:1.414/1;width:100%;border:1px solid var(--tll-cert-border);border-radius:12px;background:#fff center/cover no-repeat}.tll-cert-preview-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:100%;padding:7% 8% 5%;background:rgba(255,255,255,.88);color:#172033;text-align:center}.tll-cert-preview-logo{display:none;max-width:82px;max-height:42px;margin-bottom:4%}.tll-cert-preview-eyebrow{font-size:8px;font-weight:800;letter-spacing:.14em;color:#3E64DE}.tll-cert-preview-inner h2{margin:2% 0 4%;font-size:30px;line-height:1;color:#3E64DE}.tll-cert-preview-body{max-width:84%;font-size:11px;line-height:1.55}.tll-cert-preview-body strong{font-size:1.1em}.tll-cert-preview-bottom{display:grid;grid-template-columns:1fr 60px;gap:18px;align-items:end;width:76%;margin:auto 0 3%}.tll-cert-preview-signature{display:grid;justify-items:center;gap:2px;font-size:8px}.tll-cert-preview-signature img{display:none;max-width:90px;max-height:34px}.tll-cert-preview-signature>span{width:120px;max-width:100%;border-top:1px solid currentColor}.tll-cert-preview-signature small{font-size:7px;color:#667085}.tll-cert-preview-qr{display:grid;place-items:center;width:50px;height:50px;border:1px solid #cdd5df;border-radius:4px;background:#fff;color:#3E64DE}.tll-cert-preview-qr .dashicons{font-size:20px;width:20px;height:20px}.tll-cert-preview-qr small{font-size:7px}.tll-cert-preview-footer{max-width:75%;font-size:7px;line-height:1.3;color:#667085}.tll-cert-preview-code{position:absolute;right:4%;bottom:3%;font-family:monospace;font-size:6px;color:#667085}
/* public certificate */
.tll-cert-standalone-body{margin:0;background:#eef2f7;color:#172033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.tll-cert-standalone{width:100%;min-height:100vh;padding:28px}.tll-cert-public-wrap{width:100%;max-width:1200px;margin:0 auto}.tll-cert-public-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.tll-certificate{position:relative;width:100%;aspect-ratio:1.414/1;overflow:hidden;border-radius:8px;background-color:var(--cert-bg);background-position:center;background-size:cover;color:var(--cert-text);box-shadow:0 18px 55px rgba(15,23,42,.18)}.tll-certificate-frame{position:absolute;inset:3.2%;display:flex;flex-direction:column;align-items:center;padding:5.2% 7% 3.5%;border:2px solid var(--cert-primary);background:color-mix(in srgb,var(--cert-bg) 91%,transparent);text-align:center}.tll-certificate-frame:before,.tll-certificate-frame:after{content:"";position:absolute;width:120px;height:10px;background:var(--cert-accent)}.tll-certificate-frame:before{top:-6px;left:6%}.tll-certificate-frame:after{right:6%;bottom:-6px}.tll-certificate-header{display:flex;flex-direction:column;align-items:center}.tll-certificate-logo{max-width:160px;max-height:72px;margin-bottom:20px;object-fit:contain}.tll-certificate-eyebrow{font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--cert-primary)}.tll-certificate h1{margin:8px 0 28px;font-size:clamp(38px,5.8vw,74px);line-height:.95;letter-spacing:-.04em;color:var(--cert-primary)}.tll-certificate-body{max-width:850px;font-size:clamp(17px,2.1vw,27px);line-height:1.55}.tll-certificate-body p{margin:0}.tll-certificate-bottom{display:grid;grid-template-columns:minmax(220px,1fr) 150px;gap:60px;align-items:end;width:min(720px,82%);margin:auto 0 24px}.tll-certificate-signature{display:grid;justify-items:center;gap:4px}.tll-certificate-signature-image{max-width:170px;max-height:72px;object-fit:contain}.tll-certificate-signature-line{display:block;width:220px;max-width:100%;margin-top:4px;border-top:1px solid currentColor}.tll-certificate-signature strong{font-size:14px}.tll-certificate-signature>span:last-child{font-size:12px;color:color-mix(in srgb,var(--cert-text) 65%,transparent)}.tll-certificate-qr{display:grid;justify-items:center;gap:6px}.tll-certificate-qr-code{display:grid;place-items:center;width:118px;height:118px;padding:5px;background:#fff;border:1px solid rgba(0,0,0,.1)}.tll-certificate-qr-code svg{display:block;width:100%;height:100%}.tll-certificate-qr span{font-size:10px;color:color-mix(in srgb,var(--cert-text) 66%,transparent)}.tll-certificate-footer{display:flex;align-items:end;justify-content:space-between;gap:28px;width:100%;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--cert-primary) 25%,transparent);font-size:10px;text-align:left;color:color-mix(in srgb,var(--cert-text) 65%,transparent)}.tll-certificate-footer p{max-width:68%;margin:0}.tll-certificate-code{display:grid;justify-items:end;gap:2px;white-space:nowrap}.tll-certificate-code span{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.tll-certificate-code strong{font-family:monospace;font-size:11px;color:var(--cert-text)}.tll-certificate-revoked-stamp{position:absolute;left:50%;top:50%;z-index:5;padding:12px 22px;border:5px solid #b42318;border-radius:8px;color:#b42318;font-size:clamp(32px,6vw,72px);font-weight:900;letter-spacing:.08em;transform:translate(-50%,-50%) rotate(-14deg);opacity:.76}.tll-certificate.is-revoked .tll-certificate-frame{filter:grayscale(.5);opacity:.7}
/* validation */
.tll-cert-standalone-verify{display:grid;place-items:center}.tll-cert-verify-box{width:min(720px,100%);margin:24px auto;padding:24px;border:1px solid var(--tll-cert-border);border-radius:18px;background:#fff;box-shadow:0 16px 44px rgba(15,23,42,.09)}.tll-cert-verify-box h1,.tll-cert-verify-box h2{margin:0 0 14px}.tll-cert-verify-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:16px 0}.tll-cert-validation-result{display:flex;gap:14px;align-items:flex-start;margin-top:16px;padding:16px;border:1px solid;border-radius:12px}.tll-cert-validation-result>.dashicons{width:28px;height:28px;font-size:28px}.tll-cert-validation-result strong{display:block;margin-bottom:8px;font-size:18px}.tll-cert-validation-result p{margin:0}.tll-cert-validation-result.is-valid{border-color:#afe0bf;background:#f0fbf4;color:#176637}.tll-cert-validation-result.is-invalid{border-color:#efb6b6;background:#fff4f4;color:#952b2b}.tll-cert-validation-result dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:12px 0}.tll-cert-validation-result dl div{min-width:0}.tll-cert-validation-result dt{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.68}.tll-cert-validation-result dd{margin:2px 0 0;font-weight:700;color:inherit}
@media(max-width:980px){.tll-cert-editor-grid{grid-template-columns:1fr}.tll-cert-preview-panel{position:static}.tll-cert-field-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.tll-cert-manager-header{display:grid;padding:18px}.tll-cert-field-grid.two,.tll-cert-field-grid.four{grid-template-columns:1fr}.tll-cert-card{padding:14px}.tll-cert-card-heading{display:grid}.tll-cert-compact-select{min-width:0}.tll-cert-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tll-cert-tabs button{justify-content:center}.tll-cert-table thead{display:none}.tll-cert-table,.tll-cert-table tbody,.tll-cert-table tr,.tll-cert-table td{display:block;width:100%}.tll-cert-table tr{padding:10px 0;border-bottom:1px solid #edf0f4}.tll-cert-table td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:5px 0;border:0}.tll-cert-table td:before{content:attr(data-label);font-size:10px;font-weight:800;text-transform:uppercase;color:var(--tll-cert-muted)}.tll-cert-table-actions{display:flex!important}.tll-cert-standalone{padding:12px}.tll-cert-public-toolbar{justify-content:stretch}.tll-cert-public-toolbar .tll-cert-button{flex:1}.tll-certificate{aspect-ratio:auto;min-height:700px}.tll-certificate-frame{inset:14px;padding:42px 24px 28px}.tll-certificate h1{font-size:42px}.tll-certificate-body{font-size:17px}.tll-certificate-bottom{grid-template-columns:1fr;gap:22px;width:100%;margin-top:auto}.tll-certificate-qr-code{width:92px;height:92px}.tll-certificate-footer{display:grid}.tll-certificate-footer p{max-width:100%}.tll-certificate-code{justify-items:start}.tll-cert-verify-form{grid-template-columns:1fr}.tll-cert-validation-result dl{grid-template-columns:1fr}}
@media print{.tll-cert-public-toolbar,.tll-cert-standalone-body .tll-cert-button{display:none!important}.tll-cert-standalone-body,.tll-cert-standalone{margin:0!important;padding:0!important;background:#fff!important}.tll-cert-public-wrap{max-width:none}.tll-certificate{width:297mm;height:210mm;aspect-ratio:auto;border-radius:0;box-shadow:none;break-inside:avoid;page-break-inside:avoid}@page{size:A4 landscape;margin:0}}

/* Visual certificate designer — v1.23.0 */
.tll-cert-designer-form{max-width:none;padding:0;overflow:hidden}
.tll-cert-designer-form>.tll-cert-card-heading{padding:18px 18px 0;margin-bottom:14px}
.tll-cert-designer-heading-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.tll-cert-model-name{margin:0 18px 14px!important;max-width:520px}
.tll-cert-design-json{display:none!important}
.tll-cert-designer{display:grid;grid-template-columns:112px minmax(0,1fr) 310px;min-height:720px;border-top:1px solid var(--tll-cert-border);border-bottom:1px solid var(--tll-cert-border);background:#eef2f7}
.tll-cert-designer-tools{display:flex;flex-direction:column;gap:7px;padding:12px 9px;border-right:1px solid var(--tll-cert-border);background:#fff}
.tll-cert-tool-title{padding:2px 7px 5px;color:var(--tll-cert-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tll-cert-tool-button,.tll-cert-tool-variable{appearance:none;display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-width:0;min-height:42px;padding:7px 8px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--tll-cert-text)!important;font:inherit!important;font-size:12px!important;font-weight:700!important;text-align:left;cursor:pointer}
.tll-cert-tool-button:hover,.tll-cert-tool-button:focus-within,.tll-cert-tool-variable:hover,.tll-cert-tool-variable:focus-within{border-color:#d5dcf2!important;background:#f5f7ff!important;color:var(--tll-cert-primary)!important;outline:none}
.tll-cert-tool-button .dashicons,.tll-cert-tool-variable .dashicons{width:19px;height:19px;font-size:19px;color:var(--tll-cert-primary)}
.tll-cert-tool-variable{cursor:default}
.tll-cert-tool-variable>span:nth-child(2){min-width:0}
.tll-cert-tool-variable select{grid-column:1/-1;min-height:30px!important;padding:4px 5px!important;border-radius:7px!important;font-size:10px!important;font-weight:600!important}
.tll-cert-designer-center{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:#e8edf4}
.tll-cert-designer-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:8px 12px;border-bottom:1px solid #d5dce6;background:#fff}
.tll-cert-editor-hint{display:inline-flex;align-items:center;gap:6px;color:var(--tll-cert-muted);font-size:11px;line-height:1.35}
.tll-cert-editor-hint .dashicons{width:15px;height:15px;font-size:15px}
.tll-cert-zoom-control{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.tll-cert-zoom-control .dashicons{width:16px;height:16px;font-size:16px;color:var(--tll-cert-muted)}
.tll-cert-zoom-control select{width:auto!important;min-width:96px!important;min-height:32px!important;padding:4px 7px!important}
.tll-cert-designer-stage{display:flex;align-items:flex-start;justify-content:center;min-width:0;min-height:0;padding:28px;overflow:auto;background-color:#e8edf4;background-image:linear-gradient(45deg,rgba(15,23,42,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(15,23,42,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(15,23,42,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(15,23,42,.025) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.tll-cert-designer-canvas-wrap{width:min(100%,1100px);flex:0 0 auto;transition:width .18s ease}
.tll-cert-designer-canvas{position:relative;container-type:inline-size;width:100%;aspect-ratio:1400/990;overflow:hidden;background:#fff center/cover no-repeat;box-shadow:0 12px 34px rgba(15,23,42,.18);outline:1px solid rgba(15,23,42,.08);touch-action:none;user-select:none}
.tll-cert-design-node{position:absolute;min-width:2px;min-height:2px;cursor:move;overflow:visible}
.tll-cert-design-node.is-text{display:block;white-space:pre-wrap;overflow:hidden;word-break:break-word}
.tll-cert-design-node-content{width:100%;height:100%;white-space:pre-wrap}
.tll-cert-design-node.is-image{display:grid;place-items:center;overflow:hidden;background:transparent}
.tll-cert-design-node.is-image img{display:block;width:100%;height:100%}
.tll-cert-design-node.is-image.is-empty{border:1px dashed #98a2b3;background:rgba(255,255,255,.7)}
.tll-cert-design-node.is-image.is-empty:before{content:'Imagem';position:absolute;color:#667085;font:600 12px/1 sans-serif}
.tll-cert-design-node.is-qr{display:grid;place-items:center;padding:3px;background:#fff;overflow:hidden}
.tll-cert-designer-qr,.tll-cert-designer-qr svg{display:block;width:100%;height:100%}
.tll-cert-design-node.is-line{min-height:2px;cursor:move}
.tll-cert-design-node.is-selected:after{content:'';position:absolute;inset:-3px;border:2px solid #3E64DE;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.85)}
.tll-cert-resize-handle{position:absolute;right:-8px;bottom:-8px;z-index:5;width:15px;height:15px;border:2px solid #fff;border-radius:50%;background:#3E64DE;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:nwse-resize}
.tll-cert-designer-inspector{min-width:0;overflow:auto;border-left:1px solid var(--tll-cert-border);background:#fff}
.tll-cert-inspector-section{padding:14px;border-bottom:1px solid #edf0f4}
.tll-cert-inspector-title{display:flex;align-items:center;gap:7px;margin-bottom:12px;color:var(--tll-cert-text);font-size:13px}
.tll-cert-inspector-title .dashicons{width:17px;height:17px;font-size:17px;color:var(--tll-cert-primary)}
.tll-cert-inspector-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.tll-cert-inspector-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tll-cert-inspector-full{grid-column:1/-1}
.tll-cert-designer-inspector label{font-size:11px!important;gap:4px!important}
.tll-cert-designer-inspector input,.tll-cert-designer-inspector select,.tll-cert-designer-inspector textarea{min-height:34px!important;padding:6px 7px!important;border-radius:7px!important;font-size:11px!important}
.tll-cert-designer-inspector textarea{min-height:78px!important}
.tll-cert-inline-color{display:grid;grid-template-columns:38px minmax(0,1fr);gap:5px;min-width:0}
.tll-cert-inline-color input[type=color]{width:38px!important;height:34px!important;min-height:34px!important;padding:2px!important}
.tll-cert-inspector-text-fields,.tll-cert-inspector-image-fields,.tll-cert-inspector-line-fields{display:grid;gap:10px;margin-bottom:12px}
.tll-cert-inspector-text-fields[hidden],.tll-cert-inspector-image-fields[hidden],.tll-cert-inspector-line-fields[hidden],.tll-cert-inspector-section[hidden]{display:none!important}
.tll-cert-geometry-fields{padding-top:12px;border-top:1px solid #edf0f4}
.tll-cert-inspector-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.tll-cert-mini-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 8px;border:1px solid #cdd5df;border-radius:8px;background:#fff;color:var(--tll-cert-text);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.tll-cert-mini-button:hover,.tll-cert-mini-button:focus{border-color:var(--tll-cert-primary);color:var(--tll-cert-primary);outline:none}
.tll-cert-mini-button .dashicons{width:14px;height:14px;font-size:14px}
.tll-cert-mini-button.is-danger{border-color:#efc1c1;color:#a42c2c}
.tll-cert-layers{display:grid;gap:5px}
.tll-cert-layer{appearance:none;display:flex;align-items:center;gap:7px;width:100%;min-width:0;min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:#f8fafc;color:var(--tll-cert-text);font:inherit;font-size:11px;font-weight:600;text-align:left;cursor:pointer}
.tll-cert-layer:hover{border-color:#d8deea}.tll-cert-layer.is-active{border-color:#aebff8;background:#eef2ff;color:#294bb7}
.tll-cert-layer .dashicons{width:15px;height:15px;font-size:15px;flex:0 0 15px}.tll-cert-layer span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tll-cert-layers-empty{padding:12px;border:1px dashed var(--tll-cert-border);border-radius:8px;color:var(--tll-cert-muted);font-size:11px;text-align:center}
.tll-cert-designer-bottom-actions{padding:0 18px 18px;margin-top:16px}

/* Runtime rendering for certificates created with the visual designer. */
.tll-certificate-designed{container-type:inline-size;aspect-ratio:1400/990;background-position:center;background-size:cover;background-repeat:no-repeat}
.tll-cert-design-output{position:relative;container-type:inline-size;width:100%;height:100%;overflow:hidden}
.tll-cert-design-element{position:absolute;overflow:hidden;white-space:pre-wrap;word-break:break-word}
.tll-cert-design-element.is-image img{display:block;width:100%;height:100%}
.tll-cert-design-element.is-qr{display:grid;place-items:center;padding:.35%;background:#fff}
.tll-cert-design-element.is-qr>div,.tll-cert-design-element.is-qr svg{display:block;width:100%;height:100%}
.tll-cert-design-element.is-line{min-height:1px}
.tll-certificate-designed.is-revoked .tll-cert-design-output>*:not(.tll-certificate-revoked-stamp){filter:grayscale(.55);opacity:.65}

@media(max-width:1120px){
  .tll-cert-designer{grid-template-columns:104px minmax(0,1fr)}
  .tll-cert-designer-inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;border-top:1px solid var(--tll-cert-border);overflow:visible}
  .tll-cert-inspector-section{border-bottom:0;border-right:1px solid #edf0f4}.tll-cert-inspector-section:last-child{border-right:0}
}
@media(max-width:760px){
  .tll-cert-designer-heading-actions{justify-content:stretch}.tll-cert-designer-heading-actions>*{flex:1 1 180px}
  .tll-cert-designer{display:block;min-height:0}
  .tll-cert-designer-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--tll-cert-border)}
  .tll-cert-tool-title{grid-column:1/-1}.tll-cert-tool-button,.tll-cert-tool-variable{min-height:38px}.tll-cert-tool-variable{grid-column:span 2}
  .tll-cert-designer-topbar{align-items:flex-start}.tll-cert-editor-hint{display:none}.tll-cert-designer-stage{padding:14px;max-height:70vh}
  .tll-cert-designer-inspector{display:block;border-top:1px solid var(--tll-cert-border)}.tll-cert-inspector-section{border-right:0;border-bottom:1px solid #edf0f4}
  .tll-cert-inspector-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tll-certificate-designed{min-height:0!important;aspect-ratio:1400/990!important}
}
@media(max-width:480px){.tll-cert-designer-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.tll-cert-tool-variable{grid-column:1/-1}.tll-cert-inspector-grid.two{grid-template-columns:1fr}}
@media print{.tll-certificate-designed{width:297mm!important;height:210mm!important;aspect-ratio:auto!important}.tll-cert-design-output{width:100%;height:100%}}

/* Certificate visual designer — v1.24.0 */
.tll-cert-designer{
  grid-template-columns:190px minmax(0,1fr) 330px;
  min-height:0;
  align-items:stretch;
}
.tll-cert-designer-tools{
  display:block;
  padding:10px;
  overflow:auto;
}
.tll-cert-designer-inspector{
  padding:10px;
  overflow:auto;
}
.tll-cert-designer-center{
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
}

/* Accordions around the editor controls. The visualizer remains permanently visible. */
.tll-cert-editor-accordion{
  display:block;
  min-width:0;
  margin:0 0 9px;
  border:1px solid var(--tll-cert-border);
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}
.tll-cert-editor-accordion:last-child{margin-bottom:0}
.tll-cert-editor-accordion>summary{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:42px;
  padding:9px 10px;
  list-style:none;
  cursor:pointer;
  user-select:none;
  color:var(--tll-cert-text);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  background:#fff;
}
.tll-cert-editor-accordion>summary::-webkit-details-marker{display:none}
.tll-cert-editor-accordion>summary::marker{display:none;content:""}
.tll-cert-editor-accordion>summary>.dashicons{
  width:16px;
  height:16px;
  flex:0 0 16px;
  font-size:16px;
  color:var(--tll-cert-primary);
}
.tll-cert-accordion-chevron{
  position:relative;
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-left:auto;
  border-radius:50%;
  background:#f1f4fa;
}
.tll-cert-accordion-chevron:before,.tll-cert-accordion-chevron:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:7px;height:1.5px;
  border-radius:2px;
  background:#667085;
  transform:translate(-50%,-50%);
  transition:transform .16s ease;
}
.tll-cert-accordion-chevron:after{transform:translate(-50%,-50%) rotate(90deg)}
.tll-cert-editor-accordion[open] .tll-cert-accordion-chevron:after{transform:translate(-50%,-50%) rotate(0)}
.tll-cert-editor-accordion[open]>summary{border-bottom:1px solid #edf0f4;background:#fbfcff}
.tll-cert-editor-accordion-body{display:grid;gap:8px;padding:10px;min-width:0}
.tll-cert-editor-accordion[hidden]{display:none!important}
.tll-cert-editor-help p{margin:0;color:var(--tll-cert-muted);font-size:10px;line-height:1.45}

/* Insert tools now live inside the accordion rail. */
.tll-cert-designer-tools .tll-cert-tool-button,
.tll-cert-designer-tools .tll-cert-tool-variable{
  min-height:38px;
  border-color:#edf0f4!important;
  background:#fff!important;
}
.tll-cert-designer-tools .tll-cert-tool-variable select{margin-top:2px}

/* 16:9 visualizer viewport; certificate keeps its own document aspect ratio inside it. */
.tll-cert-designer-stage{
  aspect-ratio:16/9;
  width:100%;
  min-height:0;
  padding:24px;
  align-items:center;
  overflow:auto;
}
.tll-cert-designer-canvas-wrap{max-width:none}

/* Photoshop-like selection bounds and eight resize handles. */
.tll-cert-design-node.is-selected{overflow:visible!important}
.tll-cert-design-node.is-text.is-selected .tll-cert-design-node-content{overflow:hidden}
.tll-cert-design-node.is-selected:after{
  inset:-2px;
  border:1px solid #2F63F5;
  box-shadow:0 0 0 1px rgba(255,255,255,.72);
}
.tll-cert-design-node.is-primary-selected:after{border-width:2px}
.tll-cert-resize-handle{
  position:absolute;
  z-index:20;
  width:9px;
  height:9px;
  border:1.5px solid #2F63F5;
  border-radius:1px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.18);
}
.tll-cert-resize-handle.is-nw{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}
.tll-cert-resize-handle.is-n{left:50%;top:0;transform:translate(-50%,-50%);cursor:ns-resize}
.tll-cert-resize-handle.is-ne{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}
.tll-cert-resize-handle.is-e{right:0;top:50%;transform:translate(50%,-50%);cursor:ew-resize}
.tll-cert-resize-handle.is-se{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}
.tll-cert-resize-handle.is-s{left:50%;bottom:0;transform:translate(-50%,50%);cursor:ns-resize}
.tll-cert-resize-handle.is-sw{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}
.tll-cert-resize-handle.is-w{left:0;top:50%;transform:translate(-50%,-50%);cursor:ew-resize}

/* Alignment and distribution toolbar. */
.tll-cert-designer-topbar{align-items:center;min-height:58px;flex-wrap:wrap}
.tll-cert-designer-topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;flex-wrap:wrap}
.tll-cert-align-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:4px;border:1px solid #e1e6ef;border-radius:9px;background:#f8fafc}
.tll-cert-align-toolbar button{
  appearance:none;
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#475467;
  cursor:pointer;
}
.tll-cert-align-toolbar button:hover:not(:disabled),.tll-cert-align-toolbar button:focus:not(:disabled){border-color:#b9c6f6;background:#eef2ff;color:var(--tll-cert-primary);outline:none}
.tll-cert-align-toolbar button:disabled{opacity:.3;cursor:not-allowed}
.tll-cert-align-toolbar .dashicons{width:16px;height:16px;font-size:16px;line-height:1}
.tll-cert-icon-rotate{transform:rotate(90deg)}
.tll-cert-toolbar-separator{width:1px;height:19px;margin:0 2px;background:#dfe4ec}

/* Horizontal layers strip below the visualizer. */
.tll-cert-layers-section{margin:10px 12px 12px;border-color:#d5dce6}
.tll-cert-layers-section>summary{min-height:40px}
.tll-cert-selection-count{margin-left:auto;color:var(--tll-cert-muted);font-size:10px;font-weight:600;white-space:nowrap}
.tll-cert-layers-section .tll-cert-accordion-chevron{margin-left:0}
.tll-cert-layers{display:flex;gap:6px;min-width:0;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.tll-cert-layer{flex:0 0 auto;width:auto;min-width:128px;max-width:220px;min-height:36px;background:#f8fafc}
.tll-cert-layers-empty{width:100%}

/* Inspector accordions and spacing. */
.tll-cert-designer-inspector .tll-cert-editor-accordion-body label{font-size:11px!important;gap:4px!important}
.tll-cert-designer-inspector .tll-cert-editor-accordion-body input,
.tll-cert-designer-inspector .tll-cert-editor-accordion-body select,
.tll-cert-designer-inspector .tll-cert-editor-accordion-body textarea{min-height:34px!important;padding:6px 7px!important;border-radius:7px!important;font-size:11px!important}
.tll-cert-designer-inspector .tll-cert-editor-accordion-body textarea{min-height:78px!important}
.tll-cert-multi-selection-note{margin:0;padding:9px;border:1px solid #d8e0fb;border-radius:8px;background:#f5f7ff;color:#44516b;font-size:10px;line-height:1.45}
.tll-cert-multi-selection-note[hidden],[data-single-selection-only][hidden]{display:none!important}

@media(max-width:1180px){
  .tll-cert-designer{grid-template-columns:180px minmax(0,1fr)}
  .tll-cert-designer-inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border-left:0;border-top:1px solid var(--tll-cert-border);overflow:visible}
  .tll-cert-designer-inspector .tll-cert-editor-accordion{margin:0}
}
@media(max-width:820px){
  .tll-cert-designer{display:block}
  .tll-cert-designer-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-right:0;border-bottom:1px solid var(--tll-cert-border)}
  .tll-cert-designer-tools .tll-cert-editor-accordion{margin:0}
  .tll-cert-designer-stage{padding:14px;aspect-ratio:16/9}
  .tll-cert-designer-inspector{display:block}
  .tll-cert-designer-inspector .tll-cert-editor-accordion{margin-bottom:8px}
  .tll-cert-editor-hint{display:none}
}
@media(max-width:560px){
  .tll-cert-designer-tools{grid-template-columns:1fr}
  .tll-cert-designer-topbar{align-items:stretch}
  .tll-cert-designer-topbar-left{display:grid;width:100%}
  .tll-cert-align-toolbar{justify-content:center}
  .tll-cert-zoom-control{margin-left:auto}
  .tll-cert-designer-stage{aspect-ratio:16/9;padding:10px}
}
@media(max-width:760px){.tll-cert-designer-stage{max-height:none}}

/* Certificate designer performance/layout pass — v1.25.0 */
.tll-cert-designer-center{
  grid-template-rows:auto minmax(0,1fr);
}
.tll-cert-designer-inspector{
  display:flex;
  flex-direction:column;
  min-height:0;
  max-height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.tll-cert-designer-inspector .tll-cert-editor-accordion{
  flex:0 0 auto;
}

/* Layers now live under the element editor in the right rail. */
.tll-cert-designer-inspector .tll-cert-layers-section{
  margin:0 0 9px;
  min-height:0;
}
.tll-cert-designer-inspector .tll-cert-layers-section>summary{
  min-height:42px;
}
.tll-cert-designer-inspector .tll-cert-selection-count{
  margin-left:auto;
}
.tll-cert-designer-inspector .tll-cert-layers-scroll{
  display:block;
  max-height:220px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:8px;
  scrollbar-width:thin;
  overscroll-behavior:contain;
}
.tll-cert-designer-inspector .tll-cert-layers{
  display:grid;
  gap:5px;
  min-width:0;
  width:100%;
  overflow:visible;
  padding:0;
}
.tll-cert-designer-inspector .tll-cert-layer{
  width:100%;
  min-width:0;
  max-width:none;
  flex:none;
}

/* Keep the inspector and tool rail visually locked to the editor viewport. */
.tll-cert-designer-tools,
.tll-cert-designer-inspector{
  align-self:stretch;
}
.tll-cert-designer-stage{
  contain:layout paint;
}
.tll-cert-designer-canvas{
  contain:layout paint style;
}
.tll-cert-design-node.is-selected{
  will-change:left,top,width,height;
}

/* Topbar actions and fullscreen control. */
.tll-cert-designer-topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.tll-cert-fullscreen-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  padding:5px 9px;
  border:1px solid #d8deea;
  border-radius:8px;
  background:#fff;
  color:#475467;
  font:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}
.tll-cert-fullscreen-button:hover,
.tll-cert-fullscreen-button:focus{
  border-color:#b9c6f6;
  background:#eef2ff;
  color:var(--tll-cert-primary);
  outline:none;
}
.tll-cert-fullscreen-button .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
  line-height:1;
}

/* Native Fullscreen API + CSS fallback share the same editor treatment. */
.tll-cert-designer-form:fullscreen,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback{
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
  display:flex;
  flex-direction:column;
}
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
}
html.tll-cert-editor-fullscreen-lock,
html.tll-cert-editor-fullscreen-lock body{
  overflow:hidden!important;
}
.tll-cert-designer-form:fullscreen>.tll-cert-card-heading,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-card-heading{
  flex:0 0 auto;
  align-items:center;
  margin:0!important;
  padding:9px 12px!important;
  border-bottom:1px solid var(--tll-cert-border);
}
.tll-cert-designer-form:fullscreen>.tll-cert-card-heading .tll-cert-kicker,
.tll-cert-designer-form:fullscreen>.tll-cert-card-heading p,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-card-heading .tll-cert-kicker,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-card-heading p{
  display:none;
}
.tll-cert-designer-form:fullscreen>.tll-cert-card-heading h3,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-card-heading h3{
  margin:0;
  font-size:16px;
}
.tll-cert-designer-form:fullscreen>.tll-cert-model-name,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-model-name,
.tll-cert-designer-form:fullscreen>.tll-cert-designer-bottom-actions,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-designer-bottom-actions{
  display:none!important;
}
.tll-cert-designer-form:fullscreen>.tll-cert-designer,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback>.tll-cert-designer{
  flex:1 1 auto;
  min-height:0!important;
  height:auto!important;
  border-top:0;
  border-bottom:0;
  grid-template-columns:190px minmax(0,1fr) 340px;
}
.tll-cert-designer-form:fullscreen .tll-cert-designer-center,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback .tll-cert-designer-center{
  min-height:0;
  height:100%;
}
.tll-cert-designer-form:fullscreen .tll-cert-designer-stage,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback .tll-cert-designer-stage{
  aspect-ratio:auto;
  min-height:0;
  height:100%;
  padding:22px;
}
.tll-cert-designer-form:fullscreen .tll-cert-designer-tools,
.tll-cert-designer-form:fullscreen .tll-cert-designer-inspector,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback .tll-cert-designer-tools,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback .tll-cert-designer-inspector{
  min-height:0;
  height:100%;
  max-height:none;
  overflow-y:auto;
}
.tll-cert-designer-form:fullscreen .tll-cert-layers-scroll,
.tll-cert-designer-form.is-tll-cert-fullscreen-fallback .tll-cert-layers-scroll{
  max-height:min(32vh,300px);
}

/* Keep the right rail on the right for ordinary laptop widths; stack only when truly narrow. */
@media (min-width:901px) and (max-width:1180px){
  .tll-cert-designer{grid-template-columns:160px minmax(0,1fr) 300px}
  .tll-cert-designer-inspector{grid-column:auto;display:flex;border-left:1px solid var(--tll-cert-border);border-top:0;overflow-y:auto}
  .tll-cert-designer-inspector .tll-cert-editor-accordion{margin:0 0 9px}
}
@media(max-width:900px){
  .tll-cert-designer-topbar-actions{width:100%;justify-content:space-between}
  .tll-cert-fullscreen-button span[data-fullscreen-label]{display:none}
  .tll-cert-designer-inspector .tll-cert-layers-scroll{max-height:200px}
}

/* Frontend certificate manager theme variables — v1.26.0 */
.tll-cert-manager-frontend{
  padding:clamp(12px,2vw,22px);
  border-radius:calc(var(--tll-cert-radius) + 4px);
  background:var(--tll-cert-bg);
}
.tll-cert-manager-frontend .tll-cert-manager-header{
  border-color:var(--tll-cert-border);
  background:linear-gradient(135deg,var(--tll-cert-surface),color-mix(in srgb,var(--tll-cert-primary) 4%,var(--tll-cert-surface)));
}
.tll-cert-manager-frontend .tll-cert-beta{
  background:color-mix(in srgb,var(--tll-cert-primary) 9%,var(--tll-cert-surface));
  color:var(--tll-cert-primary);
}
.tll-cert-manager-frontend .tll-cert-tabs,
.tll-cert-manager-frontend .tll-cert-card,
.tll-cert-manager-frontend .tll-cert-button-secondary,
.tll-cert-manager-frontend .tll-cert-media-button,
.tll-cert-manager-frontend .tll-cert-mini-button,
.tll-cert-manager-frontend .tll-cert-layer,
.tll-cert-manager-frontend input[type=text],
.tll-cert-manager-frontend input[type=url],
.tll-cert-manager-frontend input[type=date],
.tll-cert-manager-frontend textarea,
.tll-cert-manager-frontend select{
  border-color:var(--tll-cert-border);
  background:var(--tll-cert-surface);
  color:var(--tll-cert-text);
}
.tll-cert-manager-frontend .tll-cert-tabs button:hover,
.tll-cert-manager-frontend .tll-cert-tabs button:focus,
.tll-cert-manager-frontend .tll-cert-layer:hover{
  background:color-mix(in srgb,var(--tll-cert-primary) 6%,var(--tll-cert-surface));
}
.tll-cert-manager-frontend .tll-cert-layer.is-active{
  border-color:color-mix(in srgb,var(--tll-cert-primary) 36%,var(--tll-cert-border));
  background:color-mix(in srgb,var(--tll-cert-primary) 9%,var(--tll-cert-surface));
  color:var(--tll-cert-primary);
}
.tll-cert-manager-frontend .tll-cert-code-example,
.tll-cert-manager-frontend .tll-cert-designer-stage,
.tll-cert-manager-frontend .tll-cert-designer-tools{
  background:color-mix(in srgb,var(--tll-cert-bg) 78%,var(--tll-cert-surface));
}
.tll-cert-manager-frontend .tll-cert-design-node.is-selected:after{border-color:var(--tll-cert-primary)}
.tll-cert-manager-frontend .tll-cert-resize-handle{background:var(--tll-cert-primary)}
.tll-cert-manager-frontend .tll-cert-layer.is-active{background:color-mix(in srgb,var(--tll-cert-accent) 24%,var(--tll-cert-surface))}

/* GPU-friendly interaction path (v1.27.0)
 * Moving layers is previewed with compositor transforms and committed back to
 * document coordinates only when the pointer is released. Do not permanently
 * promote every selected node: that wastes GPU memory on large certificates.
 */
.tll-cert-design-node.is-selected{
  will-change:auto;
}
.tll-cert-design-node.is-gpu-dragging{
  will-change:transform;
  transform-origin:0 0;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.tll-cert-designer-canvas.is-gpu-interacting .tll-cert-design-node.is-gpu-dragging{
  cursor:grabbing;
}
.tll-cert-design-node.is-live-resizing{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Layer locking (v1.28.0) */
.tll-cert-layer-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  gap:5px;
  width:100%;
  min-width:0;
  align-items:stretch;
}
.tll-cert-layer-row .tll-cert-layer{
  min-width:0;
}
.tll-cert-layer-lock{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  border:1px solid transparent;
  border-radius:7px;
  background:#f8fafc;
  color:#98a2b3;
  cursor:pointer;
}
.tll-cert-layer-lock:hover,
.tll-cert-layer-lock:focus{
  border-color:#cdd5df;
  color:var(--tll-cert-primary);
  outline:none;
}
.tll-cert-layer-lock .dashicons{
  width:16px;
  height:16px;
  font-size:16px;
}
.tll-cert-layer-lock.is-locked,
.tll-cert-layer-row.is-locked .tll-cert-layer{
  color:#7a4b00;
  background:#fff8e6;
}
.tll-cert-layer-lock.is-locked{
  border-color:#ead39b;
}
.tll-cert-design-node.is-locked{
  cursor:not-allowed;
}
.tll-cert-design-node.is-locked.is-selected:after{
  border-style:dashed;
}
.tll-cert-node-lock-indicator{
  display:none;
  position:absolute;
  right:-11px;
  top:-11px;
  z-index:8;
  width:22px;
  height:22px;
  padding:3px;
  border:2px solid #fff;
  border-radius:999px;
  background:#172033;
  color:#fff;
  font-size:12px;
  line-height:12px;
  box-shadow:0 2px 7px rgba(15,23,42,.24);
  pointer-events:none;
}
.tll-cert-design-node.is-locked.is-selected .tll-cert-node-lock-indicator{
  display:block;
}
.tll-cert-lock-note{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:0 0 10px;
  padding:8px 9px;
  border:1px solid #ead39b;
  border-radius:8px;
  background:#fff8e6;
  color:#76510d;
  font-size:10px;
  line-height:1.45;
}
.tll-cert-lock-note[hidden]{display:none!important}
.tll-cert-lock-note .dashicons{width:14px;height:14px;font-size:14px;flex:0 0 14px;margin-top:1px}
.tll-cert-mini-button:disabled,
.tll-cert-designer-inspector input:disabled,
.tll-cert-designer-inspector select:disabled,
.tll-cert-designer-inspector textarea:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.tll-cert-manager-frontend .tll-cert-layer-lock{
  border-color:var(--tll-cert-border);
  background:var(--tll-cert-surface);
  color:var(--tll-cert-muted);
}
.tll-cert-manager-frontend .tll-cert-layer-lock.is-locked,
.tll-cert-manager-frontend .tll-cert-layer-row.is-locked .tll-cert-layer{
  background:color-mix(in srgb,#f5b942 15%,var(--tll-cert-surface));
  color:color-mix(in srgb,#9a6400 82%,var(--tll-cert-text));
}

/* Design System radius/padding tokens (v2.3.0) */
.tll-cert-manager,.tll-cert-verify-box{--tll-cert-pad:16px}
.tll-cert-manager-header,.tll-cert-panel,.tll-cert-card,.tll-cert-verify-box{padding:var(--tll-cert-pad);border-radius:var(--tll-cert-radius)}
.tll-cert-manager button,.tll-cert-manager input,.tll-cert-manager select,.tll-cert-manager textarea,.tll-cert-verify-box input,.tll-cert-verify-box button{border-radius:max(4px,calc(var(--tll-cert-radius) * .65))}


/* Manual certificate issuance (v2.4.0) */
.tll-cert-manual-form{margin-bottom:16px}.tll-cert-manual-update{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 14px;border:1px solid var(--tll-cert-border,#DDE3EE);border-radius:12px;background:color-mix(in srgb,var(--tll-cert-primary,#3E64DE) 4%,var(--tll-cert-surface,#fff));cursor:pointer}.tll-cert-manual-update input{margin-top:3px}.tll-cert-manual-update span{display:grid;gap:3px}.tll-cert-manual-update strong{font-size:13px}.tll-cert-manual-update small{color:var(--tll-cert-muted,#667085);font-size:11px;line-height:1.45}.tll-cert-manual-badge{display:inline-flex;align-items:center;max-width:180px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--tll-cert-primary,#3E64DE) 8%,var(--tll-cert-surface,#fff));color:var(--tll-cert-primary,#3E64DE);font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tll-cert-table-actions form{display:inline;margin:0}.tll-cert-table-link{appearance:none;border:0;background:transparent;padding:0;color:var(--tll-cert-primary,#3E64DE);font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline}.tll-cert-table-link.is-danger{color:#d92d20}.tll-cert-manual-list{margin-top:16px}@media(max-width:720px){.tll-cert-manual-badge{max-width:100%}}
