/* ==========================================================================
   DeedFlow Bangladesh - Custom Extensions for Lavish Theme
   Preserving 100% Lavish Theme Fidelity with Bengali Typography & Deed Tools
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@400;500;600;700&display=swap');

:root {
  --df-bangla-font: 'Noto Sans Bengali', system-ui, -apple-system, sans-serif;
  --df-theme-primary: #5387e4;
  --df-theme-success: #27ba89;
  --df-theme-warning: #f0c031;
  --df-theme-danger: #ff7d5c;
  --df-theme-info: #64c1fe;
  --df-theme-border: #ccd4e6;
  --df-theme-surface: #eff2f8;
}

/* Typography Harmony */
body, .table, .form-control, .form-select, .btn, .card-title, .breadcrumb-item {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans Bengali", Arial, sans-serif;
}

.font-bangla {
  font-family: var(--df-bangla-font) !important;
}

/* Language Switcher Badge */
.lang-badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.6rem;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.2s ease;
}
.lang-badge.active {
  background-color: var(--df-theme-primary);
  color: #fff;
}
.lang-badge:not(.active) {
  background-color: #e8edf5;
  color: #5a638f;
}

/* NID Card OCR Preview & Split Screen */
.sidebar-wrapper .app-brand {
  padding: 0.75rem 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

.sidebar-wrapper .app-brand .sidebar-logo-link {
  display: block !important;
  width: 100% !important;
  text-align: center;
}

.sidebar-wrapper .app-brand .sidebar-logo-img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto;
}

.ocr-preview-container {
  border: 2px dashed var(--df-theme-border);
  background: #f9fafc;
  border-radius: 0.8rem;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.ocr-preview-container.drag-over {
  border-color: var(--df-theme-primary);
  background: #eef3fd;
}
.ocr-image-preview {
  max-width: 100%;
  max-height: 380px;
  object-fit: contain;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(83, 135, 228, 0.15);
}
.confidence-chip {
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-weight: 600;
}
.confidence-high {
  background: #ddf8ef;
  color: #178a63;
}
.confidence-med {
  background: #fcf3d7;
  color: #9c7b13;
}
.confidence-low {
  background: #ffefeb;
  color: #c94020;
}

/* Deed Builder Wizard Stepper */
.deed-stepper {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 2rem;
}
.deed-stepper::before {
  content: '';
  position: absolute;
  top: 20px;
  left: 30px;
  right: 30px;
  height: 3px;
  background: #e8edf5;
  z-index: 1;
}
.step-item {
  position: relative;
  z-index: 2;
  text-align: center;
  flex: 1;
}
.step-circle {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #ccd4e6;
  color: #7f8cb1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  transition: all 0.25s ease;
  margin-bottom: 0.5rem;
}
.step-item.active .step-circle {
  border-color: var(--df-theme-primary);
  background: var(--df-theme-primary);
  color: #ffffff;
  box-shadow: 0 0 0 4px rgba(83, 135, 228, 0.2);
}
.step-item.completed .step-circle {
  border-color: var(--df-theme-success);
  background: var(--df-theme-success);
  color: #ffffff;
}
.step-label {
  font-size: 0.8rem;
  color: #5a638f;
  font-weight: 500;
  display: block;
}
.step-item.active .step-label {
  color: var(--df-theme-primary);
  font-weight: 700;
}

/* Legal Document Preview & Print Sheet */
.deed-paper {
  background: #ffffff;
  border: 1px solid #ccd4e6;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  padding: 3rem 3.5rem;
  margin: 0 auto;
  max-width: 850px;
  min-height: 1100px;
  position: relative;
  font-family: var(--df-bangla-font);
  line-height: 1.8;
  color: #212223;
}
.deed-header-stamp {
  border: 2px double #ccd4e6;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: 2.5rem;
  background: #f9fafc;
  border-radius: 4px;
}
.deed-paragraph {
  text-align: justify;
  margin-bottom: 1.25rem;
  font-size: 1.025rem;
}
.deed-signature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
  margin-top: 3.5rem;
}
.sig-line {
  border-top: 1px dashed #3d456b;
  padding-top: 0.5rem;
  text-align: center;
  font-size: 0.9rem;
}

/* Kanban Board Refinements matching Lavish tasks.html exactly */
.kanban-board-wrapper {
  overflow-x: auto;
  padding-bottom: 1.25rem;
  scrollbar-width: thin;
  scrollbar-color: #ccd4e6 #f9fafc;
}
.kanban-board-wrapper::-webkit-scrollbar {
  height: 8px;
}
.kanban-board-wrapper::-webkit-scrollbar-track {
  background: #f9fafc;
  border-radius: 4px;
}
.kanban-board-wrapper::-webkit-scrollbar-thumb {
  background: #ccd4e6;
  border-radius: 4px;
}
.kanban-board-wrapper::-webkit-scrollbar-thumb:hover {
  background: #99a6c9;
}

.kanban-board {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 1.25rem !important;
  align-items: flex-start !important;
}

.kanban-column {
  width: 320px !important;
  min-width: 320px !important;
  max-width: 320px !important;
  flex: 0 0 320px !important;
}

.kanban-column > .card {
  border-width: 1.5px !important;
  border-style: solid !important;
  border-radius: 0.8rem !important;
  background: #ffffff !important;
  box-shadow: 0 0.125rem 0.25rem rgba(8, 10, 18, 0.05);
  margin-bottom: 0 !important;
}

/* Lavish Status border colors */
.kanban-column.col-draft > .card { border-color: #8a94a4 !important; }
.kanban-column.col-ready-review > .card { border-color: #64c1fe !important; }
.kanban-column.col-under-review > .card { border-color: #f0c031 !important; }
.kanban-column.col-correction > .card { border-color: #ff7d5c !important; }
.kanban-column.col-resubmitted > .card { border-color: #5387e4 !important; }
.kanban-column.col-processing > .card { border-color: #20c997 !important; }
.kanban-column.col-completed > .card { border-color: #27ba89 !important; }
.kanban-column.col-archived > .card { border-color: #7f8cb1 !important; }

/* Lavish Kanban Item Cards */
.kanban-board .kanban-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.875rem !important;
  min-height: 120px !important;
  padding: 0.25rem 0;
}

.kanban-board .kanban-items .kanban-item {
  border: 1px solid #dfe5ea !important;
  background: #ffffff !important;
  border-radius: 0.5rem !important;
  padding: 1rem !important;
  box-shadow: 0 1px 3px rgba(8, 10, 18, 0.04) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
  margin-bottom: 0 !important;
}

.kanban-board .kanban-items .kanban-item:hover {
  border-color: #ff7d5c !important;
  border-style: dashed !important;
  cursor: grab !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(8, 10, 18, 0.08) !important;
}

.kanban-board .kanban-items .kanban-item:active {
  cursor: grabbing !important;
}

.kanban-board .kanban-item-placeholder {
  background: rgb(255, 238.8895705521, 234.8) !important;
  border: 2px dashed #ff7d5c !important;
  min-height: 90px !important;
  border-radius: 0.5rem !important;
  margin-bottom: 0 !important;
}

/* Responsive Table Scrollers */
.table-outer {
  border: 1px solid #e8edf5;
  border-radius: 0.5rem;
  overflow: hidden;
}

/* Government Stamp & Fees Summary Card */
.fee-summary-card {
  background: linear-gradient(135deg, #f9fafc 0%, #edf3fc 100%);
  border: 1px solid #ccd4e6;
  border-radius: 0.8rem;
  padding: 1.25rem;
}

/* Print Overrides */
@media print {
  .sidebar-wrapper, .app-header, .app-hero-header, .app-footer, .no-print, .profile-actions {
    display: none !important;
  }
  .app-container, .main-container, .page-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }
  .deed-paper {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 100% !important;
  }
}

