/* ---------- Tokens ---------- */
:root{
  --radius-sm:8px; --radius:12px; --radius-lg:18px;
  --dur:200ms; --ease:cubic-bezier(.4,0,.2,1);
  --accent:#d9a441; --accent-ink:#241a06; --accent-soft:rgba(217,164,65,.15);
  --danger:#e0585d; --danger-soft:rgba(224,88,93,.14);
  --success:#4caf6d; --success-soft:rgba(76,175,109,.14);
  --font:'Vazirmatn', Tahoma, 'Segoe UI', sans-serif;
  --sidebar-w:250px; --bottomnav-h:64px;
}
:root, :root[data-theme="dark"]{
  --bg:#0a0a0b; --surface:#131315; --surface-2:#1b1b1e; --surface-3:#242327;
  --border:rgba(255,255,255,.09); --border-strong:rgba(255,255,255,.16);
  --text:#f2f1ee; --text-muted:#9a999e; --text-faint:#68676b;
  --shadow-top: inset 0 1px 0 rgba(255,255,255,.05);
}
:root[data-theme="light"]{
  --bg:#f4f3f0; --surface:#ffffff; --surface-2:#f0efeb; --surface-3:#e7e5df;
  --border:rgba(20,18,14,.10); --border-strong:rgba(20,18,14,.18);
  --text:#1c1b19; --text-muted:#6d6b66; --text-faint:#9c9a94;
  --shadow-top: inset 0 1px 0 rgba(0,0,0,.03);
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0; background:var(--bg); color:var(--text); font-family:var(--font);
  -webkit-font-smoothing:antialiased; line-height:1.6;
  padding-top:env(safe-area-inset-top,0px);
}
h1,h2,h3{margin:0; font-weight:700;}
p{margin:0;}
button,input,select,textarea{font-family:inherit; color:inherit;}
input,select,textarea{
  background:var(--surface-2); border:1px solid var(--border); color:var(--text);
  border-radius:var(--radius-sm); padding:.6rem .8rem; font-size:.92rem;
  width:100%; transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--accent); background:var(--surface-3);}
textarea{resize:vertical; min-height:5.5rem;}
.muted{color:var(--text-muted);}
.small{font-size:.8rem;}
::selection{background:var(--accent); color:var(--accent-ink);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  border:1px solid var(--border); background:var(--surface-2); color:var(--text);
  padding:.6rem 1rem; border-radius:var(--radius-sm); font-size:.9rem; font-weight:600;
  cursor:pointer; transition:transform var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);
  min-height:40px;
}
.btn:hover{background:var(--surface-3); border-color:var(--border-strong);}
.btn:active{transform:scale(.97);}
.btn-accent{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.btn-accent:hover{filter:brightness(1.06); background:var(--accent);}
.btn-danger{background:transparent; border-color:var(--danger); color:var(--danger);}
.btn-danger:hover{background:var(--danger-soft);}
.btn-ghost{background:transparent; border-color:transparent;}
.btn-ghost:hover{background:var(--surface-2);}
.btn-icon{padding:.5rem; min-width:38px;}
.btn-sm{padding:.4rem .7rem; font-size:.8rem; min-height:32px;}
.btn-xs{padding:.1rem .35rem; font-size:.6rem; min-height:18px; line-height:1; border-radius:5px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}

/* ---------- Layout ---------- */
.shell{display:flex; min-height:100vh;}
.sidebar{
  position:fixed; top:0; bottom:0; right:0; width:var(--sidebar-w);
  background:var(--surface); border-inline-start:1px solid var(--border);
  display:flex; flex-direction:column; padding:1.25rem 1rem; gap:1.5rem; z-index:20;
}
.brand{display:flex; align-items:center; gap:.7rem; padding:0 .3rem;}
.brand-mark-img{width:34px; height:34px; object-fit:contain; flex-shrink:0;}
.brand-text{display:flex; flex-direction:column; line-height:1.3;}
.brand-text strong{font-size:1.05rem;}
.brand-text span{font-size:.75rem; color:var(--text-muted);}
.nav{display:flex; flex-direction:column; gap:.3rem;}
.nav-btn{
  display:flex; align-items:center; gap:.7rem; text-align:right; width:100%;
  padding:.7rem .8rem; border-radius:var(--radius-sm); border:1px solid transparent;
  background:transparent; cursor:pointer; font-size:.92rem; font-weight:600; color:var(--text-muted);
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.nav-btn:hover{background:var(--surface-2); color:var(--text);}
.nav-btn.active{background:var(--surface-2); color:var(--text); border-color:var(--border);}
.nav-btn.active .nav-ic{color:var(--accent);}
.nav-ic{width:20px; height:20px; display:inline-flex; color:currentColor; flex-shrink:0;}
.nav-ic svg{width:100%; height:100%;}
.sidebar-footer{margin-top:auto; padding:0 .3rem;}

.main{margin-right:var(--sidebar-w); flex:1; min-width:0; padding:1.75rem 2rem 3rem;}
.page-head{margin-bottom:1.4rem;}
.page-head h1{font-size:1.4rem;}
.page-head p{margin-top:.25rem; font-size:.88rem;}

.bottom-nav{display:none;}

/* ---------- Cards / surfaces ---------- */
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:1.1rem 1.2rem; box-shadow:var(--shadow-top);
}
.card + .card{margin-top:1rem;}
.card-title{font-size:.98rem; font-weight:700; margin-bottom:.9rem;}

/* ---------- Toolbar / search ---------- */
.toolbar{display:flex; gap:.6rem; margin-bottom:1rem; flex-wrap:wrap;}
.toolbar input{flex:1; min-width:180px;}

/* ---------- Chips ---------- */
.chips{display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.1rem;}
.chip{
  border:1px solid var(--border); background:var(--surface-2); color:var(--text-muted);
  padding:.4rem .85rem; border-radius:999px; font-size:.8rem; font-weight:600; cursor:pointer;
  transition:all var(--dur) var(--ease); white-space:nowrap;
}
.chip:hover{color:var(--text);}
.chip.active{background:var(--accent-soft); border-color:var(--accent); color:var(--accent);}

/* ---------- Program tab strip ---------- */
.tabstrip{display:flex; gap:.5rem; align-items:center; overflow-x:auto; padding-bottom:.6rem; margin-bottom:1rem; border-bottom:1px solid var(--border);}
.tabstrip::-webkit-scrollbar{height:4px;}
.tabstrip::-webkit-scrollbar-thumb{background:var(--border-strong); border-radius:2px;}
.tabchip{
  display:flex; align-items:center; gap:.5rem; background:var(--surface-2); border:1px solid var(--border);
  border-radius:var(--radius-sm) var(--radius-sm) 0 0; padding:.55rem .5rem .55rem 1rem; cursor:pointer;
  font-size:.85rem; font-weight:600; color:var(--text-muted); white-space:nowrap; flex-shrink:0;
  transition:all var(--dur) var(--ease);
}
.tabchip:hover{color:var(--text);}
.tabchip.active{background:var(--surface); color:var(--text); border-bottom-color:var(--surface); box-shadow:0 -2px 0 var(--accent) inset;}
.tabchip .x{opacity:.6; border-radius:50%; width:20px; height:20px; display:flex; align-items:center; justify-content:center;}
.tabchip .x:hover{background:var(--danger-soft); color:var(--danger); opacity:1;}
.tabchip-add{
  flex-shrink:0; width:36px; height:36px; border-radius:50%; border:1px dashed var(--border-strong);
  background:transparent; color:var(--text-muted); cursor:pointer; font-size:1.1rem; display:flex;
  align-items:center; justify-content:center; transition:all var(--dur) var(--ease);
}
.tabchip-add:hover{color:var(--accent); border-color:var(--accent);}

/* ---------- Program workspace ---------- */
.workspace-head{display:flex; align-items:center; justify-content:space-between; gap:.7rem; margin-bottom:1.2rem; flex-wrap:wrap;}
.workspace-head h2{font-size:1.15rem;}
.workspace-head .actions{display:flex; gap:.5rem;}
.day-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1rem 1.1rem; margin-bottom:1rem; box-shadow:var(--shadow-top);}
.day-head{display:flex; align-items:center; gap:.6rem; margin-bottom:.8rem; flex-wrap:wrap;}
.day-subactions{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.7rem;}
.day-head input{flex:1; font-weight:700; font-size:1rem; background:transparent; border-color:transparent; padding:.3rem .4rem;}
.day-head input:hover{border-color:var(--border);}
.day-head input:focus{background:var(--surface-2); border-color:var(--accent);}
.ex-row{display:flex; align-items:flex-start; gap:.7rem; padding:.75rem 0; border-top:1px solid var(--border);}
.ex-row:first-of-type{border-top:none;}
.reorder-col{display:flex; flex-direction:column; gap:3px; flex-shrink:0; padding-top:.1rem;}
.ex-main{flex:1; min-width:0;}
.ex-main strong{font-size:.94rem;}
.ex-meta{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.35rem;}
.ex-meta span{font-size:.78rem; color:var(--text-muted); background:var(--surface-2); border-radius:999px; padding:.15rem .6rem;}
.ex-note{margin-top:.35rem; font-size:.8rem; color:var(--text-muted);}
.ex-actions{display:flex; gap:.3rem; flex-shrink:0;}
.empty-state{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:3.5rem 1.5rem; color:var(--text-muted); gap:.5rem; border:1px dashed var(--border); border-radius:var(--radius-lg);
}
.empty-state .ic{font-size:2.2rem; margin-bottom:.4rem;}
.empty-state h3{color:var(--text); font-size:1rem;}

/* ---------- Students list ---------- */
.list{display:flex; flex-direction:column; gap:.5rem;}
.list-row{
  display:flex; align-items:center; gap:.85rem; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:.75rem .9rem; cursor:pointer; transition:all var(--dur) var(--ease);
}
.list-row:hover{border-color:var(--border-strong); background:var(--surface-2);}
.avatar{
  width:40px; height:40px; border-radius:50%; background:var(--surface-3); color:var(--text);
  display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; font-size:.9rem;
}
.avatar-lg{width:60px; height:60px; font-size:1.2rem;}
.list-row .info{flex:1; min-width:0;}
.list-row .info strong{display:block; font-size:.94rem;}
.list-row .info span{font-size:.8rem; color:var(--text-muted); direction:ltr; unicode-bidi:embed; display:block; text-align:right;}
.chev{color:var(--text-faint); flex-shrink:0;}

/* ---------- Badge ---------- */
.badge{display:inline-flex; align-items:center; gap:.3rem; font-size:.75rem; font-weight:700; padding:.2rem .6rem; border-radius:999px;}
.badge-success{background:var(--success-soft); color:var(--success);}
.badge-muted{background:var(--surface-3); color:var(--text-muted);}
.badge-danger{background:var(--danger-soft); color:var(--danger);}
.badge-accent{background:var(--accent-soft); color:var(--accent);}

/* ---------- Student detail ---------- */
.detail-head{display:flex; align-items:center; gap:1rem; margin-bottom:1.1rem; flex-wrap:wrap;}
.detail-head .info{flex:1; min-width:180px;}
.detail-head h2{font-size:1.2rem; margin-bottom:.25rem;}
.detail-actions{display:flex; gap:.5rem; flex-wrap:wrap; margin-inline-start:auto;}
.segmented{display:inline-flex; background:var(--surface-2); border:1px solid var(--border); border-radius:999px; padding:.25rem; gap:.2rem; margin-bottom:1.1rem;}
.seg-btn{border:none; background:transparent; padding:.45rem 1rem; border-radius:999px; font-size:.85rem; font-weight:600; color:var(--text-muted); cursor:pointer; transition:all var(--dur) var(--ease);}
.seg-btn.active{background:var(--surface); color:var(--text); box-shadow:var(--shadow-top);}
.info-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:1rem;}
.info-grid .item span{display:block; font-size:.75rem; color:var(--text-muted); margin-bottom:.2rem;}
.info-grid .item strong{font-size:.95rem;}
.history-block{margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border);}
.history-block p{white-space:pre-wrap; font-size:.9rem;}

/* ---------- Timeline (notes / progress) ---------- */
.timeline{display:flex; flex-direction:column; gap:.8rem; margin-top:1rem;}
.tl-item{position:relative; padding-inline-end:1rem; border-inline-end:2px solid var(--border); padding-bottom:.2rem;}
.tl-item::before{content:""; position:absolute; inset-inline-end:-5px; top:.3rem; width:8px; height:8px; border-radius:50%; background:var(--accent);}
.tl-head{display:flex; align-items:center; justify-content:space-between; gap:.6rem;}
.tl-date{font-size:.78rem; color:var(--text-muted); font-weight:700;}
.tl-text{margin-top:.3rem; font-size:.9rem; white-space:pre-wrap;}
.tl-metrics{display:flex; gap:.4rem; flex-wrap:wrap; margin-top:.4rem;}

/* ---------- Exercise cards ---------- */
.grid-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:.9rem;}
.ex-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1rem; display:flex; flex-direction:column; gap:.5rem; box-shadow:var(--shadow-top);}
.ex-card-head{display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem;}
.lang-toggle{
  display:inline-flex; align-items:center; gap:.25rem; flex-shrink:0; border:1px solid var(--border);
  background:var(--surface-2); color:var(--text-muted); border-radius:999px; padding:.2rem .55rem;
  font-size:.68rem; font-weight:700; cursor:pointer; transition:all var(--dur) var(--ease);
}
.lang-toggle svg{width:12px; height:12px;}
.lang-toggle:hover{color:var(--accent); border-color:var(--accent);}
.ex-card h3{font-size:.98rem;}
.ex-card .desc{font-size:.82rem; color:var(--text-muted); flex:1;}
.ex-card-foot{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.3rem;}

/* ---------- Modal ---------- */
.overlay{position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; padding:1rem; z-index:100; animation:fade var(--dur) var(--ease);}
.modal{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); width:100%; max-width:480px; max-height:88vh; overflow-y:auto; padding:1.3rem; box-shadow:0 20px 60px rgba(0,0,0,.4);}
.modal h2{font-size:1.05rem; margin-bottom:1rem;}
.field{margin-bottom:.9rem;}
.field label{display:block; font-size:.8rem; color:var(--text-muted); margin-bottom:.35rem; font-weight:600;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:.7rem;}
.modal-actions{display:flex; justify-content:flex-end; gap:.6rem; margin-top:1.2rem;}
@keyframes fade{from{opacity:0} to{opacity:1}}

/* ---------- Toasts ---------- */
#toast-root{position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; gap:.5rem; z-index:200; width:min(340px,90vw);}
.toast{background:var(--surface-3); border:1px solid var(--border-strong); border-radius:var(--radius-sm); padding:.7rem 1rem; font-size:.85rem; box-shadow:0 8px 24px rgba(0,0,0,.3); animation:toastin var(--dur) var(--ease);}
.toast.error{border-color:var(--danger); color:var(--danger);}
.toast.success{border-color:var(--success); color:var(--success);}
@keyframes toastin{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:translateY(0)}}

/* ---------- Settings ---------- */
.switch{position:relative; display:inline-block; width:44px; height:26px; flex-shrink:0;}
.switch input{opacity:0; width:0; height:0;}
.switch .track{position:absolute; inset:0; background:var(--surface-3); border:1px solid var(--border); border-radius:999px; transition:all var(--dur) var(--ease); cursor:pointer;}
.switch .track::before{content:""; position:absolute; width:18px; height:18px; border-radius:50%; background:var(--text-muted); top:3px; right:3px; transition:all var(--dur) var(--ease);}
.switch input:checked + .track{background:var(--accent-soft); border-color:var(--accent);}
.switch input:checked + .track::before{background:var(--accent); transform:translateX(-18px);}
.setting-row{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0;}
.setting-row + .setting-row{border-top:1px solid var(--border);}
.setting-row .label strong{display:block; font-size:.92rem;}
.setting-row .label span{font-size:.78rem; color:var(--text-muted);}

/* ---------- Week grouping ---------- */
.week-heading{
  display:flex; align-items:center; gap:.6rem; margin:1.3rem 0 .7rem;
  font-size:.82rem; font-weight:700; color:var(--text-muted);
}
.week-heading::after{content:""; flex:1; height:1px; background:var(--border);}
.week-heading:first-child{margin-top:0;}

/* ---------- Deformity checklist (assessment form) ---------- */
.deform-cols{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;}
@media (max-width:600px){.deform-cols{grid-template-columns:1fr;}}
.deform-col-title{font-size:.85rem; font-weight:700; margin-bottom:.5rem; color:var(--accent);}
.deform-item{display:flex; align-items:center; gap:.5rem; padding:.35rem 0; border-top:1px solid var(--border);}
.deform-item:first-of-type{border-top:none;}
.deform-item label{flex:1; font-size:.83rem; display:flex; align-items:center; gap:.45rem; cursor:pointer;}
.deform-item input[type="checkbox"]{width:16px; height:16px; flex-shrink:0; accent-color:var(--accent);}
.deform-item select{width:auto; min-width:80px; padding:.3rem .4rem; font-size:.78rem;}

/* ---------- Assessment list cards ---------- */
.assessment-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:.9rem 1rem; margin-bottom:.8rem; box-shadow:var(--shadow-top);}
.assessment-card-head{display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap;}
.assessment-card-head .date{font-weight:700; font-size:.9rem;}
.assessment-flags{display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.55rem;}
.assessment-card .actions{display:flex; gap:.3rem;}

/* ---------- Progressive disclosure (details/summary) ---------- */
details.more-fields{margin-top:.4rem; border:1px dashed var(--border); border-radius:var(--radius-sm); padding:.1rem .8rem;}
details.more-fields summary{cursor:pointer; padding:.6rem 0; font-size:.83rem; font-weight:600; color:var(--accent); list-style:none;}
details.more-fields summary::-webkit-details-marker{display:none;}
details.more-fields summary::before{content:"+ "; }
details.more-fields[open] summary::before{content:"- ";}
details.more-fields .field{margin-top:.7rem;}

/* ---------- Stat mini cards ---------- */
.stat-row{display:flex; gap:.7rem; margin-bottom:1rem; flex-wrap:wrap;}
.stat-mini{flex:1; min-width:110px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:.8rem 1rem; box-shadow:var(--shadow-top);}
.stat-mini span{display:block; font-size:1.35rem; font-weight:800;}
.stat-mini label{font-size:.78rem; color:var(--text-muted);}

/* ---------- Mini chart ---------- */
.mini-chart{width:100%; height:70px; margin-top:.6rem;}
.mini-chart path{fill:none; stroke:var(--accent); stroke-width:2;}
.mini-chart circle{fill:var(--accent);}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .sidebar{display:none;}
  .main{margin-right:0; padding:1.2rem 1rem calc(var(--bottomnav-h) + 1.5rem);}
  .bottom-nav{
    display:flex; position:fixed; bottom:0; right:0; left:0; height:var(--bottomnav-h);
    background:var(--surface); border-top:1px solid var(--border); z-index:30;
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .bn-btn{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
    background:transparent; border:none; color:var(--text-muted); font-size:.68rem; font-weight:600; cursor:pointer;
  }
  .bn-btn .nav-ic{width:21px; height:21px;}
  .bn-btn.active{color:var(--accent);}
  .field-row{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}

/* ---------- Dedicated print area (assessment printouts) ---------- */
/* #print-area stays hidden on screen unconditionally; only @media print
   below ever reveals it, so toggling .print-mode never affects the live
   page - it only changes what a subsequent print renders. */
#print-area{display:none;}
.print-sheet-head{display:flex; align-items:center; gap:.9rem; border-bottom:2px solid #111; padding-bottom:.8rem; margin-bottom:1rem;}
.print-sheet-head img{width:52px; height:52px;}
.print-sheet-head h2{font-size:1.15rem; margin:0;}
.print-sheet-head p{margin:.1rem 0 0; font-size:.8rem; color:#555;}
.print-meta-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; font-size:.82rem; margin-bottom:1rem; border:1px solid #ccc; border-radius:6px; padding:.7rem .9rem;}
.print-meta-grid div span{display:block; color:#666; font-size:.72rem;}
.print-section-title{font-weight:700; font-size:.88rem; background:#eee; padding:.35rem .7rem; margin:1rem 0 .5rem; border-radius:4px;}
.print-deform-cols{display:grid; grid-template-columns:1fr 1fr; gap:1rem; font-size:.82rem;}
.print-deform-cols ul{margin:0; padding:0; list-style:none;}
.print-deform-cols li{display:flex; justify-content:space-between; border-bottom:1px dotted #ccc; padding:.25rem 0;}
.print-block{border:1px solid #ccc; border-radius:6px; padding:.6rem .8rem; font-size:.82rem; margin-bottom:.7rem; white-space:pre-wrap;}
.print-sign-row{display:flex; justify-content:space-between; margin-top:2rem; font-size:.8rem; color:#444;}

/* ---------- Print (both the program sheet, and the dedicated assessment sheet) ---------- */
@media print{
  /* Assessment printout: hide the whole app shell, show only #print-area */
  body.print-mode > .shell,
  body.print-mode #dialog-root,
  body.print-mode #toast-root{display:none !important;}
  body.print-mode #print-area{
    display:block; background:#fff; color:#111; font-family:var(--font);
    padding:1.5rem; max-width:800px; margin:0 auto;
  }

  /* Program sheet printout: hide chrome and interactive controls, print the workspace as-is */
  .sidebar, .bottom-nav, .tabstrip, .toolbar, .page-head, #dialog-root, #toast-root,
  .workspace-head .actions, .reorder-col, .ex-actions, .day-subactions,
  [data-del-day], [data-dup-day]{
    display:none !important;
  }
  body, .main{background:#fff !important; color:#000 !important; margin:0 !important; padding:0 !important;}
  .day-card{border:1px solid #ccc !important; box-shadow:none !important; break-inside:avoid; margin-bottom:.6rem;}
  .day-head input{border:none !important; background:transparent !important; color:#000 !important; padding:0 !important;}
  .ex-meta span{background:transparent !important; border:1px solid #ccc; color:#000 !important;}
  .ex-row{border-top:1px solid #ddd !important;}
}
