:root{
  --ruby:#C1121F; --red:#E63946; --violet:#7C3AED; --blue:#2563EB;
  --text:#0F172A; --gray:#64748B; --bg:#F8FAFC;
  --grad:linear-gradient(115deg,var(--red) 0%,var(--violet) 55%,var(--blue) 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Plus Jakarta Sans',sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
::selection{background:var(--violet);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}

/* Header */
.qo-header{position:sticky;top:0;z-index:50;background:rgba(248,250,252,.8);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,23,42,.06)}
.qo-header nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.qo-brand{display:flex;align-items:center;gap:9px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:20px;letter-spacing:-.02em}
.qo-brand em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.qo-nav-right{display:flex;align-items:center;gap:20px}
.qo-link{font-size:14px;font-weight:500;color:var(--text)}
.qo-link:hover{color:var(--violet)}
.qo-linkbtn{background:none;border:none;cursor:pointer;font:inherit;padding:0}
.qo-cta{background:var(--grad);color:#fff;font-weight:600;font-size:14px;padding:9px 18px;border-radius:999px;box-shadow:0 6px 16px rgba(124,58,237,.25);transition:transform .2s}
.qo-cta:hover{transform:translateY(-2px)}
.qo-langs{display:flex;gap:2px;border:1px solid rgba(15,23,42,.12);border-radius:8px;overflow:hidden;font-size:12px;font-weight:700}
.qo-langs a{padding:5px 8px;color:var(--gray)}
.qo-langs a.on{background:var(--grad);color:#fff}

/* Flash */
.qo-flashes{margin-top:16px}
.qo-flash{padding:12px 16px;border-radius:12px;font-size:14px;margin-bottom:8px}
.qo-flash.ok{background:rgba(34,197,94,.1);color:#15803D}
.qo-flash.err{background:rgba(239,68,68,.1);color:#B91C1C}

/* Hero */
.qo-hero{padding:70px 0 40px;text-align:center}
.qo-hero h1{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.02em;margin-bottom:14px}
.qo-hero .lead{font-size:17px;color:var(--gray);max-width:620px;margin:0 auto 26px;line-height:1.6}

/* Buttons */
.qo-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:#fff;font-weight:700;font-size:15px;padding:13px 26px;border-radius:999px;border:none;cursor:pointer;box-shadow:0 8px 20px rgba(124,58,237,.25);transition:transform .2s;font-family:inherit}
.qo-btn-primary:hover{transform:translateY(-2px)}
.qo-btn-primary.full{width:100%;justify-content:center}
.qo-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}
.qo-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--text);font-weight:600;font-size:14px;padding:11px 22px;border-radius:999px;border:1px solid rgba(15,23,42,.12)}
.qo-btn-ghost:hover{border-color:var(--violet);color:var(--violet)}

/* Grid strumenti */
.qo-tools{padding:20px 0 80px}
.qo-cat{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--violet);margin:36px 0 16px}
.qo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.qo-grid.small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.qo-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:20px 18px;display:flex;flex-direction:column;gap:9px;transition:all .25s}
.qo-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,23,42,.09);border-color:rgba(124,58,237,.2)}
.qo-card.soon{opacity:.62}
.qo-card strong{font-size:14.5px;font-weight:700}
.qo-ic{width:40px;height:40px;border-radius:11px;background:rgba(124,58,237,.08);color:var(--violet);display:flex;align-items:center;justify-content:center}
.badge{font-style:normal;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;width:fit-content}
.badge.client{background:rgba(34,197,94,.12);color:#15803D}
.badge.soon{background:rgba(100,116,139,.12);color:var(--gray)}
.badge.big{font-size:12px;padding:5px 12px}

.qo-privacy-box{margin-top:48px;background:#fff;border:1px solid rgba(124,58,237,.18);border-radius:18px;padding:24px 28px}
.qo-privacy-box strong{display:block;margin-bottom:6px}
.qo-privacy-box p{color:var(--gray);font-size:14.5px;line-height:1.6}

/* Pagina strumento */
.qo-tool-hero{padding:44px 0 10px}
.qo-breadcrumb{font-size:13px;color:var(--gray);margin-bottom:12px}
.qo-breadcrumb a{color:var(--violet);font-weight:600}
.qo-tool-hero h1{font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.qo-tool-hero .lead{color:var(--gray);max-width:640px;line-height:1.6;margin-bottom:12px}
.qo-tool-body{padding:26px 0 80px}
.qo-remaining{font-size:14px;color:var(--gray);margin-bottom:14px}
.qo-remaining strong{color:var(--violet)}

.qo-dropzone{border:2px dashed rgba(124,58,237,.35);border-radius:20px;background:#fff;padding:52px 24px;text-align:center;color:var(--gray);cursor:pointer;transition:all .2s}
.qo-dropzone:hover,.qo-dropzone.over{border-color:var(--violet);background:rgba(124,58,237,.04)}
.qo-dropzone svg{color:var(--violet);margin-bottom:10px}
.qo-browse{color:var(--violet);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.qo-filelist{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:8px}
.qo-filelist li{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:14px;cursor:grab}
.qo-filelist li.dragging{opacity:.5}
.qo-filelist .fname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qo-filelist .fsize{color:var(--gray);font-size:12.5px}
.qo-filelist .fdel{background:none;border:none;cursor:pointer;color:#B91C1C;font-size:16px;padding:2px 6px}
.qo-tool-actions{margin-top:18px}
.qo-status{margin-top:14px;font-size:14.5px;color:var(--gray)}
.qo-status.ok{color:#15803D}
.qo-status.err{color:#B91C1C}

.qo-lock{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.qo-lock p{color:var(--gray)}

/* Auth */
.qo-auth{display:flex;justify-content:center;padding:60px 28px 90px}
.qo-auth-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:22px;padding:38px;width:100%;max-width:420px;box-shadow:0 20px 50px rgba(15,23,42,.07)}
.qo-auth-card h1{font-size:22px;font-weight:800;margin-bottom:22px;letter-spacing:-.01em}
.qo-auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;margin-bottom:16px}
.qo-auth-card input{border:1px solid rgba(15,23,42,.14);border-radius:11px;padding:11px 14px;font-size:15px;font-family:inherit;width:100%}
.qo-auth-card input:focus{border-color:var(--violet);outline:none}
.qo-auth-note{font-size:12px;color:var(--gray);margin-top:12px;text-align:center}
.qo-auth-alt{font-size:13.5px;color:var(--gray);margin-top:14px;text-align:center}
.qo-auth-alt a{color:var(--violet);font-weight:700}

/* Account */
.qo-account{padding:50px 0 90px}
.qo-account h1{font-size:28px;font-weight:800;margin-bottom:24px}
.qo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.qo-stat{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:20px}
.qo-stat span{font-size:12.5px;color:var(--gray);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.qo-stat strong{display:block;font-size:24px;font-weight:800;margin-top:6px}
.qo-bar{height:7px;background:#EDF1F7;border-radius:5px;margin-top:12px;overflow:hidden}
.qo-bar i{display:block;height:100%;background:var(--grad);border-radius:5px}
.qo-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(15,23,42,.06)}
.qo-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid rgba(15,23,42,.05)}
.qo-upsell{margin-top:26px;font-size:13.5px;color:var(--gray)}

/* Footer */
.qo-footer{border-top:1px solid rgba(15,23,42,.06);padding:24px 0;margin-top:auto}
.qo-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--gray)}
.qo-footer a:hover{color:var(--violet)}

@media(max-width:720px){
  .qo-nav-right{gap:12px}
  .qo-link{display:none}
  .qo-grid{grid-template-columns:1fr 1fr}
}

/* Opzioni modulo (Sprint 2-3) */
.qo-options{margin-top:16px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}
.qo-opt-field{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;max-width:340px}
.qo-opt-field input[type=text],.qo-opt-field select{border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:10px 12px;font-size:14.5px;font-family:inherit}
.qo-opt-field input[type=text]:focus,.qo-opt-field select:focus{border-color:var(--violet);outline:none}
.qo-opt-field input[type=range]{accent-color:var(--violet)}
.qo-opt-radio{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;cursor:pointer}
.qo-opt-radio input{accent-color:var(--violet);width:16px;height:16px}
.qo-opt-hint{font-size:13px;color:var(--gray)}
.qo-sigpad{border:1.5px dashed rgba(124,58,237,.4);border-radius:14px;background:#FDFDFF;touch-action:none;max-width:100%;cursor:crosshair}
.qo-opt-wide{max-width:100%}
.qo-opt-field textarea{border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:12px;font-size:13.5px;font-family:ui-monospace,monospace;resize:vertical;min-height:120px}
.qo-opt-field textarea:focus{border-color:var(--violet);outline:none}
.qo-auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qo-auth-row label{min-width:0}
.qo-auth-card select{border:1px solid rgba(15,23,42,.14);border-radius:11px;padding:11px 14px;font-size:15px;font-family:inherit;background:#fff;width:100%}
.qo-auth-card select:focus{border-color:var(--violet);outline:none}
@media(max-width:480px){.qo-auth-row{grid-template-columns:1fr}}
.qo-account-sub{color:var(--gray);font-size:14px;margin:-16px 0 24px}

/* Editor Modifica PDF (Sprint 6) */
.qo-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.qo-edit-tool{border:1px solid rgba(15,23,42,.14);background:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}
.qo-edit-tool.on{border-color:var(--violet);background:rgba(124,58,237,.08);color:var(--violet)}
.qo-edit-opt{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.qo-edit-opt select{border:1px solid rgba(15,23,42,.14);border-radius:8px;padding:5px 8px;font-family:inherit}
.qo-edit-opt input[type=color]{width:34px;height:30px;border:1px solid rgba(15,23,42,.14);border-radius:8px;padding:2px;background:#fff;cursor:pointer}
.qo-edit-pages{display:flex;flex-direction:column;gap:18px;margin-top:14px;align-items:center}
.qo-edit-page{position:relative;box-shadow:0 8px 24px rgba(15,23,42,.12);border-radius:4px;overflow:hidden;background:#fff}
.qo-edit-page canvas{display:block;position:absolute;top:0;left:0}
.qo-edit-ink{cursor:crosshair;z-index:2}
.qo-edit-input{position:absolute;z-index:3;border:1.5px dashed var(--violet);background:rgba(255,255,255,.9);font-family:Helvetica,Arial,sans-serif;padding:1px 4px;min-width:120px;outline:none;border-radius:4px}
.qo-edit-text{position:absolute;z-index:3;font-family:Helvetica,Arial,sans-serif;white-space:pre;cursor:pointer;line-height:1;user-select:none}

/* Pannello admin (Sprint 7) */
.qo-admin{padding:44px 0 90px}
.qo-admin h1{font-size:26px;font-weight:800;margin-bottom:16px}
.qo-admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.qo-admin-nav a{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600}
.qo-admin-nav a.on{background:var(--grad);color:#fff;border-color:transparent}
.qo-admin-kpi{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.qo-warn{color:#B91C1C}
.qo-admin-bars{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:20px}
.qo-admin-bar{display:grid;grid-template-columns:180px 1fr 50px;align-items:center;gap:12px;font-size:13.5px}
.qo-admin-bar .track{height:10px;background:#EDF1F7;border-radius:6px;overflow:hidden}
.qo-admin-bar .track i{display:block;height:100%;background:var(--grad);border-radius:6px}
.qo-admin-bar .val{text-align:right;font-weight:700}
.qo-table tr.head td{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);font-weight:700;background:#FBFCFE}
.qo-table tr.dim td{opacity:.55}
.qo-dim{color:var(--gray)}
.qo-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#EDF1F7;color:var(--gray)}
.qo-pill.active,.qo-pill.done{background:rgba(34,197,94,.14);color:#15803D}
.qo-pill.blocked,.qo-pill.error{background:rgba(239,68,68,.12);color:#B91C1C}
.qo-pill.pending,.qo-pill.processing{background:rgba(37,99,235,.12);color:#1D4ED8}
.qo-pill.engine-client{background:rgba(34,197,94,.14);color:#15803D}
.qo-pill.engine-php{background:rgba(124,58,237,.12);color:#6D28D9}
.qo-pill.engine-remote{background:rgba(100,116,139,.14);color:#475569}
.qo-mini{border:1px solid rgba(15,23,42,.14);background:#fff;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;margin-right:4px}
.qo-mini:hover{border-color:var(--violet);color:var(--violet)}
.qo-mini.ok{background:rgba(34,197,94,.12);color:#15803D;border-color:transparent}
.qo-mini.danger:hover{border-color:#B91C1C;color:#B91C1C}
.qo-admin-search{display:flex;gap:10px;margin-bottom:18px}
.qo-admin-search input{flex:1;max-width:420px;border:1px solid rgba(15,23,42,.14);border-radius:11px;padding:10px 14px;font-size:14.5px;font-family:inherit}
.qo-admin-settings .qo-opt-field input{border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:9px 12px;font-size:14.5px;font-family:inherit;width:100%}
.qo-admin-limits{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:20px;margin-bottom:20px}
.qo-err-cell{font-size:12px;color:#B91C1C;max-width:220px}
.qo-link-admin{color:var(--violet)!important;font-weight:700}

/* Pagina Piani (Sprint 8) */
.qo-pricing{padding:10px 0 80px}
.qo-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;max-width:960px;margin:0 auto}
.qo-plan-card{position:relative;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:14px}
.qo-plan-card.premium{border-color:rgba(124,58,237,.3);box-shadow:0 14px 36px rgba(124,58,237,.1)}
.qo-plan-card.current{border-color:#15803D}
.qo-plan-badge{position:absolute;top:-11px;right:18px;background:#15803D;color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:999px}
.qo-plan-card h2{font-size:19px;font-weight:800}
.qo-plan-card .desc{font-size:13.5px;color:var(--gray)}
.qo-plan-price strong{font-size:30px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.qo-plan-price span{color:var(--gray);font-size:14px}
.qo-plan-price small{display:block;color:var(--gray);font-size:12.5px;margin-top:2px}
.qo-plan-price .trial{display:block;font-style:normal;font-size:12px;font-weight:700;color:#15803D;margin-top:6px}
.qo-plan-limits{list-style:none;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(15,23,42,.06);padding-top:14px;flex:1}
.qo-plan-limits li{display:flex;justify-content:space-between;font-size:13.5px}
.qo-plan-limits li span{color:var(--gray)}
.full-w{width:100%;justify-content:center;text-align:center}
.disabled{opacity:.55;cursor:default;pointer-events:none}
.qo-mini-select{border:1px solid rgba(15,23,42,.14);border-radius:8px;padding:4px 6px;font-size:12px;font-family:inherit}

/* Badge piano in navbar (Sprint 9) */
.qo-plan-badge-nav{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;
  padding:6px 13px;border-radius:999px;border:1.5px solid var(--plan-color);color:var(--plan-color);
  background:color-mix(in srgb, var(--plan-color) 10%, white)}
.qo-plan-badge-nav:hover{background:color-mix(in srgb, var(--plan-color) 18%, white)}
.qo-plan-dot-nav{width:8px;height:8px;border-radius:50%;background:var(--plan-color)}
.qo-plan-dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px;vertical-align:middle}
.qo-color-row{display:flex;align-items:center;gap:10px}
.qo-color-row input[type=color]{width:46px;height:38px;border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:3px;background:#fff;cursor:pointer}

/* Profilo utente / scheda admin (Sprint 9) */
.qo-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.qo-profile-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:18px;padding:24px}
.qo-profile-card .qo-cat{margin-top:0}
.qo-profile-card label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;margin-bottom:14px}
.qo-profile-card input,.qo-profile-card select{border:1px solid rgba(15,23,42,.14);border-radius:11px;padding:11px 14px;font-size:15px;font-family:inherit;width:100%}
.qo-profile-card input:focus,.qo-profile-card select:focus{border-color:var(--violet);outline:none}
.qo-profile-card input:disabled{background:#F1F5F9;color:var(--gray)}

/* PayPal admin + abbonamento (Sprint 10) */
.qo-pp-status{padding:12px 18px;border-radius:12px;margin-bottom:20px;font-size:14px}
.qo-pp-status.ok{background:rgba(34,197,94,.12);color:#15803D}
.qo-pp-status.ko{background:rgba(239,68,68,.1);color:#B91C1C}
.qo-pp-sub{font-size:13px;font-weight:700;color:var(--gray);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.04em}
.qo-pp-set{font-size:11.5px;font-weight:500;color:#15803D}
.qo-profile-card code{background:#F1F5F9;padding:2px 6px;border-radius:5px;font-size:12px;word-break:break-all}
.qo-sub-box{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:#fff;border:1px solid rgba(15,23,42,.08);border-left:4px solid var(--plan-color);
  border-radius:14px;padding:16px 20px;margin:18px 0}
.qo-sub-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--plan-color);margin-right:8px}
.qo-sub-note{color:var(--gray);font-size:13px;margin-left:10px}

/* Bottone Accedi verde (Sprint 11) */
.qo-cta-green{background:linear-gradient(115deg,#16A34A 0%,#15803D 55%,#047857 100%)!important;
  box-shadow:0 8px 22px rgba(22,163,74,.28)!important}
.qo-cta-green:hover{box-shadow:0 12px 28px rgba(22,163,74,.38)!important}

/* Pannello piano dettagliato in account (Sprint 11) */
.qo-plan-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-left:4px solid var(--plan-color);
  border-radius:16px;padding:22px 24px;margin:18px 0}
.qo-plan-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.qo-plan-panel-name{font-size:19px;font-weight:800}
.qo-plan-panel-meta{display:flex;flex-wrap:wrap;gap:26px;padding:14px 0;border-top:1px solid rgba(15,23,42,.06)}
.qo-plan-panel-meta div{display:flex;flex-direction:column;gap:3px}
.qo-plan-panel-meta span{font-size:12px;color:var(--gray);text-transform:uppercase;letter-spacing:.04em}
.qo-plan-panel-meta strong{font-size:15px}
.qo-plan-panel-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.qo-danger-ghost{color:#B91C1C;border-color:rgba(185,28,28,.3)}
.qo-danger-ghost:hover{background:rgba(185,28,28,.06);border-color:#B91C1C}

/* Danger zone eliminazione account */
.qo-danger-zone{margin-top:40px;padding:22px 24px;border:1px solid rgba(185,28,28,.2);border-radius:16px;background:rgba(185,28,28,.02)}
.qo-danger-zone .qo-cat{color:#B91C1C;margin-top:0}
.qo-delete-details summary{cursor:pointer;color:#B91C1C;font-weight:600;font-size:14px;margin-top:8px}
.qo-delete-details input{border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:9px 12px;font-family:inherit;max-width:240px}
.qo-btn-danger{background:#B91C1C;color:#fff;border:none;border-radius:11px;padding:11px 20px;font-weight:700;font-family:inherit;cursor:pointer}
.qo-btn-danger:hover{background:#991B1B}

/* Barra "Torna a QOffice" nelle pagine interne (Sprint 12) */
.qo-backbar{background:#fff;border-bottom:1px solid rgba(15,23,42,.06)}
.qo-backbar .wrap{padding:10px 0}
.qo-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--violet)}
.qo-back:hover{opacity:.75}

/* Card a piena larghezza sotto la griglia (Sprint 12) */
.qo-fullwidth{margin-top:18px}
.qo-fullwidth .qo-table{width:100%}
.qo-fullwidth .qo-table td{white-space:nowrap}

/* Dashboard pagamenti admin (Sprint 12) */
.qo-money{color:#15803D}
.qo-date-filter{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:14px;padding:16px 20px;margin-bottom:16px}
.qo-date-filter label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.qo-date-filter input[type=date]{border:1px solid rgba(15,23,42,.14);border-radius:9px;padding:8px 10px;font-family:inherit}
.qo-filter-result{margin-left:auto;font-size:14px;color:var(--gray)}
.qo-filter-result strong{color:#15803D;font-size:16px}

/* Accesso con Google (Sprint 13) */
.qo-oauth{margin-top:20px}
.qo-oauth-sep{display:flex;align-items:center;text-align:center;color:var(--gray);font-size:13px;margin:18px 0}
.qo-oauth-sep::before,.qo-oauth-sep::after{content:"";flex:1;border-bottom:1px solid rgba(15,23,42,.1)}
.qo-oauth-sep span{padding:0 14px}
.qo-gbtn{display:flex;justify-content:center}

/* Ricevute nell'account (Sprint 13) */
.qo-receipts{margin-top:28px}
.qo-mini{display:inline-block;padding:5px 12px;border-radius:8px;background:var(--violet);color:#fff;font-size:13px;font-weight:600}
.qo-mini:hover{opacity:.88}

/* Pulsante secondario "ricrea piani" nella pagina PayPal */
.qo-mini-alt{background:#B45309;margin-top:2px}
.qo-mini-alt:hover{background:#92400E}

/* Avviso vantaggi persi passando a Free (P2) */
.qo-lose-warning{background:#FEF2F2;border:1px solid #FECACA;border-radius:10px;padding:12px 14px;margin:10px 0;font-size:13.5px;color:#7F1D1D}
.qo-lose-warning strong{display:block;margin-bottom:6px}
.qo-lose-warning ul{margin:0;padding-left:18px}
.qo-lose-warning li{margin:2px 0}

/* Pulsante elimina piano (P4) */
.qo-mini-danger{background:#DC2626}
.qo-mini-danger:hover{background:#B91C1C}

/* Blocco informativo pagina prezzi (P1+P2) */
.qo-pricing-info{max-width:640px;margin:34px auto 0;text-align:center}
.qo-pricing-lead{font-size:15.5px;color:var(--text);font-weight:600;margin-bottom:16px}
.qo-pricing-benefits{list-style:none;padding:0;margin:0 0 18px;text-align:left;display:inline-block}
.qo-pricing-benefits li{position:relative;padding:6px 0 6px 30px;font-size:14px;color:var(--gray);line-height:1.5}
.qo-pricing-benefits li::before{content:"✓";position:absolute;left:0;top:6px;width:20px;height:20px;background:var(--green,#22C55E);color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.qo-pricing-claim{font-size:16px;font-weight:700;background:linear-gradient(115deg,#E63946,#7C3AED,#2563EB);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:20px}
.qo-pricing-paypal{display:flex;align-items:center;justify-content:center;gap:10px;padding-top:6px;border-top:1px solid rgba(15,23,42,.08)}
.qo-pricing-paypal span{font-size:12.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.03em}

/* ============================================================
   REDESIGN HOMEPAGE (prefisso qh-) — palette blu QOffice
   ============================================================ */
:root{
  --qh-primary:#2563EB; --qh-primary-d:#1D4ED8; --qh-light:#EFF6FF;
  --qh-bg:#F8FAFC; --qh-white:#FFF; --qh-text:#111827; --qh-text2:#64748B;
  --qh-border:#E2E8F0; --qh-success:#16A34A;
  --qh-shadow:0 1px 3px rgba(17,24,39,.04),0 8px 24px rgba(17,24,39,.05);
  --qh-shadow-h:0 12px 32px rgba(37,99,235,.14);
}
.qh-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.qh-section{padding:76px 0}
.qh-head{text-align:center;max-width:680px;margin:0 auto 46px}
.qh-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(26px,3.4vw,38px);font-weight:800;letter-spacing:-.02em;color:var(--qh-text);margin:0 0 14px}
.qh-head p{font-size:17px;color:var(--qh-text2);line-height:1.6;margin:0}

/* Bottoni */
.qh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:600;font-size:15px;padding:13px 26px;border-radius:12px;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;text-decoration:none;border:1.5px solid transparent}
.qh-btn-primary{background:var(--qh-primary);color:#fff;box-shadow:0 6px 18px rgba(37,99,235,.22)}
.qh-btn-primary:hover{background:var(--qh-primary-d);transform:translateY(-2px);box-shadow:0 10px 26px rgba(37,99,235,.3)}
.qh-btn-ghost{background:#fff;color:var(--qh-text);border-color:var(--qh-border)}
.qh-btn-ghost:hover{border-color:var(--qh-primary);color:var(--qh-primary);transform:translateY(-2px)}
.qh-btn-white{background:#fff;color:var(--qh-primary);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.qh-btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.qh-btn.full{width:100%}

/* HERO */
.qh-hero{background:linear-gradient(180deg,var(--qh-light) 0%,var(--qh-bg) 100%);padding:64px 0 72px;overflow:hidden}
.qh-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.qh-badge{display:inline-block;background:#fff;border:1px solid var(--qh-border);color:var(--qh-primary);font-weight:700;font-size:12px;letter-spacing:.05em;padding:7px 14px;border-radius:999px;margin-bottom:20px}
.qh-hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,4.6vw,52px);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--qh-text);margin:0 0 20px}
.qh-accent{color:var(--qh-primary)}
.qh-hero-sub{font-size:18px;color:var(--qh-text2);line-height:1.6;margin:0 0 28px;max-width:520px}
.qh-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.qh-hero-perks{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:18px}
.qh-hero-perks li{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--qh-text2);font-weight:500}
.qh-check{width:18px;height:18px;fill:none;stroke:var(--qh-success);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.qh-privacy-mini{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--qh-border);border-left:3px solid var(--qh-success);border-radius:12px;padding:14px 16px;max-width:500px}
.qh-privacy-mini .qh-lock{font-size:18px;line-height:1.4}
.qh-privacy-mini strong{display:block;font-size:14px;color:var(--qh-text);margin-bottom:3px}
.qh-privacy-mini p{margin:0;font-size:13px;color:var(--qh-text2);line-height:1.5}

/* HERO mockup */
.qh-hero-art{position:relative;display:flex;justify-content:center}
.qh-mock{background:#fff;border:1px solid var(--qh-border);border-radius:18px;box-shadow:0 20px 50px rgba(37,99,235,.14);width:100%;max-width:400px;overflow:hidden;animation:qh-floaty 6s ease-in-out infinite}
.qh-mock-head{display:flex;align-items:center;gap:6px;padding:13px 16px;border-bottom:1px solid var(--qh-border);background:#fafbff}
.qh-dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0}
.qh-dot:nth-child(1){background:#ff5f57}.qh-dot:nth-child(2){background:#febc2e}.qh-dot:nth-child(3){background:#28c840}
.qh-mock-title{margin-left:8px;font-size:13px;font-weight:700;color:var(--qh-text2)}
.qh-mock-body{padding:22px}
.qh-mock-drop{border:2px dashed #cbd5e1;border-radius:12px;padding:28px 16px;text-align:center;color:var(--qh-text2);display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--qh-light)}
.qh-mock-up{width:34px;height:34px;fill:none;stroke:var(--qh-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qh-mock-drop span{font-size:13.5px;font-weight:500}
.qh-mock-files{display:flex;gap:8px;justify-content:center;margin:16px 0}
.qh-chip{font-size:11px;font-weight:700;padding:6px 11px;border-radius:8px;color:#fff}
.qh-chip-pdf{background:#EF4444}.qh-chip-word{background:#2563EB}.qh-chip-xls{background:#16A34A}.qh-chip-jpg{background:#F59E0B}
.qh-mock-btn{background:var(--qh-primary);color:#fff;text-align:center;font-weight:600;font-size:14px;padding:12px;border-radius:10px}
.qh-float{position:absolute;background:#fff;border:1px solid var(--qh-border);border-radius:10px;padding:8px 13px;font-size:12.5px;font-weight:600;color:var(--qh-text);box-shadow:var(--qh-shadow)}
.qh-float-1{top:24px;right:-6px;color:var(--qh-success);animation:qh-floaty 5s ease-in-out infinite}
.qh-float-2{bottom:34px;left:-10px;color:var(--qh-primary);animation:qh-floaty 5.5s ease-in-out infinite .5s}
@keyframes qh-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* STRUMENTI */
.qh-cat{margin-bottom:34px}
.qh-cat-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--qh-primary);margin:0 0 16px}
.qh-tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.qh-tool{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--qh-border);border-radius:14px;padding:16px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative}
.qh-tool:hover{transform:translateY(-3px);box-shadow:var(--qh-shadow-h);border-color:var(--qh-primary)}
.qh-tool-soon{opacity:.6}
.qh-tool-ic{width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--qh-light);color:var(--qh-primary);display:flex;align-items:center;justify-content:center}
.qh-tool-ic svg{width:22px;height:22px}
.qh-tool-body{flex:1;min-width:0}
.qh-tool-name{display:block;font-weight:700;font-size:14.5px;color:var(--qh-text);margin-bottom:3px}
.qh-tool-desc{display:block;font-size:12.5px;color:var(--qh-text2);line-height:1.4}
.qh-tag{font-style:normal;font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.03em}
.qh-tag-local{background:rgba(22,163,74,.12);color:var(--qh-success)}
.qh-tag-soon{background:rgba(100,116,139,.14);color:var(--qh-text2)}
.qh-chev{width:18px;height:18px;fill:none;stroke:#cbd5e1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:stroke .18s,transform .18s}
.qh-tool:hover .qh-chev{stroke:var(--qh-primary);transform:translateX(3px)}
.qh-tools-all{text-align:center;margin-top:14px}

/* PRIVACY */
.qh-privacy{background:var(--qh-light)}
.qh-priv-lead{font-size:19px!important;font-weight:700;color:var(--qh-text)!important}
.qh-priv-text{font-size:15.5px;color:var(--qh-text2);line-height:1.6;margin:10px 0 0}
.qh-priv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:12px}
.qh-priv-card{background:#fff;border:1px solid var(--qh-border);border-radius:16px;padding:28px 24px;text-align:center}
.qh-priv-ic{font-size:32px;display:block;margin-bottom:14px}
.qh-priv-card strong{display:block;font-size:17px;font-weight:700;color:var(--qh-text);margin-bottom:8px}
.qh-priv-card p{margin:0;font-size:14px;color:var(--qh-text2);line-height:1.55}

/* TARGET */
.qh-target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.qh-target-card{background:#fff;border:1px solid var(--qh-border);border-radius:16px;padding:30px 26px;transition:transform .18s,box-shadow .18s}
.qh-target-card:hover{transform:translateY(-3px);box-shadow:var(--qh-shadow-h)}
.qh-target-ic{font-size:30px;display:block;margin-bottom:14px}
.qh-target-card strong{display:block;font-size:19px;font-weight:800;color:var(--qh-text);margin-bottom:6px;font-family:'Plus Jakarta Sans',sans-serif}
.qh-target-claim{display:block;font-size:14.5px;font-weight:600;color:var(--qh-primary);margin-bottom:10px}
.qh-target-card p{margin:0;font-size:14.5px;color:var(--qh-text2);line-height:1.55}

/* VANTAGGI */
.qh-benefits-sec{background:var(--qh-bg)}
.qh-ben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.qh-ben{background:#fff;border:1px solid var(--qh-border);border-radius:16px;padding:26px 22px;text-align:center}
.qh-ben span{font-size:28px;display:block;margin-bottom:12px}
.qh-ben strong{display:block;font-size:16px;font-weight:700;color:var(--qh-text);margin-bottom:6px}
.qh-ben p{margin:0;font-size:13.5px;color:var(--qh-text2);line-height:1.5}

/* PRICING */
.qh-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;margin:0 auto}
.qh-price-card{background:#fff;border:1px solid var(--qh-border);border-radius:18px;padding:32px 30px;display:flex;flex-direction:column;position:relative}
.qh-price-pro{border:2px solid var(--qh-primary);box-shadow:0 16px 40px rgba(37,99,235,.14)}
.qh-price-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--qh-primary);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;padding:6px 16px;border-radius:999px}
.qh-price-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--qh-text2)}
.qh-price-amount{font-family:'Plus Jakarta Sans',sans-serif;font-size:40px;font-weight:800;color:var(--qh-text);margin:10px 0 4px;letter-spacing:-.02em}
.qh-price-amount em{font-style:normal;font-size:16px;font-weight:600;color:var(--qh-text2)}
.qh-price-desc{font-size:14.5px;color:var(--qh-text2);margin-bottom:22px}
.qh-price-list{list-style:none;padding:0;margin:0 0 26px;flex:1}
.qh-price-list li{position:relative;padding:9px 0 9px 28px;font-size:14.5px;color:var(--qh-text);border-bottom:1px solid #f1f5f9}
.qh-price-list li::before{content:"✓";position:absolute;left:0;top:9px;width:19px;height:19px;background:rgba(22,163,74,.12);color:var(--qh-success);border-radius:50%;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.qh-price-note{text-align:center;font-size:13px;color:var(--qh-text2);margin-top:12px}

/* FAQ */
.qh-faq-wrap{max-width:760px}
.qh-faq{display:flex;flex-direction:column;gap:12px}
.qh-faq-item{background:#fff;border:1px solid var(--qh-border);border-radius:12px;overflow:hidden}
.qh-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;font-weight:600;font-size:15.5px;color:var(--qh-text);cursor:pointer;list-style:none}
.qh-faq-item summary::-webkit-details-marker{display:none}
.qh-faq-ic{width:20px;height:20px;fill:none;stroke:var(--qh-text2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .2s}
.qh-faq-item[open] .qh-faq-ic{transform:rotate(180deg)}
.qh-faq-a{padding:0 22px 20px;font-size:14.5px;color:var(--qh-text2);line-height:1.6}

/* CTA FINALE */
.qh-cta-final{background:linear-gradient(120deg,var(--qh-primary) 0%,var(--qh-primary-d) 100%);padding:72px 0;text-align:center;color:#fff}
.qh-cta-final h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(28px,3.6vw,40px);font-weight:800;margin:0 0 14px;letter-spacing:-.02em}
.qh-cta-final p{font-size:18px;opacity:.92;margin:0 0 28px;line-height:1.5}
.qh-cta-micro{display:block;margin-top:16px;font-size:13px;opacity:.85}

/* Footer scuro esteso */
.qh-footer{background:#0F172A;color:#cbd5e1;padding:56px 0 28px}
.qh-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.qh-footer-brand .qh-fb-logo{display:flex;align-items:center;gap:9px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:20px;color:#fff;margin-bottom:12px}
.qh-footer-brand p{font-size:14px;color:#94a3b8;line-height:1.6;max-width:260px;margin:0}
.qh-footer-col h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin:0 0 14px}
.qh-footer-col ul{list-style:none;padding:0;margin:0}
.qh-footer-col li{margin-bottom:9px}
.qh-footer-col a{color:#94a3b8;font-size:14px;text-decoration:none;transition:color .15s}
.qh-footer-col a:hover{color:#fff}
.qh-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;text-align:center;font-size:13px;color:#64748b}

/* Reveal animazione leggera */
.qh-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.qh-reveal.qh-in{opacity:1;transform:none}

/* Header: menu centrale + hamburger */
.qh-nav-center{display:flex;gap:26px;align-items:center}
.qh-nav-center a{color:var(--qh-text2);font-size:14.5px;font-weight:500;text-decoration:none;transition:color .15s}
.qh-nav-center a:hover{color:var(--qh-primary)}
.qh-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.qh-burger span{display:block;width:22px;height:2px;background:var(--qh-text);border-radius:2px;transition:transform .2s,opacity .2s}
.qh-mobile-menu{display:none}

/* ===== RESPONSIVE ===== */
@media (max-width:1199px){
  .qh-tools-grid{grid-template-columns:repeat(2,1fr)}
  .qh-ben-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .qh-hero-grid{grid-template-columns:1fr;gap:40px}
  .qh-hero-art{order:2}
  .qh-nav-center{display:none}
  .qh-priv-grid,.qh-target-grid{grid-template-columns:1fr}
  .qh-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:768px){
  .qh-section{padding:52px 0}
  .qh-hero{padding:40px 0 52px}
  .qh-tools-grid{grid-template-columns:1fr}
  .qh-ben-grid{grid-template-columns:1fr 1fr}
  .qh-price-grid{grid-template-columns:1fr;max-width:420px}
  .qh-price-pro{order:2}
  .qh-hero-cta .qh-btn{width:100%}
  .qh-hero-art{display:none}
  .qh-burger{display:flex}
  .qh-footer-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  .qh-ben-grid{grid-template-columns:1fr}
  .qh-wrap{padding:0 18px}
}

/* Accessibilità: rispetta reduce-motion */
@media (prefers-reduced-motion:reduce){
  .qh-reveal{opacity:1;transform:none;transition:none}
  .qh-mock,.qh-float{animation:none}
  .qh-btn:hover,.qh-tool:hover,.qh-target-card:hover{transform:none}
}

/* Menu mobile + hamburger animato + header scrolled */
.qh-mobile-menu.qh-open{display:flex;flex-direction:column;gap:2px;padding:12px 24px 20px;background:#fff;border-bottom:1px solid var(--qh-border)}
.qh-mobile-menu a{padding:12px 4px;color:var(--qh-text);font-weight:600;font-size:15.5px;text-decoration:none;border-bottom:1px solid #f1f5f9}
.qh-mobile-menu a:last-child{border-bottom:none}
.qh-mm-cta{color:var(--qh-primary)!important}
.qh-burger-x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.qh-burger-x span:nth-child(2){opacity:0}
.qh-burger-x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.qo-header.qh-scrolled{box-shadow:0 2px 12px rgba(17,24,39,.06)}

/* Logout nel menu mobile (P1) */
.qh-mm-logout{margin:0;padding:0}
.qh-mm-logout button{width:100%;text-align:left;background:none;border:none;padding:12px 4px;color:#EF4444;font-weight:600;font-size:15.5px;font-family:inherit;cursor:pointer;border-top:1px solid #f1f5f9}

/* Logo PayPal reale (P6) */
.qo-paypal-logo{height:24px;width:auto;display:block}

/* ============================================================
   Generatori (QR, Barcode, CF) — UI custom
   ============================================================ */
.qo-custom{margin-top:8px}
.qo-gen{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.qo-gen-form{display:flex;flex-direction:column;gap:14px}
.qo-field{display:flex;flex-direction:column;gap:6px}
.qo-field>span{font-size:13px;font-weight:600;color:var(--qh-text2,#64748B)}
.qo-field input[type=text],.qo-field input[type=url],.qo-field input[type=email],
.qo-field input[type=tel],.qo-field input[type=date],.qo-field input[type=number],
.qo-field select,.qo-field textarea{
  width:100%;padding:10px 12px;border:1px solid var(--qh-border,#E2E8F0);border-radius:10px;
  font-family:inherit;font-size:14.5px;color:var(--qh-text,#111827);background:#fff}
.qo-field input:focus,.qo-field select:focus,.qo-field textarea:focus{outline:none;border-color:var(--qh-primary,#2563EB)}
.qo-field textarea{resize:vertical;min-height:52px}
.qo-field input[type=color]{width:52px;height:38px;padding:2px;border:1px solid var(--qh-border,#E2E8F0);border-radius:8px;cursor:pointer}
.qo-field-check{flex-direction:row;align-items:center;gap:8px}
.qo-field-check input{width:auto}
.qo-field-wide{grid-column:1/-1}
.qo-gen-hint{font-size:12.5px;color:var(--qh-text2,#64748B);margin:-6px 0 0}
.qo-gen-adv{border:1px solid var(--qh-border,#E2E8F0);border-radius:10px;padding:0 14px}
.qo-gen-adv summary{padding:12px 0;font-weight:600;font-size:14px;cursor:pointer;color:var(--qh-primary,#2563EB)}
.qo-gen-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 0 14px}
.qo-gen-preview{position:sticky;top:88px;background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:16px;padding:24px;text-align:center;box-shadow:var(--qh-shadow,0 8px 24px rgba(17,24,39,.05))}
.qo-qr-preview{min-height:220px;display:flex;align-items:center;justify-content:center}
.qo-qr-empty{color:var(--qh-text2,#94a3b8);font-size:14px;max-width:220px}
.qo-gen-dl{display:flex;gap:10px;justify-content:center;margin-top:18px}
.qo-gen-dl button{padding:10px 22px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}

/* Codice Fiscale — tabs */
.qo-cf-tabs{display:flex;gap:6px;border-bottom:1px solid var(--qh-border,#E2E8F0);margin-bottom:20px;flex-wrap:wrap}
.qo-cf-tab{background:none;border:none;padding:11px 18px;font-family:inherit;font-size:14.5px;font-weight:600;color:var(--qh-text2,#64748B);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.qo-cf-tab.on{color:var(--qh-primary,#2563EB);border-bottom-color:var(--qh-primary,#2563EB)}
.qo-cf-panel{display:flex;flex-direction:column;gap:16px;max-width:640px}
.qo-cf-panel .qo-gen-adv-grid{grid-template-columns:1fr 1fr;padding:0}
.qo-cf-panel .qo-btn-primary{align-self:flex-start}
.qo-cf-result{padding:16px 18px;border-radius:12px;font-size:14.5px}
.qo-cf-result.ok{background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.25)}
.qo-cf-result.err{background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.25);color:#b91c1c}
.qo-cf-code{font-family:ui-monospace,monospace;font-size:22px;font-weight:700;letter-spacing:.08em;color:var(--qh-text,#111827)}
.qo-cf-result .qo-mini{margin-left:14px;padding:6px 14px;border:1px solid var(--qh-border);border-radius:8px;background:#fff;cursor:pointer;font-family:inherit;font-size:13px}
.qo-cf-ok{font-weight:700;color:#15803d;margin-bottom:10px}
.qo-cf-data{list-style:none;padding:0;margin:0}
.qo-cf-data li{padding:5px 0;font-size:14.5px}
.qo-cf-note{font-size:12.5px;color:var(--qh-text2,#64748B);margin:12px 0 0;line-height:1.5}

@media (max-width:768px){
  .qo-gen{grid-template-columns:1fr}
  .qo-gen-preview{position:static}
  .qo-gen-adv-grid,.qo-cf-panel .qo-gen-adv-grid{grid-template-columns:1fr}
}

/* Contatore parole */
.qo-wc{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.qo-wc-input{display:flex;flex-direction:column;gap:12px}
.qo-wc-input textarea{width:100%;padding:14px;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;font-family:inherit;font-size:14.5px;line-height:1.6;resize:vertical;min-height:220px}
.qo-wc-input textarea:focus{outline:none;border-color:var(--qh-primary,#2563EB)}
.qo-wc-or{display:flex;align-items:center;text-align:center;color:var(--qh-text2,#94a3b8);font-size:13px}
.qo-wc-or::before,.qo-wc-or::after{content:"";flex:1;height:1px;background:var(--qh-border,#E2E8F0)}
.qo-wc-or span{padding:0 12px}
.qo-wc-file{align-self:flex-start}
.qo-wc-fname{font-size:13px;color:var(--qh-text2,#64748B)}
.qo-wc-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:88px}
.qo-wc-card{background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:14px;padding:18px;text-align:center}
.qo-wc-card-time{grid-column:1/-1;background:var(--qh-light,#EFF6FF);border-color:rgba(37,99,235,.2)}
.qo-wc-num{display:block;font-size:26px;font-weight:800;color:var(--qh-text,#111827);font-family:'Plus Jakarta Sans',sans-serif}
.qo-wc-card-time .qo-wc-num{color:var(--qh-primary,#2563EB)}
.qo-wc-lbl{display:block;font-size:12.5px;color:var(--qh-text2,#64748B);margin-top:4px}

/* Autocertificazioni — riquadro info */
.qo-ac-info{text-align:center;padding:10px}
.qo-ac-info svg{margin-bottom:14px}
.qo-ac-info p{font-size:13.5px;color:var(--qh-text2,#64748B);line-height:1.6;margin:0}

@media (max-width:768px){
  .qo-wc{grid-template-columns:1fr}
  .qo-wc-stats{position:static}
}

/* ============================================================
   Fattura Elettronica & Batch PDF
   ============================================================ */
.qo-fe-drop,.qo-batch .qo-fe-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 20px;border:2px dashed var(--qh-border,#E2E8F0);border-radius:14px;cursor:pointer;text-align:center;transition:border-color .18s,background .18s;background:#fff}
.qo-fe-drop:hover,.qo-fe-drop.over{border-color:var(--qh-primary,#2563EB);background:var(--qh-light,#EFF6FF)}
.qo-fe-drop span{font-size:14.5px;color:var(--qh-text2,#64748B)}
.qo-fe-actions{display:flex;gap:10px;margin:18px 0}
.qo-fe-preview{background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:14px;padding:26px;overflow-x:auto}
.qo-fe-doc{font-size:13px;color:var(--qh-text,#111827);min-width:520px}
.qo-fe-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--qh-primary,#2563EB);padding-bottom:14px;margin-bottom:18px}
.qo-fe-title h3{margin:0;font-size:20px;color:var(--qh-primary,#2563EB);font-family:'Plus Jakarta Sans',sans-serif}
.qo-fe-title span{font-size:12px;color:var(--qh-text2,#64748B)}
.qo-fe-meta{text-align:right;font-size:13px;line-height:1.7}
.qo-fe-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.qo-fe-party h4{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--qh-text2,#64748B)}
.qo-fe-party strong{display:block;font-size:14px;margin-bottom:3px}
.qo-fe-party span{display:block;font-size:12px;color:var(--qh-text2,#64748B)}
.qo-fe-table,.qo-fe-vat{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:12.5px}
.qo-fe-table th,.qo-fe-vat th{background:var(--qh-light,#EFF6FF);text-align:left;padding:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--qh-text2,#64748B)}
.qo-fe-table td,.qo-fe-vat td{padding:8px 10px;border-bottom:1px solid #f1f5f9}
.qo-fe-table .r,.qo-fe-vat .r{text-align:right}
.qo-fe-vat{max-width:360px}
.qo-fe-total{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:14px 16px;background:var(--qh-light,#EFF6FF);border-radius:10px}
.qo-fe-total span{font-size:13px;font-weight:600;color:var(--qh-text2,#64748B)}
.qo-fe-total strong{font-size:20px;color:var(--qh-primary,#2563EB);font-family:'Plus Jakarta Sans',sans-serif}

/* Batch */
.qo-batch-steps{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:8px}
.qo-batch-steps li{font-size:14px;color:var(--qh-text2,#64748B)}
.qo-batch-steps b{color:var(--qh-primary,#2563EB)}
.qo-batch-info{margin:16px 0;font-size:13.5px;color:var(--qh-text,#111827)}
.qo-batch-info code{background:var(--qh-light,#EFF6FF);color:var(--qh-primary,#2563EB);padding:2px 7px;border-radius:6px;font-size:12.5px}
.qo-batch-cols{margin:8px 0 4px;font-size:13px;color:var(--qh-text2,#64748B)}
.qo-chip-ins{background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:8px;padding:4px 10px;margin:2px;font-family:ui-monospace,monospace;font-size:12px;color:var(--qh-primary,#2563EB);cursor:pointer}
.qo-chip-ins:hover{border-color:var(--qh-primary,#2563EB);background:var(--qh-light,#EFF6FF)}
#baEditor{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.qo-batch-prog{margin-top:14px;display:flex;align-items:center;gap:12px}
.qo-batch-prog::before{content:"";position:absolute;height:8px;background:var(--qh-border,#E2E8F0);border-radius:999px;flex:1;max-width:300px;width:300px;z-index:0}
.qo-batch-bar{height:8px;background:var(--qh-primary,#2563EB);border-radius:999px;width:0;transition:width .2s;max-width:300px;position:relative;z-index:1}
.qo-batch-prog{position:relative}
.qo-batch-prog span{font-size:13px;color:var(--qh-text2,#64748B);position:relative;z-index:1}

@media (max-width:768px){
  .qo-fe-parties{grid-template-columns:1fr}
}

/* ============================================================
   Confronta PDF & Rimuovi sfondo
   ============================================================ */
.qo-cmp-slots{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.qo-cmp-slot{padding:22px 16px}
.qo-cmp-fname{color:var(--qh-text2,#64748B);font-size:12px}
.qo-cmp-bar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:10px;margin-bottom:14px}
.qo-cmp-legend{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--qh-text2,#64748B)}
.qo-cmp-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}
.qo-cmp-legend .qo-add{background:#dcfce7;border:1px solid #86efac}
.qo-cmp-legend .qo-del{background:#fee2e2;border:1px solid #fca5a5}
.qo-cmp-stats{font-size:13px;color:var(--qh-text2,#64748B)}
.qo-add-txt{color:#166534}.qo-del-txt{color:#991b1b}
.qo-cmp-bar .qo-btn-ghost{margin-left:auto;padding:8px 16px;font-size:13px}
.qo-cmp-result{background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;padding:24px;line-height:1.9;font-size:14.5px;color:var(--qh-text,#111827);max-height:560px;overflow-y:auto}
.qo-cmp-result ins{background:#dcfce7;color:#166534;text-decoration:none;padding:1px 3px;border-radius:3px}
.qo-cmp-result del{background:#fee2e2;color:#991b1b;padding:1px 3px;border-radius:3px}

/* Rimuovi sfondo — anteprima a scacchiera (mostra la trasparenza) */
.qo-rs-checker{background-image:linear-gradient(45deg,#e2e8f0 25%,transparent 25%),linear-gradient(-45deg,#e2e8f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e8f0 75%),linear-gradient(-45deg,transparent 75%,#e2e8f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.qo-gen-form input[type=range]{width:100%;accent-color:var(--qh-primary,#2563EB)}

@media (max-width:768px){
  .qo-cmp-slots{grid-template-columns:1fr}
}

/* ============================================================
   Redazione GDPR
   ============================================================ */
.qo-rd-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;margin-bottom:10px}
.qo-rd-checks{display:flex;flex-wrap:wrap;gap:14px}
.qo-rd-check{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--qh-text,#111827);cursor:pointer}
.qo-rd-btns{display:flex;gap:10px;flex-wrap:wrap}
.qo-rd-btns button{padding:9px 16px;font-size:13.5px}
.qo-rd-hint{font-size:13px;color:var(--qh-text2,#64748B);margin:0 0 16px;padding:10px 14px;background:rgba(37,99,235,.05);border-left:3px solid var(--qh-primary,#2563EB);border-radius:8px}
.qo-rd-pages{display:flex;flex-direction:column;gap:20px;align-items:center;max-height:70vh;overflow-y:auto;padding:8px;background:#f1f5f9;border-radius:12px}
.qo-rd-page{position:relative;box-shadow:0 4px 16px rgba(15,23,42,.12);max-width:100%}
.qo-rd-page canvas{display:block;max-width:100%;height:auto;border-radius:2px}
.qo-rd-overlay{position:absolute;inset:0;cursor:crosshair}
.qo-rd-box{position:absolute;background:rgba(220,38,38,.55);border:1.5px solid #dc2626;box-sizing:border-box}
.qo-rd-del{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;background:#dc2626;color:#fff;border:none;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.qo-rd-del:hover{background:#991b1b}

@media (max-width:768px){
  .qo-rd-toolbar{flex-direction:column;align-items:stretch}
  .qo-rd-btns button{flex:1}
}

/* ============================================================
   Compressore intelligente & Estrai immagini
   ============================================================ */
.qo-cx-info{font-size:14.5px;color:var(--qh-text,#111827);margin:16px 0}
.qo-cx-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.qo-cx-preset{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1.5px solid var(--qh-border,#E2E8F0);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}
.qo-cx-preset:has(input:checked){border-color:var(--qh-primary,#2563EB);background:var(--qh-light,#EFF6FF)}
.qo-cx-preset input{margin-top:3px;accent-color:var(--qh-primary,#2563EB)}
.qo-cx-preset-body b{display:block;font-size:14px;color:var(--qh-text,#111827)}
.qo-cx-preset-body small{font-size:12px;color:var(--qh-text2,#64748B)}
.qo-cx-result{margin-top:18px;padding:18px;border-radius:12px}
.qo-cx-result.ok{background:rgba(22,163,74,.06);border:1px solid rgba(22,163,74,.2)}
.qo-cx-result.warn{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.3)}
.qo-cx-bars{display:flex;align-items:center;gap:18px;margin-bottom:16px;flex-wrap:wrap}
.qo-cx-bars>div{text-align:center}
.qo-cx-bars span{display:block;font-size:12px;color:var(--qh-text2,#64748B)}
.qo-cx-bars b{font-size:18px;color:var(--qh-text,#111827);font-family:'Plus Jakarta Sans',sans-serif}
.qo-cx-new{color:#16a34a!important}
.qo-cx-arrow{font-size:22px;color:var(--qh-text2,#94a3b8)}
.qo-cx-saved{background:#16a34a;color:#fff;font-weight:800;padding:6px 14px;border-radius:999px;font-size:15px}

.qo-ei-bar{display:flex;align-items:center;justify-content:space-between;margin:16px 0;flex-wrap:wrap;gap:12px}
.qo-ei-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.qo-ei-card{background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;padding:10px;text-align:center}
.qo-ei-card img{width:100%;height:100px;object-fit:contain;background:#f1f5f9;border-radius:8px;margin-bottom:8px}
.qo-ei-card span{display:block;font-size:11.5px;color:var(--qh-text2,#64748B);margin-bottom:8px}
.qo-ei-card .qo-mini{width:100%;padding:6px;border:1px solid var(--qh-border,#E2E8F0);border-radius:8px;background:#fff;cursor:pointer;font-size:12.5px;font-family:inherit}
.qo-ei-card .qo-mini:hover{border-color:var(--qh-primary,#2563EB);color:var(--qh-primary,#2563EB)}

@media (max-width:768px){
  .qo-cx-presets{grid-template-columns:1fr}
}

/* ============================================================
   OCR
   ============================================================ */
.qo-ocr-opts{display:flex;align-items:flex-end;gap:18px;margin:16px 0;flex-wrap:wrap}
.qo-ocr-opts .qo-field{min-width:220px}
.qo-ocr-file{font-size:13px;color:var(--qh-text2,#64748B);padding-bottom:10px}
.qo-ocr-prog{margin-top:16px;display:flex;align-items:center;gap:12px}
.qo-ocr-bar-wrap{flex:1;max-width:340px;height:8px;background:var(--qh-border,#E2E8F0);border-radius:999px;overflow:hidden}
.qo-ocr-bar{height:100%;width:0;background:var(--qh-primary,#2563EB);border-radius:999px;transition:width .25s}
.qo-ocr-prog span{font-size:13px;color:var(--qh-text2,#64748B)}
.qo-ocr-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.qo-ocr-text{width:100%;padding:14px;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;font-family:ui-monospace,monospace;font-size:13.5px;line-height:1.6;resize:vertical;background:#f8fafc}
.qo-ocr-note{margin-top:18px;font-size:12.5px;color:var(--qh-text2,#64748B);padding:12px 14px;background:rgba(37,99,235,.05);border-left:3px solid var(--qh-primary,#2563EB);border-radius:8px;line-height:1.6}

/* ============================================================
   Anteprima PDF (previewer)
   ============================================================ */
.qo-pv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;margin-bottom:12px}
.qo-pv-nav,.qo-pv-zoom{display:flex;align-items:center;gap:8px}
.qo-pv-btn{width:36px;height:36px;border:1px solid var(--qh-border,#E2E8F0);background:#fff;border-radius:9px;font-size:20px;line-height:1;cursor:pointer;color:var(--qh-text,#111827);display:flex;align-items:center;justify-content:center}
.qo-pv-btn:hover{border-color:var(--qh-primary,#2563EB);color:var(--qh-primary,#2563EB)}
.qo-pv-pageinfo{font-size:14px;color:var(--qh-text2,#64748B);display:flex;align-items:center;gap:6px}
.qo-pv-pageinfo input{width:52px;padding:6px 8px;border:1px solid var(--qh-border,#E2E8F0);border-radius:8px;text-align:center;font-family:inherit;font-size:14px}
.qo-pv-zoom span{font-size:13.5px;color:var(--qh-text2,#64748B);min-width:44px;text-align:center}
.qo-pv-stage{background:#e2e8f0;border-radius:12px;padding:20px;overflow:auto;max-height:72vh;display:flex;justify-content:center}
.qo-pv-stage canvas{box-shadow:0 6px 20px rgba(15,23,42,.15);max-width:100%;height:auto;background:#fff;border-radius:2px}

/* ============================================================
   Drag & Drop universale (home hero)
   ============================================================ */
.qo-uni{width:100%}
.qo-uni-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 28px;background:#fff;border:2px dashed var(--qh-primary,#2563EB);border-radius:20px;cursor:pointer;text-align:center;box-shadow:var(--qh-shadow,0 18px 50px rgba(37,99,235,.10));transition:transform .18s,box-shadow .18s,background .18s}
.qo-uni-drop:hover,.qo-uni-drop.over{background:var(--qh-light,#EFF6FF);transform:translateY(-2px);box-shadow:0 22px 60px rgba(37,99,235,.18)}
.qo-uni-drop .qh-mock-up{width:44px;height:44px;stroke:var(--qh-primary,#2563EB);fill:none;stroke-width:1.6}
.qo-uni-title{font-size:18px;font-weight:800;color:var(--qh-text,#111827);margin:6px 0 0;font-family:'Plus Jakarta Sans',sans-serif}
.qo-uni-sub{font-size:13.5px;color:var(--qh-text2,#64748B);margin:0}
.qo-uni-result{margin-top:16px;background:#fff;border:1px solid var(--qh-border,#E2E8F0);border-radius:16px;padding:18px}
.qo-uni-head{font-size:14px;color:var(--qh-text,#111827);margin-bottom:14px}
.qo-uni-head small{color:var(--qh-text2,#64748B)}
.qo-uni-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.qo-uni-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border:1px solid var(--qh-border,#E2E8F0);border-radius:12px;text-decoration:none;color:var(--qh-text,#111827);transition:border-color .15s,background .15s,transform .15s}
.qo-uni-card:hover{border-color:var(--qh-primary,#2563EB);background:var(--qh-light,#EFF6FF);transform:translateY(-2px)}
.qo-uni-ic{width:34px;height:34px;color:var(--qh-primary,#2563EB)}
.qo-uni-ic svg{width:100%;height:100%}
.qo-uni-name{font-size:12.5px;font-weight:600;text-align:center;line-height:1.3}
.qo-uni-none{font-size:14px;color:var(--qh-text2,#64748B);margin:0;text-align:center}
.qo-uni-tip{font-size:12px;color:var(--qh-text2,#64748B);margin:14px 0 0;text-align:center}

/* Hero dinamico */
.qh-check-pro path{stroke:#7c3aed}
.qh-pro-badge{display:inline-block;background:linear-gradient(135deg,#7c3aed,#2563EB);color:#fff;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;vertical-align:middle;margin-right:2px}

/* ============================================================
   Timbro & Logo su PDF
   ============================================================ */
.qo-tb-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.qo-tb-drop{padding:20px 16px;flex-direction:row;justify-content:flex-start;gap:12px;text-align:left}
.qo-tb-drop span{font-size:14px}
.qo-tb-drop small{display:block;font-size:12px;color:var(--qh-primary,#2563EB);margin-top:2px}
.qo-tb-main{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
.qo-tb-controls{display:flex;flex-direction:column;gap:16px}
.qo-tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:110px;aspect-ratio:1/1.3}
.qo-tb-cell{border:1.5px solid var(--qh-border,#E2E8F0);border-radius:6px;background:#fff;cursor:pointer;transition:all .12s;min-height:26px}
.qo-tb-cell:hover{border-color:var(--qh-primary,#2563EB)}
.qo-tb-cell.on{background:var(--qh-primary,#2563EB);border-color:var(--qh-primary,#2563EB)}
.qo-tb-radio{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;margin-right:14px;cursor:pointer}
.qo-tb-range{margin-top:8px;width:100%;padding:9px 12px;border:1px solid var(--qh-border,#E2E8F0);border-radius:9px;font-family:inherit;font-size:14px}
.qo-tb-range:disabled{background:#f1f5f9;color:#94a3b8}
.qo-tb-preview{position:sticky;top:88px}
.qo-tb-stage{position:relative;display:inline-block;background:#e2e8f0;border-radius:10px;padding:14px;box-shadow:inset 0 2px 8px rgba(0,0,0,.06)}
.qo-tb-stage canvas{display:block;box-shadow:0 4px 16px rgba(15,23,42,.15);background:#fff;border-radius:2px;max-width:100%}
#tbOverlay{position:absolute;pointer-events:none;display:none}
.qo-tb-pagenav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;font-size:14px;color:var(--qh-text2,#64748B)}

@media (max-width:768px){
  .qo-tb-inputs{grid-template-columns:1fr}
  .qo-tb-main{grid-template-columns:1fr}
  .qo-tb-preview{position:static}
}

/* Admin FAQ */
.qo-faq-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.qo-faq-full{grid-column:1 / -1}
.qo-faq-check{flex-direction:row;align-items:center;gap:8px}
.qo-faq-actions{display:flex;gap:10px;align-items:center}
.qo-faq-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.qo-mini-danger{color:#dc2626;border-color:#fecaca}
.qo-mini-danger:hover{background:#fef2f2;border-color:#dc2626}
.qo-admin-hint{font-size:13.5px;color:#64748B;background:#f8fafc;border-left:3px solid #2563EB;padding:10px 14px;border-radius:8px;margin:8px 0 4px}
@media (max-width:640px){.qo-faq-form{grid-template-columns:1fr}}
