modification ui changes base pages,login, manus and from chnages and adding filds. V2 commit
This commit is contained in:
@@ -1,130 +1,297 @@
|
||||
/* Reset and base styles */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* ================= GLOBAL ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
body {
|
||||
background-color: #f0f4ff;
|
||||
/* very light blue background */
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
/* primary blue */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
transition: border-color 0.3s ease;
|
||||
}
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
}
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
/* Back button styling */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #6c757d;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #5a6268;
|
||||
}
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.form-group select {
|
||||
width: 100%;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #cbd3da;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
background-color: #fdfdfd;
|
||||
height: 40px;
|
||||
cursor: pointer;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.form-group select:focus {
|
||||
border-color: #007BFF;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 0 8px rgba(0, 123, 255, 0.25);
|
||||
outline: none;
|
||||
}
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
width: calc(100% - 260px);
|
||||
padding: 30px;
|
||||
margin-top: 80px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
width: 95%;
|
||||
margin: auto;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
background: #007bff;
|
||||
padding: 10px 16px;
|
||||
color: white;
|
||||
display: inline-block;
|
||||
border-radius: 6px;
|
||||
margin-bottom: 20px;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
|
||||
/* ================= FORM ================= */
|
||||
.form-group {
|
||||
margin-bottom: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
form input,
|
||||
form select {
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
margin-top: 5px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
background-color: #f8f9ff;
|
||||
/* subtle input background */
|
||||
outline: none;
|
||||
|
||||
}
|
||||
|
||||
|
||||
input:focus,
|
||||
select:focus {
|
||||
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
|
||||
/* blue glow on focus */
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
.auto {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccd1d9;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
background-color: #d5edd7;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
/* ================= SUBMIT BUTTON (GREEN) ================= */
|
||||
button {
|
||||
width: 60%;
|
||||
margin-top: 20px;
|
||||
margin-left: 20%;
|
||||
padding: 12px 20px;
|
||||
background-color: #28a745;
|
||||
/* Bootstrap green */
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
button:hover {
|
||||
background-color: #218838;
|
||||
/* Darker green on hover */
|
||||
box-shadow: 0 4px 10px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #1e7e34;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.action-cell form {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* Full width rows (span 2 columns) */
|
||||
.form-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.form-group.full-width {
|
||||
grid-column: span 2;
|
||||
}
|
||||
|
||||
/* Special case: two inputs inside one form-group */
|
||||
.form-group.inline-2 {
|
||||
flex-direction: row;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.form-group.inline-2>div {
|
||||
flex: 1;
|
||||
}
|
||||
@@ -1,126 +1,155 @@
|
||||
/* ...existing styles... (no changes needed) */
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
background-color: #f0f4ff;
|
||||
/* very light blue background */
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
max-width: 90%;
|
||||
margin: 20px 20px 20px 20px;
|
||||
/* top margin to clear navbar */
|
||||
background: white;
|
||||
padding: 10%;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h2 {
|
||||
.no-record {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
form {
|
||||
|
||||
/* ================= FORM ================= */
|
||||
form label {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
/* dark blue text */
|
||||
}
|
||||
|
||||
form input,
|
||||
form select {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-top: 6px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
form input:focus,
|
||||
form select:focus {
|
||||
border-color: #0056b3;
|
||||
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
|
||||
}
|
||||
|
||||
.auto {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccd1d9;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
background-color: #d5edd7;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
/* ================= SUBMIT BUTTON (GREEN) ================= */
|
||||
button {
|
||||
width: 60%;
|
||||
margin-top: 20px;
|
||||
margin-left: 20%;
|
||||
padding: 12px 20px;
|
||||
background-color: #28a745;
|
||||
/* Bootstrap green */
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #218838;
|
||||
/* Darker green on hover */
|
||||
box-shadow: 0 4px 10px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #1e7e34;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
/* ================= TABLE (if used in this page) ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Full width rows (span 2 columns) */
|
||||
.form-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
.form-group.full-width {
|
||||
grid-column: span 2;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
/* Special case: two inputs inside one form-group */
|
||||
.form-group.inline-2 {
|
||||
flex-direction: row;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
|
||||
/* Back button styling */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #6c757d;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #5a6268;
|
||||
}
|
||||
|
||||
.form-group select {
|
||||
width: 100%;
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #cbd3da;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
background-color: #fdfdfd;
|
||||
height: 40px;
|
||||
cursor: pointer;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
.form-group select:focus {
|
||||
border-color: #007BFF;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 0 8px rgba(0, 123, 255, 0.25);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
.form-group.inline-2>div {
|
||||
flex: 1;
|
||||
}
|
||||
@@ -1,105 +1,214 @@
|
||||
/* Same styling for layout */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/* ================= GLOBAL ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background-color: #f5f7fa;
|
||||
color: #333;
|
||||
padding: 30px 0;
|
||||
}
|
||||
body {
|
||||
background-color: #f0f4ff;
|
||||
/* very light blue background */
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 90%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
background-color: #fff;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
font-size: 28px;
|
||||
color: #2c3e50;
|
||||
}
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
outline: none;
|
||||
}
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
margin-top: 30px;
|
||||
padding: 12px;
|
||||
background-color: #007BFF;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* Back button styling */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #6c757d;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #5a6268;
|
||||
}
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
}
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
font-size: 15px;
|
||||
}
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
/* ================= LOGOUT ================= */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
width: calc(100% - 260px);
|
||||
padding: 30px;
|
||||
margin-top: 80px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
width: 95%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
|
||||
/* ================= FORM ================= */
|
||||
.form-group {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
form label {
|
||||
display: block;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
form input,
|
||||
form select {
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
background-color: #f8f9ff;
|
||||
outline: none;
|
||||
transition: border-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
input:focus,
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
|
||||
}
|
||||
|
||||
/* ================= SUBMIT BUTTON (GREEN) ================= */
|
||||
button {
|
||||
width: 60%;
|
||||
margin-top: 20px;
|
||||
margin-left: 20%;
|
||||
padding: 12px 20px;
|
||||
background-color: #28a745;
|
||||
/* Bootstrap green */
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #218838;
|
||||
/* Darker green on hover */
|
||||
box-shadow: 0 4px 10px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #1e7e34;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
@@ -1,135 +1,155 @@
|
||||
body {
|
||||
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||
background: #eef2f7;
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 40px;
|
||||
color: #333;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f0f4ff;
|
||||
/* very light blue background */
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 900px;
|
||||
margin: auto;
|
||||
background: #fff;
|
||||
padding: 40px 50px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 6px 25px rgba(0, 0, 0, 0.1);
|
||||
transition: box-shadow 0.3s ease;
|
||||
max-width: 90%;
|
||||
margin: 20px 20px 20px 20px;
|
||||
/* top margin to clear navbar */
|
||||
background: white;
|
||||
padding: 10%;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.container:hover {
|
||||
box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
h2 {
|
||||
.no-record {
|
||||
text-align: center;
|
||||
margin-bottom: 35px;
|
||||
font-size: 30px;
|
||||
color: #2c3e50;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.5px;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
form {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 20px 30px;
|
||||
|
||||
/* ================= FORM ================= */
|
||||
form label {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
/* dark blue text */
|
||||
}
|
||||
|
||||
form input,
|
||||
form select {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-top: 6px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
form input:focus,
|
||||
form select:focus {
|
||||
border-color: #0056b3;
|
||||
box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
|
||||
}
|
||||
|
||||
.auto {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccd1d9;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
background-color: #d5edd7;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
/* ================= SUBMIT BUTTON (GREEN) ================= */
|
||||
button {
|
||||
width: 60%;
|
||||
margin-top: 20px;
|
||||
margin-left: 20%;
|
||||
padding: 12px 20px;
|
||||
background-color: #28a745;
|
||||
/* Bootstrap green */
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
transition: background-color 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #218838;
|
||||
/* Darker green on hover */
|
||||
box-shadow: 0 4px 10px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
button:active {
|
||||
background-color: #1e7e34;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.35);
|
||||
}
|
||||
|
||||
/* ================= TABLE (if used in this page) ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* Full width rows (span 2 columns) */
|
||||
.form-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: 600;
|
||||
margin-bottom: 8px;
|
||||
color: #555;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
input[type="number"] {
|
||||
padding: 10px 12px;
|
||||
border: 1px solid #ccd1d9;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
background-color: #fafafa;
|
||||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
input[type="number"]:focus {
|
||||
border-color: #007BFF;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 8px rgba(0, 123, 255, 0.25);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
button[type="submit"] {
|
||||
.form-group.full-width {
|
||||
grid-column: span 2;
|
||||
margin-top: 25px;
|
||||
padding: 15px;
|
||||
background: linear-gradient(135deg, #007BFF, #0056b3);
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s, background 0.3s;
|
||||
}
|
||||
|
||||
button[type="submit"]:hover {
|
||||
background: linear-gradient(135deg, #0056b3, #00408f);
|
||||
transform: translateY(-2px);
|
||||
/* Special case: two inputs inside one form-group */
|
||||
.form-group.inline-2 {
|
||||
flex-direction: row;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* Back button styling */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #6c757d;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #5a6268;
|
||||
}
|
||||
|
||||
|
||||
/* Style for Year Dropdown */
|
||||
select {
|
||||
padding: 10px 5px;
|
||||
border: 1px solid #ccd1d9;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
background-color: #fafafa;
|
||||
transition: all 0.25s ease-in-out;
|
||||
cursor: pointer;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007BFF;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 8px rgba(0, 123, 255, 0.25);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Responsive */
|
||||
@media (max-width: 768px) {
|
||||
form {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
}
|
||||
.form-group.inline-2>div {
|
||||
flex: 1;
|
||||
}
|
||||
207
static/css/ao_report.css
Normal file
207
static/css/ao_report.css
Normal file
@@ -0,0 +1,207 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: white;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #d6d6d6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.menu-items {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
transition: 0.2s;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f4faff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #0056b3;
|
||||
border-bottom: 1px solid #e2eaff;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
margin-top: 80px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: auto;
|
||||
background: #fff;
|
||||
padding: 35px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3e50;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ================= FORM ELEMENTS ================= */
|
||||
label {
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
width: 100%;
|
||||
max-width: 250px;
|
||||
margin-top: 8px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 25px;
|
||||
padding: 12px 25px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
/* Optional: responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
select {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
207
static/css/cit_report.css
Normal file
207
static/css/cit_report.css
Normal file
@@ -0,0 +1,207 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: white;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #d6d6d6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.menu-items {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
transition: 0.2s;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f4faff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #0056b3;
|
||||
border-bottom: 1px solid #e2eaff;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
margin-top: 80px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: auto;
|
||||
background: #fff;
|
||||
padding: 35px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3e50;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ================= FORM ELEMENTS ================= */
|
||||
label {
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
width: 100%;
|
||||
max-width: 250px;
|
||||
margin-top: 8px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 25px;
|
||||
padding: 12px 25px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
/* Optional: responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
select {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
255
static/css/display_ao.css
Normal file
255
static/css/display_ao.css
Normal file
@@ -0,0 +1,255 @@
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff; /* primary blue */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
width: auto;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* ================= MENU BUTTONS ================= */
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
.no-record {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
|
||||
/* ================= LOGOUT ================= */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
margin-top: 80px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 95%;
|
||||
margin: auto;
|
||||
background: white;
|
||||
padding: 30px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
.btn {
|
||||
padding: 8px 15px;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
|
||||
}
|
||||
|
||||
.btn-add {
|
||||
background-color: #28a745;
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
position: absolute; /* Pins button to the right side */
|
||||
right: 0;
|
||||
|
||||
}
|
||||
|
||||
.btn-update {
|
||||
background-color: #007bff;
|
||||
}
|
||||
|
||||
.btn-delete {
|
||||
background-color: #dc3545;
|
||||
}
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.action-cell form {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
251
static/css/display_cit.css
Normal file
251
static/css/display_cit.css
Normal file
@@ -0,0 +1,251 @@
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff; /* primary blue */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
width: auto;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* ================= MENU BUTTONS ================= */
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
.no-record {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
|
||||
/* ================= LOGOUT ================= */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 20px;
|
||||
padding: 8px;
|
||||
width: calc(100% - 50px);
|
||||
margin-top: 50px;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 95%;
|
||||
margin: auto;
|
||||
background: white;
|
||||
padding: 8px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
.btn {
|
||||
padding: 8px 15px;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.btn-add {
|
||||
background-color: #28a745;
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.btn-update {
|
||||
background-color: #007bff;
|
||||
}
|
||||
|
||||
.btn-delete {
|
||||
background-color: #dc3545;
|
||||
}
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.action-cell form {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
254
static/css/display_itat.css
Normal file
254
static/css/display_itat.css
Normal file
@@ -0,0 +1,254 @@
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff; /* primary blue */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
width: auto;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* ================= MENU BUTTONS ================= */
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
.no-record {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
|
||||
/* ================= LOGOUT ================= */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 20px;
|
||||
padding: 8px;
|
||||
width: calc(100% - 50px);
|
||||
margin-top: 50px;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 95%;
|
||||
margin: auto;
|
||||
background: white ;
|
||||
padding: 30px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
.btn {
|
||||
padding: 8px 15px;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.btn-add {
|
||||
background-color: #28a745;
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.btn-update {
|
||||
background-color: #007bff;
|
||||
}
|
||||
|
||||
.btn-delete {
|
||||
background-color: #dc3545;
|
||||
}
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.action-cell form {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
251
static/css/display_itr.css
Normal file
251
static/css/display_itr.css
Normal file
@@ -0,0 +1,251 @@
|
||||
/* ================= RESET ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff; /* primary blue */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
width: auto;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e0e0e0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* ================= MENU BUTTONS ================= */
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #cce5ff;
|
||||
color: #0056b3;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f0f8ff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #e0e0e0;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #cce5ff;
|
||||
color: #004085;
|
||||
}
|
||||
.no-record {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
margin-top: 20px;
|
||||
color: #555;
|
||||
padding: 15px;
|
||||
background: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
|
||||
/* ================= LOGOUT ================= */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a2cdfa;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
margin-top: 80px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* ================= CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 95%;
|
||||
margin: auto;
|
||||
background: white;
|
||||
padding: 30px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
.btn {
|
||||
padding: 8px 15px;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.btn-add {
|
||||
background-color: #28a745;
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.btn-update {
|
||||
background-color: #007bff;
|
||||
}
|
||||
|
||||
.btn-delete {
|
||||
background-color: #dc3545;
|
||||
}
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
.table-wrapper {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #dee2e6;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #f0f8ff;
|
||||
}
|
||||
|
||||
td:first-child,
|
||||
th:first-child {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.action-cell form {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: background 0.3s ease;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #0056b3;
|
||||
}
|
||||
147
static/css/documents.css
Normal file
147
static/css/documents.css
Normal file
@@ -0,0 +1,147 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
body {
|
||||
background-color: #f4f6f9;
|
||||
font-family: "Segoe UI", Arial, sans-serif;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT FIX ================= */
|
||||
/* base.html usually gives sidebar width ~250px */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
padding: 40px 30px;
|
||||
}
|
||||
|
||||
/* ================= CARD / CONTAINER ================= */
|
||||
.container {
|
||||
max-width: 1100px;
|
||||
margin: 0 auto;
|
||||
background: #ffffff;
|
||||
padding: 35px 40px;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
/* ================= HEADING ================= */
|
||||
.container h2 {
|
||||
text-align: center;
|
||||
color: #0d6efd;
|
||||
font-size: 26px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
/* ================= FILTER FORM ================= */
|
||||
form {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
gap: 18px;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
form label {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
form select {
|
||||
width: 220px;
|
||||
padding: 10px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #ced4da;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* APPLY BUTTON (GREEN) */
|
||||
form button {
|
||||
background-color: #28a745;
|
||||
color: #ffffff;
|
||||
border: none;
|
||||
padding: 11px 28px;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
form button:hover {
|
||||
background-color: #218838;
|
||||
}
|
||||
|
||||
/* ================= TABLE ================= */
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
thead {
|
||||
background-color: #0d6efd;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
thead th {
|
||||
padding: 14px 12px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
tbody td {
|
||||
padding: 12px;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #e3e6ea;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even) {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
|
||||
tbody tr:hover {
|
||||
background-color: #eef4ff;
|
||||
}
|
||||
|
||||
/* ================= ACTION LINKS ================= */
|
||||
table a {
|
||||
text-decoration: none;
|
||||
color: #ffffff;
|
||||
padding: 7px 16px;
|
||||
border-radius: 6px;
|
||||
font-size: 13px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Download button */
|
||||
table a[href*="download"] {
|
||||
background-color: #17a2b8;
|
||||
}
|
||||
|
||||
table a[href*="download"]:hover {
|
||||
background-color: #138496;
|
||||
}
|
||||
|
||||
/* View button */
|
||||
table a[href*="view"] {
|
||||
background-color: #20c997;
|
||||
}
|
||||
|
||||
table a[href*="view"]:hover {
|
||||
background-color: #17a589;
|
||||
}
|
||||
|
||||
/* ================= RESPONSIVE ================= */
|
||||
@media (max-width: 992px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
form {
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
form select,
|
||||
form button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
165
static/css/index.css
Normal file
165
static/css/index.css
Normal file
@@ -0,0 +1,165 @@
|
||||
/* RESET */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* NAVBAR */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
width: auto;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
/* SIDEBAR */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: #ffffff;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #e5d1be;
|
||||
transition: 0.3s;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.sidebar h2 {
|
||||
color: #007bff;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
/* Menu buttons */
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #f0d6c6;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #88ccfa;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #f3cab1;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #b3dbf7;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* Logout */
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #a8d8f8;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* MAIN CONTENT */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
margin-top: 80px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.main.collapsed {
|
||||
margin-left: 20px;
|
||||
width: calc(100% - 40px);
|
||||
}
|
||||
|
||||
/* Container */
|
||||
.container {
|
||||
background: white;
|
||||
padding: 40px;
|
||||
border-radius: 12px;
|
||||
max-width: 800px;
|
||||
margin: auto;
|
||||
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);
|
||||
}
|
||||
|
||||
.header {
|
||||
font-size: 32px;
|
||||
color: #2c3e50;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
207
static/css/itat_report.css
Normal file
207
static/css/itat_report.css
Normal file
@@ -0,0 +1,207 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: white;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #d6d6d6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.menu-items {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
transition: 0.2s;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f4faff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #0056b3;
|
||||
border-bottom: 1px solid #e2eaff;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
margin-top: 80px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: auto;
|
||||
background: #fff;
|
||||
padding: 35px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3e50;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ================= FORM ELEMENTS ================= */
|
||||
label {
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
width: 100%;
|
||||
max-width: 250px;
|
||||
margin-top: 8px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 25px;
|
||||
padding: 12px 25px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
/* Optional: responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
select {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
207
static/css/itr_report.css
Normal file
207
static/css/itr_report.css
Normal file
@@ -0,0 +1,207 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
||||
background-color: #f4f7f9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: white;
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #d6d6d6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.menu-items {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
transition: 0.2s;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f4faff;
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #0056b3;
|
||||
border-bottom: 1px solid #e2eaff;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN ================= */
|
||||
.main {
|
||||
margin-left: 260px;
|
||||
margin-top: 80px;
|
||||
padding: 30px;
|
||||
width: calc(100% - 260px);
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: auto;
|
||||
background: #fff;
|
||||
padding: 35px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3e50;
|
||||
margin-bottom: 25px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ================= FORM ELEMENTS ================= */
|
||||
label {
|
||||
font-weight: 600;
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
select {
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
width: 100%;
|
||||
max-width: 250px;
|
||||
margin-top: 8px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
cursor: pointer;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
select:focus {
|
||||
border-color: #007bff;
|
||||
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 25px;
|
||||
padding: 12px 25px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
/* Optional: responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
select {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
76
static/css/report.css
Normal file
76
static/css/report.css
Normal file
@@ -0,0 +1,76 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 20px;
|
||||
padding: 8px;
|
||||
width: calc(100% - 50px);
|
||||
margin-top: 50px;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.container {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
width: 95%;
|
||||
margin: auto;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
color: #007bff;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
ul li {
|
||||
margin: 14px 0;
|
||||
}
|
||||
|
||||
ul li a {
|
||||
color: #007bff;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
ul li a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
/* ================= RESPONSIVE ================= */
|
||||
@media (max-width: 768px) {
|
||||
.main {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
72
static/css/summary.css
Normal file
72
static/css/summary.css
Normal file
@@ -0,0 +1,72 @@
|
||||
/* ================= FORM ELEMENTS ================= */
|
||||
form label {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
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;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 20px;
|
||||
padding: 10px 18px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
|
||||
.main {
|
||||
margin-left: 20px;
|
||||
padding: 8px;
|
||||
width: calc(100% - 50px);
|
||||
margin-top: 50px;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
/* ================= BACK BUTTON ================= */
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background-color: #006ae6;
|
||||
}
|
||||
202
static/css/upload.css
Normal file
202
static/css/upload.css
Normal file
@@ -0,0 +1,202 @@
|
||||
/* ================= GLOBAL ================= */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #f4f7f6;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
/* ================= NAVBAR ================= */
|
||||
.navbar {
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
background-color: #007bff;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
color: white;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.nav-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.nav-logo {
|
||||
height: 80px;
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.toggle-btn {
|
||||
font-size: 26px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ================= SIDEBAR ================= */
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
background: white; /* ← clean white sidebar */
|
||||
height: calc(100vh - 60px);
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
left: 0;
|
||||
padding-top: 20px;
|
||||
overflow-y: auto;
|
||||
border-right: 1px solid #d6d6d6;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.sidebar.hide {
|
||||
left: -250px;
|
||||
}
|
||||
|
||||
.menu-items {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
padding: 14px 20px;
|
||||
font-size: 17px;
|
||||
color: #007bff; /* blue text */
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
transition: 0.2s;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.menu-btn:hover {
|
||||
background: #e9f3ff; /* light blue hover */
|
||||
}
|
||||
|
||||
.submenu {
|
||||
display: none;
|
||||
background: #f4faff; /* very light blue */
|
||||
}
|
||||
|
||||
.submenu a {
|
||||
display: block;
|
||||
padding: 12px 35px;
|
||||
color: #0056b3;
|
||||
border-bottom: 1px solid #e2eaff;
|
||||
transition: 0.2s;
|
||||
}
|
||||
|
||||
.submenu a:hover {
|
||||
background: #e9f3ff;
|
||||
}
|
||||
|
||||
.sidebar-logout {
|
||||
margin-top: auto;
|
||||
padding: 10px 16px;
|
||||
background: #007bff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 6px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.sidebar-logout:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
|
||||
.logout-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
/* ================= MAIN CONTENT ================= */
|
||||
.main {
|
||||
margin-left: 20px;
|
||||
padding: 8px;
|
||||
width: calc(100% - 50px);
|
||||
margin-top: 50px;
|
||||
position: relative;
|
||||
z-index: 5;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
/* ================= FORM CONTAINER ================= */
|
||||
.container {
|
||||
background: white;
|
||||
padding: 30px;
|
||||
width: 95%;
|
||||
margin: auto;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
color: #007bff; /* blue heading */
|
||||
}
|
||||
|
||||
form label {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
form input,
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
margin-top: 6px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
/* ================= BUTTONS ================= */
|
||||
button {
|
||||
margin-top: 20px;
|
||||
padding: 10px 18px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0069d9;
|
||||
}
|
||||
|
||||
.back-btn {
|
||||
display: inline-block;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 18px;
|
||||
background: #007bff;
|
||||
color: white;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
border-radius: 6px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.back-btn:hover {
|
||||
background: #006ae6;
|
||||
}
|
||||
BIN
static/images/lcepllogo.png
Normal file
BIN
static/images/lcepllogo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 37 KiB |
BIN
static/images/logo_latest.png
Normal file
BIN
static/images/logo_latest.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 700 KiB |
BIN
static/images/logout_icon.png
Normal file
BIN
static/images/logout_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 820 B |
@@ -1,69 +1,81 @@
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
|
||||
function getVal(id) {
|
||||
return parseFloat(document.getElementsByName(id)[0].value) || 0;
|
||||
function getValue(id) {
|
||||
var el = document.getElementsByName(id)[0];
|
||||
return el ? parseFloat(el.value) || 0 : 0;
|
||||
}
|
||||
|
||||
function setVal(id, value) {
|
||||
document.getElementsByName(id)[0].value = Number(value).toFixed(2);
|
||||
function setValue(id, val) {
|
||||
var el = document.getElementsByName(id)[0];
|
||||
if (el) el.value = Number(val).toFixed(2);
|
||||
}
|
||||
|
||||
window.calculate = function () {
|
||||
|
||||
// Base Values
|
||||
let gross_total_income = getVal("gross_total_income");
|
||||
let disallowance_14a = getVal("disallowance_14a");
|
||||
let disallowance_37 = getVal("disallowance_37");
|
||||
// --- BASIC INPUTS ---
|
||||
var gross_total_income = getValue("gross_total_income");
|
||||
var disallowance_14a = getValue("disallowance_14a");
|
||||
var disallowance_37 = getValue("disallowance_37");
|
||||
|
||||
// Deductions
|
||||
let d80_business = getVal("deduction_80ia_business");
|
||||
let deduction_sec37 = getVal("deduction_sec37_disallowance");
|
||||
let deduction_80g = getVal("deduction_80g");
|
||||
// // Auto-calculations (your logic)
|
||||
// setValue("gross_total_income", disallowance_37 + gross_total_income);
|
||||
// setValue("disallowance_37", disallowance_14a + disallowance_37);
|
||||
|
||||
// Total Deduction
|
||||
let total_deductions = d80_business + deduction_sec37;
|
||||
var gross_total = gross_total_income + disallowance_37 + disallowance_14a
|
||||
console.log("gross_total income:: " + gross_total)
|
||||
|
||||
// Net Taxable Income
|
||||
let net_taxable_income =
|
||||
(gross_total_income + disallowance_14a + disallowance_37)
|
||||
- total_deductions
|
||||
- deduction_80g;
|
||||
// --- DEDUCTIONS ---
|
||||
var d80_business = getValue("deduction_80ia_business");
|
||||
var d80_misc = getValue("deduction_80ia_misc");
|
||||
var d80_other = getValue("deduction_80ia_other");
|
||||
|
||||
setVal("net_taxable_income", net_taxable_income);
|
||||
var deduction_sec37 = d80_business + d80_misc + d80_other;
|
||||
setValue("deduction_sec37_disallowance", deduction_sec37);
|
||||
|
||||
// Tax @ 30%
|
||||
let tax_30_percent = net_taxable_income * 0.30;
|
||||
setVal("tax_30_percent", tax_30_percent);
|
||||
var deduction_80g = getValue("deduction_80g");
|
||||
|
||||
// Surcharge @ 12%
|
||||
let surcharge_12 = tax_30_percent * 0.12;
|
||||
setVal("surcharge_12", surcharge_12);
|
||||
// --- NET TAXABLE INCOME ---
|
||||
var net_taxable_income = gross_total - deduction_sec37 - deduction_80g;
|
||||
setValue("net_taxable_income", net_taxable_income);
|
||||
|
||||
// Education Cess @ 3%
|
||||
let edu_cess_3 = (tax_30_percent + surcharge_12) * 0.03;
|
||||
setVal("edu_cess_3", edu_cess_3);
|
||||
// --- TAX 30% ---
|
||||
var tax30 = net_taxable_income * 0.30;
|
||||
setValue("tax_30_percent", tax30);
|
||||
|
||||
// Total Tax Payable
|
||||
let total_tax_payable = tax_30_percent + surcharge_12 + edu_cess_3;
|
||||
setVal("total_tax_payable", total_tax_payable);
|
||||
// --- TAX PAYABLE (18.5%) ---
|
||||
var tax185 = getValue("tax_book_profit_18_5");
|
||||
|
||||
// MAT, Interest
|
||||
let mat_credit = getVal("mat_credit");
|
||||
let interest_234c = getVal("interest_234c");
|
||||
var tax_payable = (tax30 > tax185) ? tax30 : tax185;
|
||||
setValue("tax_payable", tax_payable);
|
||||
|
||||
let total_tax = total_tax_payable + mat_credit + interest_234c;
|
||||
setVal("total_tax", total_tax);
|
||||
// --- SURCHARGE ---
|
||||
var percent = getValue("persentage");
|
||||
var surcharge = tax_payable * (percent / 100);
|
||||
setValue("surcharge_12", surcharge);
|
||||
|
||||
// Advance, TDS, TCS
|
||||
let advance_tax = getVal("advance_tax");
|
||||
let tds = getVal("tds");
|
||||
let tcs = getVal("tcs");
|
||||
var edu_cess = (tax_payable + surcharge) * 0.03;
|
||||
setValue("edu_cess_3", edu_cess);
|
||||
|
||||
let tax_on_assessment = advance_tax + tds + tcs;
|
||||
setVal("tax_on_assessment", tax_on_assessment);
|
||||
// --- total tax payable ---
|
||||
var total_tax_payable = tax_payable + surcharge + edu_cess;
|
||||
setValue("total_tax_payable", total_tax_payable);
|
||||
|
||||
// Refund / Payablesss
|
||||
let refund = total_tax - tax_on_assessment;
|
||||
setVal("refund", refund);
|
||||
// --- FINAL TAX ---
|
||||
var mat_credit = getValue("mat_credit");
|
||||
var interest_234c = getValue("interest_234c");
|
||||
|
||||
var total_tax = total_tax_payable + mat_credit + interest_234c;
|
||||
setValue("total_tax", total_tax);
|
||||
|
||||
// --- ASSESSMENT ---
|
||||
var adv_tax = getValue("advance_tax");
|
||||
var tds = getValue("tds");
|
||||
var tcs = getValue("tcs");
|
||||
|
||||
var tax_on_assessment = adv_tax + tds + tcs;
|
||||
setValue("tax_on_assessment", tax_on_assessment);
|
||||
|
||||
var refund = total_tax - tax_on_assessment;
|
||||
setValue("refund", refund);
|
||||
};
|
||||
});
|
||||
|
||||
@@ -1,74 +1,89 @@
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
|
||||
const fields = [
|
||||
"gross_total_income", "disallowance_14a", "disallowance_37",
|
||||
"deduction_80ia_business", "deduction_sec37_disallowance", "deduction_80g",
|
||||
"net_taxable_income", "tax_30_percent", "tax_book_profit_18_5",
|
||||
"tax_payable", "surcharge_12", "edu_cess_3", "total_tax_payable",
|
||||
"mat_credit", "interest_234c", "total_tax",
|
||||
"advance_tax", "tds", "tcs", "tax_on_assessment", "refund"
|
||||
];
|
||||
|
||||
function getVal(id) {
|
||||
var el = document.getElementsByName(id)[0];
|
||||
let el = document.getElementsByName(id)[0];
|
||||
return el ? parseFloat(el.value) || 0 : 0;
|
||||
}
|
||||
|
||||
function setVal(id, value) {
|
||||
var el = document.getElementsByName(id)[0];
|
||||
let el = document.getElementsByName(id)[0];
|
||||
if (el) el.value = Number(value).toFixed(2);
|
||||
}
|
||||
|
||||
// MAIN CALC FUNCTION
|
||||
window.calculate = function () {
|
||||
function calculate() {
|
||||
|
||||
// BASIC VALUES
|
||||
var gross_total_income = getVal("gross_total_income");
|
||||
var disallowance_14a = getVal("disallowance_14a");
|
||||
var disallowance_37 = getVal("disallowance_37");
|
||||
// Base values
|
||||
let gross_total_income = getVal("gross_total_income");
|
||||
let disallowance_14a = getVal("disallowance_14a");
|
||||
let disallowance_37 = getVal("disallowance_37");
|
||||
|
||||
var d80_business = getVal("deduction_80ia_business");
|
||||
var deduction_sec37 = getVal("deduction_sec37_disallowance");
|
||||
var deduction_80g = getVal("deduction_80g");
|
||||
// Deductions
|
||||
let d80_business = getVal("deduction_80ia_business");
|
||||
let deduction_sec37 = getVal("deduction_sec37_disallowance");
|
||||
let deduction_80g = getVal("deduction_80g");
|
||||
|
||||
// NET TAXABLE INCOME
|
||||
var net_taxable_income =
|
||||
// Net Taxable Income
|
||||
let net_taxable_income =
|
||||
(gross_total_income + disallowance_14a + disallowance_37)
|
||||
- (d80_business + deduction_sec37)
|
||||
- deduction_80g;
|
||||
|
||||
setVal("net_taxable_income", net_taxable_income);
|
||||
|
||||
// TAX @ 30%
|
||||
var tax_30_percent = net_taxable_income * 0.30;
|
||||
// 30% tax
|
||||
let tax_30_percent = net_taxable_income * 0.30;
|
||||
setVal("tax_30_percent", tax_30_percent);
|
||||
|
||||
// TAX PAYABLE = 18.5% BOOK PROFIT (user enters)
|
||||
var tax_payable = getVal("tax_book_profit_18_5");
|
||||
// Book profit tax (user input)
|
||||
let tax_payable = getVal("tax_book_profit_18_5");
|
||||
setVal("tax_payable", tax_payable);
|
||||
|
||||
// SURCHARGE
|
||||
var surcharge_12 = tax_payable * 0.12;
|
||||
// Surcharge 12%
|
||||
let surcharge_12 = tax_payable * 0.12;
|
||||
setVal("surcharge_12", surcharge_12);
|
||||
|
||||
// CESS
|
||||
var edu_cess_3 = (tax_payable + surcharge_12) * 0.03;
|
||||
// Education Cess 3%
|
||||
let edu_cess_3 = (tax_payable + surcharge_12) * 0.03;
|
||||
setVal("edu_cess_3", edu_cess_3);
|
||||
|
||||
// TOTAL TAX PAYABLE
|
||||
var total_tax_payable = tax_payable + surcharge_12 + edu_cess_3;
|
||||
// Total Tax Payable
|
||||
let total_tax_payable = tax_payable + surcharge_12 + edu_cess_3;
|
||||
setVal("total_tax_payable", total_tax_payable);
|
||||
|
||||
// OTHER VALUES
|
||||
var mat_credit = getVal("mat_credit");
|
||||
var interest_234c = getVal("interest_234c");
|
||||
// MAT + Interest
|
||||
let mat_credit = getVal("mat_credit");
|
||||
let interest_234c = getVal("interest_234c");
|
||||
|
||||
// FINAL TAX
|
||||
var total_tax = total_tax_payable + mat_credit + interest_234c;
|
||||
// Total Tax
|
||||
let total_tax = total_tax_payable + mat_credit + interest_234c;
|
||||
setVal("total_tax", total_tax);
|
||||
|
||||
// PAYMENTS
|
||||
var advance_tax = getVal("advance_tax");
|
||||
var tds = getVal("tds");
|
||||
var tcs = getVal("tcs");
|
||||
// Assessment → Advance Tax + TDS + TCS
|
||||
let advance_tax = getVal("advance_tax");
|
||||
let tds = getVal("tds");
|
||||
let tcs = getVal("tcs");
|
||||
|
||||
var tax_on_assessment = advance_tax + tds + tcs;
|
||||
let tax_on_assessment = advance_tax + tds + tcs;
|
||||
setVal("tax_on_assessment", tax_on_assessment);
|
||||
|
||||
// REFUND
|
||||
var refund = total_tax - tax_on_assessment;
|
||||
// Refund (or payable)
|
||||
let refund = total_tax - tax_on_assessment;
|
||||
setVal("refund", refund);
|
||||
};
|
||||
}
|
||||
|
||||
// Attach listeners
|
||||
fields.forEach(id => {
|
||||
let el = document.getElementsByName(id)[0];
|
||||
if (el) el.addEventListener("input", calculate);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -18,8 +18,11 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
var disallowance_37 = getValue("disallowance_37");
|
||||
|
||||
// // Auto-calculations (your logic)
|
||||
setValue("gross_total_income", disallowance_37 + gross_total_income);
|
||||
setValue("disallowance_37", disallowance_14a + disallowance_37);
|
||||
// setValue("gross_total_income", disallowance_37 + gross_total_income);
|
||||
// setValue("disallowance_37", disallowance_14a + disallowance_37);
|
||||
|
||||
var gross_total = gross_total_income + disallowance_37 + disallowance_14a
|
||||
console.log("gross_total income:: " + gross_total)
|
||||
|
||||
// --- DEDUCTIONS ---
|
||||
var d80_business = getValue("deduction_80ia_business");
|
||||
@@ -32,23 +35,29 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
var deduction_80g = getValue("deduction_80g");
|
||||
|
||||
// --- NET TAXABLE INCOME ---
|
||||
var net_taxable_income = gross_total_income - deduction_sec37 - deduction_80g;
|
||||
var net_taxable_income = gross_total - deduction_sec37 - deduction_80g;
|
||||
setValue("net_taxable_income", net_taxable_income);
|
||||
|
||||
// --- TAX 30% ---
|
||||
setValue("tax_30_percent", net_taxable_income * 0.30);
|
||||
var tax30 = net_taxable_income * 0.30;
|
||||
setValue("tax_30_percent", tax30);
|
||||
|
||||
// --- TAX PAYABLE (18.5%) ---
|
||||
var tax_book = getValue("tax_book_profit_18_5");
|
||||
setValue("tax_payable", tax_book);
|
||||
var tax185 = getValue("tax_book_profit_18_5");
|
||||
|
||||
var surcharge = tax_book * 0.12;
|
||||
var tax_payable = (tax30 > tax185) ? tax30 : tax185;
|
||||
setValue("tax_payable", tax_payable);
|
||||
|
||||
// --- SURCHARGE ---
|
||||
var percent = getValue("persentage");
|
||||
var surcharge = tax_payable * (percent / 100);
|
||||
setValue("surcharge_12", surcharge);
|
||||
|
||||
var edu_cess = (tax_book + surcharge) * 0.03;
|
||||
var edu_cess = (tax_payable + surcharge) * 0.03;
|
||||
setValue("edu_cess_3", edu_cess);
|
||||
|
||||
var total_tax_payable = tax_book + surcharge + edu_cess;
|
||||
// --- total tax payable ---
|
||||
var total_tax_payable = tax_payable + surcharge + edu_cess;
|
||||
setValue("total_tax_payable", total_tax_payable);
|
||||
|
||||
// --- FINAL TAX ---
|
||||
|
||||
61
static/js/toggle.js
Normal file
61
static/js/toggle.js
Normal file
@@ -0,0 +1,61 @@
|
||||
const sidebar = document.getElementById("sidebar");
|
||||
const main = document.getElementById("main");
|
||||
|
||||
// Track toggle manually
|
||||
let isSidebarOpen = true;
|
||||
|
||||
// Toggle sidebar normally
|
||||
function toggleSidebar() {
|
||||
isSidebarOpen = !isSidebarOpen;
|
||||
|
||||
sidebar.classList.toggle("hide", !isSidebarOpen);
|
||||
|
||||
// Add temporary transition only during toggle
|
||||
main.style.transition = "margin-left 0.3s ease";
|
||||
sidebar.style.transition = "left 0.3s ease";
|
||||
|
||||
// Adjust main margin
|
||||
main.style.marginLeft = isSidebarOpen ? "260px" : "20px";
|
||||
|
||||
// Remove transitions after animation to avoid disturbance
|
||||
setTimeout(() => {
|
||||
main.style.transition = "none";
|
||||
sidebar.style.transition = "none";
|
||||
}, 300);
|
||||
}
|
||||
|
||||
// Toggle submenu — also force sidebar to open if it is hidden
|
||||
function toggleMenu(id) {
|
||||
const menu = document.getElementById(id);
|
||||
if (!menu) return;
|
||||
|
||||
// 👉 If sidebar is collapsed, open it automatically
|
||||
if (!isSidebarOpen) {
|
||||
isSidebarOpen = true;
|
||||
sidebar.classList.remove("hide");
|
||||
main.style.marginLeft = "260px";
|
||||
}
|
||||
|
||||
// Close all other submenus
|
||||
document.querySelectorAll(".submenu").forEach(sm => {
|
||||
if (sm !== menu) sm.style.display = "none";
|
||||
});
|
||||
|
||||
// Toggle the clicked submenu instantly
|
||||
menu.style.display = menu.style.display === "block" ? "none" : "block";
|
||||
}
|
||||
|
||||
// Remove transition when clicking submenu links
|
||||
document.querySelectorAll(".submenu a").forEach(link => {
|
||||
link.addEventListener("click", () => {
|
||||
main.style.transition = "none";
|
||||
sidebar.style.transition = "none";
|
||||
});
|
||||
});
|
||||
|
||||
// Initialize sidebar as open when page loads
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
sidebar.classList.remove("hide");
|
||||
main.style.marginLeft = "260px";
|
||||
isSidebarOpen = true;
|
||||
});
|
||||
@@ -38,7 +38,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
.then(data => {
|
||||
if (data.exists) {
|
||||
errorDiv.style.display = "block";
|
||||
errorDiv.innerText = `Year ${selectedYear} already exists!`;
|
||||
errorDiv.innerText = `Year ${selectedYear}-${selectedYear + 1} already exists!`;
|
||||
|
||||
// Block submission
|
||||
form.onsubmit = function () { return false; };
|
||||
@@ -49,3 +49,4 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
static/uploads/unmatched_result_1.xlsx
Normal file
BIN
static/uploads/unmatched_result_1.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user