:root{--ivlt-primary:#3417dc;--ivlt-bg:#f6f7fb;--ivlt-card:#fff;--ivlt-border:#dde1ef;--ivlt-text:#1b1c28;--ivlt-muted:#62677a;--ivlt-good:#0b7a38;--ivlt-warn:#a35b00;--ivlt-bad:#b42318}
.ivlt-shell{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ivlt-text);background:var(--ivlt-bg);border-radius:18px;overflow:hidden;min-height:560px;border:1px solid var(--ivlt-border)}
.ivlt-loading{padding:30px}.ivlt-top{display:flex;align-items:center;gap:16px;justify-content:space-between;background:#fff;padding:14px 18px;border-bottom:1px solid var(--ivlt-border);position:sticky;top:0;z-index:3}.ivlt-top strong{color:var(--ivlt-primary);font-size:20px}.ivlt-top nav{display:flex;gap:6px;flex-wrap:wrap}.ivlt-top nav button,.ivlt-logout{border:0;background:transparent;padding:9px 12px;border-radius:12px;cursor:pointer}.ivlt-top nav button.active,.ivlt-top nav button:hover{background:var(--ivlt-primary);color:#fff}.ivlt-logout{color:var(--ivlt-bad)}
.ivlt-panel{padding:22px}.ivlt-headrow{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.ivlt-headrow h2,.ivlt-panel h2{margin:0;color:#15142b}.ivlt-headrow p,.ivlt-panel p{color:var(--ivlt-muted);margin:5px 0 0}.ivlt-btn{background:var(--ivlt-primary);color:#fff;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;margin:3px}.ivlt-btn.secondary{background:#ebe8ff;color:var(--ivlt-primary)}.ivlt-btn.danger{background:#fee4e2;color:var(--ivlt-bad)}.ivlt-btn.small{padding:7px 10px;font-size:12px}.ivlt-btn:disabled{opacity:.45;cursor:not-allowed}
.ivlt-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.ivlt-tile{background:var(--ivlt-card);border:1px solid var(--ivlt-border);border-radius:18px;padding:18px;box-shadow:0 8px 20px rgba(20,30,70,.06)}.ivlt-tile strong{display:block;font-size:30px;color:var(--ivlt-primary);line-height:1.1}.ivlt-tile span{display:block;font-weight:800;margin-top:8px}.ivlt-tile small{display:block;color:var(--ivlt-muted);margin-top:6px}.ivlt-details{background:#fff;border:1px solid var(--ivlt-border);border-radius:16px;padding:14px;margin-top:18px}.ivlt-grid-small{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}
.ivlt-card{background:#fff;border:1px solid var(--ivlt-border);border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 8px 20px rgba(20,30,70,.05)}.ivlt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ivlt-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ivlt-card label{font-weight:700;color:#20233a}.ivlt-card input,.ivlt-card select,.ivlt-card textarea,.ivlt-auth input,.ivlt-auth textarea{width:100%;box-sizing:border-box;border:1px solid var(--ivlt-border);border-radius:12px;padding:10px;margin-top:5px;background:#fff}.ivlt-card textarea{min-height:90px}.ivlt-card small{display:block;color:var(--ivlt-muted);font-weight:400;margin-top:4px}.ivlt-hidden{display:none!important}
.ivlt-list{display:grid;gap:10px}.ivlt-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--ivlt-border);border-radius:16px;padding:14px}.ivlt-row strong{display:block}.ivlt-row span{display:block;color:var(--ivlt-muted);font-size:14px}.ivlt-row small{display:block;color:var(--ivlt-muted);margin-top:4px}.ivlt-badge{display:inline-block;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.ivlt-badge.good{background:#dcfae6;color:var(--ivlt-good)}.ivlt-badge.warn{background:#fef0c7;color:var(--ivlt-warn)}.ivlt-badge.bad{background:#fee4e2;color:var(--ivlt-bad)}.ivlt-badge.muted{background:#eef2f6;color:#4b5565}.ivlt-alert{background:#fff5d6;border:1px solid #f7d774;border-radius:14px;padding:12px;margin-bottom:14px}
.ivlt-auth{max-width:900px;margin:0 auto;padding:40px 20px}.ivlt-auth h1{color:var(--ivlt-primary);font-size:42px;margin:0 0 8px}.ivlt-auth-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:20px}.ivlt-auth form{background:#fff;border:1px solid var(--ivlt-border);border-radius:20px;padding:22px;box-shadow:0 10px 25px rgba(20,30,70,.07)}.ivlt-auth h2{margin-top:0}.ivlt-toast{position:fixed;right:20px;bottom:20px;background:#1b1c28;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s;z-index:99999}.ivlt-toast.show{opacity:1;transform:translateY(0)}.ivlt-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);display:flex;align-items:center;justify-content:center;z-index:99998}.ivlt-modal{background:#fff;border-radius:18px;padding:22px;max-width:420px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.2)}.ivlt-modal input{width:100%;box-sizing:border-box;border:1px solid var(--ivlt-border);border-radius:12px;padding:10px;margin:8px 0 12px}
@media(max-width:720px){.ivlt-top{align-items:flex-start;flex-direction:column}.ivlt-headrow,.ivlt-row{flex-direction:column;align-items:stretch}.ivlt-auth h1{font-size:32px}}
.ivlt-table{width:100%;border-collapse:collapse;margin-top:10px}.ivlt-table th,.ivlt-table td{border-bottom:1px solid #e5e7eb;padding:8px;text-align:left}.ivlt-detail{margin-top:16px}.ivlt-row>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ivlt-checkrow{display:block;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;margin:6px 0;background:#fff}
.ivlt-checkrow small{display:block;color:#64748b;margin-left:24px}.ivlt-table{width:100%;border-collapse:collapse;margin-top:10px}.ivlt-table th,.ivlt-table td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left}.ivlt-notice{padding:8px 0;border-bottom:1px solid #e5e7eb}.ivlt-notice small{float:right;color:#64748b}

.ivlt-filterbar{display:flex;gap:8px;flex-wrap:wrap}.ivlt-filterbar .ivlt-btn.active{background:var(--ivlt-primary);color:#fff}.ivlt-card h3{margin-top:0}.ivlt-top nav button:focus,.ivlt-btn:focus{outline:3px solid #c7d2fe;outline-offset:2px}
.ivlt-onboarding{border-left:4px solid var(--ivlt-brand,#3417dc)}
.ivlt-checklist{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ivlt-step{padding:8px 10px;border-radius:999px;background:#f3f4f6;font-size:13px}.ivlt-step.done{background:#e8f7ee}.ivlt-step.todo{background:#fff7ed}.ivlt-step small{opacity:.7;margin-left:4px}.ivlt-filterbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ivlt-filterbar input,.ivlt-filterbar select{min-height:36px;border:1px solid #d0d5dd;border-radius:10px;padding:6px 10px}.ivlt-filterbar .active{box-shadow:0 0 0 2px var(--ivlt-brand,#3417dc) inset}.ivlt-top strong{color:var(--ivlt-brand,#3417dc)}

/* 0.8.0 beta polish */
.ivlt-row:hover,.ivlt-card:hover{box-shadow:0 10px 28px rgba(20,30,70,.08)}
.ivlt-actions,.ivlt-row>div:last-child{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ivlt-btn.active,.ivlt-filterbar .ivlt-btn.active{background:var(--ivlt-brand,var(--ivlt-primary));color:#fff}
.ivlt-empty{border:1px dashed var(--ivlt-border);background:#fff;border-radius:18px;padding:24px;text-align:center;color:var(--ivlt-muted)}
.ivlt-list .ivlt-card[data-status*="expired"],.ivlt-row[data-ivlt-status*="expired"]{border-left:4px solid var(--ivlt-bad)}
.ivlt-list .ivlt-card[data-status*="expiring"],.ivlt-row[data-ivlt-status*="expiring"]{border-left:4px solid var(--ivlt-warn)}
@media(max-width:760px){
  .ivlt-shell{border-radius:0;border-left:0;border-right:0}
  .ivlt-panel{padding:14px}
  .ivlt-top{position:sticky;top:0}
  .ivlt-top nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ivlt-top nav button{width:100%;background:#f8f9fc}
  .ivlt-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ivlt-tile{padding:12px;border-radius:14px}.ivlt-tile strong{font-size:23px}
  .ivlt-card{padding:14px;border-radius:14px}.ivlt-row{padding:12px;border-radius:14px}
  .ivlt-row>div:last-child,.ivlt-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .ivlt-row>div:last-child .ivlt-btn,.ivlt-actions .ivlt-btn{width:100%;text-align:center;margin:0}
  .ivlt-filterbar{display:grid;grid-template-columns:1fr 1fr}.ivlt-filterbar input,.ivlt-filterbar select{grid-column:1/-1;width:100%}
}
/* 0.9.3 mobile/button hardening */
.ivlt-filterbar .ivlt-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;color:var(--ivlt-brand,var(--ivlt-primary))!important;background:#ebe8ff!important}
.ivlt-filterbar .ivlt-btn.active{background:var(--ivlt-brand,var(--ivlt-primary))!important;color:#fff!important}
.ivlt-locked{background:#fbfbff}

/* 0.9.5 mobile shared qualification matrix fix */
.ivlt-card,
.ivlt-row,
.ivlt-panel,
.ivlt-shell{
  box-sizing:border-box;
  max-width:100%;
}
.ivlt-row > div,
.ivlt-card > div{
  min-width:0;
}
.ivlt-row span,
.ivlt-row small,
.ivlt-card span,
.ivlt-card small{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ivlt-card .ivlt-table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  white-space:nowrap;
  border-collapse:separate;
  border-spacing:0;
}
.ivlt-card .ivlt-table tbody,
.ivlt-card .ivlt-table thead,
.ivlt-card .ivlt-table tr{
  width:100%;
}
.ivlt-card .ivlt-table th,
.ivlt-card .ivlt-table td{
  min-width:110px;
  vertical-align:top;
}
.ivlt-card .ivlt-table th:first-child,
.ivlt-card .ivlt-table td:first-child{
  min-width:150px;
  white-space:normal;
}
.ivlt-card .ivlt-table th:nth-child(2),
.ivlt-card .ivlt-table td:nth-child(2){
  min-width:160px;
  white-space:normal;
}
@media(max-width:760px){
  .ivlt-list{min-width:0;width:100%}
  .ivlt-card .ivlt-table{
    margin-left:0;
    padding-bottom:8px;
  }
  .ivlt-card .ivlt-table::after{
    content:'Swipe sideways to see more columns';
    display:block;
    color:var(--ivlt-muted);
    font-size:12px;
    padding-top:8px;
  }
}
.ivlt-form-message{border-radius:12px;padding:10px 12px;margin:0 0 12px 0;font-weight:700;background:#eef2ff;color:#1e1b4b;border:1px solid #c7d2fe}.ivlt-form-message.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}.ivlt-form-message.info{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
