:root{--navy:#12365a;--navy-dark:#0b243e;--blue:#1e72b8;--mint:#31a88a;--paper:#fff;--canvas:#f4f7fb;--line:#dce5ef;--text:#152536;--muted:#667789;--danger:#c63b4f;--shadow:0 14px 34px rgba(16,43,69,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:256px;background:linear-gradient(180deg,var(--navy),var(--navy-dark));color:#dbeaf8;padding:28px 14px;z-index:10}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:0 10px 28px;font-weight:700;font-size:18px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mint);color:#fff;font-weight:800;font-size:21px}.nav-group{font-size:11px;letter-spacing:.1em;color:#9db7d0;padding:14px 10px 7px}.nav-item{width:100%;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;padding:11px 12px;cursor:pointer;font:inherit}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.12);color:#fff}.workspace{margin-left:256px;min-height:100vh}.topbar{min-height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px 36px}.topbar h1{font-size:23px;margin:1px 0}.eyebrow{margin:0;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em}.user-menu{display:flex;align-items:center;gap:16px;font-size:14px}.view{padding:30px 36px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.toolbar p{margin:0;color:var(--muted)}.button{border:0;border-radius:8px;padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#175f9d}.button-ghost{background:#edf3f8;color:var(--navy)}.button-danger{background:#fff0f2;color:var(--danger)}.card{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 12px rgba(13,42,70,.04);border-radius:12px;padding:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}.data-table th,.data-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.data-table tr:hover td{background:#fbfdff}.empty{padding:38px;text-align:center;color:var(--muted)}.status{display:inline-block;padding:4px 8px;border-radius:99px;font-size:12px;font-weight:700;background:#e7f7f2;color:#168069}.status.off{background:#fbe9ec;color:#af3445}.login-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#2c79b7,transparent 42%),var(--navy-dark)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:18px;padding:38px;box-shadow:var(--shadow);display:grid;gap:15px}.login-card h1{margin:0;font-size:28px}.muted{color:var(--muted);margin:0}.login-card label,.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:650}.login-card input,.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #bdcbd9;border-radius:7px;padding:10px;font:inherit;color:var(--text);background:#fff}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid #a9d1ef;border-color:var(--blue)}.form-error{min-height:18px;margin:0;color:var(--danger);font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(9,30,50,.52);display:grid;place-items:center;padding:16px}.modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:var(--shadow)}.modal-header,.modal-footer{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:10px}.modal-header h2{font-size:19px;margin:0}.icon-button{border:0;background:transparent;font-size:24px;cursor:pointer}.form-grid{padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}.form-grid textarea{min-height:86px;resize:vertical}.field-error{font-size:12px;color:var(--danger);font-weight:500}.toast-root{position:fixed;right:20px;bottom:20px;z-index:50;display:grid;gap:10px}.toast{background:#1c334a;color:#fff;padding:13px 16px;border-radius:8px;box-shadow:var(--shadow);max-width:360px}.toast.error{background:var(--danger)}.settlement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.metric{padding:15px;border-radius:10px;background:#f1f6fa}.metric small{color:var(--muted);display:block}.metric strong{font-size:19px}.mobile-only{display:none}@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar,.view{padding-left:18px;padding-right:18px}.mobile-only{display:block}.form-grid{grid-template-columns:1fr}.settlement-grid{grid-template-columns:repeat(2,1fr)}.user-menu span{display:none}}@media(max-width:500px){.topbar{padding:13px 16px}.view{padding:20px 14px}.toolbar{align-items:flex-start;flex-direction:column}.settlement-grid{grid-template-columns:1fr}.login-card{padding:28px}.data-table th,.data-table td{padding:11px 9px}}
.data-table tr.payment-cancelled td{background:#fff0f2;color:#9e3444}.data-table tr.payment-cancelled:hover td{background:#fde1e5}
.modal-api-error:empty{display:none}.modal-api-error{margin:18px 22px 0;padding:11px 13px;border:1px solid #efb9c1;border-radius:8px;background:#fff0f2;color:var(--danger);font-size:13px;font-weight:650}
.password-input{display:flex;align-items:stretch}.password-input input{min-width:0;flex:1}.password-toggle{border:1px solid #bdcbd9;border-left:0;border-radius:0 7px 7px 0;background:#edf3f8;color:var(--navy);padding:0 11px;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.password-input input{border-radius:7px 0 0 7px}
.payment-filters{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr)) auto auto;align-items:end;gap:10px;margin:0 0 18px;padding:14px}.payment-filters label{display:grid;gap:5px;font-size:12px;font-weight:650;color:var(--muted)}.payment-filters input,.payment-filters select{min-width:0;border:1px solid #bdcbd9;border-radius:7px;padding:9px;font:inherit;color:var(--text);background:#fff}@media(max-width:1100px){.payment-filters{grid-template-columns:repeat(3,minmax(120px,1fr)) auto auto}}@media(max-width:560px){.payment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-filters .button{grid-column:auto}.payment-filters .button-primary{grid-column:1/2}}
.ticket-filters{grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto}@media(max-width:800px){.ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto auto}}@media(max-width:560px){.ticket-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-filters .button{grid-column:auto}.ticket-filters .button-primary{grid-column:1/2}}
.app-loader{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#2c79b7,transparent 42%),var(--navy-dark)}.app-loader-card{min-width:min(320px,100%);display:grid;justify-items:center;gap:12px;padding:32px;border-radius:18px;background:#fff;color:var(--text);box-shadow:var(--shadow)}.app-loader-card span{color:var(--muted);font-size:14px;text-align:center}.app-spinner{width:34px;height:34px;border:4px solid #dceaf5;border-top-color:var(--blue);border-radius:50%;animation:app-spin .75s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}
.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;color:var(--muted);font-size:13px}.list-pagination div{display:flex;gap:8px}.list-pagination .button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:560px){.list-pagination{align-items:flex-start;flex-direction:column}}
.scrollable-list-view{height:calc(100dvh - 88px);overflow:hidden;display:flex;flex-direction:column}.scrollable-list-view>.toolbar,.scrollable-list-view>.payment-filters,.scrollable-list-view>.admin-preliquidation{flex:0 0 auto}.scrollable-list-view>.card:not(.admin-preliquidation):not(.payment-filters){min-height:0;flex:1 1 auto;display:flex;flex-direction:column}.scrollable-list-view>.card:not(.admin-preliquidation):not(.payment-filters) .table-wrap{min-height:0;flex:1 1 auto;overflow:auto}.scrollable-list-view .data-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}.scrollable-list-view>.list-pagination{flex:0 0 auto}@media(max-width:850px){.scrollable-list-view{height:calc(100dvh - 72px)}}
.button-sale{background:#e4f7ef;color:#126149}.button-sale:hover{background:#d2f0e4}.button-payment{background:#fcebed;color:#aa3f4c}.button-payment:hover{background:#f8dce0}
.payment-history{padding:14px 18px 0}.payment-summary-compact{margin:0 0 12px;gap:8px}.payment-summary-compact .metric{padding:10px 12px}.payment-summary-compact .metric strong{font-size:16px}.payment-history-scroll{max-height:min(34vh,260px);overflow:auto}.payment-history-scroll .data-table thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}.attachment-button{border:0;border-radius:6px;padding:5px 7px;background:#edf3f8;color:var(--navy);font-size:16px;line-height:1;cursor:pointer}.attachment-button:hover{background:#dce9f3}
.preliquidation-modal{padding:14px 18px 0}.preliquidation-modal .preliquidation-title{margin:12px 0 8px;font-size:14px}.preliquidation-payment-scroll{max-height:min(34vh,255px);overflow-y:auto;overflow-x:hidden}.preliquidation-payment-scroll .data-table{table-layout:fixed;font-size:12px}.preliquidation-payment-scroll .data-table th,.preliquidation-payment-scroll .data-table td{padding:8px 5px;white-space:normal;word-break:break-word}.preliquidation-payment-scroll .data-table th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}.preliquidation-payment-scroll .data-table th:nth-child(1){width:20%}.preliquidation-payment-scroll .data-table th:nth-child(2){width:12%}.preliquidation-payment-scroll .data-table th:nth-child(3),.preliquidation-payment-scroll .data-table th:nth-child(4){width:19%}.preliquidation-payment-scroll .data-table th:nth-child(5){width:20%}.preliquidation-payment-scroll .data-table th:nth-child(6){width:10%}
.preliquidation-payment-scroll .ticket-number,.preliquidation-payment-scroll .payment-support{text-align:center}.preliquidation-payment-scroll .payment-value{text-align:right;white-space:nowrap}
.preliquidation-payment-scroll .data-table th:nth-child(2),.preliquidation-payment-scroll .data-table td:nth-child(2){text-align:center}.preliquidation-payment-scroll .data-table th:nth-child(3),.preliquidation-payment-scroll .data-table th:nth-child(4){width:13%;text-align:right}.preliquidation-payment-scroll .data-table th:nth-child(5){width:32%}
.preliquidation-payment-scroll .data-table th:nth-child(5){width:31%}.preliquidation-payment-scroll .data-table th:nth-child(6){width:11%}
.money-column{text-align:right!important;white-space:nowrap}
