*{
box-sizing:border-box;
margin:0;
padding:0;
font-family:Tahoma;
}

body{
min-height:100vh;
background:linear-gradient(135deg,#eef4fb,#dfe9f7);
padding:12px;
color:#1455a0;
}

.container{
width:calc(100vw - 24px);
max-width:1320px;
min-height:calc(100vh - 24px);
margin:auto;
background:#fff;
border-radius:22px;
padding:30px 34px;
box-shadow:0 15px 40px rgba(0,0,0,0.1);
}

h1{
margin-bottom:25px;
font-size:28px;
text-align:right;
color:#1455a0;
font-weight:800;
}

.filters-form{
margin-bottom:20px;
border:2px solid #111827;
border-radius:18px;
padding:16px;
position:relative;
background:#fff;
}

.filters-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
margin-bottom:16px;
}

.filter-field{
display:flex;
flex-direction:column;
text-align:right;
min-width:0;
}

.filter-field label{
margin-bottom:8px;
font-size:15px;
font-weight:800;
color:#1455a0;
}

.filter-field input,
.filter-field select{
width:100%;
height:48px;
border-radius:12px;
border:1px solid #cfd8e6;
padding:0 14px;
font-size:15px;
font-weight:600;
color:#1455a0;
background:#fff;
outline:none;
direction:rtl;
text-align:right;
}

.filter-field input[type="number"]{
appearance:textfield;
}

.filter-field input[type="number"]::-webkit-outer-spin-button,
.filter-field input[type="number"]::-webkit-inner-spin-button{
-webkit-appearance:none;
margin:0;
}

.filter-field input:focus,
.filter-field select:focus{
border-color:#1455a0;
box-shadow:0 0 0 3px rgba(20,85,160,0.15);
}

.select2-container{
width:100% !important;
}

.select2-container .select2-selection--single{
height:48px !important;
border-radius:12px !important;
border:1px solid #cfd8e6 !important;
background:#fff !important;
display:flex !important;
align-items:center !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
color:#1455a0 !important;
font-size:15px !important;
font-weight:600 !important;
line-height:48px !important;
padding-right:14px !important;
padding-left:35px !important;
width:100%;
text-align:right;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
height:48px !important;
left:10px !important;
right:auto !important;
}

.select2-container--default .select2-selection--single .select2-selection__clear{
float:left !important;
margin-left:25px;
margin-right:0;
font-size:20px;
color:#7c8794;
}

.select2-dropdown{
border:1px solid #111827 !important;
border-radius:12px !important;
overflow:hidden;
z-index:9999 !important;
direction:rtl;
text-align:right;
}

.select2-search__field{
height:40px !important;
font-size:15px !important;
border-radius:8px !important;
padding:8px !important;
text-align:right;
}

.select2-results__option{
direction:rtl;
text-align:right;
font-size:15px;
font-weight:600;
color:#1455a0;
padding:10px 12px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
background:#e8f1fc !important;
color:#1455a0 !important;
}

.date-range-fields{
grid-column:1 / -1;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
direction:rtl;
}

.date-filter{
direction:ltr !important;
text-align:center !important;
}

.actions-bar{
display:flex;
flex-direction:column;
gap:12px;
margin-bottom:20px;
width:100%;
}

.btn{
height:48px;
padding:0 20px;
border:none;
border-radius:12px;
font-size:15px;
cursor:pointer;
width:100%;
font-weight:bold;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
transition:.2s ease;
}

.search,
.reset{
background:#facc15;
color:#111827;
}

.back{
background:#d8e0ea;
color:#1455a0;
}

.print-filter{
background:#0f766e;
color:#fff;
}

.edit,
.print{
height:34px;
min-width:76px;
padding:0 10px;
border-radius:9px;
font-size:13px;
}

.edit{
background:#2563eb;
color:#fff;
}

.print{
background:#0f766e;
color:#fff;
}

.btn:hover{
opacity:.9;
transform:translateY(-1px);
}

.table-wrap{
width:100%;
overflow-x:auto;
border-radius:16px;
border:1px solid #d6dde8;
background:#fff;
}

table{
width:100%;
border-collapse:collapse;
table-layout:fixed;
min-width:980px;
background:#fff;
}

.col-id{width:7ch;}
.col-date{width:13ch;}
.col-cashbox{width:12ch;}
.col-movement{width:7ch;}
.col-payment{width:10ch;}
.col-account{width:24ch;}
.col-usd{width:8ch;}
.col-iqd{width:12ch;}
.col-notes{width:17ch;}
.col-action{width:92px;}

th,
td{
border:1px solid #d6dde8;
padding:10px 8px;
text-align:center;
font-size:14px;
white-space:nowrap;
background:#fff;
vertical-align:middle;
}

th{
color:#1455a0;
font-weight:800;
position:sticky;
top:0;
z-index:1;
}

td{
color:#1455a0;
font-weight:600;
}

tbody tr:hover td{
background:#f8fbff;
}

.row-income td{
color:#17633a;
}

.row-expense td{
color:#9b1c1c;
}

.money-cell.is-zero,
.money-cell.is-zero .cell-clip{
color:inherit !important;
}

.cell-clip{
display:inline-block;
max-width:100%;
overflow:hidden;
text-overflow:clip;
vertical-align:middle;
white-space:nowrap;
}

.clip-4{max-width:4ch;}
.clip-5{max-width:5ch;}
.clip-6{max-width:6ch;}
.clip-8{max-width:8ch;}
.clip-10{max-width:10ch;}
.clip-11{max-width:11ch;}
.clip-15{max-width:15ch;}
.clip-22{max-width:22ch;}

.row-actions{
display:flex;
flex-direction:column;
gap:7px;
align-items:stretch;
}

.summary-box{
margin-top:18px;
border:2px solid #111827;
border-radius:16px;
padding:16px;
background:#fff;
}

.summary-box h2{
font-size:20px;
font-weight:800;
color:#1455a0;
margin-bottom:14px;
text-align:right;
}

.summary-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
}

.summary-item{
min-height:72px;
border:1px solid #d6dde8;
border-radius:12px;
padding:12px 14px;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
background:#fff;
}

.summary-item span{
font-size:14px;
font-weight:800;
color:#1455a0;
text-align:right;
}

.summary-item strong{
font-size:18px;
font-weight:900;
white-space:nowrap;
}

.summary-item.incoming strong{
color:#17633a;
}

.summary-item.outgoing strong{
color:#9b1c1c;
}

td[colspan]{
padding:25px;
font-size:17px;
color:#777;
background:#fff;
}

.pagination-wrap{
margin-top:18px;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
}

.pagination-info{
font-weight:700;
color:#1455a0;
}

.pagination{
display:flex;
gap:8px;
flex-wrap:wrap;
}

.page-btn{
height:38px;
min-width:42px;
padding:0 12px;
border-radius:9px;
background:#edf3fb;
color:#1455a0;
border:1px solid #cfd8e6;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
font-weight:700;
}

.page-btn:hover{
background:#dceafe;
}

.page-btn.active{
background:#1455a0;
color:#fff;
border-color:#1455a0;
}

.print-mode{
background:#fff;
padding:0;
}

.print-mode .container{
width:100%;
max-width:none;
min-height:0;
box-shadow:none;
border-radius:0;
padding:16px;
}

.print-mode .filters-form,
.print-mode .pagination-wrap,
.print-mode .action-heading,
.print-mode .action-cell,
.print-mode .col-action{
display:none !important;
}

.print-mode h1{
text-align:center;
font-size:22px;
margin-bottom:16px;
}

.print-mode .table-wrap{
overflow:visible;
border-radius:0;
}

.print-mode table{
min-width:0;
table-layout:fixed;
}

.print-mode th,
.print-mode td{
font-size:11px;
padding:6px 4px;
}

.print-mode .summary-box{
break-inside:avoid;
}

@media(max-width:900px){
.container{
padding:24px;
}
}

@media(max-width:700px){
body{
padding:8px;
}

.container{
width:calc(100vw - 16px);
min-height:calc(100vh - 16px);
padding:18px;
border-radius:18px;
}

h1{
font-size:24px;
}

.filters-grid,
.date-range-fields{
grid-template-columns:1fr;
gap:13px;
}

.filters-form{
padding:14px;
border-radius:16px;
}

.summary-grid{
grid-template-columns:1fr;
}

.summary-item{
align-items:flex-start;
flex-direction:column;
}

table{
min-width:980px;
}

th,
td{
font-size:13px;
padding:9px 7px;
}

.pagination-wrap{
align-items:stretch;
}

.pagination-info{
text-align:center;
}

.pagination{
justify-content:center;
}
}

@media print{
body{
background:#fff !important;
padding:0 !important;
color:#000;
}

.container{
width:100% !important;
max-width:none !important;
min-height:0 !important;
box-shadow:none !important;
border-radius:0 !important;
padding:0 !important;
}

.filters-form,
.pagination-wrap,
.action-heading,
.action-cell,
.col-action{
display:none !important;
}

h1{
text-align:center !important;
font-size:20px !important;
margin:0 0 12px !important;
color:#000 !important;
}

.table-wrap{
overflow:visible !important;
border-radius:0 !important;
border-color:#111 !important;
}

table{
min-width:0 !important;
width:100% !important;
table-layout:fixed !important;
}

th,
td{
font-size:10px !important;
padding:5px 3px !important;
border-color:#111 !important;
color:#000 !important;
background:#fff !important;
}

.money-cell.is-zero,
.money-cell.is-zero .cell-clip{
color:#000 !important;
}

.summary-box{
margin-top:12px !important;
border-color:#111 !important;
break-inside:avoid;
}

.summary-box h2,
.summary-item span,
.summary-item strong{
color:#000 !important;
}
}