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

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

.container{
width:100%;
max-width:1280px;
min-height:calc(100vh - 40px);
margin:auto;
background:#fff;
border-radius:25px;
padding:28px;
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;
}

.form-grid{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:18px;
grid-template-areas:
"date date date date"
"company company company company"
"entity entity entity entity"
"payment payment senderAccount senderAccount"
"senderName senderName senderName senderName"
"beneficiaryName beneficiaryName beneficiaryName beneficiaryName"
"currency amount senderCommission companyCommission"
"senderTotal senderTotal companyTotal companyTotal"
"notes notes notes notes";
}

.field{
display:flex;
flex-direction:column;
text-align:right;
}

.field:nth-child(1){grid-area:date;}
.field:nth-child(2){grid-area:company;}
.field:nth-child(3){grid-area:entity;}
.field:nth-child(4){grid-area:payment;}
.field:nth-child(5){grid-area:senderAccount;}
.field:nth-child(6){grid-area:senderName;}
.field:nth-child(7){grid-area:beneficiaryName;}
.field:nth-child(8){grid-area:currency;}
.field:nth-child(9){grid-area:amount;}
.field:nth-child(10){grid-area:senderCommission;}
.field:nth-child(11){grid-area:companyCommission;}
.field:nth-child(12){grid-area:senderTotal;}
.field:nth-child(13){grid-area:companyTotal;}
.field:nth-child(14){grid-area:notes;}

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

.field input,
.field select,
.field textarea{
width:100%;
height:52px;
min-height:52px;
padding:0 14px;
border-radius:12px;
border:1px solid #cfd8e6;
font-size:17px;
font-weight:600;
background:#fff;
color:#1455a0;
outline:none;
}

.field textarea{
height:110px;
min-height:110px;
padding:14px;
resize:vertical;
line-height:1.7;
}

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

.money-input{
background:#f8fbff !important;
font-weight:800 !important;
font-size:18px !important;
color:#1455a0 !important;
direction:ltr;
text-align:right;
}

.money-input:focus{
background:#eef5ff !important;
border-color:#1455a0 !important;
box-shadow:0 0 0 3px rgba(20,85,160,0.15) !important;
}

.readonly-total{
background:#fff8d6 !important;
border-color:#facc15 !important;
color:#713f12 !important;
cursor:not-allowed;
}

.readonly-date{
background:#eef3f9 !important;
color:#5b6f8e !important;
cursor:not-allowed;
}

.readonly-total:focus{
background:#fff8d6 !important;
border-color:#eab308 !important;
box-shadow:0 0 0 3px rgba(250,204,21,0.24) !important;
}

.alert{
margin-bottom:15px;
padding:12px;
border-radius:12px;
font-weight:bold;
text-align:center;
}

.success{
background:#dcfce7;
color:#166534;
}

.error{
background:#fee2e2;
color:#991b1b;
}

.notice{
background:#fff8d6;
color:#713f12;
border:1px solid #facc15;
}

.reset-notice{
display:none;
}

.actions{
margin-top:25px;
display:grid;
grid-template-columns:1fr;
gap:12px;
}

.btn{
width:100%;
padding:13px 18px;
border:none;
border-radius:12px;
font-size:16px;
cursor:pointer;
font-weight:bold;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
}

.save{
background:#2d7fe0;
color:#fff;
}

.show{
background:#1455a0;
color:#fff;
}

.send{
background:#10b981;
color:#fff;
}

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

.btn:hover{
opacity:.9;
}

.confirm-modal{
position:fixed;
inset:0;
z-index:1000;
display:none;
align-items:center;
justify-content:center;
padding:20px;
background:rgba(15,23,42,0.45);
}

.confirm-modal.is-open{
display:flex;
}

.confirm-card{
width:100%;
max-width:680px;
background:#fff;
border-radius:22px;
padding:24px;
box-shadow:0 20px 55px rgba(15,23,42,0.25);
}

.confirm-card h2{
margin-bottom:16px;
font-size:22px;
font-weight:900;
color:#1455a0;
text-align:right;
}

.confirm-list{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}

.confirm-list div{
background:#f8fbff;
border:1px solid #dbe7f5;
border-radius:12px;
padding:10px 12px;
text-align:right;
}

.confirm-list span{
display:block;
margin-bottom:5px;
font-size:13px;
font-weight:800;
color:#5b6f8e;
}

.confirm-list strong{
display:block;
font-size:16px;
font-weight:900;
color:#1455a0;
word-break:break-word;
}

.confirm-actions{
margin-top:18px;
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}

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

.select2-container .select2-selection--single{
height:52px !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:17px !important;
font-weight:600 !important;
line-height:52px !important;
padding-right:14px !important;
padding-left:35px !important;
width:100%;
}

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

.select2-dropdown{
border:1px solid #cfd8e6 !important;
border-radius:12px !important;
overflow:hidden;
}

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

@media (max-width:1000px){
.form-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
grid-template-areas:
"date date"
"company company"
"entity entity"
"payment senderAccount"
"senderName senderName"
"beneficiaryName beneficiaryName"
"currency amount"
"senderCommission companyCommission"
"senderTotal companyTotal"
"notes notes";
}

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

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

.container{
min-height:calc(100vh - 24px);
padding:20px;
border-radius:20px;
}

h1{
font-size:24px;
}

.form-grid{
grid-template-columns:1fr;
grid-template-areas:
"date"
"company"
"entity"
"payment"
"senderAccount"
"senderName"
"beneficiaryName"
"currency"
"amount"
"senderCommission"
"companyCommission"
"senderTotal"
"companyTotal"
"notes";
gap:16px;
}

.field input,
.field select,
.field textarea{
height:50px;
min-height:50px;
font-size:16px;
padding:0 12px;
}

.field input[type="date"]{
height:50px;
line-height:50px;
-webkit-appearance:none;
appearance:none;
}

.field textarea{
height:95px;
min-height:95px;
padding:12px;
}

.money-input{
font-size:17px !important;
}

.select2-container .select2-selection--single{
height:50px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
line-height:50px !important;
font-size:16px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
height:50px !important;
}

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

.confirm-list,
.confirm-actions{
grid-template-columns:1fr;
}
}