/* ================= PAGE WRAPPER ================= */ .main { margin-left: 260px; width: calc(100% - 260px); margin-top: 80px; padding: 20px; transition: all 0.3s ease; } /* ================= CONTAINER ================= */ .container { width: 100%; max-width: none; margin: 0; padding: 25px 30px; background: #ffffff; border-radius: 12px; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08); } /* ================= PAGE TITLE ================= */ .container h2 { text-align: center; color: #007bff; font-size: 22px; font-weight: 700; margin-bottom: 20px; } h3 { text-align: center; margin-top: 10px; } /* ================= FORM ================= */ form { width: 100%; } form label { display: block; margin-top: 10px; font-weight: 600; color: #333; } /* ================= INPUTS ================= */ form input, form select { width: 100%; padding: 10px 12px; margin-top: 6px; border: 1px solid #ccc; border-radius: 6px; background-color: #f8f9ff; font-size: 14px; } form input:focus, form select:focus { outline: none; border-color: #007bff; box-shadow: 0 0 6px rgba(0, 123, 255, 0.35); } /* ================= AUTO FIELDS ================= */ .auto { background-color: #d5edd7; font-weight: 600; } /* ================= FORM GROUP ================= */ .form-group { margin-bottom: 16px; display: flex; flex-direction: column; font-weight: 600; } /* Inline two columns */ .form-group.inline-2 { flex-direction: row; gap: 16px; } .form-group.inline-2 > div { flex: 1; } /* ================= BUTTONS ================= */ button { display: block; width: 60%; margin: 25px auto 0; padding: 12px 20px; background-color: #28a745; color: #fff; border: none; border-radius: 6px; font-size: 15px; font-weight: 600; cursor: pointer; transition: 0.3s; } button:hover { background-color: #218838; box-shadow: 0 4px 10px rgba(40, 167, 69, 0.35); } /* ================= BACK BUTTON ================= */ .back-btn { display: inline-block; margin-top: 20px; padding: 10px 18px; background-color: #007bff; color: #fff; font-size: 15px; font-weight: 600; border-radius: 6px; text-decoration: none; transition: 0.3s; } .back-btn:hover { background-color: #006ae6; } /* ================= STICKY FILTER BAR ================= */ .head { position: sticky; top: 60px; background: #fff; z-index: 1000; padding: 15px 0; border-bottom: 1px solid #ccc; } /* ================= SELECT + DOWNLOAD ================= */ .select-download-wrapper { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; } .select-download-wrapper select { max-width: 300px; } select { width: 100%; max-width: 300px; padding: 10px 12px; border: 1px solid #ccc; border-radius: 6px; margin-top: 6px; font-size: 15px; background-color: white; cursor: pointer; transition: 0.2s; } select:focus { border-color: #007bff; box-shadow: 0 0 5px rgba(0,123,255,0.5); outline: none; } /* ================= DOWNLOAD BUTTON ================= */ #downloadBtn { display: none; padding: 10px 20px; font-size: 16px; background-color: #28a745; color: #fff; text-decoration: none; border-radius: 4px; white-space: nowrap; transition: 0.3s; } #downloadBtn:hover { background-color: #218838; } /* ================= TABLE PREVIEW ================= */ #previewContent { max-height: 60vh; overflow-y: auto; overflow-x: auto; width: 100%; margin-top: 15px; } #previewContent table { width: 100%; min-width: 600px; border-collapse: collapse; } #previewContent th, #previewContent td { padding: 10px; border: 1px solid #ccc; white-space: nowrap; } /* Sticky table header */ #previewContent th { position: sticky; top: 0; background-color: #007bff; color: #fff; z-index: 10; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } /* ================= MESSAGE ================= */ .message { margin-top: 15px; color: #555; font-size: 14px; } /* ================= RESPONSIVE ================= */ @media (max-width: 992px) { .main { margin-left: 0; width: 100%; padding: 20px; } button { width: 100%; } } @media (max-width: 768px) { .container { padding: 18px; } .container h2 { font-size: 18px; } .form-group.inline-2 { flex-direction: column; gap: 10px; } } @media (max-width: 576px) { .main { padding: 15px; margin-top: 70px; } #previewContent table { min-width: 500px; } #previewContent th, #previewContent td { font-size: 13px; padding: 8px; } } @media (max-width: 420px) { form input, form select { font-size: 13px; padding: 9px; } }