/* ===========================================================
   TOKOKU UI FRAMEWORK
   Global Style
   Author : Mas Bambang
=========================================================== */

/* ========= RESET ========= */

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

html{

    scroll-behavior:smooth;

}

body{

    background:#f5f7fb;

    color:#333;

    font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    sans-serif;

    font-size:15px;

    line-height:1.6;

}

/* ========= LINK ========= */

a{

    text-decoration:none;

    color:inherit;

}

img{

    max-width:100%;

    display:block;

}

/* ========= CONTAINER ========= */

.container{

    width:95%;

    max-width:1400px;

    margin:auto;

}

/* ========= HEADER ========= */

.topbar{

    background:#fff;

    box-shadow:0 2px 15px rgba(0,0,0,.05);

}

.topbar .container{

    display:flex;

    justify-content:space-between;

    align-items:center;

    height:72px;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo-icon{

    font-size:34px;

}

.logo-text{

    font-size:28px;

    font-weight:700;

    color:#2563eb;

}

.breadcrumb{

    color:#888;

    font-size:14px;

}

.breadcrumb span{

    margin:0 10px;

}

/* ========= CARD ========= */

.card{

    background:#fff;

    border-radius:16px;

    padding:25px;

    margin-bottom:22px;

    border:1px solid #ececec;

    box-shadow:0 8px 24px rgba(0,0,0,.05);

}

/* ========= TYPOGRAPHY ========= */

h1{

    font-size:32px;

    margin-bottom:20px;

}

h2{

    font-size:22px;

    margin-bottom:18px;

    color:#222;

}

h3{

    font-size:18px;

    margin-bottom:15px;

}

p{

    color:#666;

}

.title{

    font-size:24px;

    font-weight:bold;

}

.subtitle{

    color:#888;

    margin-top:6px;

}

/* ========= FORM ========= */

.form-group{

    margin-bottom:18px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

input,
select,
textarea{

    width:100%;

    padding:13px 15px;

    border:1px solid #d7d7d7;

    border-radius:10px;

    background:#fff;

    font-size:15px;

    transition:.25s;

}

textarea{

    resize:vertical;

}

input:focus,
select:focus,
textarea:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

/* ========= BUTTON ========= */

button{

    cursor:pointer;

    transition:.25s;

    border:none;

}

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:14px 22px;

    border-radius:10px;

    font-weight:600;

}

.btn-primary{

    background:#2563eb;

    color:#fff;

}

.btn-primary:hover{

    background:#1d4ed8;

}

.btn-success{

    background:#16a34a;

    color:#fff;

}

.btn-success:hover{

    background:#15803d;

}

.btn-danger{

    background:#dc2626;

    color:#fff;

}

.btn-danger:hover{

    background:#b91c1c;

}

.btn-warning{

    background:#f59e0b;

    color:#fff;

}

.btn-warning:hover{

    background:#d97706;

}

/* ========= GRID ========= */

.row{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

}

.col-4{

    flex:1;

    min-width:250px;

}

.col-6{

    flex:1;

    min-width:320px;

}

.col-12{

    width:100%;

}

/* ========= ALERT ========= */

.alert{

    padding:15px;

    border-radius:10px;

    margin-bottom:20px;

}

.alert-success{

    background:#ecfdf5;

    color:#15803d;

}

.alert-danger{

    background:#fef2f2;

    color:#b91c1c;

}

.alert-warning{

    background:#fffbeb;

    color:#b45309;

}

/* ========= BADGE ========= */

.badge{

    display:inline-block;

    padding:5px 12px;

    border-radius:30px;

    font-size:12px;

    font-weight:600;

}

.badge-success{

    background:#dcfce7;

    color:#15803d;

}

.badge-danger{

    background:#fee2e2;

    color:#dc2626;

}

.badge-primary{

    background:#dbeafe;

    color:#2563eb;

}

/* ========= TABLE ========= */

table{

    width:100%;

    border-collapse:collapse;

}

table th{

    background:#f8fafc;

    text-align:left;

    padding:14px;

}

table td{

    padding:14px;

    border-top:1px solid #eee;

}

/* ========= LOADING ========= */

.loading{

    text-align:center;

    padding:25px;

    color:#666;

}

/* ========= FOOTER ========= */

.footer{

    margin-top:60px;

    padding:25px;

    text-align:center;

    color:#888;

    font-size:14px;

}