/* Santo Alivio — Apple Liquid Glass (Light) */

@font-face { font-family:"SF Pro Display"; font-weight:100 900; src:local("SF Pro Display"),local(".SF-NSDisplay"); }
@font-face { font-family:"SF Pro Text"; font-weight:100 900; src:local("SF Pro Text"),local(".SF-NSText"); }

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
    --f:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    --ft:"SF Pro Text",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    --bg:#f0f0f5;
    --glass:rgba(255,255,255,.6);
    --glass-solid:rgba(255,255,255,.82);
    --glass-border:rgba(255,255,255,.7);
    --glass-shadow:0 2px 20px rgba(0,0,0,.04), 0 0 0 .5px rgba(255,255,255,.8) inset;
    --glass-shadow-lg:0 8px 40px rgba(0,0,0,.06), 0 0 0 .5px rgba(255,255,255,.9) inset;
    --t1:#3a3a3c;
    --t2:#6e6e73;
    --t3:#aeaeb2;
    --accent:#007aff;
    --green:#34c759;
    --pink:#ff2d55;
    --r:20px;
    --r-sm:14px;
}

body{
    font-family:var(--f);
    background:var(--bg);
    background-image:radial-gradient(ellipse at 20% 0%, rgba(200,210,255,.3) 0%, transparent 50%),
                     radial-gradient(ellipse at 80% 100%, rgba(200,255,220,.2) 0%, transparent 50%);
    color:var(--t1);
    -webkit-font-smoothing:antialiased;
    line-height:1.4;
    padding-bottom:100px;
    min-height:100vh;
}

/* Glass card base */
.glass{
    background:var(--glass-solid);
    backdrop-filter:blur(40px) saturate(1.4);
    -webkit-backdrop-filter:blur(40px) saturate(1.4);
    border:0.5px solid var(--glass-border);
    box-shadow:var(--glass-shadow);
    border-radius:var(--r);
}

/* Header */
.header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(24px) saturate(1.3);
    -webkit-backdrop-filter:blur(24px) saturate(1.3);
    border-bottom:.5px solid rgba(0,0,0,.04);
    padding:14px 20px;
}
.header-inner{max-width:680px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.brand h1{font-size:1.15rem;font-weight:700;letter-spacing:-.4px;color:var(--t1)}
.brand p{font-size:.65rem;color:var(--t2);font-family:var(--ft);margin-top:1px}
.meta{display:flex;gap:6px}
.meta span{font-size:.58rem;font-family:var(--ft);color:var(--t3);background:rgba(0,0,0,.03);padding:4px 9px;border-radius:8px;border:.5px solid rgba(0,0,0,.04)}

/* Terapeutas */
.terapeutas{max-width:680px;margin:16px auto 0;padding:0 20px;display:flex;gap:10px;flex-wrap:wrap}
.terapeuta{
    flex:1;min-width:260px;display:flex;align-items:center;gap:10px;
    padding:14px 16px;
    background:var(--glass-solid);
    backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
    border:.5px solid var(--glass-border);
    border-radius:var(--r-sm);
    box-shadow:var(--glass-shadow);
}
.avatar{
    width:38px;height:38px;border-radius:50%;
    background:linear-gradient(135deg,#e0e0e5,#c8c8d0);
    color:var(--t1);font-size:.7rem;font-weight:700;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.terapeuta strong{display:block;font-size:.78rem;font-weight:600;color:var(--t1)}
.terapeuta small{font-size:.58rem;color:var(--t3);font-family:var(--ft)}

/* Stats */
.stats{max-width:680px;margin:16px auto 0;padding:0 20px;display:flex;gap:10px}
.stat{
    flex:1;text-align:center;padding:14px 10px;
    background:var(--glass-solid);
    backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
    border:.5px solid var(--glass-border);
    border-radius:var(--r-sm);
    box-shadow:var(--glass-shadow);
}
.stat span{display:block;font-size:1.8rem;font-weight:700;letter-spacing:-1px;color:var(--t1)}
.stat label{font-size:.58rem;color:var(--t3);font-family:var(--ft);text-transform:uppercase;letter-spacing:.4px}

/* Analytics */
.analytics{max-width:680px;margin:20px auto 0;padding:0 20px}
.charts-row{display:flex;gap:10px;margin-bottom:10px}
.chart-box{
    flex:1;padding:18px;display:flex;flex-direction:column;align-items:center;
    background:var(--glass-solid);
    backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);
    border:.5px solid var(--glass-border);
    border-radius:var(--r);
    box-shadow:var(--glass-shadow);
}
.chart-box.wide{width:100%;margin-bottom:10px}
.chart-box h4{font-size:.58rem;text-transform:uppercase;letter-spacing:.5px;color:var(--t3);margin-bottom:12px;font-weight:600;align-self:flex-start}
.legend{font-size:.66rem;color:var(--t2);margin-top:10px;line-height:2;text-align:center}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.big-num{font-size:2.2rem;font-weight:800;letter-spacing:-1.5px;margin:4px 0 2px;color:var(--t1)}
.chart-box small{font-size:.62rem;color:var(--t3)}

.bar-chart{display:flex;align-items:flex-end;gap:6px;height:90px;width:100%}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;justify-content:flex-end}
.bar-fill{
    width:100%;border-radius:6px 6px 0 0;min-height:2px;transition:height .3s;
    background:linear-gradient(180deg, rgba(0,122,255,.6), rgba(52,199,89,.4));
}
.bar-lbl{font-size:.48rem;color:var(--t3)}
.bar-val{font-size:.52rem;font-weight:600;color:var(--t2)}

/* List */
.list-section{max-width:680px;margin:20px auto 0;padding:0 20px}
.search-wrap{position:relative;margin-bottom:14px}
.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--t3)}
.search-wrap input{
    width:100%;padding:11px 14px 11px 38px;border:none;
    border-radius:var(--r-sm);font-size:.88rem;font-family:var(--f);color:var(--t1);outline:none;
    background:var(--glass-solid);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:.5px solid var(--glass-border);
    box-shadow:var(--glass-shadow);
}
.search-wrap input::placeholder{color:var(--t3)}
.search-wrap input:focus{box-shadow:var(--glass-shadow), 0 0 0 3px rgba(0,122,255,.12)}

.row{
    display:flex;align-items:center;padding:12px 16px;gap:10px;
    margin-bottom:6px;
    background:var(--glass);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:.5px solid var(--glass-border);
    border-radius:var(--r-sm);
    box-shadow:var(--glass-shadow);
    transition:transform .12s;
}
.row:active{transform:scale(.985)}
.row-num{font-size:.62rem;color:var(--t3);width:20px;text-align:right;flex-shrink:0;font-family:var(--ft)}
.row-info{flex:1;min-width:0}
.row-name{font-size:.86rem;font-weight:500;letter-spacing:-.1px;color:var(--t1)}
.row-meta{font-size:.62rem;color:var(--t2);margin-top:2px;font-family:var(--ft)}
.row-actions{flex-shrink:0}

.btn-sm{
    padding:7px 14px;border:none;border-radius:12px;font-size:.68rem;font-weight:600;
    cursor:pointer;font-family:var(--ft);letter-spacing:-.1px;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.btn-green{background:rgba(52,199,89,.15);color:#1f8a3e;border:.5px solid rgba(52,199,89,.2)}
.btn-blue{background:rgba(0,122,255,.12);color:#0055d4;border:.5px solid rgba(0,122,255,.15)}
.btn-ghost{background:rgba(0,0,0,.03);color:var(--t3);border:.5px solid rgba(0,0,0,.04);cursor:default}

/* FAB */
.fab{
    position:fixed;bottom:28px;right:28px;width:50px;height:50px;border-radius:50%;border:none;
    background:rgba(255,255,255,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    box-shadow:0 4px 20px rgba(0,0,0,.08), 0 0 0 .5px rgba(255,255,255,.9) inset;
    cursor:pointer;z-index:60;display:flex;align-items:center;justify-content:center;
    border:.5px solid rgba(0,0,0,.06);
}
.fab svg{width:20px;height:20px;color:var(--t1)}
.fab:active{transform:scale(.92)}

/* Modal */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.modal.hidden{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.15);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-panel{
    position:relative;width:100%;max-width:480px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(40px) saturate(1.4);-webkit-backdrop-filter:blur(40px) saturate(1.4);
    border-radius:var(--r) var(--r) 0 0;
    border:.5px solid var(--glass-border);
    box-shadow:0 -4px 30px rgba(0,0,0,.06);
}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:.5px solid rgba(0,0,0,.05)}
.modal-head h3{font-size:.92rem;font-weight:600;color:var(--t1)}
.close-btn{width:26px;height:26px;border-radius:50%;border:none;background:rgba(0,0,0,.04);cursor:pointer;display:flex;align-items:center;justify-content:center}
.close-btn svg{width:11px;height:11px;color:var(--t3)}
.modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:8px}
.field{
    width:100%;padding:11px 14px;border:none;border-radius:10px;
    font-size:.88rem;font-family:var(--f);color:var(--t1);outline:none;
    background:rgba(0,0,0,.03);border:.5px solid rgba(0,0,0,.04);
    -webkit-appearance:none;
}
.field::placeholder{color:var(--t3)}
.field:focus{border-color:rgba(0,122,255,.3);box-shadow:0 0 0 3px rgba(0,122,255,.08)}
.modal-foot{padding:14px 20px}
.btn-accent{
    width:100%;padding:14px;border:none;border-radius:12px;
    background:var(--accent);color:#fff;
    font-size:.88rem;font-weight:600;font-family:var(--f);cursor:pointer;
}
.btn-accent:active{opacity:.85}

@media(min-width:768px){.modal{align-items:center}.modal-panel{border-radius:var(--r)}}
@media(max-width:400px){.charts-row{flex-direction:column}.terapeutas{flex-direction:column}}
