* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Google Sans Code", "Source Code Pro", monospace, sans-serif;
}

body {
    background: #f0f2f5;
    height: 100vh;
    overflow: hidden;
}

.site_content {
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    height: inherit;
}

.main_content {
    display: flex;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    float: left;
}

.sidebar-menu {
    width: 75px;
    flex-shrink: 0;
    height: 100%;
}

.dashboard-page {
    flex-grow: 1;
    height: 100%;
    overflow-y: auto;
    padding: 0;
    float: left;
}
ul{
    list-style-type: none;
}
li{
    list-style-type: none;
}
/*=========================
// Navigation CSS
=========================*/
.sidebar-menu {
    width: 70px;
    background: #1a1a1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    color: white;
}

.sidebar-menu .logo {
    font-weight: bold;
    font-size: 20px;
    color: #3498db;
    margin-bottom: 40px;
}

.sidebar-menu .nav-links {
    list-style: none;
    flex-grow: 1;
}

.sidebar-menu .nav-links li {
    font-size: 24px;
    margin-bottom: 30px;
    cursor: pointer;
    opacity: 0.6;
    transition: 0.3s;
}

.sidebar-menu .nav-links li.active, .nav-links li:hover {
    opacity: 1;
    transform: scale(1.2);
}

/*=========================
// POS Home Container
=========================*/
.pos-home-container {
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
}

.pos-home-container .home-welcome {
    padding: 30px 20px 10px 20px;
    margin-bottom: 10px;
    width: 100%;
    clear: both;
    float: left;
    display: inline-block;
}

.pos-home-container .home-welcome h1 {
    font-size: 28px;
    color: #2c3e50;
    margin-bottom: 8px;
    font-weight: 700;
}

.pos-home-container .home-welcome .user-name {
    color: #3498db;
}

.pos-home-container .home-welcome p {
    font-size: 16px;
    color: #7f8c8d;
    max-width: 80%;
    line-height: 1.5;
}

.pos-home-container .home-welcome::after {
    content: "";
    display: block;
    width: 50px;
    height: 4px;
    background: #3498db;
    margin-top: 15px;
    border-radius: 2px;
}

.pos-home-container .phc-grid-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    padding: 20px;
    width: 100%;
    float: left;
}

.pos-home-container .grid-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
}

.pos-home-container .grid-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-color: #3498db;
}

.pos-home-container .card-icon {
    font-size: 40px;
    width: 70px;
    height: 70px;
    background: #f0f7ff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
}

.pos-home-container .grid-card:nth-child(1) .card-icon {
    background: #e3f2fd;
}

.pos-home-container .grid-card:nth-child(2) .card-icon {
    background: #fff3e0;
}

.pos-home-container .grid-card:nth-child(5) .card-icon {
    background: #e8f5e9;
}

.pos-home-container .card-info h3 {
    margin: 0;
    font-size: 18px;
    color: #2c3e50;
}

.pos-home-container .card-info p {
    margin: 5px 0 0 0;
    font-size: 14px;
    color: #7f8c8d;
}

/*=========================
// POS Sales Container
=========================*/
.pos-container {
    display: flex;
    height: 100vh;
}

.pos-container .sales-area {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.pos-container .top-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.pos-container .search-container {
    flex-grow: 1;
    position: relative;
}

.pos-container .search-container input {
    width: 100%;
    padding: 15px 15px 15px 45px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 16px;
    outline: none;
}

.pos-container .search-container .icon {
    position: absolute;
    left: 15px;
    top: 15px;
    color: #888;
}

.pos-container .btn-cam {
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    background: #3498db;
    color: white;
    cursor: pointer;
}

/* Table Styling */
.cart-section {
    background: white;
    border-radius: 12px;
    flex-grow: 1;
    overflow-y: auto;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

#pos-table {
    width: 100%;
    border-collapse: collapse;
}

#pos-table th {
    background: #f8f9fa;
    text-align: left;
    padding: 15px;
    border-bottom: 2px solid #eee;
    position: sticky;
    top: 0;
}

#pos-table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
}

#pos-table td {
    vertical-align: middle;
    padding: 12px 15px;
}

.cart-section .p-name {
    display: block;
    font-weight: 600;
    color: #2c3e50;
}

.cart-section .p-sku {
    font-size: 11px;
    color: #95a5a6;
}

/* --- Qty Control Design --- */
.cart-section .qty-control {
    display: flex;
    align-items: center;
    background: #f8f9fa;
    border-radius: 6px;
    width: fit-content;
    border: 1px solid #ddd;
    overflow: hidden;
}

.cart-section .qty-btn {
    width: 32px;
    height: 32px;
    border: none;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    color: #3498db;
    transition: 0.2s;
}

.cart-section .qty-btn:hover {
    background: #3498db;
    color: #fff;
}

.cart-section .qty-input {
    width: 45px;
    border: none;
    background: transparent;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    -moz-appearance: textfield;
}

.cart-section .qty-input::-webkit-outer-spin-button, .cart-section .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* --- Highlight Total & Action --- */
.cart-section .row-total {
    font-weight: 800;
    color: #27ae60;
    font-size: 16px;
}

.cart-section .item-clear-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    background: #fee2e2;
    color: #dc2626;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.cart-section .item-clear-btn:hover {
    background: #dc2626;
    color: white;
}

/* Summary Panel */
.summary-panel {
    width: 350px;
    height: 100vh;
    background: white;
    border-left: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    padding: 20px 0;
}

.summary-panel h2 {
    padding: 0 20px 15px 20px;
    margin: 0;
    font-size: 20px;
    border-bottom: 1px solid #eee;
}

.summary-panel h3 {
    padding: 0 0 10px 0;
    margin: 0;
    font-size: 17px;
    border-bottom: 1px solid #eee;
}

.summery-panel-box {
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px;
    scrollbar-width: thin;
}

.summery-panel-box::-webkit-scrollbar {
    width: 6px;
}

.summery-panel-box::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 10px;
}

/* Summary Items */
.summary-panel .summary-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    color: #666;
}

.summary-panel .total-big {
    margin: 20px 0;
    padding: 20px;
    background: #eef7ff;
    border-radius: 10px;
    text-align: center;
}

.summary-panel .total-big label {
    font-size: 14px;
    color: #3498db;
    font-weight: bold;
    text-transform: uppercase;
}

.summary-panel .total-big .price {
    font-size: 42px;
    font-weight: 800;
    color: #2c3e50;
}

/* Pay button */
.summary-panel .pay-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.summary-panel .pay-btn {
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: none;
    cursor: pointer;
}

.summary-panel .finalize-btn {
    margin: 15px 20px 0 20px;
    padding: 18px;
    border: none;
    border-radius: 10px;
    background: #27ae60;
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    flex-shrink: 0;
}

.summary-panel .finalize-btn:hover {
    background: #219150;
}

/* Summary List Styling */
.summary-panel .sales-summary {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
    border-bottom: 1px dashed #ddd;
    padding-bottom: 15px;
}

.summary-panel .summary-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 15px;
}

.summary-panel .net-amount {
    font-weight: bold;
    color: #2c3e50;
    font-size: 17px;
    margin-top: 10px;
}

/* Customer Search Dropdown */
.summary-panel .sales-customer-search {
    position: relative;
}

.sales-customer-search input {
    width: 100%;
    padding: 12px 12px 12px 40px;
    border-radius: 8px;
    border: 1px solid #ddd;
    background: #fff;
    font-size: 14px;
}

.sales-customer-search .icon {
    position: absolute;
    left: 12px;
    top: 12px;
    color: #3498db;
}

.summary-panel .search-dropdown {
    position: absolute;
    width: 100%;
    background: white;
    border: 1px solid #3498db;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    z-index: 1000;
    display: none;
}

.summary-panel .search-item {
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
}

.summary-panel .search-item:hover {
    background: #f0f7ff;
}

.summary-panel .add-new-trigger {
    background: #fff9e6;
    color: #d35400;
    font-weight: bold;
}

/*
.search-dropdown {position: absolute;top: 100%;left: 0;right: 0;background: white;border: 1px solid #ddd;border-radius: 0 0 8px 8px;box-shadow: 0 4px 12px rgba(0,0,0,0.1);z-index: 100;max-height: 200px;overflow-y: auto;}
.search-dropdown div {padding: 10px 15px;cursor: pointer;border-bottom: 1px solid #f0f0f0;}
.search-dropdown div:hover {background: #f8f9fa;color: #3498db;}
*/
/* Customer Detail List */
.summary-panel .customer-info-list {
    list-style: none;
    padding: 0;
    margin-top: 15px;
}

.summary-panel .cil-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f9f9f9;
    font-size: 14px;
}

.summary-panel .name-row {
    background: #f8f9fa;
    padding: 8px 10px;
    border-radius: 6px;
    border-bottom: none;
}

.summary-panel .badge {
    background: #3498db;
    color: white;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
}

/* Points Section */
.summary-panel .points-row {
    flex-direction: column;
    align-items: flex-start;
    background: #fffcea;
    border: 1px solid #f1e6b2;
    border-radius: 8px;
    padding: 10px;
    margin-top: 10px;
}

.summary-panel .points-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 15px;
}

.summary-panel .points-approx {
    font-size: 11px;
    color: #7f8c8d;
    margin-bottom: 8px;
}

.summary-panel .use-points-toggle {
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    color: #d35400;
}

.summary-panel .point-input-wrapper {
    display: flex;
    gap: 5px;
    width: 100%;
    margin-top: 5px;
}

.summary-panel .point-input-wrapper input {
    flex-grow: 1;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.summary-panel .point-input-wrapper button {
    background: #27ae60;
    color: white;
    border: none;
    padding: 5px 12px;
    border-radius: 4px;
    cursor: pointer;
}

/* Form Elements */
.summary-panel .small-input {
    width: 80px;
    text-align: right;
    padding: 4px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.summary-panel .text-danger {
    color: #e74c3c;
    font-weight: bold;
}

.summary-panel .text-success {
    color: #27ae60;
    font-weight: bold;
}

/* Sales Page Modal */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(3px);
}

.payment-modal-content {
    background: white;
    width: 450px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
    animation: modalFadeIn 0.3s ease;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.payment-modal-content .modal-header {
    padding: 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.payment-modal-content .modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: #333;
}

.payment-modal-content .close-modal {
    cursor: pointer;
    font-size: 24px;
    color: #999;
}

/* Body Content */
.payment-modal-content .modal-body {
    padding: 25px;
}

.payment-modal-content .total-summary {
    text-align: center;
    margin-bottom: 20px;
    padding: 15px;
    background: #eef7ff;
    border-radius: 8px;
}

.payment-modal-content .total-summary label {
    font-size: 13px;
    color: #3498db;
    font-weight: bold;
    text-transform: uppercase;
}

.payment-modal-content .total-summary h2 {
    margin: 5px 0 0 0;
    color: #2c3e50;
    font-size: 32px;
}

/* Inputs */
.payment-modal-content .input-group {
    margin-bottom: 15px;
}

.payment-modal-content .input-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 14px;
    color: #555;
}

.payment-modal-content .input-group input, .input-group select {
    width: 100%;
    padding: 12px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
    outline: none;
}

.payment-modal-content .input-group input:focus {
    border-color: #3498db;
}

/* Flex Row for Expiry/CVV */
.payment-modal-content .form-row {
    display: flex;
    gap: 10px;
}

.payment-modal-content .form-row .input-group {
    flex: 1;
}

/* Change Display (Cash Only) */
.payment-modal-content .change-display {
    text-align: center;
    padding: 15px;
    background: #e8f5e9;
    border-radius: 8px;
    margin-top: 10px;
}

.payment-modal-content .change-display label {
    font-size: 12px;
    color: #2e7d32;
    font-weight: bold;
}

.payment-modal-content .change-display h2 {
    margin: 0;
    color: #1b5e20;
}

/* Bank/POS Notes */
.payment-modal-content .method-note {
    font-size: 12px;
    color: #e67e22;
    text-align: center;
    margin-top: 10px;
}

.payment-modal-content .bank-details-box {
    background: #f1f1f1;
    padding: 10px;
    border-radius: 4px;
    text-align: center;
    margin-top: 5px;
}

/* Footer */
.payment-modal-content .modal-footer {
    padding: 20px;
    background: #f8f9fa;
    display: flex;
    gap: 10px;
}

.payment-modal-content .btn-cancel {
    flex: 1;
    padding: 12px;
    border: none;
    background: #ddd;
    border-radius: 6px;
    cursor: pointer;
}

.payment-modal-content .btn-confirm {
    flex: 2;
    padding: 12px;
    border: none;
    background: #27ae60;
    color: white;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/*=========================
// POS Inventory
=========================*/
/* Container & Header */
.inventory-wrapper {padding: 20px;display: flex;flex-direction: column;height: 100%;}
.inventory-wrapper .inventory-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px;}
.inventory-wrapper .header-text h1 {color: #2c3e50;font-size: 24px;margin-bottom: 5px;}
.inventory-wrapper .header-text p {color: #7f8c8d;font-size: 14px;}
.inventory-wrapper .btn-add-product {background: #3498db;color: white;border: none;padding: 12px 20px;border-radius: 8px;font-weight: bold;cursor: pointer;}
/* Filter Bar */
.inventory-wrapper .inventory-filters {display: flex;gap: 15px;background: white;padding: 15px;border-radius: 10px;margin-bottom: 20px;align-items: center;box-shadow: 0 2px 5px rgba(0,0,0,0.05);}
.inventory-wrapper .filter-group {position: relative;flex: 1;display: flex;gap: 5px;}
.inventory-wrapper .filter-group input,
.inventory-wrapper .filter-group select {width: 100%;padding: 10px 10px 10px 35px;border: 1px solid #ddd;border-radius: 6px;outline: none;}
.inventory-wrapper .filter-icon {position: absolute;left: 10px;top: 10px;color: #95a5a6;}
.inventory-wrapper .filter-camera {color: #95a5a6;display: flex;align-items: center;justify-content: center;background: #f7f7f7;border-radius: 8px;cursor: pointer;border: 1px solid #e5e5e5;width: 50px;cursor: pointer;transition: .5s;}
.inventory-wrapper .btn-filter-apply {background: #2c3e50;color: white;border: none;padding: 10px 20px;border-radius: 6px;cursor: pointer;}
/* Sidebar & Main Layout */
.inventory-wrapper .inventory-container {display: flex;gap: 20px;flex-grow: 1;overflow: hidden;}
.inventory-wrapper .inventory-sidebar {width: 220px;background: white;padding: 20px;border-radius: 10px;flex-shrink: 0;}
.inventory-wrapper .inventory-sidebar h3 {font-size: 16px;margin-bottom: 15px;color: #34495e;border-bottom: 2px solid #f0f2f5;padding-bottom: 10px;}
.inventory-wrapper .category-menu {list-style: none;}
.inventory-wrapper .category-menu li {padding: 10px;cursor: pointer;border-radius: 6px;font-size: 14px;display: flex;justify-content: space-between;transition: 0.2s;}
.inventory-wrapper .category-menu li:hover,
.inventory-wrapper .category-menu li.active {background: #eef7ff;color: #3498db;font-weight: bold;}
.inventory-wrapper .category-menu .count {background: #f0f2f5;padding: 2px 8px;border-radius: 10px;font-size: 11px;color: #7f8c8d;}
/* Table Styling */
.inventory-wrapper .inventory-main {flex-grow: 1;background: white;border-radius: 10px;display: flex;flex-direction: column;overflow: hidden;}
.inventory-wrapper .inventory-main .table-responsive {flex-grow: 1;overflow-y: auto;}
.inventory-wrapper .inventory-main .inventory-table {width: 100%;border-collapse: collapse;min-width: 800px;}
.inventory-wrapper .inventory-main .inventory-table th {background: #f8f9fa;text-align: left;padding: 15px;font-size: 13px;color: #7f8c8d;sticky: top;}
.inventory-wrapper .inventory-table td {padding: 12px 15px;border-bottom: 1px solid #f0f2f5;font-size: 14px;}
.inventory-wrapper .inventory-main .prod-cell {display: flex;align-items: center;gap: 10px;}
.inventory-wrapper .inventory-main .prod-thumb {width: 45px;height: 45px;border-radius: 6px;object-fit: cover;background: #eee;}
.inventory-wrapper .inventory-main .p-name {display: block;font-weight: bold;color: #2c3e50;}
.inventory-wrapper .inventory-main .p-sku {font-size: 11px;color: #95a5a6;}
.inventory-wrapper .inventory-main .cat-tag {background: #f1f8ff;color: #0366d6;padding: 4px 8px;border-radius: 4px;font-size: 12px;}
.inventory-wrapper .inventory-main .status-pill {padding: 4px 10px;border-radius: 20px;font-size: 11px;font-weight: bold;}



.inventory-wrapper .inventory-main .status-pill.active {background: #e6fffa;color: #2c7a7b;}
/*=========================
// POS Pagination
=========================*/
.pagination-container {display: flex;justify-content: space-between;align-items: center;padding: 15px 20px;border-top: 1px solid #f0f2f5;background: #fff;}
.pagination-links {list-style: none;display: flex;gap: 5px;}
.pagination-links li {padding: 6px 12px;border: 1px solid #ddd;border-radius: 4px;cursor: pointer;font-size: 13px;transition: 0.3s;}
.pagination-links li:hover, .pagination-links li.active {background: #3498db;color: white;border-color: #3498db;}
.pagination-links li.disabled {color: #ccc;cursor: not-allowed;}
/*=========================
// POS Pagination
=========================*/
.add-product-container {padding: 30px;background: #f4f7f6;min-height: 100vh;display: inline-block;}




.add-product-container .product-variation-list{
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    margin-bottom: 15px;
}
.add-product-container .product-variation-list table{
    width: 100%;
    border: 1px solid #e1e1e1;
    border-radius: 3px;
    border-spacing: 0px;
}
.add-product-container .product-variation-list thead{
    background: #f1f1f1;
}
.add-product-container .product-variation-list tbody{}
.add-product-container .product-variation-list tr{}
.add-product-container .product-variation-list tbody tr:nth-child(2n){
    background: #f2faff;
}
.add-product-container .product-variation-list th{
    border-bottom: 1px solid #e1e1e1;
    padding: 10px;
    font-size: 0.9rem;
}
.add-product-container .product-variation-list td{
    width: 10%;
    padding: 10px;
    text-align: center;
}
.add-product-container .product-variation-list td:first-child{text-align: center;}
.add-product-container .product-variation-list td:first-child img{
    width: 75px;
    max-height: 75px;
    min-height: 50px;
    border-radius: 8px;
}
.add-product-container .product-variation-list td .not-found{
    text-align: center;
    width: 100%;
    padding: 15px;
    color: red;
}
.add-product-container .product-variation-list td:nth-child(6){
    width: 17%;
}
.add-product-container .product-variation-list td .has-discount{}
.add-product-container .product-variation-list td .sale-price{}
.add-product-container .product-variation-list td .discount-percent{}
.add-product-container .product-variation-list td del{}
.add-product-container .product-variation-list td bdi{}
.add-product-container .product-variation-list td .action{}
.add-product-container .product-variation-list td span.btn-table{
    cursor: pointer;
    transition: .5s;
    opacity: 0.8;
}
.add-product-container .product-variation-list td span.btn-table.edit{
}
.add-product-container .product-variation-list td span.btn-table.delete{
}
.add-product-container .product-variation-list td span.btn-table:hover{
    opacity: 1;
}
.add-product-container .product-variation-list td span.btn-table:active{}







.add-product-container .specification-section{}
.add-product-container .specification-section .sp-list{
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    margin-top: 15px;
    font-size: 14px;
}
.add-product-container .specification-section .sp-list ul{
    display: flex;
    width: 100%;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    overflow: hidden;
}
.add-product-container .specification-section .sp-list li{
    display: flex;
    width: 100%;
    padding: 0;
    position: relative;
}
.add-product-container .specification-section .sp-list span{
    padding: 15px;
    width: 73%;
    white-space: nowrap;
    overflow: hidden;
}
.add-product-container .specification-section .sp-list span.sp-term{
    width: 25%;
    border-right: 1px solid #e1e1e1;
    background: #f5f5f5;
    font-weight: bold;
    color: darkred;
}
.add-product-container .specification-section .sp-list span.remove-sp-item{
    width: 3%;
    padding: 0;
    font-size: 1.2rem;
    color: #e70000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    cursor: pointer;
    transition: .5s;
    line-height: 1;
}
.add-product-container .specification-section .sp-list span.remove-sp-item:hover{
    background: #ffc7c7;
    color: #d30000;
}

.add-product-container form{
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
}
.add-product-container form .add-product-variation-button{
    display: inline-block;
    width: 100%;
    float: left;
    clear: both;
    margin-bottom: 15px;
}
.add-product-container form .add-product-variation-button .apvb-button{
    width: max-content;
    padding: 12px 20px;
    background: #2c3e50;
    color: #fff;
    border-radius: 3px;
    cursor: pointer;
    transition: .5s;
}
.add-product-container form .add-product-variation-button .apvb-button:hover{
    background: #254d74;
}
.add-product-container form .add-product-variation-button .apvb-button:active{
    background: #000;
}


.add-product-container form .update-specification-btn{
    width: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #724f66;
    color: #fff;
    border-radius: 5px;
    transition: .5s;
    cursor: pointer;
}
.add-product-container form .update-specification-btn:hover{
    background: #972670;
}



.add-product-container .subcategories-list{
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    height: 250px;
    background: #f5f5f58c;
    overflow-y: scroll;
    border-radius: 3px;
    border: 1px solid #e1e1e1;
}
.add-product-container .subcategories-list ul{
    display: flex;
    flex-direction: column;
}
.add-product-container .subcategories-list li{}
.add-product-container .subcategories-list label{
    margin: 0;
    display: inline-block;
    padding: 8px 8px;
    width: 100%;
    cursor: pointer;
    transition: .5s;
}
.add-product-container .subcategories-list label:hover{}
.add-product-container .subcategories-list input[type="checkbox"]{
    width: 16px;
    height: 16px;
    float: left;
    margin-right: 5px;
}











.form-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.form-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 25px; }
.form-grid .form-column-main{
    display: inline-block;
    width: 100%;
    float: left;
    clear: both;
}
/*---- Slug Section----*/
.form-grid .slug-section{
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    margin-top: 10px;
}
.form-grid .slug-section .product-slug-show{
    display: flex;
    width: 100%;
    float: left;
}
.form-grid .slug-section .product-slug-show span{
    max-width: 50%;
    overflow: hidden;
    display: block;
    font-size: 14px;
    color: #2a2a2a;
}
.form-grid .slug-section .product-slug-show span:last-child{
    width: 50px;
    text-align: center;
    text-decoration: underline;
    color: #2296f3;
    font-weight: 600;
    cursor: pointer;
    transition: .5s;
}
.form-grid .slug-section .product-slug-show span:last-child:hover{
    color: #0077d7;
}
.form-grid .slug-section .slug-editing-grid{
    display: none;
    width: 100%;
    float: left;
    clear: both;
}
.form-grid .slug-section .slug-editing-grid input[type="text"]{
    width: 40%;
    border-radius: 5px 0 0 5px;
}
.form-grid .slug-section .slug-editing-grid input[type="text"]:focus{}
.form-grid .slug-section .slug-editing-grid .submit-slug{
    width: 50px;
    text-align: center;
    background: #047bdb;
    border-radius: 0 5px 5px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
    transition: .5s;
}
.form-grid .slug-section .slug-editing-grid .submit-slug:hover{
    background: #2296f3;
}
/*----- input grids ----*/
.form-grid .card {background: white;padding: 25px;border-radius: 12px;box-shadow: 0 2px 10px rgba(0,0,0,0.05);margin-bottom: 25px;display: inline-block;width: 100%;float: left;}
.form-grid .card .highlight-card { border: 2px solid #3498db; background: #f0f7ff; }
.form-grid .input-group {margin-bottom: 15px;display: inline-block;width: 100%;clear: both;float: left;}
label { display: block; font-weight: 600; font-size: 13px; color: #555; margin-bottom: 8px; }
input,
select,
textarea {width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px;}
.form-grid .form-row {display: grid;grid-template-columns: repeat(3, 1fr);gap: 15px;width: 100%;float: left;}

.form-grid .form-column-side{}
/* Variation Row Styling */
.form-grid .variation-row { background: white; padding: 15px; border-radius: 8px; margin-bottom: 10px; border: 1px solid #d1d9e6; }
.form-grid .v-grid {display: grid;grid-template-columns: 1fr 1fr 1fr 1.5fr 1fr 1fr 40px;gap: 10px;align-items: end;}
.form-grid .v-input label {}
.form-grid .discount-flex { display: flex; gap: 2px; }
.form-grid .discount-flex select { width: 60px; }
.form-grid .btn-small { background: #3498db; color: white; border: none; padding: 5px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; }
.form-grid .btn-del {background: #fee2e2;color: #dc2626;border: none;border-radius: 4px;height: 45px;width: 40px;cursor: pointer;padding: 0;font-size: 30px;font-weight: 300;cursor: pointer;transition: .5s;}
.form-grid .btn-del:hover{
    background: #ffc6c6;
    color: #810000;
}
/* Buttons */
.form-grid .btn-primary { background: #27ae60; color: white; border: none; padding: 12px 25px; border-radius: 8px; font-weight: bold; cursor: pointer; }
.form-grid .btn-outline { background: transparent; border: 1px solid #ddd; padding: 12px 25px; border-radius: 8px; cursor: pointer; margin-right: 10px; }

/*=========================
// Supplier CSS
=========================*/
.supplier-container {
    padding: 30px;
    background: #f4f7f6;
    min-height: 100vh;
}
.supplier-container .page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
.supplier-container .header-text h1 {
    margin: 0;
    font-size: 24px;
    color: #2c3e50;
}
.supplier-container .header-text p {
    margin: 5px 0 0 0;
    color: #7f8c8d;
    font-size: 14px;
}

/* --- Buttons --- */
.supplier-container .btn-add {
    background: #3498db;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    box-shadow: 0 4px 6px rgba(52, 152, 219, 0.2);
}

.supplier-container .btn-add:hover {
    background: #2980b9;
}

/*=========================
// Data Table
=========================*/
/* --- Data Table Styling --- */
.card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    overflow: hidden;
}
.data-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}
.data-table th {
    background: #f8f9fa;
    padding: 15px 20px;
    text-align: left;
    color: #7f8c8d;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #eee;
}
.data-table td {
    padding: 15px 20px;
    border-bottom: 1px solid #f1f1f1;
    color: #34495e;
    font-size: 14px;
    vertical-align: middle;
}
.data-table tr:last-child td {
    border-bottom: none;
}
.data-table tr:hover {
    background-color: #fcfcfc;
}

/* --- Action Buttons --- */
.btn-edit, .btn-del {
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: transform 0.2s;
}
.btn-edit {
    background: #eef7ff;
    color: #3498db;
}
.btn-del {
    background: #fee2e2;
    color: #dc2626;
    margin-left: 8px;
}
.btn-edit:hover{
    transform: scale(1.1);
}
/*=========================
// Modal CSS
=========================*/
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal-content {
    background: white;
    width: 100%;
    max-width: 550px;
    border-radius: 15px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    animation: slideDown 0.3s ease-out;
    overflow: hidden;
}
.modal-content .modal-header {
    padding: 20px 25px;
    background: #f8f9fa;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.modal-content .modal-header h3 {
    margin: 0;
    color: #2c3e50;
    font-size: 18px;
}
/* Footer */
.modal-content .modal-footer {
    padding: 20px;
    background: #f8f9fa;
    display: flex;
    gap: 10px;
}
.modal-content .modal-footer .btn-cancel {
    flex: 1;
    padding: 12px;
    border: none;
    background: #ddd;
    border-radius: 6px;
    cursor: pointer;
}
.modal-content .modal-footer .btn-confirm {
    flex: 2;
    padding: 12px;
    border: none;
    background: #27ae60;
    color: white;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
}
.modal-content .close-btn {
    font-size: 28px;
    color: #95a5a6;
    cursor: pointer;
    line-height: 1;
}
.modal-content .close-btn:hover {
    color: #e74c3c;
}
/* --- Modal Form Body --- */
.modal-content .form-grid {
    padding: 25px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.modal-content .full-width {
    grid-column: span 2;
}
.modal-content .input-group {
    display: flex;
    flex-direction: column;
}
.modal-content .input-group label {
    font-weight: 600;
    font-size: 13px;
    color: #555;
    margin-bottom: 8px;
}
.modal-content .input-group input, 
.modal-content .input-group textarea {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;}
@keyframes slideDown {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}








/* Container & Header */
.category-container { padding: 30px; background: #f4f7f6; min-height: 100vh; }
.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.btn-add { background: #3498db; color: white; border: none; padding: 12px 20px; border-radius: 8px; cursor: pointer; font-weight: bold; }

/* Table Elements */
.data-table { width: 100%; border-collapse: collapse; background: white; }
.data-table th { background: #f8f9fa; padding: 15px; text-align: left; color: #7f8c8d; font-size: 13px; border-bottom: 2px solid #eee; }
.data-table td { padding: 15px; border-bottom: 1px solid #f1f1f1; font-size: 14px; }

.cat-icon-preview { width: 35px; height: 35px; background: #f0f2f5; display: flex; align-items: center; justify-content: center; border-radius: 6px; font-size: 18px; }

/* Badges */
.badge { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: bold; }
.badge-parent { background: #e3f2fd; color: #1976d2; }
.badge-sub { background: #f3e5f5; color: #7b1fa2; }

/* Modal specific */
.modal-overlay { 
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; 
    background: rgba(0,0,0,0.6); backdrop-filter: blur(3px); z-index: 2000; justify-content: center; align-items: center; 
}
.modal-content { background: white; width: 450px; border-radius: 12px; overflow: hidden; box-shadow: 0 15px 30px rgba(0,0,0,0.2); }
.form-body { padding: 25px; }
.input-group { margin-bottom: 15px; }
.input-group label { display: block; font-weight: 600; font-size: 13px; color: #555; margin-bottom: 6px; }
.input-group input, .input-group select, .input-group textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; outline: none; }
.input-group input:focus { border-color: #3498db; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }

.modal-footer { padding: 20px; background: #f8f9fa; display: flex; justify-content: flex-end; gap: 10px; }
.btn-confirm { background: #27ae60; color: white; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-weight: bold; }











/* Container & Header */
.accounts-container { padding: 30px; background: #f8fafc; min-height: 100vh; }
.accounts-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.header-left h1 { font-size: 24px; color: #1e293b; margin: 0; }
.header-left p { color: #64748b; font-size: 14px; margin: 5px 0 0; }

/* Filter Toolbar */
.header-filters { display: flex; gap: 10px; align-items: center; }
.header-filters select, .header-filters input { 
    padding: 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: white; outline: none;
}
.btn-refresh { background: #334155; color: white; border: none; padding: 10px 20px; border-radius: 8px; cursor: pointer; }

/* Summary Grid */
.accounts-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-bottom: 30px; }
.stat-card { background: white; padding: 25px; border-radius: 12px; display: flex; align-items: center; gap: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.03); }
.stat-icon { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.income { background: #ecfdf5; }
.expense { background: #fef2f2; }
.profit { background: #eff6ff; }
.tax { background: #f8fafc; }
.stat-info label { font-size: 13px; color: #64748b; font-weight: 600; text-transform: uppercase; }
.stat-info h3 { margin: 5px 0 0; font-size: 22px; color: #1e293b; }

/* Data Table Section */
.card { background: white; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.03); overflow: hidden; }
.section-header { padding: 20px 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f5f9; }
.section-header h2 { font-size: 18px; color: #1e293b; margin: 0; }

/* Export Buttons */
.btn-export { border: none; padding: 8px 15px; border-radius: 6px; font-weight: bold; cursor: pointer; font-size: 13px; margin-left: 5px; }
.btn-export.pdf { background: #fee2e2; color: #dc2626; }
.btn-export.html { background: #e0f2fe; color: #0369a1; }

.data-table { width: 100%; border-collapse: collapse; }
.data-table th { background: #f8fafc; padding: 15px 25px; text-align: left; font-size: 12px; color: #64748b; text-transform: uppercase; border-bottom: 1px solid #f1f5f9; }
.data-table td { padding: 15px 25px; border-bottom: 1px solid #f1f5f9; font-size: 14px; color: #334155; }

/* Badges */
.pay-badge { padding: 4px 8px; border-radius: 4px; font-size: 11px; font-weight: bold; }
.pay-badge.cash { background: #dcfce7; color: #15803d; }
.status-pill.completed { color: #15803d; font-weight: bold; }
.text-success { color: #10b981; }

.table-footer { padding: 20px 25px; display: flex; justify-content: space-between; align-items: center; }
.page-numbers button { padding: 5px 12px; border: 1px solid #e2e8f0; background: white; border-radius: 4px; cursor: pointer; }
.page-numbers button.active { background: #3b82f6; color: white; border-color: #3b82f6; }










.reports-container { padding: 30px; background: #f0f2f5; min-height: 100vh; }

.reports-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.reports-header h1 { font-size: 24px; color: #1a1a1a; margin: 0; }
.reports-header p { color: #666; margin-top: 5px; }

/* Filter Buttons */
.report-range { background: #e4e6eb; padding: 4px; border-radius: 8px; display: inline-flex; margin-right: 15px; }
.range-btn { border: none; padding: 8px 16px; border-radius: 6px; cursor: pointer; background: transparent; font-weight: 600; color: #444; }
.range-btn.active { background: white; color: #007bff; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
.btn-print { background: white; border: 1px solid #ddd; padding: 10px 20px; border-radius: 8px; cursor: pointer; }

/* Grid Layouts */
.analytics-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-bottom: 20px; }
.analytics-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.card { background: white; border-radius: 12px; padding: 20px; box-shadow: 0 4px 6px rgba(0,0,0,0.02); }
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; }
.card-header h3 { font-size: 16px; margin: 0; color: #333; }

/* Placeholder Styling */
.chart-container { height: 250px; display: flex; align-items: center; justify-content: center; background: #fcfcfc; border: 1px dashed #ddd; border-radius: 8px; }
.chart-placeholder { color: #aaa; font-style: italic; font-size: 13px; }

/* Top List Styling */
.top-list { list-style: none; padding: 0; }
.top-list li { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid #f9f9f9; }
.rank { width: 24px; height: 24px; background: #007bff; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; margin-right: 15px; }
.p-name { flex: 1; font-weight: 500; }
.p-val { font-weight: bold; color: #28a745; }

/* Progress Bars */
.p-stat-item { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
.p-stat-item label { width: 100px; font-size: 13px; }
.progress-bar { flex: 1; height: 8px; background: #eee; border-radius: 4px; overflow: hidden; }
.progress-bar .fill { height: 100%; background: #007bff; }







.settings-container { padding: 30px; background: #f8fafc; min-height: 100vh; }
.settings-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.btn-save-all { background: #27ae60; color: white; border: none; padding: 12px 25px; border-radius: 8px; font-weight: bold; cursor: pointer; }

.settings-layout { display: grid; grid-template-columns: 250px 1fr; gap: 30px; }

/* Sidebar Nav */
.settings-sidebar { background: white; border-radius: 12px; padding: 15px; height: fit-content; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.settings-nav { list-style: none; padding: 0; }
.nav-item { 
    padding: 12px 15px; border-radius: 8px; cursor: pointer; color: #64748b; 
    font-weight: 500; transition: 0.2s; margin-bottom: 5px; 
}
.nav-item:hover { background: #f1f5f9; color: #1e293b; }
.nav-item.active { background: #e0f2fe; color: #0369a1; }

/* Main Content */
.settings-section { display: none; }
.settings-section.active { display: block; animation: fadeIn 0.3s ease; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.card { background: white; padding: 25px; border-radius: 12px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.card h3 { margin: 0 0 20px 0; font-size: 17px; color: #1e293b; border-bottom: 1px solid #f1f5f9; padding-bottom: 10px; }

/* Form Styles */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.full-width { grid-column: span 2; }
.input-group label { display: block; font-size: 13px; font-weight: 600; color: #64748b; margin-bottom: 8px; }
.input-group input, .input-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    outline: none;
    resize: none;
}

/* Switches */
.toggle-item { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; border-bottom: 1px solid #f1f5f9; }
.toggle-info label { display: block; font-weight: 600; color: #1e293b; }
.toggle-info small { color: #64748b; font-size: 12px; }
.switch { width: 40px; height: 20px; cursor: pointer; }








.users-container { padding: 30px; background: #f8fafc; min-height: 100vh; }

.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.page-header h1 { font-size: 24px; color: #1e293b; margin: 0; }

.btn-add-user { 
    background: #3b82f6; color: white; text-decoration: none; 
    padding: 12px 20px; border-radius: 8px; font-weight: 600; 
    transition: background 0.2s; 
}
.btn-add-user:hover { background: #2563eb; }

/* Filter Bar */
.users-filter-bar { 
    display: flex; justify-content: space-between; padding: 15px 20px; 
    margin-bottom: 20px; align-items: center; 
}
.search-box input { 
    width: 300px; padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; outline: none; 
}
.filter-options select { padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; margin-left: 10px; }

/* Table Styling */
.card { background: white; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); overflow: hidden; }
.users-table { width: 100%; border-collapse: collapse; }
.users-table th { background: #f1f5f9; padding: 15px 20px; text-align: left; font-size: 13px; color: #64748b; }
.users-table td { padding: 15px 20px; border-bottom: 1px solid #f1f5f9; font-size: 14px; }

/* User Info Cell */
.user-info { display: flex; align-items: center; gap: 12px; }
.user-avatar { 
    width: 40px; height: 40px; background: #e2e8f0; border-radius: 50%; 
    display: flex; align-items: center; justify-content: center; font-weight: bold; color: #475569; 
}
.u-name { display: block; font-weight: 600; color: #1e293b; }
.u-email { font-size: 12px; color: #64748b; }

/* Badges */ 
.role-tag { padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 500; }
.role-tag.admin { background: #fee2e2; color: #991b1b; }
.status-pill { padding: 4px 10px; border-radius: 20px; font-size: 11px; font-weight: bold; }
.status-pill.active { background: #dcfce7; color: #166534; }

/* Action Buttons */
.action-btns { display: flex; gap: 5px; }
.btn-icon { 
    border: none; background: #f8fafc; cursor: pointer; padding: 8px; 
    border-radius: 6px; transition: 0.2s; 
}
.btn-icon:hover { background: #e2e8f0; }
.btn-icon.delete:hover { background: #fee2e2; }








.add-user-container { padding: 30px; background: #f8fafc; min-height: 100vh; }
.form-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 30px;width: 100%;float: left;}

.btn-back { text-decoration: none; color: #64748b; font-weight: 600; font-size: 14px; margin-right: 15px; }
.btn-save { background: #10b981; color: white; border: none; padding: 12px 30px; border-radius: 8px; font-weight: bold; cursor: pointer; }

.form-grid {display: grid;grid-template-columns: 75% auto;gap: 30px;width: 100%;float: left;}

/* Card & Inputs */
.card { background: white; padding: 25px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.card h3 { margin: 0 0 20px 0; font-size: 16px; color: #1e293b; border-bottom: 1px solid #f1f5f9; padding-bottom: 10px; }

.input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.input-group label { display: block; font-size: 13px; font-weight: 600; color: #475569; margin-bottom: 8px; }
.input-group input, .input-group select { width: 100%; padding: 10px; border: 1px solid #e2e8f0; border-radius: 6px; outline: none; }

/* Permissions */
.section-hint { font-size: 13px; color: #64748b; margin-bottom: 20px; }
.permission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.perm-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border: 1px solid #f1f5f9; border-radius: 8px; }
.perm-item input[type="checkbox"] { margin-top: 4px; width: 18px; height: 18px; }
.perm-item label strong { display: block; font-size: 14px; color: #1e293b; }
.perm-item label span { font-size: 12px; color: #94a3b8; }

/* Avatar Upload */
.avatar-upload { text-align: center; }
.avatar-preview { 
    width: 100px; height: 100px; background: #f1f5f9; border-radius: 50%; 
    margin: 0 auto 15px; display: flex; align-items: center; justify-content: center; 
    border: 2px dashed #cbd5e1; color: #94a3b8; font-weight: bold; overflow: hidden;
}
.avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.mt-20 { margin-top: 20px; }