/* Customer support and billing. No admin or business logic changes. */
.mi-client .mi-records .table-container,
.mi-client .mi-ticket-compose,
.mi-client .mi-department-card,
.mi-client .mi-ticket-thread .ticket-reply {
 background: #ffffffcf; border: 1px solid #fffffff0; border-radius: 21px;
 box-shadow: 0 12px 36px #56367d0a,inset 0 1px 0 #fff;
}
.mi-client .mi-records .table-container { padding: 16px 16px 22px; }
.mi-client .mi-records .dataTables_wrapper .dataTables_info {
 background: transparent; color: #70617e; font-size: 12px; font-weight: 400;
 border: 0; padding: 15px 6px !important;
}
.mi-client .mi-records .dataTables_wrapper .dataTables_filter { margin: 0 0 10px; }
.mi-client .mi-records .dataTables_wrapper .dataTables_filter label { padding: 0 0 12px; color: #695578; }
.mi-client .mi-records .dataTables_filter label .form-control {
 background-color: #fff; background-position: 12px center; border: 1px solid #d9cbe7;
 border-radius: 12px; min-height: 44px; width: 230px; max-width: 100%;
}
.mi-client .mi-records .dataTables_length { background: transparent; color: #70617e; }
.mi-client .mi-records .dataTables_length label { padding: 12px 6px 0; }
.mi-client .mi-records .dataTables_length select.form-control {
 min-height: 38px; border: 1px solid #dfd1ea; border-radius: 9px; padding: 5px 9px; background: #fff;
}
.mi-client .mi-records .dataTables_wrapper table.table-list thead th,
.mi-client .mi-records .dataTables_wrapper table.table-list thead th:nth-child(even) {
 background: #eee4f8; color: #61466f; border-bottom: 1px solid #d9c7e9;
 padding: 16px 22px 16px 14px; font-size: 12px; font-weight: 700;
}
.mi-client .mi-records .dataTables_wrapper table.table-list thead th.sorting_asc,
.mi-client .mi-records .dataTables_wrapper table.table-list thead th.sorting_desc { background-color: #e5d3f3; color: #4e1b74; }
.mi-client .mi-records .table-list > tbody > tr > td {
 background: #ffffff85; border-bottom: 1px solid #e9e0f1; padding: 19px 14px;
 font-size: 13px; line-height: 1.65; vertical-align: middle; color: #3c2c4b;
}
.mi-client .mi-records .table-list > tbody > tr:nth-child(even) > td { background: #f7f2fb9e; }
.mi-client .mi-records .table-list > tbody > tr:hover > td { background: #eee2f8; }
.mi-client .mi-records .table-list > tbody > tr > td a.border-left {
 border-left: 0; padding: 0; color: #3a244c; text-align: left; overflow-wrap: anywhere;
}
.mi-client .mi-records .ticket-number { display: block; color: #8a679f; font-size: 11px; font-weight: 600; margin-bottom: 4px; }
.mi-client .mi-records .ticket-subject { font-style: normal; color: #3a244c; font-size: 14px; line-height: 1.5; }
.mi-client .mi-records .ticket-subject.unread { color: #6c06b1; font-weight: 700; }
.mi-client .mi-records .status { display: inline-block; border-width: 1px; border-radius: 999px; padding: 4px 11px; font-size: 11px; font-weight: 600; line-height: 1.6; white-space: normal; min-width: 85px; background: #fff; }
.mi-client .mi-records .status-open, .mi-client .mi-records .status-paid { background: #edf7f0; border-color: #bbd9c6; color: #286343; }
.mi-client .mi-records .status-unpaid { background: #fff0f2; border-color: #edc7cf; color: #943b50; }
.mi-client .mi-records .status-answered { background: #efe6fa; border-color: #d5bee9; color: #652795; }
.mi-client .mi-records .status-customer-reply { background: #fff4e8; border-color: #ead3b5; color: #825120; }
.mi-client .mi-records .status-closed, .mi-client .mi-records .status-cancelled { background: #f1edf5; border-color: #d8d0e2; color: #6a6075; }
.mi-client .mi-invoices-list td:nth-child(4) { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mi-client .mi-invoices-list td:first-child { font-weight: 700; color: #653089; }
.mi-client .mi-records .dataTables_paginate { padding: 12px 4px 0; }
.mi-client .mi-records .pagination > li > a,
.mi-client .mi-records .pagination > li > span { padding: 8px 13px; border-color: #dfd1ea; min-height: 38px; }
.mi-client .mi-ticket-thread .ticket-reply {
 display: grid; grid-template-columns: minmax(0,1fr) auto;
 margin: 0 0 23px; padding: 0; overflow: hidden;
}
.mi-client .mi-ticket-thread .ticket-reply.staff { border: 1px solid #d7bce9; box-shadow: 0 12px 36px #6535890b,inset 3px 0 0 #a572cd; }
.mi-client .mi-ticket-thread .ticket-reply .user { grid-column: 1; grid-row: 1; background: transparent; padding: 22px 24px 17px; min-width: 0; }
.mi-client .mi-ticket-thread .ticket-reply.staff .user { background: transparent; }
.mi-client .mi-ticket-thread .ticket-reply .user > i {
 width: 40px; height: 40px; padding: 11px 0; margin-right: 13px;
 text-align: center; border-radius: 13px; background: #ecdef6; color: #8557a7; font-size: 17px;
}
.mi-client .mi-ticket-thread .ticket-reply .user .name { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.mi-client .mi-ticket-thread .ticket-reply .user .type { color: #796a86; font-weight: 400; font-size: 12px; overflow-wrap: anywhere; }
.mi-client .mi-ticket-thread .ticket-reply .user .label { display: inline-block; margin: 0 0 4px 5px; padding: 4px 7px; border-radius: 6px; font-size: 10px; background: #ede4f6; color: #63417e; }
.mi-client .mi-ticket-thread .ticket-reply .date { grid-column: 2; grid-row: 1; float: none; padding: 24px 24px 0 10px; color: #796a86; font-size: 11px; }
.mi-client .mi-ticket-thread .ticket-reply .message { grid-column: 1 / -1; padding: 22px 24px; border-top: 1px solid #eae1f2; line-height: 1.85; color: #362943; min-width: 0; overflow-wrap: anywhere; }
.mi-client .mi-ticket-thread .ticket-reply .message p:last-child { margin-bottom: 0; }
.mi-client .mi-ticket-thread .ticket-reply .message img { max-width: 100%; height: auto; }
.mi-client .mi-ticket-thread .ticket-reply .message pre { overflow-x: auto; white-space: pre; background: #f5f0fa; border-color: #e0d1ec; border-radius: 10px; }
.mi-client .mi-ticket-thread .ticket-reply .attachments { grid-column: 1 / -1; padding: 17px 24px; border-top: 1px solid #e4d8ee; background: #f5effaa6; color: #695578; font-size: 12px; }
.mi-client .mi-ticket-thread .ticket-reply .attachments ul { padding: 10px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mi-client .mi-ticket-thread .ticket-reply .attachments li { padding: 8px 12px; border: 1px solid #dfd0eb; border-radius: 9px; background: #fff; overflow-wrap: anywhere; max-width: 100%; }
.mi-client .mi-ticket-thread #ticketReply { cursor: pointer; background: #ede1f780; padding: 21px 23px; }
.mi-client .mi-ticket-thread .panel-collapsable { margin-bottom: 30px; }
.mi-client .mi-ticket-compose { padding: 28px; margin-bottom: 25px; }
.mi-client .mi-ticket-compose label, .mi-client .mi-ticket-thread #frmReply label { font-size: 12px; color: #695578; margin-bottom: 8px; }
.mi-client .mi-ticket-compose textarea, .mi-client .mi-ticket-thread #frmReply textarea { min-height: 240px; line-height: 1.7; }
.mi-client .mi-ticket-compose .md-editor, .mi-client .mi-ticket-thread .md-editor { border: 1px solid #dacbe7; border-radius: 12px; overflow: hidden; background: #fff; }
.mi-client .mi-ticket-compose .md-editor .md-header, .mi-client .mi-ticket-thread .md-editor .md-header { background: #f1e9f8; border-bottom: 1px solid #dfd1eb; padding: 10px; }
.mi-client .mi-ticket-compose .md-editor textarea, .mi-client .mi-ticket-thread .md-editor textarea { border-radius: 0; border: 0; padding: 15px; background: #fff; }
.mi-client .mi-ticket-compose input[type="file"], .mi-client .mi-ticket-thread input[type="file"] { height: auto; min-height: 48px; padding: 8px; font-size: 12px; background: #fcf9ff; }
.mi-client .mi-ticket-compose input[type="file"]::file-selector-button,
.mi-client .mi-ticket-thread input[type="file"]::file-selector-button { border: 0; border-radius: 7px; padding: 7px 11px; background: #ecdef7; color: #603083; margin-right: 12px; cursor: pointer; }
.mi-client .mi-ticket-compose .ticket-attachments-message,
.mi-client .mi-ticket-thread .ticket-attachments-message { padding-top: 10px; font-size: 11px; line-height: 1.7; color: #796a86; }
.mi-client .mi-ticket-compose #openTicketSubmit { padding: 13px 24px; }
.mi-client .mi-departments > p { color: #695e79; font-size: 15px; margin-bottom: 25px; }
.mi-client .mi-department-card { width: calc(50% - 16px); margin: 8px; padding: 24px; min-height: 145px; }
.mi-client .mi-department-card:hover { background: #fffffff0; border-color: #d1b4e6; }
.mi-client .mi-department-card strong a { font-size: 17px; line-height: 1.5; display: block; }
.mi-client .mi-department-card strong a i { display: inline-block; padding: 10px; border-radius: 11px; background: #ede1f8; margin-right: 7px; }
.mi-client .mi-department-card > p:last-child { color: #796a86; line-height: 1.75; font-size: 13px; margin-bottom: 0; }
/* Standalone browser invoice, including a neutral print presentation. */
body.mi-invoice-page { padding: 30px 16px; }
.mi-invoice-page .invoice-container {
 width: 100%; max-width: 980px; margin: 0 auto 22px; padding: 44px;
 border: 1px solid #fffffff2; border-radius: 25px; background: #ffffffeb;
 box-shadow: 0 18px 60px #57327b14,inset 0 1px 0 #fff;
}
.mi-invoice-page .invoice-header { padding-bottom: 12px; }
.mi-invoice-page .invoice-header img { max-width: 230px; max-height: 65px; object-fit: contain; }
.mi-invoice-page .invoice-header h2 { font-size: 26px; }
.mi-invoice-page .invoice-header h3 { font-size: 28px; margin-top: 22px; overflow-wrap: anywhere; }
.mi-invoice-page .invoice-container .invoice-status { font-size: 13px; margin: 4px 0 14px; text-transform: none; }
.mi-invoice-page .invoice-status > span { display: inline-block; border: 1px solid #d9cce3; border-radius: 999px; padding: 8px 19px; background: #f3edf8; color: #6f607b; }
.mi-invoice-page .invoice-status > .paid { background: #eaf6ef; border-color: #bbdcc8; color: #276343; }
.mi-invoice-page .invoice-status > .unpaid { background: #fff0f2; border-color: #edc7cf; color: #943b50; }
.mi-invoice-page .invoice-status > .refunded { background: #edf2fa; border-color: #c3d5ed; color: #385b8b; }
.mi-invoice-page .invoice-status > .collections { background: #fff5e5; border-color: #ead5ac; color: #7f5923; }
.mi-invoice-page .invoice-container .small-text { font-size: 13px; color: #655570; line-height: 1.85; }
.mi-invoice-page address { margin-top: 10px; margin-bottom: 24px; overflow-wrap: anywhere; }
.mi-invoice-page .invoice-col > strong { color: #3f2953; font-size: 12px; }
.mi-invoice-page hr { border-color: #e7ddf0; margin: 24px 0; }
.mi-invoice-page .payment-btn-container { padding-top: 12px; }
.mi-invoice-page .invoice-container .panel { background: #fff; border: 1px solid #e3d8ed; box-shadow: none; border-radius: 15px; }
.mi-invoice-page .invoice-container .panel-heading { background: #f4edf9; padding: 16px 20px; border-radius: 14px 14px 0 0; }
.mi-invoice-page .invoice-container .table { margin-bottom: 0; }
.mi-invoice-page .invoice-container .table thead td { background: #f8f4fb; color: #695578; padding: 13px 12px; border-bottom: 1px solid #e5d8ef; font-size: 12px; }
.mi-invoice-page .invoice-container .table tbody td { padding: 15px 12px; font-size: 13px; line-height: 1.75; border-color: #eee6f4; }
.mi-invoice-page .invoice-container td.total-row { background: #f7f1fb; }
.mi-invoice-page .invoice-container .table tbody tr:last-child td.total-row { background: #eee1f8; color: #542078; font-size: 15px; font-weight: 700; }
.mi-invoice-page .invoice-container .table td:last-child { font-variant-numeric: tabular-nums; }
.mi-invoice-page .invoice-qr-wrapper { text-align: center; padding: 20px; }
.mi-invoice-page .invoice-qr-wrapper img, .mi-invoice-page .invoice-qr-wrapper svg { max-width: 100%; height: auto; }
.mi-invoice-page .mi-invoice-back a { display: inline-block; padding: 12px 20px; border: 1px solid #e5d7ef; border-radius: 12px; background: #ffffffb3; font-size: 13px; }
@media (max-width: 767px) {
 .mi-client .mi-ticket-compose { padding: 21px 16px; border-radius: 17px; }
 .mi-client .mi-ticket-thread .ticket-reply { grid-template-columns: minmax(0,1fr); border-radius: 17px; }
 .mi-client .mi-ticket-thread .ticket-reply .user { grid-row: 1; padding: 19px 18px 8px; }
 .mi-client .mi-ticket-thread .ticket-reply .date { grid-column: 1; grid-row: 2; padding: 0 18px 15px 71px; }
 .mi-client .mi-ticket-thread .ticket-reply .message { padding: 18px; }
 .mi-client .mi-ticket-thread .ticket-reply .attachments { padding: 16px 18px; }
 .mi-client .mi-ticket-compose .col-sm-3 > .btn,
 .mi-client .mi-ticket-thread #frmReply .col-sm-3 > .btn { margin-top: 10px; }
 .mi-client .mi-department-card { width: calc(100% - 16px); min-height: 0; }
 .mi-client .mi-records .table-container { padding: 12px 8px; border-radius: 17px; }
 .mi-client .mi-records .dataTables_filter { float: none; width: 100%; }
 .mi-client .mi-records .dataTables_filter label { display: block; margin: 0; }
 .mi-client .mi-records .dataTables_filter label .form-control { width: 100%; margin-left: 0; }
 .mi-client .mi-records .table-list > tbody > tr > td { padding: 14px 10px; }
 body.mi-invoice-page { padding: 16px 10px; }
 .mi-invoice-page .invoice-container { padding: 25px 19px; margin: 0 auto 18px; border-radius: 18px; }
 .mi-invoice-page .invoice-header h3 { font-size: 24px; }
 .mi-invoice-page .invoice-container .panel-body { padding: 10px; }
 .mi-invoice-page .invoice-container .table td { white-space: normal; overflow-wrap: anywhere; }
 .mi-invoice-page .invoice-container .table td:last-child { min-width: 92px; }
}
@media (max-width: 499px) {
 .mi-invoice-page .invoice-header { text-align: left; }
 .mi-invoice-page .invoice-col { width: 100%; float: none; text-align: left; }
 .mi-invoice-page .invoice-header .invoice-col + .invoice-col { margin-top: 12px; }
 .mi-invoice-page .invoice-container .invoice-status { text-align: left; }
}
@media print {
 html:has(body.mi-invoice-page), body.mi-invoice-page { width: auto !important; background: #fff !important; padding: 0; }
 .mi-invoice-page .invoice-container { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
 .mi-invoice-page .invoice-col { width: 50%; float: left; }
 .mi-invoice-page .invoice-col.right { float: right; text-align: right; }
 .mi-invoice-page .invoice-container .panel { border: 1px solid #bbb; box-shadow: none; }
 .mi-invoice-page .invoice-container .table-responsive { overflow: visible; border: 0; }
 .mi-invoice-page .invoice-container .table tr { break-inside: avoid; }
 .mi-invoice-page .invoice-status > span { color: #000 !important; border-color: #999; background: #fff !important; }
 .mi-invoice-page .invoice-header img { max-width: 180px; }
 .mi-invoice-page .invoice-container .table td, .mi-invoice-page .invoice-container .small-text { color: #000; font-size: 11px; }
 .mi-client .mi-ticket-thread .ticket-reply { display: block; box-shadow: none; border: 1px solid #bbb; background: #fff; }
}
