@font-face{font-family:Sansation;src:url('fonts/Sansation-Light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Sansation;src:url('fonts/Sansation-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sansation;src:url('fonts/Sansation-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{
  --p186:#ce1126;--p186-soft:#f7e6e8;--p186-dark:#a80e20;
  --p733:#6b4724;--p733-soft:#f1e9df;--p733-dark:#4d3118;
  --cool11:#797c80;--cool11-dark:#53565a;--cool11-soft:#eceeef;
  --paper:#f7f5f2;--surface:#fff;--ink:#35383b;--line:#ddd9d3;
  --shadow:0 12px 35px rgba(77,49,24,.08);--radius:18px;
}
*{box-sizing:border-box}
html{background:var(--paper)}
body{background:var(--paper);color:var(--ink);font-family:Sansation,Arial,sans-serif;font-weight:400;line-height:1.45}
button,input,select,textarea{font-family:Sansation,Arial,sans-serif}
button{min-height:42px;border:1px solid var(--line);background:var(--surface);color:var(--cool11-dark);border-radius:11px;padding:10px 14px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
button:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(83,86,90,.12)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(206,17,38,.3);outline-offset:2px}
.primary,header button,.card button:last-child{border-color:var(--p186);background:var(--p186);color:#fff}
.primary:hover,header button:hover,.card button:last-child:hover{background:var(--p186-dark)}
h1,h2,h3,.stats b,.progress-card strong,.practice-banner strong,.card h3{font-family:Sansation,Arial,sans-serif;color:var(--cool11-dark)}
h1{font-size:40px;font-weight:300;letter-spacing:-.025em;margin:5px 0}
h2{font-size:24px;font-weight:700;letter-spacing:-.01em}
h3{font-size:17px;font-weight:700}
header small,.eyebrow{color:var(--p186);font-weight:700;letter-spacing:.18em}
header p,.muted,.stats small{color:var(--cool11)}
aside{width:260px;background:var(--cool11-dark);padding:24px 18px;border-right:5px solid var(--p186)}
main{margin-left:260px;padding:28px clamp(22px,4vw,58px) 42px}
.brand{background:#fff;border-radius:16px;margin:0 0 24px;padding:12px;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.brand img{max-height:86px;object-fit:contain}
nav{gap:6px}
nav button,aside>button{color:#fff;border:1px solid transparent;border-radius:11px;padding:13px 14px;font-weight:400}
nav button.active{background:var(--p186);color:#fff;border-color:var(--p186)}
nav button:hover{background:rgba(255,255,255,.1);color:#fff;box-shadow:none}
nav button.active:hover{background:var(--p186-dark)}
nav i{background:rgba(255,255,255,.16);color:#fff}
aside>button{background:var(--p733);border-color:rgba(255,255,255,.2);text-align:center;font-weight:700}
header{background:transparent;border-bottom:1px solid var(--line);padding:4px 0 23px;margin-bottom:24px}
.practice-banner{border:0;border-radius:var(--radius);border-left:7px solid var(--p186);padding:16px 20px;box-shadow:var(--shadow);margin-bottom:28px}
.practice-banner strong{font-size:18px;font-weight:700}
.practice-banner span,.practice-banner a{color:var(--cool11-dark)}
.practice-banner a,.practice-footer a,.legal a{color:var(--p186);font-weight:700}
.stats{gap:14px}
.stats article,.panel,.card,.auth,.dialog{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stats article{position:relative;overflow:hidden;padding:22px 20px;border-top:4px solid var(--p733)}
.stats article:first-child{border-top-color:var(--p186)}
.stats b{font-size:32px;font-weight:300}
.panel{padding:24px;margin-top:18px}
.panel-inset,.progress-card{background:var(--p733-soft);border-color:#dfd0bf}
.v8-summary{border-left:0;border-top:5px solid var(--p186)}
.health-ok,.complete{color:var(--p733);font-weight:700}
.patient{gap:14px;border-top:1px solid var(--line);padding:16px 0}
.patient:first-of-type{border-top:0}
.avatar{background:var(--p186-soft);color:var(--p186);font-style:normal;border:1px solid #edc5cb}
.patient small{color:var(--cool11);font-size:11px}
.row-actions button{border-color:#d4cec6;background:#fff}
.row-actions button:first-child{background:var(--p733);border-color:var(--p733);color:#fff}
.tools{border:0;box-shadow:var(--shadow);border-left:5px solid var(--p733);padding:14px}
.tools input,.tools select,.auth input,.dialog input,.dialog select,.dialog textarea,.panel>label input,.meta input{border:1px solid #cbc6bf;background:#fff;border-radius:10px;color:var(--ink)}
.grid{gap:17px}
.card{border:0;box-shadow:var(--shadow)}
.card img,.plan img,.dialog img{background:#f5f3ef}
.card>div{border-top:4px solid var(--p733);padding:17px}
.card small{color:var(--p186);font-weight:700;letter-spacing:.07em}
.card p{color:var(--cool11-dark)}
.plan article{border-top:1px solid var(--line)}
.plan article>button{color:var(--p186);border-color:#e3b7bd}
.history{border-top:5px solid var(--p733)}
.alerts{border-left:0;border-top:5px solid var(--p186)}
.alerts>button{border-top:1px solid var(--line)}
.alerts>button>b{color:var(--p186)}
.privacy-note{background:var(--p186-soft);border-color:#e7b8be;color:var(--p186-dark)}
.modal{background:rgba(53,56,59,.76);backdrop-filter:blur(5px)}
.dialog{border-top:6px solid var(--p186)}
.close{border:0;background:var(--cool11-soft);color:var(--cool11-dark);border-radius:50%;width:42px;padding:0}
.toast{background:var(--p733);border-left:5px solid #fff}.toast.bad{background:var(--p186-dark)}
.auth{border-top:6px solid var(--p186)}
.message{background:var(--cool11-soft);border:1px solid #d9dcde}.message.therapist{background:var(--p733-soft);border-color:#dfd0bf}
.patient-week{border-top:5px solid var(--p733);background:linear-gradient(135deg,#fff 0%,#faf7f3 100%)}
.week-select label{border-color:#d7c8b7}.week-select label:has(input:checked){background:var(--p733);color:#fff;border-color:var(--p733)}
.progress-card progress{accent-color:var(--p186)}
.trend polyline{stroke:var(--p186)}
.week-strip span{background:var(--cool11-soft)}
.week-strip .planned{box-shadow:inset 0 -4px var(--p186)}
.week-strip .today{background:var(--p733);color:#fff}
.danger{color:var(--p186)!important;border-color:var(--p186)!important;background:#fff!important}
.practice-footer{border-top:4px solid var(--p733);padding-top:18px;color:var(--cool11-dark)}
.legal{border-top:6px solid var(--p186);box-shadow:var(--shadow)}
@media(max-width:850px){
  aside{width:100%;padding:12px;border-right:0;border-bottom:5px solid var(--p186)}
  main{margin:0!important;padding:16px 13px 32px}
  .brand{width:190px;margin:0 auto 8px;padding:7px}
  nav button{background:rgba(255,255,255,.06)}
  h1{font-size:32px}
  .practice-banner{border-left:0;border-top:5px solid var(--p186)}
  .panel{padding:18px}
}
@media(max-width:520px){
  h1{font-size:29px}h2{font-size:21px}
  .stats article{padding:16px 13px}.stats b{font-size:27px}
  .patient-admin .row-actions button:first-child{background:var(--p733)!important}
}
@media print{
  body{font-family:Sansation,Arial,sans-serif!important;color:var(--cool11-dark)}
  .panel{box-shadow:none}
}
