/* --- FILENAME: modules/style.css --- */
/* This file contains custom styles for the application, including the new sidebar. */

body { 
    font-family: 'Inter', sans-serif; 
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale; 
}
.sidebar { 
    transition: transform 0.3s ease-in-out; 
}
.toast { 
    transition: opacity 0.5s, transform 0.5s; 
}
.hidden-by-permission { 
    display: none !important; 
}
.modal { 
    transition: opacity 0.3s ease, visibility 0.3s ease; 
}
.modal-content { 
    transition: transform 0.3s ease; 
}
::-webkit-scrollbar { 
    width: 8px; 
}
::-webkit-scrollbar-track { 
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb { 
    background: #888; 
    border-radius: 10px; 
}
[readonly] { 
    background-color: #f3f4f6; 
    cursor: not-allowed; 
}
tbody tr:nth-child(even) { 
    background-color: #f9fafb; 
}
tbody tr:hover { 
    background-color: #f0f9ff !important; 
}
.table-auto { 
    font-size: 15px; 
}
.btn {
    transition: all 0.2s ease-in-out;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}
.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.btn:active {
    transform: translateY(0);
    box-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
}
.btn-disabled {
    opacity: 0.7;
    cursor: not-allowed;
    transform: translateY(0) !important;
    box-shadow: none !important;
}

/* New Sidebar Accordion Styles */
.nav-item .nav-toggle {
    cursor: pointer;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    color: white;
}

.nav-item .nav-toggle:hover, .nav-item .nav-link:hover, .nav-toggle.active {
    background-color: #4a5568; /* gray-700 */
}

.nav-item .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    background-color: rgba(0,0,0,0.2);
}

.nav-item .sub-menu.open {
    max-height: 500px; /* Adjust as needed */
}

.nav-item .toggle-icon {
    transition: transform 0.2s ease-in-out;
}

.nav-item .toggle-icon.open {
    transform: rotate(180deg);
}

.nav-link.active {
    background-color: #2d3748; /* gray-800 */
    font-weight: 600;
}


@media print {
    @page { margin: 5mm; size: landscape; }
    * { box-shadow: none !important; text-shadow: none !important; transition: none !important; }
    body { font-family: Arial, sans-serif; color: #000; }
    body * { visibility: hidden; }
    #login-view, #login-view *, #app-view, #app-view * { visibility: visible; }
    #login-view, #app-view { position: absolute; left: 0; top: 0; width: 100%; height: auto; overflow: visible !important; }
    .no-print { display: none !important; }
    .print-area table, table { width: 100%; border-collapse: collapse; margin-top: 15px; page-break-after: auto; }
    .print-area th, .print-area td, table th, table td { border: 1px solid #ccc; padding: 6px; text-align: left; font-size: 12px; word-wrap: break-word; page-break-inside: avoid; }
    .print-area th, table th { background-color: #f2f2f2; font-weight: bold; }
    .print-area h1, .print-area h2, .print-area h3, h1, h2, h3 { color: black !important; margin-bottom: 10px; }
    .print-area .text-right, .text-right { text-align: right !important; }
    .print-area .text-left, .text-left { text-align: left !important; }
    .print-area tr, tr { page-break-inside: avoid; page-break-after: auto; }
}
