:root{--olt-primary:#0b5bd3;--olt-primary-2:#0a4fb8;--olt-soft:#e9f1ff;--olt-border:#cfe0ff}
.olt-wrap{max-width:1100px;margin:20px auto;padding:16px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff}
.olt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:800px){.olt-grid{grid-template-columns:1fr}}
.olt-field label{display:block;font-weight:600;margin-bottom:6px}
.olt-field input,.olt-field select,.olt-field textarea{width:100%;padding:10px;border:1px solid rgba(0,0,0,.15);border-radius:10px}
.olt-field .olt-static{padding:10px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:rgba(0,0,0,.03)}
.olt-radio label{display:flex;align-items:center;gap:8px;margin:6px 0;line-height:1.2}
.olt-checks label{display:block;margin:6px 0}
.olt-hint{font-size:12px;opacity:.75;margin-top:6px}
.olt-full{grid-column:1 / -1}
.olt-btn{padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.15);background:var(--olt-primary);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.olt-btn:hover{opacity:.9}
.olt-btn-ghost{background:#fff;color:#111}
.olt-submit{margin-top:14px}
.olt-msg{padding:12px;border-radius:10px;margin:12px 0}
.olt-success{background:rgba(0,128,0,.08);border:1px solid rgba(0,128,0,.25)}
.olt-error{background:rgba(255,0,0,.06);border:1px solid rgba(255,0,0,.2)}
.olt-card{padding:12px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02);margin:12px 0}
.olt-filters{margin:12px 0}
.olt-inline{display:flex;gap:10px;align-items:end}
.olt-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}
.olt-table th,.olt-table td{border-bottom:1px solid rgba(0,0,0,.08);padding:8px;vertical-align:top;text-align:left}
.olt-table th{font-weight:700;white-space:nowrap}
.olt-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.olt-modal__inner{background:#fff;border-radius:14px;max-width:760px;width:100%;max-height:80vh;overflow:auto;padding:14px;border:1px solid rgba(0,0,0,.12)}
.olt-modal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.olt-modal__body{padding:6px 0}
.olt-box{padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02);white-space:pre-wrap}


/* Docs block */
.olt-docs{
  border:1px solid #d0d7de;
  padding:12px;
  border-radius:10px;
  background:#fff;
  margin:12px 0 18px;
}
.olt-docs h3{ margin:0 0 8px; font-size:16px; }
.olt-docs ul{ margin:0 0 10px 18px; }
.olt-docs-agree{ display:block; font-weight:600; }

/* Signature */
.olt-madeby{
  position:fixed;
  right:12px;
  bottom:12px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,0.15);
  background:rgba(255,255,255,0.85);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:18px;
  z-index:9999;
  user-select:none;
  pointer-events:none;
}
@media (max-width: 600px){
  .olt-madeby{ right:8px; bottom:8px; width:30px; height:30px; font-size:16px; }
}


.olt-toast{position:fixed;right:18px;bottom:18px;background:#111;color:#fff;padding:10px 12px;border-radius:10px;opacity:0;transform:translateY(10px);transition:all .2s ease;z-index:999999;font-size:13px;}
.olt-toast.show{opacity:1;transform:translateY(0);}



/* Radios alignment */
.olt-radio label{display:flex;align-items:center;gap:8px;margin:6px 0;line-height:1.2}
.olt-radio input[type="radio"]{margin:0;transform:translateY(-1px)}

/* Reports table responsive wrapper */
.olt-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.olt-table{min-width:900px}
@media (max-width:900px){
  .olt-table{min-width:760px}
}

/* Prevent ugly overflow in cells */
.olt-table th,.olt-table td{word-break:break-word}
.olt-col-date{white-space:nowrap}

/* Toast */
.olt-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:rgba(0,0,0,.82);color:#fff;padding:10px 14px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:99999}
.olt-toast.is-show{opacity:1}

.olt-wrap h2{margin-top:0;color:var(--olt-primary)}

.olt-dup-inline{background:var(--olt-soft);border:1px solid var(--olt-border);padding:12px;border-radius:12px;margin:10px 0}
.olt-dup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.olt-btn-secondary{background:#fff;color:#111;border:1px solid rgba(0,0,0,.15)}
.olt-btn-secondary:hover{background:rgba(0,0,0,.04)}


/* v1.0.18 polish: radio alignment against theme overrides */
.olt-wrap .olt-radio label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:left !important;
}
.olt-wrap .olt-radio input[type="radio"]{
  margin:0 !important;
  flex:0 0 auto !important;
}
.olt-wrap .olt-radio label > input[type="radio"] + *{
  margin:0 !important;
}


/* v1.0.19: robust radio alignment (theme-proof) */
.olt-wrap.olt-signup .olt-radio-group{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}
.olt-wrap.olt-signup .olt-radio-option{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
.olt-wrap.olt-signup .olt-radio-option input[type="radio"]{
  margin:0 !important;
  position:static !important;
  float:none !important;
  width:auto !important;
  height:auto !important;
}
.olt-wrap.olt-signup .olt-radio-option label{
  margin:0 !important;
  padding:0 !important;
  line-height:1.2 !important;
  display:inline-block !important;
}


/* v1.0.20: cards and blue accents */
.olt-wrap .olt-card{
  border:1px solid rgba(0,0,0,.08);
  border-left:4px solid var(--olt-accent, #2a6fdb);
  border-radius:12px;
  padding:18px 18px 14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
  margin:14px 0;
}
.olt-wrap .olt-card-title{
  margin:0 0 12px;
  font-size:18px;
  font-weight:700;
  color:var(--olt-accent, #2a6fdb);
}
.olt-wrap .olt-soft{
  background:rgba(42,111,219,.06);
}
.olt-wrap.olt-signup .olt-radio-group{ gap:12px !important; }
.olt-wrap.olt-signup .olt-radio-option{ gap:10px !important; }



/* Accordion sections */
.olt-section{border:1px solid rgba(0,0,0,.08); border-radius:12px; margin:12px 0; overflow:hidden; background:#fff;}
.olt-section__head{display:flex; justify-content:space-between; gap:12px; padding:12px 14px; cursor:pointer; background:rgba(0,0,0,.03);}
.olt-section__title{font-weight:700;}
.olt-section__meta{opacity:.7; font-size:12px; align-self:center;}
.olt-section__body{display:none; padding:14px;}
.olt-section.is-open .olt-section__body{display:block;}
.olt-section[aria-disabled="true"]{opacity:.55;}
.olt-section[aria-disabled="true"] .olt-section__head{cursor:not-allowed;}
.olt-section__actions{display:flex; gap:10px; justify-content:flex-end; margin-top:12px; flex-wrap:wrap;}

/* Section state borders */
.olt-section.is-unlocked{border-color: rgba(0, 102, 204, .45); box-shadow: 0 0 0 1px rgba(0,102,204,.12) inset;}
.olt-section.is-invalid{border-color: rgba(220, 38, 38, .75); box-shadow: 0 0 0 1px rgba(220,38,38,.16) inset;}

.olt-btn-danger{background:#b91c1c; color:#fff; border-color:rgba(0,0,0,.08);}
.olt-btn-danger:hover{filter:brightness(1.05);}

.olt-gdpr-decline{background:#b91c1c; color:#fff; border:none; padding:12px; border-radius:10px;}

/* Agreements */
.olt-agreement{border-top:1px dashed rgba(0,0,0,.15); padding-top:12px; margin-top:12px;}
.olt-agreement:first-child{border-top:none; padding-top:0; margin-top:0;}
.olt-agreement__check{display:block; margin-top:8px; font-weight:600;}

/* Pagination */
.olt-pagination{display:flex; gap:6px; flex-wrap:wrap; margin:12px 0 0;}
.olt-pagination .olt-page{padding:6px 10px; border:1px solid rgba(0,0,0,.15); border-radius:10px; text-decoration:none;}
.olt-pagination .olt-page.is-active{font-weight:700; background:rgba(0,0,0,.06);}
