
#omc-button{
 position:fixed;
 right:20px;
 top:50%;
 transform:translateY(-50%);
 width:70px; height:70px;
 background:#fff;
 border:3px solid #052053;
 border-radius:50%;
 display:flex; align-items:center; justify-content:center;
 cursor:pointer; z-index:99999;
 box-shadow:0 6px 20px rgba(0,0,0,0.25);
}
#omc-button img{ width:80%; height:80%; object-fit:contain; }
#omc-button:hover{ border-color:#c39b3f; }

#omc-modal.omc-hidden{ display:none; }
#omc-modal{ position:fixed; inset:0; z-index:99998; }

.omc-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.55); }

.omc-dialog{
 position:relative; background:#fff;
 width:90%; max-width:520px; margin:40px auto;
 border-radius:16px; padding:20px;
 animation:fadeIn .25s ease-out;
}
@keyframes fadeIn{ from{opacity:0; transform:translateY(10px);} to{opacity:1;} }

.omc-close{
 position:absolute; top:12px; right:16px;
 background:none; border:none; font-size:26px; cursor:pointer;
}

.omc-header{
 display:flex; gap:14px; align-items:center;
 padding-bottom:10px; border-bottom:1px solid #ddd;
}

.omc-logo{
 width:60px; height:60px;
 border:3px solid #052053; border-radius:50%;
 background:#fff; display:flex; justify-content:center; align-items:center;
}
.omc-logo img{ width:80%; height:80%; }

.omc-title-block h2{ margin:0; font-size:1.25rem; color:#052053; }
.omc-title-block p{ margin:0; font-size:0.85rem; color:#666; }

.omc-body{ margin-top:14px; }
.omc-body label{ display:block; margin-top:10px; font-weight:600; }
.omc-body input{
 width:100%; padding:8px; border:1px solid #ccc; border-radius:10px;
}

.omc-row{ display:flex; gap:10px; }

.omc-btn-wrap{
 display:flex; justify-content:center; margin-top:16px;
}

.omc-calc-btn{
 background:#052053; color:#fff;
 border:none; padding:12px 24px;
 border-radius:12px; font-size:1rem; font-weight:600;
 cursor:pointer; text-align:center;
 box-shadow:0 4px 14px rgba(0,0,0,0.2);
}
.omc-calc-btn:hover{ background:#0b2f7a; }

.omc-result{
 margin-top:18px; text-align:center;
 background:#f5f7fc; border:1px solid #dde3f0; border-radius:12px;
 padding:14px 10px;
}
.omc-result-label{
 font-size:0.85rem; color:#666; margin-bottom:6px;
}
.omc-monthly{
 font-size:1.6rem; font-weight:700; color:#052053;
}

.omc-table-wrap{
 max-height:220px; overflow:auto; margin-top:12px;
 border:1px solid #ccc; border-radius:10px;
}
.omc-table{ width:100%; border-collapse:collapse; font-size:0.8rem; }
.omc-table th{
 background:#052053; color:#fff; padding:6px;
 position:sticky; top:0;
}
.omc-table td{
 padding:6px; border-bottom:1px solid #eee; text-align:right;
}
.omc-table td:first-child, .omc-table th:first-child{ text-align:left; }
