:root{
  --bg:#f7f8fb;
  --bg2:#eef2f7;
  --ink:#111827;
  --muted:#667085;
  --card:#ffffff;
  --card2:#f9fafb;
  --line:rgba(17,24,39,.10);
  --brand:#ff7a18;
  --brand2:#ff3d00;
  --accent:#16a34a;
  --blue:#0284c7;
  --danger:#dc2626;
  --radius:24px;
  --shadow:0 18px 45px rgba(15,23,42,.10)
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,122,24,.16), transparent 26rem),
    radial-gradient(circle at 90% 10%, rgba(22,163,74,.10), transparent 22rem),
    linear-gradient(180deg,#fff7ed 0%,#f7f8fb 26%,#eef2f7 100%);
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding-bottom:calc(20px + env(safe-area-inset-bottom))
}
button,input,textarea{font:inherit}
.app-header{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 16px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.84));
  color:var(--ink);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line)
}
.app-header h1{font-size:1.45rem;margin:0;font-weight:950;letter-spacing:-.05em;text-transform:uppercase}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;color:var(--brand);font-weight:900}.install-btn{border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;padding:8px 12px;box-shadow:0 10px 24px rgba(255,90,0,.24)}
.group-tabs{position:sticky;top:76px;z-index:25;display:flex;gap:10px;overflow:auto;padding:11px 12px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);scrollbar-width:none}.group-tabs::-webkit-scrollbar{display:none}.group-tab{white-space:nowrap;border:1px solid rgba(17,24,39,.10);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;font-size:.88rem;color:#374151;box-shadow:0 8px 20px rgba(15,23,42,.06)}.group-tab.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(255,90,0,.26)}
.app-main{max-width:820px;padding:15px 12px 30px}.today-card,.exercise-card{background:rgba(255,255,255,.90);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.today-card{padding:15px;position:relative;overflow:hidden}.today-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand),var(--accent))}.today-label{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:900}.today-card .form-control{background:#fff;color:var(--ink);border:1px solid rgba(17,24,39,.12);border-radius:14px}.today-card .btn{border-radius:14px;font-weight:800;color:#374151;border-color:rgba(17,24,39,.14);background:#fff}
.exercise-list{display:flex;flex-direction:column;gap:12px}.exercise-card{padding:15px;display:flex;gap:12px;align-items:flex-start;position:relative;overflow:hidden}.exercise-card:after{content:"";position:absolute;right:-34px;top:-40px;width:110px;height:110px;border-radius:999px;background:rgba(255,122,24,.12)}.exercise-number{width:38px;height:38px;flex:none;border-radius:15px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950;box-shadow:0 10px 22px rgba(255,90,0,.24)}.exercise-body{min-width:0;flex:1;position:relative;z-index:1}.exercise-title{font-size:1.05rem;font-weight:950;line-height:1.15;margin:0 0 8px;letter-spacing:-.025em;color:#111827}.exercise-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.pill{display:inline-flex;align-items:center;border-radius:999px;background:rgba(2,132,199,.09);border:1px solid rgba(2,132,199,.16);color:#075985;padding:4px 9px;font-size:.76rem;font-weight:900}.pill:nth-child(2){background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.18);color:#166534}.pill:nth-child(3){background:rgba(255,122,24,.12);border-color:rgba(255,122,24,.20);color:#9a3412}.exercise-text{font-size:.92rem;color:#475467;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.latest-log{margin-top:11px;font-size:.84rem;color:#344054;background:#fff7ed;border:1px dashed rgba(255,122,24,.35);border-radius:16px;padding:9px}.exercise-chevron{color:rgba(17,24,39,.35);font-size:1.6rem;line-height:1;position:relative;z-index:1}
.modal-content{border:1px solid var(--line);border-radius:26px;background:#ffffff;color:var(--ink);box-shadow:0 20px 70px rgba(15,23,42,.18)}.modal-header{position:sticky;top:0;z-index:2;background:linear-gradient(180deg,#ffffff,#f8fafc);border-bottom:1px solid var(--line)}.modal-title{font-weight:950;letter-spacing:-.03em;color:#111827}.btn-close{filter:none}.exercise-description,.card-section{font-size:1rem;line-height:1.55;color:#344054;background:linear-gradient(180deg,#ffffff,#f9fafb);border:1px solid var(--line);border-radius:20px;padding:14px}.form-label{font-weight:900;font-size:.84rem;color:#344054}.form-control{background:#fff;color:#111827;border:1px solid rgba(17,24,39,.14);border-radius:16px}.form-control:focus{background:#fff;color:#111827;border-color:var(--brand);box-shadow:0 0 0 .2rem rgba(255,122,24,.16)}.form-control::placeholder{color:#98a2b3}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border:0;border-radius:16px;font-weight:950;box-shadow:0 14px 28px rgba(255,90,0,.22)}.btn-outline-primary{border-color:rgba(255,122,24,.45);color:#c2410c;border-radius:16px;font-weight:900}.btn-outline-primary:hover,.btn-outline-primary:active{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;color:#fff}.btn-outline-secondary{border-radius:16px;font-weight:900}.upload-block{background:#f0fdf4;border:1px solid rgba(22,163,74,.20);border-radius:20px;padding:14px}.voice-recorder{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voice-status{font-size:.82rem;color:#667085;font-weight:800}.history-list,.exercise-notes-list{display:flex;flex-direction:column;gap:10px}.history-item,.exercise-note-item{border:1px solid var(--line);border-radius:18px;padding:12px;background:linear-gradient(180deg,#ffffff,#f9fafb)}.history-top{display:flex;justify-content:space-between;gap:8px;font-weight:950;align-items:flex-start}.history-actions{display:flex;align-items:center;gap:8px}.history-delete,.exercise-note-delete{border:1px solid rgba(220,38,38,.28);background:#fff1f2;color:#be123c;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;line-height:1}.history-delete:disabled,.exercise-note-delete:disabled{opacity:.5}.history-notes,.exercise-note-text{white-space:pre-wrap;color:#475467;margin-top:7px}.exercise-note-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px;color:#667085;font-size:.78rem;font-weight:800}.media-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.media-grid img,.media-grid video{width:92px;height:92px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.media-grid audio{width:100%}.empty{padding:22px;text-align:center;color:var(--muted)}.small-empty{padding:12px;font-size:.86rem}.text-muted,.small.text-muted{color:var(--muted)!important}hr{border-color:var(--line);opacity:1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.section-title h3{font-weight:950;color:#111827}.history-help{font-size:.78rem;color:var(--muted)}
@media(min-width:768px){.group-tabs{top:78px;justify-content:center}.exercise-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-card{min-height:222px;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.exercise-card:hover{transform:translateY(-3px);border-color:rgba(255,122,24,.35)}.app-main{padding-top:20px}.modal-dialog{max-width:780px}}
.ficha-attachments-section{background:linear-gradient(180deg,#fff7ed,#ffffff)}
.exercise-attachments-list{display:flex;flex-direction:column;gap:10px}
.ficha-media-grid{align-items:flex-start}
.ficha-media-item{position:relative;display:inline-flex;flex-direction:column;gap:6px;max-width:100%}
.ficha-media-item audio{width:100%;min-width:220px}
.attachment-delete{align-self:flex-start;border:1px solid rgba(220,38,38,.28);background:#fff1f2;color:#be123c;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;line-height:1}
.attachment-delete:disabled{opacity:.5}
@media(max-width:520px){.ficha-media-item{width:auto}.ficha-media-item audio{min-width:0;width:calc(100vw - 64px)}}
.routine-admin-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed rgba(17,24,39,.12);padding-top:12px}
.routine-admin-strip .btn{border-radius:999px;font-weight:950;padding:.45rem .85rem;box-shadow:0 10px 22px rgba(255,90,0,.18)}
.routine-admin-strip span{font-size:.82rem;color:var(--muted);font-weight:800}
.exercise-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px;position:relative;z-index:2}
.exercise-edit,.exercise-delete{border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:950;line-height:1;border:1px solid transparent;background:#fff}
.exercise-edit{color:#075985;border-color:rgba(2,132,199,.20);background:#f0f9ff}
.exercise-delete{color:#be123c;border-color:rgba(220,38,38,.24);background:#fff1f2}
.exercise-edit:active,.exercise-delete:active{transform:translateY(1px)}
.exercise-editor-form textarea{min-height:180px}
#exerciseEditorModal .modal-content{background:#fff}
@media(max-width:520px){.routine-admin-strip{align-items:flex-start}.routine-admin-strip .btn{width:100%}.exercise-card-actions button{flex:1}}
