/* ==========================================================
   SISTEM REKAM MEDIK
   Rumah Sakit Harapan
   Modern Medical UI
========================================================== */


/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');


/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


/* ===========================
   BODY
=========================== */

body{

    font-family:'Poppins',sans-serif;

    background:
    linear-gradient(135deg,#edf8ff 0%,#f5fbff 50%,#eefcf8 100%);

    color:#334155;

    min-height:100vh;

}


/* ===========================
   CONTAINER
=========================== */

.container{

    width:96%;

    max-width:1450px;

    margin:30px auto;

}


/* ===========================
   LINK
=========================== */

a{

    text-decoration:none;

    transition:.3s;

}


/* ===========================
   HEADER
=========================== */

.header{

    background:linear-gradient(135deg,#ffffff,#f8ffff);

    padding:35px;

    border-radius:25px;

    margin-bottom:35px;

    box-shadow:
        0 25px 45px rgba(15,118,110,.08),
        0 10px 20px rgba(0,0,0,.04);
}


.logo{

    display:flex;

    align-items:center;

    gap:25px;

}


.logo i{

    font-size:60px;

    color:#18b7a5;
}


.logo h1{

    font-size:48px;

    font-weight:700;

    color:#0f766e;

    letter-spacing:0.5px;

}


.logo p{

    margin-top:8px;

    color:#64748b;

    font-size:18px;

}


/* ===========================
   MENU
=========================== */

.menu{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:35px;

}


.menu a{

    background:white;

    color:#334155;

    padding:14px 22px;

    border-radius:14px;

    display:flex;

    align-items:center;

    gap:10px;

    font-weight:600;

    box-shadow:

    0 10px 25px rgba(0,0,0,.05);

}


.menu a:hover{

    background:#14b8a6;

    color:white;

    transform:translateY(-4px);

}


.menu a.active{

    background:#14b8a6;

    color:white;

}


/* ===========================
   CARD
=========================== */

.card{

    background:white;

    border-radius:25px;

    padding:35px;

    margin:30px 0;

    box-shadow:

    0 18px 45px rgba(0,0,0,.08);

}


/* ===========================
   TITLE
=========================== */

h2{

    color:#0f766e;

    font-size:34px;

    margin-bottom:20px;

}


h2 i{

    color:#14b8a6;

    margin-right:10px;

}


h3{

    color:#334155;

}


p{

    line-height:1.8;

    color:#475569;

}

/* ==========================================================
   DASHBOARD
========================================================== */

.dashboard{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

}


/* ==========================================================
   DASHBOARD CARD
========================================================== */

.dashboard-card{

   position:relative;

    overflow:hidden;

    padding:35px;

    border-radius:25px;

    background:white;

    transition:.4s;

    box-shadow:

    0 12px 35px rgba(0,0,0,.08);

}


/* ==========================================================
   HOVER
========================================================== */

.dashboard-card:hover{
 transform:translateY(-10px);

    box-shadow:

    0 25px 50px rgba(0,0,0,.15);
}


/* ==========================================================
   GARIS ATAS
========================================================== */

.dashboard-card::before{

    c content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:7px;

}

.card-pasien::before{

    background:#18b7a5;

}

.card-dokter::before{

    background:#3b82f6;

}

.card-rekam::before{

    background:#10b981;

}

/* ==========================================================
   LINGKARAN HIASAN
========================================================== */

.dashboard-card::after{

    content:"";

    position:absolute;

    width:170px;

    height:170px;

    border-radius:50%;

    background:rgba(20,184,166,.08);

    right:-45px;

    bottom:-45px;

}


/* ==========================================================
   ICON
========================================================== */

.dashboard-card i{

      font-size:65px;

    margin-bottom:20px;

}
.card-pasien i{

    color:#18b7a5;

}

.card-dokter i{

    color:#3b82f6;

}

.card-rekam i{

    color:#10b981;

}

/* ==========================================================
   JUDUL
========================================================== */

.dashboard-card h3{

    font-size:22px;

    color:#334155;

    margin-bottom:10px;

}


/* ==========================================================
   ANGKA
========================================================== */

.dashboard-card h1{

    font-size:50px;

    margin:15px 0;

    font-weight:700;

}


.dashboard-card small{

    font-size:18px;

    color:#64748b;

}


/* ==========================================================
   WARNA CARD PASIEN
========================================================== */

.card-pasien{

    background:linear-gradient(
        135deg,
        #ecfeff,
        #ffffff
    );

}


/* ==========================================================
   WARNA CARD DOKTER
========================================================== */

.card-dokter{

    background:linear-gradient(
        135deg,
        #eff6ff,
        #ffffff
    );

}


/* ==========================================================
   WARNA CARD REKAM MEDIK
========================================================== */

.card-rekam{

    background:linear-gradient(
        135deg,
        #f0fdf4,
        #ffffff
    );

}


/* ==========================================================
   TOOLBAR
========================================================== */

.toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    flex-wrap:wrap;

    gap:15px;

}


/* ==========================================================
   SEARCH
========================================================== */

.toolbar input{

    width:320px;

    max-width:100%;

}


/* ==========================================================
   BADGE
========================================================== */

.badge{

    display:inline-block;

    background:#d1fae5;

    color:#065f46;

    padding:7px 15px;

    border-radius:30px;

    font-size:13px;

    font-weight:600;

}

/* ==========================================================
   FORM MODERN
========================================================== */

.form-modern{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    font-size:15px;

    font-weight:600;

    color:#334155;

    margin-bottom:8px;

}


/* ==========================================================
   INPUT
========================================================== */

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #d7dee7;

    border-radius:14px;

    font-size:15px;

    background:#fcfeff;

    transition:.3s;

}

.form-group textarea{

    min-height:130px;

    resize:vertical;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:#14b8a6;

    box-shadow:
    0 0 0 4px rgba(20,184,166,.15);

}


/* ==========================================================
   RADIO
========================================================== */

.radio-group{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

.radio-group label{

    display:flex;

    align-items:center;

    gap:8px;

}


/* ==========================================================
   BUTTON
========================================================== */

button,
input[type=submit],
input[type=reset],
.btn-tambah,
.btn-edit,
.btn-delete{

    border:none;

    border-radius:12px;

    padding:12px 20px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

    display:inline-flex;

    align-items:center;

    gap:8px;

}


/* ==========================================================
   BUTTON TAMBAH
========================================================== */

.btn-tambah{

    background:linear-gradient(135deg,#14b8a6,#0f766e);

    color:white;

}

.btn-tambah:hover{

    transform:translateY(-3px);

    box-shadow:0 10px 20px rgba(20,184,166,.25);

}


/* ==========================================================
   BUTTON EDIT
========================================================== */

.btn-edit{

    background:#3b82f6;

    color:white;

}

.btn-edit:hover{

    background:#2563eb;

    transform:translateY(-2px);

}


/* ==========================================================
   BUTTON DELETE
========================================================== */

.btn-delete{

    background:#ef4444;

    color:white;

}

.btn-delete:hover{

    background:#dc2626;

    transform:translateY(-2px);

}


/* ==========================================================
   BUTTON SIMPAN
========================================================== */

button,
input[type=submit]{

    background:linear-gradient(135deg,#14b8a6,#0f766e);

    color:white;

}

button:hover,
input[type=submit]:hover{

    transform:translateY(-3px);

}


/* ==========================================================
   BUTTON RESET
========================================================== */

input[type=reset]{

    background:#94a3b8;

    color:white;

}

input[type=reset]:hover{

    background:#64748b;

}


/* ==========================================================
   FORM ACTION
========================================================== */

.form-action{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

}


/* ==========================================================
   TABLE
========================================================== */

table{

    width:100%;

    border-collapse:collapse;

    overflow:hidden;

    border-radius:18px;

    background:white;

    box-shadow:

    0 15px 30px rgba(0,0,0,.06);

}

table thead{

    background:linear-gradient(135deg,#14b8a6,#0f766e);

    color:white;

}

table th{

    padding:18px;

    text-align:left;

}

table td{

    padding:16px;

    border-bottom:1px solid #eef2f7;

}

table tbody tr{

    transition:.25s;

}

table tbody tr:hover{

    background:#f0fdfa;

}

/* ==========================================================
   FOOTER
========================================================== */

footer{

    margin-top:40px;

    text-align:center;

    color:#64748b;

    padding:25px;

    font-size:15px;

}


/* ==========================================================
   CARD HOVER
========================================================== */

.card{

    transition:.35s;

}

.card:hover{

    transform:translateY(-5px);

    box-shadow:
    0 30px 60px rgba(15,118,110,.12);

}


/* =========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#edf7fb;

}

::-webkit-scrollbar-thumb{

    background:#14b8a6;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#0f766e;

}


/* ==========================================================
   ANIMATION
========================================================== */

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.card,
.dashboard-card,
table,
form{

    animation:fadeUp .5s ease;

}


/* ==========================================================
   RESPONSIVE TABLE
========================================================== */

.table-responsive{

    overflow-x:auto;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:992px){

.dashboard{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.container{

width:96%;

}

.header{

padding:25px;

}

.logo{

flex-direction:column;

text-align:center;

}

.logo h1{

font-size:30px;

}

.menu{

flex-direction:column;

}

.menu a{

justify-content:center;

}

.toolbar{

flex-direction:column;

align-items:stretch;

}

.toolbar input{

width:100%;

}

.dashboard{

grid-template-columns:1fr;

}

.form-action{

flex-direction:column;

}

.form-action a,
.form-action button,
.form-action input{

width:100%;

justify-content:center;

}

table{

font-size:14px;

display:block;

overflow-x:auto;

white-space:nowrap;

}

}

@media(max-width:480px){

.card{

padding:20px;

}

.dashboard-card{

padding:20px;

}

.dashboard-card h1{

font-size:38px;

}

.dashboard-card i{

font-size:42px;

}

h2{

font-size:25px;

}

}


/* ==========================================================
   FINISHING
========================================================== */

::selection{

background:#14b8a6;

color:white;

}

html{

scroll-behavior:smooth;

}