/* TPV: presentation only. Kept separate from sale/payment behaviour. */
@media screen {
.tp-modern { --tp-ink:#182b42; --tp-muted:#53657a; --tp-primary:#176b62; --tp-line:#d9e2eb; --tp-bg:#f3f6fa; font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--tp-ink); font-size:15px; line-height:1.5; background:var(--tp-bg); }
.tp-modern .content-wrapper,.tp-modern .right-side {background:var(--tp-bg);}
.tp-modern .main-header .navbar,.tp-modern .main-header .logo {background:#153c46!important;color:#fff;}
.tp-modern .main-header .logo {font-weight:750;letter-spacing:-.03em;}
.tp-modern .main-header .navbar a {color:#fff;}
.tp-modern .main-sidebar,.tp-modern .left-side {background:#172d3f;}
.tp-modern .sidebar-menu>li>a {padding:14px 16px;color:#dce8f1;}
.tp-modern .sidebar-menu>li.active>a,.tp-modern .sidebar-menu>li>a:hover {background:#23485b;color:#fff;border-left-color:#71cbbc;}
.tp-modern .sidebar-menu .treeview-menu {background:#20394c;}
.tp-modern .treeview-menu>li>a {color:#dce8f1;padding:10px 16px;}
.tp-modern .content {padding:24px;}
.tp-modern .content-header h1 {font-size:27px;font-weight:750;letter-spacing:-.03em;}
.tp-modern .box {border:1px solid var(--tp-line);border-radius:16px;box-shadow:0 4px 18px #182b4208;overflow:hidden;}
.tp-modern .box-header {padding:20px 22px;border-bottom:1px solid var(--tp-line);}
.tp-modern .box-title {font-weight:700;font-size:20px;}
.tp-modern .box-body {padding:20px 22px;}
.tp-modern .btn {border-radius:8px;font-weight:650;min-height:42px;padding:9px 15px;box-shadow:none;}
.tp-modern .btn-primary,.tp-modern .btn-success {background:var(--tp-primary);border-color:var(--tp-primary);}
.tp-modern .btn-primary:hover,.tp-modern .btn-success:hover {background:#10544d;border-color:#10544d;}
.tp-modern .btn-warning {background:#fff1d4;color:#674512;border-color:#e4c580;}
.tp-modern .btn-danger {background:#fff0ef;color:#9c2921;border-color:#e8b5b0;}
.tp-modern .form-control {border:1px solid #b5c5d5;border-radius:8px;min-height:44px;font-size:15px;box-shadow:none;color:var(--tp-ink);}
.tp-modern label {font-size:14px;font-weight:650;margin-bottom:7px;}
.tp-modern .form-control:focus {border-color:#176b62;box-shadow:0 0 0 3px #176b621f;}
.tp-modern :focus-visible {outline:3px solid #218478;outline-offset:3px;}
.tp-modern .table>thead>tr>th {background:#edf3f7!important;color:#33465c;font-size:13px;font-weight:750;border-bottom:1px solid var(--tp-line);padding:13px 12px;}
.tp-modern .table>tbody>tr>td {padding:13px 12px;vertical-align:middle;border-color:#e5ebf1;}
.tp-modern .table-striped>tbody>tr:nth-of-type(odd) {background:#f8fafc;}
.tp-modern .modal-content {border:0;border-radius:16px;box-shadow:0 20px 70px #102a4340;}
.tp-modern .modal-header {padding:20px 24px;border-bottom:1px solid var(--tp-line);}
.tp-modern .modal-title {font-weight:750;}
.tp-modern .modal-body {padding:24px;}
.tp-modern .modal-footer {padding:16px 24px;background:#f8fafc;border-radius:0 0 16px 16px;}
.tp-modern .stable h4 {font-size:16px;line-height:1.5;}
.tp-modern .stable td {padding:8px 0;}
.tp-modern .tp-summary {display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px;}
.tp-modern .tp-summary div {padding:15px;background:#edf5f3;border:1px solid #cfe0dc;border-radius:10px;}
.tp-modern .tp-summary span {display:block;font-size:12px;color:#40586a;}
.tp-modern .tp-summary strong {display:block;font-size:23px;font-variant-numeric:tabular-nums;}
.tp-modern .tp-help {color:var(--tp-muted);font-size:13px;margin:8px 0 16px;}
.tp-modern .tp-page-intro {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;}
.tp-modern .tp-page-intro h2 {font-size:26px;font-weight:750;letter-spacing:-.03em;margin:0 0 4px;}
.tp-modern .tp-page-intro p {margin:0;color:var(--tp-muted);}
/* Login */
.tp-login {min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 10%,#d9efe8,transparent 50%),#f3f6fa;}
.tp-login .login-box {width:min(440px,calc(100% - 32px));margin:32px auto;}
.tp-login .login-logo {font-size:32px;margin-bottom:24px;}
.tp-login .login-brand-text {overflow-wrap:anywhere;}
.tp-login .login-logo a {color:#153c46;font-weight:800;letter-spacing:-.04em;}
.tp-login .login-logo img {max-width:230px;max-height:80px;}
.tp-login .login-logo img.tp-brand-logo {width:320px;max-width:100%;height:auto;max-height:100px;object-fit:contain;}
.tp-modern .main-header .logo .tp-header-logo {width:auto;height:auto;max-width:200px;max-height:44px;vertical-align:middle;}
.tp-modern .main-header .logo .tp-brand-plate {display:inline-flex;align-items:center;justify-content:center;max-width:100%;height:42px;padding:3px 5px;border-radius:5px;background:#F4F6F5;vertical-align:middle;line-height:1;}
.tp-modern .main-header .logo .tp-brand-plate .tp-header-logo {max-width:190px;max-height:36px;}
.tp-modern .main-header .logo .tp-brand-mini-plate {display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#F4F6F5;border-radius:5px;vertical-align:middle;}
.tp-modern .main-header .logo .tp-brand-mini-plate img {width:32px;height:32px;object-fit:contain;}
.tp-login .login-box-body {border:1px solid var(--tp-line);border-radius:20px;padding:34px;box-shadow:0 16px 55px #153c4612;}
.tp-login .login-box-msg {font-size:23px;font-weight:750;color:var(--tp-ink);padding:0;text-align:left;margin-bottom:8px;}
.tp-login .btn {margin-top:24px;min-height:48px;}
.tp-modern.pos {min-width:0!important;}
.tp-modern.pos #right-col {display:flex;flex-direction:column;overflow:visible;}
.tp-modern.pos #item-list {flex:1;min-height:0;}
.tp-modern.pos #item-list .items {height:100%!important;overflow:auto!important;}
.tp-modern.pos .contents .product-nav {position:static;padding-right:0;}
.tp-modern.pos .content-wrapper {padding-top:18px;}
/* POS: preserve DOM ids, scanner, shortcuts and print-specific layout. */
.tp-modern.pos .content {padding:18px;}
.tp-modern.pos .layout-table {position:static;min-width:0!important;width:100%;border-spacing:16px 0;border-collapse:separate;margin:0;}
.tp-modern.pos .layout-table>tbody>tr>td {vertical-align:top;}
.tp-modern.pos #leftdiv,.tp-modern.pos #right-col {background:#fff;border:1px solid var(--tp-line);border-radius:16px;padding:18px;}
.tp-modern.pos #add_item {min-height:50px;border:2px solid #79a99f;background:#f7fcfa;font-size:16px;}
.tp-modern.pos #list-table-div {min-height:160px;}
.tp-modern.pos #totaldiv {background:#f0f7f4;border-radius:10px;padding:10px;margin:12px 0;}
.tp-modern.pos #totaltbl td {border:0;background:transparent;}
.tp-modern.pos #totaltbl tr:last-child td {padding-top:16px;border-top:1px solid #cde0d8;font-size:20px;color:#144f47;}
.tp-modern.pos #total-payable {font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;}
.tp-modern.pos .items .product {background:#fff;border:1px solid #d4e0e9;border-radius:10px;margin:5px;box-shadow:0 2px 6px #182b4206;min-height:104px;color:var(--tp-ink);}
.tp-modern.pos .items .product:hover {background:#edf7f4;border-color:#176b62;box-shadow:0 0 0 2px #176b6217;}
.tp-modern.pos .product-nav {margin-top:12px;}
.tp-modern.pos #payment {font-size:18px;}
.tp-modern.pos .tp-catalog-head h2 {font-size:19px;font-weight:750;margin:0 0 5px;}
.tp-modern.pos .tp-catalog-head {margin-bottom:16px;}
.tp-modern.pos .tp-catalog-empty {padding:24px;color:#53657a;text-align:center;}
.tp-modern .ui-autocomplete {border:1px solid var(--tp-line);border-radius:10px;padding:6px;box-shadow:0 8px 24px #182b4220;}
.tp-modern .ui-menu-item {padding:9px;font-size:15px;}
@media(max-width:1100px) { .tp-modern.pos .main-header .navbar .nav>li>a {padding:15px 9px;font-size:13px;} .tp-modern.pos .layout-table {border-spacing:8px 0;} }
@media(max-width:767px) {
.tp-modern .content {padding:14px;}.tp-modern .box-body {padding:14px;}.tp-modern .tp-page-intro {align-items:flex-start;flex-direction:column;}
.tp-modern .tp-summary {grid-template-columns:1fr;}.tp-modern .modal-dialog {margin:10px;}.tp-modern .modal-body {padding:18px;}
.tp-modern.pos .layout-table,.tp-modern.pos .layout-table>tbody,.tp-modern.pos .layout-table>tbody>tr,.tp-modern.pos .layout-table>tbody>tr>td {display:block;width:100%!important;}
.tp-modern.pos #leftdiv {margin-bottom:16px;}.tp-modern.pos #right-col,.tp-modern.pos .items,.tp-modern.pos #list-table-div {height:auto!important;max-height:none!important;}
.tp-modern.pos .items {min-height:180px;}.tp-modern.pos #list-table-div {max-height:360px!important;overflow:auto!important;}
.tp-modern.pos .layout-table>tbody>tr>td>.hidden-xs {display:block!important;}.tp-modern.pos #right-col {padding:14px;}
.tp-modern.pos .main-header .navbar .nav {display:flex;flex-wrap:wrap;margin:0;}.tp-modern.pos .main-header .navbar .nav>li {float:none;}
.tp-modern.pos .main-header .navbar {margin-left:0;}.tp-modern.pos .content-wrapper {margin-left:0!important;}
.tp-modern .dataTables_filter,.tp-modern .dataTables_length {text-align:left!important;}.tp-modern .table-responsive {border:0;}
}
@media(prefers-reduced-motion:reduce) { .tp-modern * {transition:none!important;animation:none!important;} }
}
@media screen {
.tp-modern .select2-hidden-accessible {min-height:0!important;border:0!important;}
.tp-modern .select2-container .select2-selection--single {height:44px;border:1px solid #b5c5d5;border-radius:8px;}
.tp-modern .select2-container--default .select2-selection--single .select2-selection__rendered {line-height:42px;}
.tp-modern .select2-container--default .select2-selection--single .select2-selection__arrow {height:42px;}
.tp-modern.pos #list-table-div {height:clamp(160px,calc(100vh - 560px),440px)!important;}
.tp-modern.pos #right-col {height:calc(100vh - 100px)!important;min-height:520px;}
@media(max-width:767px) { .tp-modern.pos #right-col {height:auto!important;}.tp-modern.pos #list-table-div {height:auto!important;} }
}
@media screen {
.tp-modern .modal-dialog {transform:none!important;}
.tp-modern .modal-success .modal-content,.tp-modern .modal-success .modal-body {background:#fff!important;color:#182b42!important;}
.tp-modern .modal-success .modal-header {background:#edf5f3!important;color:#182b42!important;border-color:#d9e2eb!important;}
.tp-modern.pos #botbuttons .btn {white-space:normal;font-size:13px;padding:8px 5px;}
@media(max-width:767px) {
.tp-modern.pos .main-sidebar {transform:translateX(-230px)!important;}
.tp-modern.pos.sidebar-open .main-sidebar {transform:translateX(0)!important;}
.tp-modern.pos .content-wrapper {transform:none!important;width:100%!important;margin-left:0!important;}
.tp-modern.pos .main-header .navbar .left {width:100%;}
.tp-modern.pos .main-header .navbar .nav {width:100%;}
.tp-modern.pos .main-header .logo {display:none;}
.tp-modern.pos .main-header .navbar .nav>li>a {padding:12px 8px;}
.tp-modern.pos .layout-table>tbody>tr>td {padding:0;max-width:100%;}
.tp-modern.pos #pos {padding:0;max-width:100%;}
.tp-modern.pos #posTable {table-layout:fixed;width:100%;font-size:12px;}
.tp-modern.pos #posTable th,.tp-modern.pos #posTable td {padding:9px 4px;overflow-wrap:anywhere;}
.tp-modern.pos #posTable .edit {font-size:11px;padding:6px 4px;}
.tp-modern.pos #posTable .rquantity {min-height:38px;padding:4px;width:100%;font-size:13px;}
.tp-modern.pos #totaltbl td {padding:8px 3px;font-size:13px;}
.tp-modern.pos #totaltbl tr:last-child td {font-size:17px;}
}
}
@media screen and (max-width:767px) {
.tp-modern.pos .main-header .navbar {margin-left:0!important;}
.tp-modern.pos .content-wrapper {padding:16px 12px;}
.tp-modern.pos .layout-table {border-spacing:0;max-width:100%;}
}
@media screen {
.tp-modern .modal-success .modal-footer {background:#f8fafc!important;border-color:#d9e2eb!important;}
.tp-modern .modal-success .table-bordered td {border-color:#d9e2eb!important;}
.tp-modern.pos .product-nav .btn {white-space:normal;font-size:13px;padding:8px 5px;}
@media(max-width:767px) { .tp-modern.pos #posTable th {font-size:10px;overflow-wrap:normal;} }
}
@media screen { .tp-modern [hidden] {display:none!important;} }

@media screen and (max-width:767px) {
.tp-modern.pos #payModal .modal-body>.row>.col-xs-9,
.tp-modern.pos #payModal .modal-body>.row>.col-xs-3 {width:100%;float:none;}
.tp-modern.pos #payModal .font16 table {width:100%;table-layout:fixed;font-size:13px;}
.tp-modern.pos #payModal .font16 td {overflow-wrap:anywhere;padding:8px 4px;}
.tp-modern.pos #payModal .modal-body>.row>.col-xs-3 {margin-top:12px;}
.tp-modern.pos #payModal .btn-group-vertical {display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;}
.tp-modern.pos #payModal .btn-group-vertical>.btn {flex:1 1 64px;width:auto;margin:0!important;border-radius:6px;}
}

@media screen and (max-width:767px) {
.tp-modern.pos #botbuttons .btn {overflow-wrap:anywhere;}
}

@media screen and (max-width:767px) {
.tp-modern .main-sidebar {transform:translateX(-230px)!important;}
.tp-modern.sidebar-open .main-sidebar {transform:translateX(0)!important;}
.tp-modern .content-wrapper,.tp-modern .main-footer {margin-left:0!important;transform:none!important;width:100%;}
.tp-modern .main-header .navbar {margin-left:0!important;}
.tp-modern .dataTables_wrapper .row>.col-xs-6 {width:100%;float:none;}
.tp-modern .dataTables_wrapper label {display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.tp-modern .dataTables_filter input {max-width:100%;margin-left:0!important;}
}

@media screen {
/* Keep table actions stationary when Bootstrap inserts hover tooltips. */
.tp-modern .table .btn-group {display:inline-flex;flex-wrap:wrap;gap:4px;max-width:100%;}
.tp-modern .table .btn-group>.btn {float:none;margin:0!important;flex:0 0 auto;}
}

@media screen {
/* Legacy custom.css shrank table buttons on hover, moving the click target. */
.tp-modern .table td:last-child .btn-group>.btn:hover {padding:9px 15px;border-width:1px;border-style:solid;}
}

@media screen {
.tp-modern .table .btn-group {min-width:180px;max-width:none;}
}
@media screen and (max-width:767px) {
/* This DataTables version emits columns directly, without a .row wrapper. */
.tp-modern .dataTables_wrapper>.col-xs-6 {width:100%;float:none;clear:both;}
.tp-modern .dataTables_info {white-space:normal;}
}

/* The tax explanation follows the payment totals without crowding controls. */
.tp-payment-tax-summary { margin: 10px 0; text-align: left; }
.tp-payment-tax-summary p { margin: 0 0 4px; }
.tp-payment-tax-summary small { display: block; }

