/* Add your custom styles here */ .alert { padding: 1rem; margin-bottom: 1rem; border-radius: 0.5rem; border: 1px solid transparent; } .alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; } .alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; } /* Login & Register Page */ .login-container { display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: #f4f4f4; } .login-box { background: #fff; padding: 2.5rem; border-radius: 0.5rem; box-shadow: 0 4px 15px rgba(0,0,0,0.1); width: 100%; max-width: 420px; } .login-header { text-align: center; margin-bottom: 2rem; } .login-header h2 { margin: 0; font-size: 1.8rem; color: #264653; } .login-header p { color: #6c757d; } .logo-link { text-decoration: none; } .login-form .form-group { margin-bottom: 1.5rem; } .login-form label { display: block; margin-bottom: 0.5rem; font-weight: bold; color: #264653; } .login-form input { width: 100%; padding: 0.75rem; border: 1px solid #ccc; border-radius: 0.25rem; } .btn-login { width: 100%; padding: 0.85rem; border: none; border-radius: 0.25rem; background-color: #2A9D8F; color: white; font-size: 1.1rem; cursor: pointer; transition: background-color 0.3s; } .btn-login:hover { background-color: #248a7e; } .login-footer { text-align: center; margin-top: 1.5rem; } .login-footer p { margin: 0.5rem 0; color: #6c757d; } .login-footer a { color: #2A9D8F; text-decoration: none; } .login-footer a:hover { text-decoration: underline; } body { font-family: 'Lato', sans-serif; color: #264653; background-color: #F4F4F4; margin: 0; } h1, h2, h3, h4, h5, h6 { font-family: 'Merriweather', serif; } .navbar { background-color: #FFFFFF; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .hero { background: url('https://picsum.photos/seed/hero/1600/900') no-repeat center center; background-size: cover; color: white; padding: 100px 0; text-align: center; } .hero h1 { font-size: 3.5rem; font-weight: 700; } .hero p { font-size: 1.25rem; } .btn-primary { background-color: #2A9D8F; border-color: #2A9D8F; padding: 10px 20px; border-radius: 0.5rem; color: white; text-decoration: none; display: inline-block; } .btn-secondary { background-color: #E9C46A; border-color: #E9C46A; padding: 10px 20px; border-radius: 0.5rem; } section { padding: 60px 0; } .card { background: #fff; padding: 2rem; border: none; border-radius: 0.5rem; box-shadow: 0 4px 8px rgba(0,0,0,0.05); margin-bottom: 2rem; } /* Dashboard Layout */ .dashboard-wrapper { display: flex; min-height: 100vh; } .sidebar { width: 260px; background: #264653; color: #fff; display: flex; flex-direction: column; } .sidebar-header { padding: 1.5rem; text-align: center; border-bottom: 1px solid #3a5e6c; } .sidebar-header h3 { margin: 0; color: #fff; } .sidebar-header a { text-decoration: none; } .sidebar-nav { flex-grow: 1; padding-top: 1rem; } .sidebar-nav a { display: block; padding: 1rem 1.5rem; color: #e0e0e0; text-decoration: none; transition: background 0.3s, color 0.3s; } .sidebar-nav a:hover, .sidebar-nav a.active { background: #2A9D8F; color: #fff; } .sidebar-footer { padding: 1.5rem; border-top: 1px solid #3a5e6c; } .sidebar-footer a { display: block; text-align: center; color: #e0e0e0; text-decoration: none; } .main-content { flex-grow: 1; background: #f4f4f4; } .main-header { background: #fff; padding: 1rem 2rem; border-bottom: 1px solid #ddd; display: flex; justify-content: space-between; align-items: center; } .content-area { padding: 2rem; } /* Dashboard Table */ .table-responsive { overflow-x: auto; } table { width: 100%; border-collapse: collapse; margin-top: 1rem; } thead { background-color: #f8f9fa; } th, td { padding: 0.9rem 1rem; text-align: left; border-bottom: 1px solid #dee2e6; } tbody tr:hover { background-color: #f1f1f1; } /* Badges */ .badge { padding: 0.3em 0.6em; border-radius: 0.25rem; font-size: 0.85em; font-weight: 700; color: #fff; } .role-admin { background-color: #d9534f; } .role-petugas-pajak { background-color: #f0ad4e; } .role-wajib-pajak { background-color: #5bc0de; } /* Status Badges */ .status-pending { background-color: #f0ad4e; /* Orange */ } .status-approved { background-color: #5cb85c; /* Green */ } .status-rejected { background-color: #d9534f; /* Red */ } /* Form Card for Lapor Pajak */ .form-card { max-width: 800px; margin: 0 auto; } .form-group { margin-bottom: 1.5rem; } .form-group label { display: block; margin-bottom: .5rem; font-weight: bold; } .form-group input, .form-group select { width: 100%; padding: .75rem; border: 1px solid #ccc; border-radius: .25rem; box-sizing: border-box; /* Add this */ } .period-group { display: flex; gap: 1rem; } .period-group select { flex: 1; } .btn-block { width: 100%; } /* Dashboard card header */ .card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; } .card-header h3 { margin: 0; } /* General Dashboard Container */ .dashboard-container { display: flex; min-height: 100vh; } .logo { text-decoration: none; color: #fff; font-family: 'Merriweather', serif; font-size: 1.5rem; } .user-info { display: flex; align-items: center; gap: 1rem; } /* Action Buttons in Tables */ .actions { white-space: nowrap; } .actions .btn { margin-right: 0.5rem; } .btn-sm { padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.2rem; } .btn-success { background-color: #5cb85c; border-color: #5cb85c; color: white; } .btn-danger { background-color: #d9534f; border-color: #d9534f; color: white; }