
.tedani-app{font-family:Arial,Helvetica,sans-serif;color:#2f2f39;max-width:1180px;margin:0 auto}
.tedani-loading,.tedani-error{padding:18px;border:1px solid #ddd;border-radius:14px;background:#fff}
.tedani-hero{background:linear-gradient(135deg,#f6f1ff,#ffffff);border:1px solid #e6ddff;border-radius:22px;padding:24px 24px 18px;box-shadow:0 12px 30px rgba(72,42,120,.07)}
.tedani-eyebrow{font-size:12px;font-weight:700;color:#6e4aa9;letter-spacing:.08em;margin-bottom:8px}
.tedani-hero h2{margin:0 0 6px;font-size:30px;line-height:1.15}
.tedani-subtitle{margin:0;color:#646473;max-width:800px}
.tedani-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.tedani-stat{background:#fff;border:1px solid #eee;border-radius:16px;padding:14px;text-align:center}
.tedani-stat strong{display:block;font-size:18px;color:#5e3e98;margin-bottom:4px}
.tedani-stat span{font-size:12px;color:#7a7a89;text-transform:uppercase;letter-spacing:.05em}
.tedani-note,.tedani-safety,.tedani-week-note,.tedani-video-note{margin-top:14px;background:#fff;border:1px solid #eee;border-left:5px solid #6e4aa9;border-radius:14px;padding:12px 14px;color:#4a4a57}
.tedani-safety{border-left-color:#c46a2d}
.tedani-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 12px}
.tedani-tabs,.tedani-weeks,.tedani-mode{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tedani-mode-label{font-size:13px;font-weight:700;color:#6b6b79}
.tedani-btn,.tedani-action{border:1px solid #d7c8fb;background:#fff;color:#5e3e98;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:600;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tedani-btn:hover,.tedani-action:hover{background:#f5f1ff}
.tedani-btn.is-active,.tedani-btn[aria-pressed="true"],.tedani-action.is-active{background:#6e4aa9;color:#fff;border-color:#6e4aa9}
.tedani-reset{border-color:#e7d4d4;color:#8b3d3d}
.tedani-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #eee;border-radius:16px;padding:12px 14px}
.tedani-progressbar{height:10px;flex:1;min-width:180px;background:#f0eef7;border-radius:999px;overflow:hidden}
.tedani-progressbar span{display:block;height:100%;background:linear-gradient(90deg,#6e4aa9,#9a7bd7)}
.tedani-sectionhead h3{margin:18px 0 6px;font-size:22px}
.tedani-sectionhead p{margin:0;color:#6b6b79}
.tedani-session-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.tedani-mini{background:#fff;border:1px solid #eee;border-radius:14px;padding:12px 14px}
.tedani-mini strong{display:block;color:#5e3e98;margin-bottom:4px}
.tedani-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tedani-card{background:#fff;border:1px solid #e9e9ef;border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(0,0,0,.04)}
.tedani-card.is-done{outline:2px solid #69b694;background:#fbfffc}
.tedani-card.is-hold{background:#fffaf9}
.tedani-cardtop{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start}
.tedani-num{width:52px;height:52px;border-radius:16px;background:#f2ecff;color:#6e4aa9;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.tedani-card h4{margin:0 0 6px;font-size:21px;line-height:1.2}
.tedani-purpose{margin:0;color:#616170;font-size:14px}
.tedani-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tedani-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f6f1ff;color:#5e3e98;font-size:12px;font-weight:700}
.tedani-badge.warning{background:#fff5df;color:#9a6700}
.tedani-badge.danger{background:#ffe9e9;color:#b03939}
.tedani-media{margin:14px 0 12px;background:#fafafd;border:1px solid #ececf4;border-radius:18px;padding:12px}
.tedani-media img{width:100%;height:auto;border-radius:14px;border:1px solid #ebebf2;background:#fff;display:block}
.tedani-quickcues{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tedani-quickcues span{font-size:12px;padding:6px 8px;border-radius:999px;background:#fff;border:1px solid #ececf4;color:#616170}
.tedani-dose{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 12px}
.tedani-dose div{background:#fafafd;border:1px solid #ececf4;border-radius:14px;padding:10px;text-align:center}
.tedani-dose strong{display:block;color:#2f2f39}
.tedani-dose span{display:block;font-size:12px;color:#757584;margin-top:2px}
.tedani-cardactions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px}
.tedani-action.primary{background:#6e4aa9;color:#fff;border-color:#6e4aa9}
.tedani-action.primary:disabled{background:#dad2ea;border-color:#dad2ea;cursor:not-allowed;color:#fff}
.tedani-locked{margin:10px 0;padding:10px 12px;border-radius:12px;background:#fff1f1;border:1px solid #f0caca;color:#9d3131;font-size:14px}
.tedani-refnote{font-size:13px;color:#737381;margin-bottom:8px}
.tedani-panels{display:grid;gap:10px}
.tedani-panel[hidden]{display:none !important}
.tedani-panel{border:1px solid #ececf4;background:#fcfcfe;border-radius:16px;padding:12px}
.tedani-panel h5{margin:0 0 10px;font-size:15px;color:#5e3e98}
.tedani-panel img{width:100%;height:auto;border-radius:12px;border:1px solid #ececf4;background:#fff}
.tedani-panel video{width:100%;max-height:330px;border-radius:12px;background:#101015}
.tedani-detailgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.tedani-detailgrid ol,.tedani-detailgrid ul{margin:8px 0 0 18px;padding:0}
.tedani-detailbox{margin-top:12px;background:#fff;border:1px solid #ececf4;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.45}
.tedani-stop{border-left:4px solid #c46a2d}
.tedani-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.tedani-controls label{display:block;font-size:12px;color:#696978;font-weight:700;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.tedani-controls input,.tedani-controls select,.tedani-controls textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:10px;padding:9px 10px;font:inherit;background:#fff}
.tedani-controls textarea{min-height:92px;resize:vertical}
.tedani-timerbox{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;background:#fff;border:1px dashed #d9d9e8;border-radius:12px;padding:10px 12px}
.tedani-timerlabel{font-size:13px;color:#666}
.tedani-timervalue{font-size:26px;font-weight:700;color:#5e3e98;min-width:84px}
.tedani-footer{margin:24px 0 10px;padding:16px;border-radius:16px;background:#fafafd;border:1px solid #ededf5;color:#5b5b67;font-size:14px;line-height:1.5}
@media (max-width:900px){.tedani-grid,.tedani-session-intro,.tedani-detailgrid,.tedani-controls,.tedani-stats{grid-template-columns:1fr}.tedani-dose{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tedani-hero{padding:18px}.tedani-hero h2{font-size:25px}.tedani-card{padding:14px}.tedani-card h4{font-size:18px}.tedani-btn,.tedani-action{width:100%}.tedani-cardactions{display:grid;grid-template-columns:1fr 1fr}.tedani-cardactions .tedani-action.primary,.tedani-cardactions a{grid-column:span 2}}
