
:root{
--bg:#eef3f9;
--card:#ffffff;
--text:#0f172a;
--muted:#64748b;
--line:#dbe3ee;
--blue:#2458db;
--blue2:#1d3f9f;
--green:#079669;
--teal:#15998f;
--purple:#7438e8;
--orange:#dd7900;
--red:#dc2626;
--shadow:0 8px 22px rgba(15,23,42,.08);
}

*{box-sizing:border-box}

html,body{
margin:0;
padding:0;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
background:#ffffff;
color:var(--text);
}

body{
display:flex;
justify-content:center;
}

.app{
width:100%;
max-width:480px;
min-height:100vh;
background:var(--bg);
padding-bottom:100px;
}

.topbar{
position:sticky;
top:0;
z-index:50;
background:#fff;
border-bottom:1px solid var(--line);
padding:14px 16px;
display:flex;
justify-content:space-between;
align-items:center;
}

.clinic{
font-size:12px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--blue);
}

h1{
margin:4px 0;
font-size:20px;
font-weight:900;
line-height:1.1;
}

.top-revenue{
text-align:right;
}

.top-revenue small{
display:block;
font-size:11px;
color:var(--muted);
}

.top-revenue b{
display:block;
font-size:20px;
color:var(--green);
}

.logout{
display:inline-block;
margin-top:6px;
padding:8px 14px;
border:1px solid var(--line);
border-radius:999px;
text-decoration:none;
font-weight:800;
color:var(--muted);
background:#fff;
}

.content{
padding:16px;
display:grid;
gap:16px;
}

.card{
background:#fff;
border-radius:24px;
padding:16px;
border:1px solid var(--line);
box-shadow:var(--shadow);
}

.target-card{
background:linear-gradient(135deg,var(--blue),var(--blue2));
color:#fff;
border:none;
}

.target-card *{
color:#fff;
}

.target-top{
display:flex;
justify-content:space-between;
align-items:flex-start;
}

.target-percent b{
font-size:48px;
display:block;
}

.progress{
height:10px;
background:rgba(255,255,255,.25);
border-radius:999px;
margin:16px 0;
overflow:hidden;
}

.progress div{
height:100%;
width:2%;
background:#fff;
border-radius:999px;
}

.target-foot{
display:flex;
justify-content:space-between;
font-size:13px;
opacity:.85;
}

.section-title{
font-size:14px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--muted);
}

.grid{
display:grid;
gap:12px;
}

.grid.three{
grid-template-columns:repeat(3,1fr);
}

.grid.two{
grid-template-columns:repeat(2,1fr);
}

.stat-card{
min-height:100px;
}

.stat-card p{
font-size:11px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--muted);
margin:0 0 10px;
}

.stat-card h2{
font-size:28px;
margin:0;
}

.green{color:var(--green);}
.blue{color:var(--blue);}
.orange{color:var(--orange);}
.red{color:var(--red);}

.bottom-nav{
position:fixed;
bottom:0;
left:50%;
transform:translateX(-50%);
width:100%;
max-width:480px;
background:#fff;
border-top:1px solid var(--line);
display:grid;
grid-template-columns:repeat(6,1fr);
padding:8px 6px 12px;
z-index:100;
}

.bottom-nav a{
text-decoration:none;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:4px;
font-size:18px;
font-weight:800;
color:var(--muted);
padding:8px 2px;
border-radius:18px;
}

.bottom-nav a span{
font-size:10px;
}

.bottom-nav a.active{
background:var(--blue);
color:#fff;
box-shadow:0 10px 20px rgba(36,88,219,.22);
}

.line{
display:flex;
justify-content:space-between;
padding:14px 0;
border-bottom:1px solid var(--line);
}

button{
border:none;
background:var(--blue);
color:#fff;
padding:15px;
border-radius:18px;
font-weight:900;
cursor:pointer;
}

input,select,textarea{
width:100%;
padding:14px 16px;
border:2px solid var(--line);
border-radius:18px;
background:#fff;
font-size:15px;
}

.form{
display:grid;
gap:14px;
}

@media(max-width:520px){

.grid.three{
grid-template-columns:1fr 1fr 1fr;
}

.bottom-nav{
grid-template-columns:repeat(6,1fr);
}

.bottom-nav a{
font-size:16px;
}

.bottom-nav a span{
font-size:8px;
}
}
