/* ==========================================================================
   obd.css – Utility & component overrides (app-specific)
   Fonts, layout helpers and old-theme leftovers kept for view compatibility.
   ========================================================================== */

/* ── Kalpurush Bengali font ────────────────────────────────────────────── */
@font-face {
    font-family: kalpurushregular;
    src: url('../font/kalpurush.woff') format('woff'),
         url('../font/kalpurush.ttf')  format('truetype');
    font-weight: normal;
    font-style: normal;
}
.bn-font { font-family: kalpurushregular, sans-serif; font-size: 16px; font-weight: normal !important; }
.italic  { font-style: italic; }

/* ── Typography helpers ────────────────────────────────────────────────── */
.font-16 { font-size: 16px; }
.font-18 { font-size: 18px; }
.font-20 { font-size: 20px; }
.font-22 { font-size: 22px; }
.font-24 { font-size: 24px; }
.text-small { font-size: .875rem !important; }
.inline { display: inline-block; }
.cursor { cursor: pointer; }

/* ── Error field state ─────────────────────────────────────────────────── */
.error { border: 1px solid #cd0000 !important; background: rgba(205,0,0,.1) !important; }

/* ── Modal width overrides ─────────────────────────────────────────────── */
.modal-w-600 { width: 600px !important; max-width: 100% !important; }
.modal-w-800 { width: 800px !important; max-width: 100% !important; }
.modal-w-900, .modal-900 { width: 900px !important; max-width: 100% !important; }
.h-550 { height: 550px; }

/* ── Step form wizard ──────────────────────────────────────────────────── */
.obd-step-form > ul { list-style: none; width: 100%; border-bottom: 3px solid #ddd; padding: 0; margin: 0; }
.obd-step-form > ul > li {
    float: left; border-right: 1px solid #fff;
    padding: .8rem 2rem !important; display: inline-block; color: #ddd;
}
.obd-step-form > ul > li > h3 { display: block; font-size: 1rem; margin: 0; }
.obd-step-form > ul > li > span { font-size: 1rem; }
.obd-step-form > ul > li.active { background: #d6f0f9; color: #0082c6; border-bottom: 3px solid #00a6ff; margin-bottom: -3px; }
.obd-step-form > ul > li.active-green { background: #d8f9d6; color: #149403; border-bottom: 3px solid #37b127; margin-bottom: -3px; }
.obd-step-form > ul > li.active-gray { color: #959595; border-bottom: 3px solid #959595; margin-bottom: -3px; }
.obd-step-form .obd-content { margin-top: 1.5rem; }

/* ── Employee / officer table ──────────────────────────────────────────── */
.employeeTable { font-family: kalpurushregular, sans-serif !important; }
.employee-name  { font-size: 15px; color: #007bff; font-weight: bold; }
.employee-mobile { font-size: 14px; color: #28a745; font-weight: bold; }
.employee-email { font-size: 14px; color: #333; }
.unit-name { font-weight: bold; font-size: 14px; }
.employee-designation { font-size: 14px; }
.office-admin { background: rgba(245,245,245,.375); padding: 10px; border-bottom: 1px solid #ccc; margin-bottom: 5px; }

/* ── Service list ──────────────────────────────────────────────────────── */
.service-list tr td { white-space: nowrap; }
.service-list tr td:nth-child(1), .service-list tr td:nth-child(2) { white-space: normal; }
.service-list .service_name { font-size: 18px; }
.service-list .ministry { font-size: 14px; color: darkgreen; margin-top: 7px; font-weight: bold; }
.service-list .office_origin_unit { font-size: 14px; color: darkblue; margin-top: 5px; font-weight: bold; }

/* ── Other internal forms ──────────────────────────────────────────────── */
.service-rules-row, .service_rules { margin-bottom: .3rem; }
.service-officers-row, .service_officers { margin-bottom: .3rem; }
.service-fail-officers-row, .service_fail_officers { margin-bottom: .3rem; }

#auto-payment, #eChallan, #accountPay, #db-setting,
#own-office-payment-panel, #application-setting,
#integration-setting { display: none; }

.add-form { color: #fff !important; font-weight: 600; }
.add-form i { color: #fff; margin-right: 5px; font-size: .7rem; }

.required { color: #ef4444 !important; margin: 0 3px; display: inline-block; }

#preview .form-control { background: #f7f7f7; }

/* ── Feedback table ────────────────────────────────────────────────────── */
.feedback-table .user-mobile { color: blue; }
.feedback-table .user-email  { color: green; }
table.feedback-table .suggestion { text-align: justify; max-width: 350px; height: 70px; overflow: hidden; }
.feedback-table .feedback-date { font-size: .875rem; color: gray; }
.feedback-table .suggestion { max-width: 100%; }

/* ── Application details ───────────────────────────────────────────────── */
.application-details label { color: #999; }
.application-details .label-design { display: block; padding: 7px 0; border-bottom: 1px dotted #ccc; font-size: 18px; }
.application-details .required { display: none; }
.application-details input, .nwarish, .rwarish { display: none; }

/* ── Statistics boxes ──────────────────────────────────────────────────── */
section#application-statics .statistic { border-radius: 5px; }
section#application-statics .statistic > div { background: url(../img/statistic-box-grid.png); background-size: 15px; }
section#application-statics .statistic .num   { color: #fff; font-size: 24px; font-weight: bold; text-align: center; padding: 15px 5px 5px; }
section#application-statics .statistic .statics-title { color: #fff; font-size: 20px; text-align: center; padding: 5px 5px 15px; }
section#application-statics .purple { background: #ac6bec; }
section#application-statics .green  { background: #46c35f; }
section#application-statics .red    { background: #fa424a; }
section#application-statics .yellow { background: #fdad2a; }

/* ── Service graph cards ───────────────────────────────────────────────── */
section.service-graph { margin-top: 30px; }
section.service-graph .graph-block { background: #fff; border-radius: 5px; border: 1px solid #c5d6de; }
section.service-graph .card { min-height: 400px; }

/* ── Tabs / Nav ────────────────────────────────────────────────────────── */
.tabs-section-nav .nav-item .nav-link { font-size: 18px; font-weight: normal; }

/* ── Summernote ────────────────────────────────────────────────────────── */
.note-editor.note-frame .note-editing-area .note-editable { height: 300px; }

/* ── Flatpickr input ───────────────────────────────────────────────────── */
.flatpickr-input { padding: .27rem .75rem; }

/* ── Password toggle ───────────────────────────────────────────────────── */
.relative-password .show-password { position: absolute; right: 20px; top: 7px; cursor: pointer; }

/* ── Decision action button (fixed) ───────────────────────────────────── */
#decision-button, #decision-modify { position: fixed; bottom: 25px; right: 25px; }

/* ── Certificate ───────────────────────────────────────────────────────── */
.certificate_view { border-radius: 3px; }
.cer_download_option {
    display: none; list-style: none;
    position: absolute; top: 30px; left: 0; right: 0; z-index: 9;
}
.cer_download_option li {
    width: 100%; color: #333; padding: 5px; font-size: 12px;
    background: #f5f5f5; border: 1px solid #fdad2a; cursor: pointer;
}
.cer_download_option li:hover { background: #fff; }
.cer_download_option li span { margin-left: 5px; }
.cer_download_option li i    { margin-right: 5px; width: 20px; text-align: center; font-size: 18px; }
.cer_download_option li:nth-child(2) { border-top: 0; border-radius: 0 0 5px 5px; }

/* ── Miscellaneous ─────────────────────────────────────────────────────── */
.maxh-80  { max-height: 80px; overflow-y: scroll; }
.edit-attachment { cursor: pointer; }
.service-print #print { font-size: .8rem; }

/* DataTables layout tweaks */
.dataTables_filter { float: right; }
.dataTables_filter label { margin: 0 0 20px; display: inline-flex; line-height: 30px; }
.dataTables_filter input { width: 200px; margin-left: 10px; }
.dataTables_length select { width: 86px; }
.dataTables_info { padding-top: 20px; }
.pagination { float: right !important; }
