/* ===== GLOBAL ===== */

body{
    margin:0;
    padding:0;
    font-family:Arial, sans-serif;
    background:#f7fafc;
    color:#333;
}

/* ===== SIDEBAR ===== */

.sidebar{
    width:250px;
    min-height:100vh;
    background:#0b1e33;
    position:fixed;
    left:0;
    top:0;
    padding:25px;
}

.logo{
    color:#fff;
    font-size:28px;
    font-weight:bold;
    margin-bottom:40px;
}

.sidebar a{
    display:block;
    text-decoration:none;
    color:#fff;
    padding:14px;
    margin-bottom:10px;
    border-radius:12px;
    transition:0.3s;
}

.sidebar a:hover{
    background:#0d6efd;
}

/* ===== MAIN ===== */

.main-content{
    margin-left:270px;
    padding:30px;
    width:calc(100% - 270px);
    box-sizing:border-box;
}

/* ===== TOP BAR ===== */

.topbar{
    display:flex;
    justify-content:space-between;
    margin-bottom:30px;
}

/* ===== DASHBOARD CARDS ===== */

.dashboard-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    width:100%;
}

.card-box{
    background:#fff;
    border-radius:18px;
    padding:25px;
    min-height:140px;
    box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.card-box h4{
    color:#666;
    margin-bottom:10px;
}

.card-box h1{
    margin:0;
    font-size:42px;
}

/* COLORS */

.primary{
    border-left:6px solid #0d6efd;
}

.success{
    border-left:6px solid #198754;
}

.warning{
    border-left:6px solid #ffc107;
}

.danger{
    border-left:6px solid #dc3545;
}

/* TABLE */

.table-box{
    background:#fff;
    margin-top:35px;
    padding:25px;
    border-radius:18px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

table{
    width:100%;
    border-collapse:collapse;
}

table th{
    background:#f1f5f9;
    text-align:left;
    padding:14px;
}

table td{
    padding:14px;
    border-bottom:1px solid #eee;
}

/* BUTTON */

.btn{
    display:inline-block;
    padding:10px 18px;
    border-radius:10px;
    text-decoration:none;
    color:white;
}

.btn-blue{
    background:#0d6efd;
}

.btn-green{
    background:#198754;
}

.btn-red{
    background:#dc3545;
}

/* ===== LOGIN PAGE ===== */

.login-wrapper{
    display:flex;
    min-height:100vh;
}

.login-left{
    width:50%;
    background:linear-gradient(135deg,#0d6efd,#0b5ed7);
    color:white;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:80px;
}

.login-left h1{
    font-size:54px;
    margin-bottom:10px;
}

.login-left p{
    font-size:20px;
    opacity:0.9;
}

.login-right{
    width:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#f8fafc;
}

.login-card{
    width:420px;
    background:white;
    padding:40px;
    border-radius:20px;
    box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

.input-box{
    width:100%;
    padding:14px;
    margin-bottom:20px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:15px;
}

.btn-login{
    width:100%;
    padding:14px;
    border:none;
    background:#0d6efd;
    color:white;
    border-radius:10px;
    cursor:pointer;
    font-size:16px;
}

.error-box{
    background:#fde8e8;
    color:#dc3545;
    padding:12px;
    margin-bottom:20px;
    border-radius:10px;
}

/* PATIENT HERO */

.hero-box{
    background:linear-gradient(135deg,#14b8a6,#0d9488);
    color:white;
    padding:35px;
    border-radius:20px;
    margin-bottom:30px;
}

.patient-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.action-card{
    background:white;
    padding:30px;
    border-radius:18px;
    box-shadow:0 4px 10px rgba(0,0,0,0.06);
    text-align:center;
}

.action-card h3{
    margin-bottom:10px;
}

.action-card p{
    color:#666;
    margin-bottom:20px;
}
/* PROVIDER STATUS */

.provider-hero{
    background:linear-gradient(135deg,#2563eb,#1e40af);
    color:white;
    padding:35px;
    border-radius:20px;
    margin-bottom:30px;
}

.provider-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.visit-card{
    background:white;
    padding:25px;
    border-radius:18px;
    box-shadow:0 4px 10px rgba(0,0,0,0.05);
    text-align:center;
}

.toggle-box{
    background:#ecfdf5;
    padding:20px;
    border-radius:15px;
    margin-top:30px;
}
/* PROVIDER STATUS */

.provider-hero{
    background:linear-gradient(135deg,#2563eb,#1e40af);
    color:white;
    padding:35px;
    border-radius:20px;
    margin-bottom:30px;
}

.provider-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.visit-card{
    background:white;
    padding:25px;
    border-radius:18px;
    box-shadow:0 4px 10px rgba(0,0,0,0.05);
    text-align:center;
}

.toggle-box{
    background:#ecfdf5;
    padding:20px;
    border-radius:15px;
    margin-top:30px;
}

/* MOBILE RESPONSIVE */

@media(max-width:768px){

.sidebar{
    width:100%;
    position:relative;
    min-height:auto;
}

.main-content{
    margin-left:0;
    width:100%;
    padding:15px;
}

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

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

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

.login-wrapper{
    flex-direction:column;
}

.login-left,
.login-right{
    width:100%;
}

.login-left{
    padding:40px;
}

.login-card{
    width:90%;
}

}
/* PATIENT DASHBOARD V2 */

.patient-welcome{
    background:linear-gradient(135deg,#14b8a6,#0f766e);
    padding:35px;
    border-radius:20px;
    color:white;
    margin-bottom:25px;
}

.health-summary{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
    margin-bottom:30px;
}

.quick-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
}

.service-status{
    padding:8px 14px;
    background:#ecfdf5;
    color:#166534;
    border-radius:8px;
    font-size:14px;
    display:inline-block;
}

.small-text{
    color:#666;
    font-size:14px;
    margin-top:8px;
}

/* MOBILE */

@media(max-width:768px){

.main-content{
    margin-left:0;
    width:100%;
    padding:15px;
}

.sidebar{
    width:100%;
    position:relative;
    min-height:auto;
}

.health-summary{
    grid-template-columns:1fr;
}

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

}
/* =========================
PATIENT APP STYLE (D1)
========================= */

.patient-app{
    max-width:1100px;
    margin:auto;
    padding:20px;
}

.patient-navbar{
    background:white;
    padding:18px 25px;
    border-radius:16px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
    margin-bottom:25px;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.patient-menu a{
    margin-left:18px;
    text-decoration:none;
    color:#333;
    font-weight:500;
}

.patient-banner{
    background:linear-gradient(135deg,#0ea5e9,#0284c7);
    color:white;
    padding:40px;
    border-radius:20px;
    margin-bottom:25px;
}

.action-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
    margin-bottom:25px;
}

.big-action{
    background:white;
    padding:35px;
    border-radius:18px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
    text-align:center;
}

.big-action h3{
    margin-bottom:15px;
}

.summary-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    margin-bottom:25px;
}

.summary-card{
    background:white;
    padding:25px;
    border-radius:18px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
    text-align:center;
}

.summary-card h1{
    margin:0;
    font-size:40px;
}

.services-list{
    background:white;
    padding:25px;
    border-radius:18px;
    box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

.service-item{
    padding:12px 0;
    border-bottom:1px solid #eee;
}

/* MOBILE */

@media(max-width:768px){

.patient-navbar{
    flex-direction:column;
    gap:15px;
    text-align:center;
}

.patient-menu a{
    display:block;
    margin:8px 0;
}

.patient-banner{
    padding:25px;
}

}

/* GERIMED v1.2 ADMIN OPERATIONS */
.page-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.page-head h2{margin:0 0 5px}.page-head p,.muted{color:#64748b;margin:0}.version-chip{background:#e0f2fe;color:#0369a1;padding:8px 12px;border-radius:999px;font-weight:700;font-size:13px}.notice{padding:13px 16px;border-radius:10px;margin:0 0 18px;border:1px solid #e2e8f0;background:#fff}.notice.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.notice.danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}.notice.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.split-grid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:22px;align-items:start}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:7px;font-weight:600}.stack-form input,.stack-form select,.search-form input,select,.status-form input,.status-form select{padding:10px 11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;max-width:100%}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.table-responsive{width:100%;overflow:auto}.table-responsive table{min-width:760px}.inline-form{display:inline}.btn.btn-sm,.btn-sm{padding:7px 10px;font-size:12px}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.status-success{background:#dcfce7;color:#166534}.status-warning{background:#fef3c7;color:#92400e}.status-danger{background:#fee2e2;color:#991b1b}.status-neutral{background:#e2e8f0;color:#334155}.op-stack{display:grid;gap:8px;min-width:230px}.status-form{display:grid;grid-template-columns:1fr;gap:6px}.readiness-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:15px}.readiness-item{border:1px solid #e2e8f0;border-radius:10px;padding:12px;display:flex;justify-content:space-between;gap:10px}.readiness-item .ok{color:#15803d;font-weight:700}.readiness-item .bad{color:#b91c1c;font-weight:700}.search-form{display:flex;gap:8px;flex-wrap:wrap}.metrics-8{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.sidebar .logo small{display:block;font-size:10px;opacity:.7;margin-top:2px}@media(max-width:900px){.split-grid{grid-template-columns:1fr}.main-content{padding:18px}.sidebar{position:relative;width:100%;height:auto}.sidebar a{display:inline-block}.main-content{margin-left:0}}

/* GERIMED v1.7 Clinical */
.rx-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 2fr;gap:8px;margin-bottom:10px}.rx-row .input-box{margin:0}@media(max-width:900px){.rx-row{grid-template-columns:1fr}}

.finance-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.finance-form input,.finance-form select{min-width:140px}.quick-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 22px}
