202 lines
3.8 KiB
CSS
202 lines
3.8 KiB
CSS
/* === GLOBAL FONT === */
|
|
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');
|
|
|
|
/* === BODY GLOBAL === */
|
|
body {
|
|
font-family: 'Outfit', sans-serif;
|
|
background: #111827;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: flex-start;
|
|
min-height: 100vh;
|
|
overflow-x: hidden;
|
|
margin: 0;
|
|
}
|
|
|
|
/* === FRAME UTAMA (semua halaman) === */
|
|
.mobile-frame {
|
|
width: 100%;
|
|
max-width: 430px;
|
|
min-height: 100vh;
|
|
background: linear-gradient(135deg, #1e3a8a 0%, #3730a3 100%);
|
|
box-shadow: 0 0 25px rgba(0, 0, 0, 0.35);
|
|
overflow: hidden;
|
|
padding: 16px;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* === LOGO BANK (global) === */
|
|
.bank-logo {
|
|
background: #fff;
|
|
border-radius: 12px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
overflow: hidden;
|
|
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
.bank-logo img {
|
|
width: 40px;
|
|
height: 40px;
|
|
object-fit: contain;
|
|
padding: 6px;
|
|
}
|
|
|
|
/* Ukuran logo per halaman (opsional class tambahan) */
|
|
.bank-logo.sm { width: 40px; height: 40px; }
|
|
.bank-logo.md { width: 46px; height: 46px; }
|
|
.bank-logo.lg { width: 70px; height: 70px; }
|
|
|
|
/* === DASHBOARD CARD === */
|
|
.dashboard-card,
|
|
.login-card {
|
|
background: #fff;
|
|
border-radius: 10px;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
padding: 1rem;
|
|
width: 100%;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* === HEADER === */
|
|
.header-flex {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
margin-bottom: 1.25rem;
|
|
}
|
|
|
|
.header-right p {
|
|
margin: 0;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.header-right p:first-child {
|
|
font-weight: 700;
|
|
color: #fff;
|
|
font-size: clamp(1rem, 2.8vw, 1.2rem);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.header-right p:last-child {
|
|
color: #c7d2fe;
|
|
font-size: clamp(.8rem, 2vw, .9rem);
|
|
margin-top: 2px;
|
|
}
|
|
|
|
/* === CAMERA PREVIEW (rekam.php) === */
|
|
.camera-preview {
|
|
width: 100%;
|
|
height: 250px;
|
|
background: #f3f4f6;
|
|
border-radius: 10px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border: 2px dashed #d1d5db;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.camera-preview img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* === STATUS CARD === */
|
|
.status-card {
|
|
transition: all 0.3s ease;
|
|
padding: 0.6rem;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.status-card.active {
|
|
background-color: rgb(185, 231, 216);
|
|
color: #fff;
|
|
border-color: rgb(179, 224, 209);
|
|
}
|
|
|
|
/* === PRESENSI BUTTONS (rekam.php only) === */
|
|
.presensi-btn {
|
|
min-height: 80px;
|
|
touch-action: manipulation;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
.presensi-btn:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
.presensi-btn:disabled {
|
|
opacity: 0.6;
|
|
transform: none;
|
|
}
|
|
|
|
/* === ACTION BUTTONS (dashboard.php) === */
|
|
.action-btn {
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.action-btn:hover {
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
/* === RESPONSIVE === */
|
|
@media (max-width: 430px) {
|
|
.mobile-frame { padding: 12px; }
|
|
.bank-logo.md { width: 42px; height: 42px; }
|
|
.header-right p:first-child { font-size: clamp(.95rem, 3.5vw, 1.1rem); }
|
|
.header-right p:last-child { font-size: clamp(.75rem, 3vw, .85rem); }
|
|
|
|
/* Mobile presensi buttons - tetap 3 kolom tapi lebih kecil (rekam.php only) */
|
|
.presensi-btn {
|
|
min-height: 60px;
|
|
padding: 8px 4px;
|
|
}
|
|
|
|
.presensi-btn i {
|
|
font-size: 1.2rem;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.presensi-btn span {
|
|
font-size: 0.7rem;
|
|
line-height: 1.1;
|
|
}
|
|
|
|
.presensi-btn span:last-child {
|
|
font-size: 0.6rem;
|
|
margin-top: 2px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 375px) {
|
|
.presensi-btn {
|
|
min-height: 55px;
|
|
padding: 6px 2px;
|
|
}
|
|
|
|
.presensi-btn i {
|
|
font-size: 1rem;
|
|
margin-bottom: 3px;
|
|
}
|
|
|
|
.presensi-btn span {
|
|
font-size: 0.65rem;
|
|
}
|
|
|
|
.presensi-btn span:last-child {
|
|
font-size: 0.55rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 768px) {
|
|
.mobile-frame {
|
|
border-radius: 0;
|
|
margin: 0 auto;
|
|
}
|
|
}
|