
/* 4P3X SafeSpark™ Home Practice Mode — additive layer */
.homePracticeHero{border:1px solid rgba(102,255,178,.28);background:linear-gradient(135deg,rgba(24,24,34,.94),rgba(6,6,8,.98));box-shadow:0 18px 50px rgba(0,0,0,.28);}
.homePracticeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem;}
.homePracticeWideGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1rem;margin-top:1rem;}
.homePracticeCard{border:1px solid rgba(207,174,88,.32);background:rgba(255,255,255,.045);border-radius:18px;padding:1rem;box-shadow:0 12px 30px rgba(0,0,0,.18);}
.homePracticeCard h3{margin:.15rem 0 .45rem;}
.homePracticeStatus{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0;}
.homePracticeBadge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.35rem .65rem;font-size:.86rem;background:rgba(255,255,255,.06);}
.homePracticeBadge.good{border-color:rgba(102,255,178,.44);background:rgba(102,255,178,.11);}
.homePracticeBadge.warn{border-color:rgba(255,209,102,.5);background:rgba(255,209,102,.12);}
.homePracticeBadge.demo{border-color:rgba(183,140,255,.5);background:rgba(183,140,255,.12);}
.homePracticeDevice{max-width:440px;margin:auto;border:1px solid rgba(255,255,255,.16);border-radius:32px;padding:.85rem;background:#050509;box-shadow:0 24px 70px rgba(0,0,0,.35);}
.homePracticeScreen{border-radius:24px;padding:1rem;background:linear-gradient(180deg,rgba(20,24,31,.98),rgba(8,9,12,.98));min-height:360px;}
.homePracticeScreenTop{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:.6rem;margin-bottom:.8rem;}
.homePracticeProgress{height:10px;background:rgba(255,255,255,.11);border-radius:999px;overflow:hidden;margin:.65rem 0;}
.homePracticeProgress span{display:block;height:100%;width:68%;background:linear-gradient(90deg,#61ffb0,#cfad59);}
.homePracticeTimeline{display:grid;gap:.6rem;margin-top:1rem;}
.homePracticeTimeline li,.homePracticeLogItem{list-style:none;padding:.75rem;border-radius:14px;background:rgba(255,255,255,.055);border-left:4px solid rgba(102,255,178,.7);}
.homePracticeActions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.9rem;}
.homePracticeSmall{font-size:.92rem;opacity:.88;}
.homePracticeSubject{cursor:pointer;transition:transform .2s ease,border-color .2s ease;}
.homePracticeSubject:hover,.homePracticeSubject.active{transform:translateY(-2px);border-color:rgba(102,255,178,.6);}
.homePracticeQr{display:grid;grid-template-columns:repeat(9,12px);gap:3px;width:max-content;padding:.65rem;background:#fff;border-radius:10px;margin:.6rem 0;}
.homePracticeQr span{width:12px;height:12px;background:#111;border-radius:2px;}
.homePracticeQr span:nth-child(3n){background:#666}.homePracticeQr span:nth-child(5n){background:#999}.homePracticeQr span:nth-child(7n){background:#111}
.homePracticeImport{width:100%;min-height:86px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.24);color:inherit;padding:.75rem;}
.homePracticeInsert{margin-top:1rem;}
@media(max-width:720px){.homePracticeWideGrid{grid-template-columns:1fr}.homePracticeDevice{border-radius:24px}.homePracticeScreen{border-radius:18px}.homePracticeActions .roleButton,.homePracticeActions .btn{width:100%;justify-content:center}.homePracticeQr{grid-template-columns:repeat(9,10px)}.homePracticeQr span{width:10px;height:10px}}

.homePracticeDownloadReceipt{margin:16px 0;padding:14px 16px;border:1px solid rgba(101,255,191,.35);border-radius:16px;background:rgba(101,255,191,.08)}
.homePracticeDownloadReceipt a{font-weight:800;text-decoration:underline}
.homePracticeDownloadReceipt code{white-space:normal;word-break:break-word}
