:root {
      --accent: #435A54;
      --muted: #6b7280;
      --card-bg: #FFFFFF;
      --page-bg: #FFF7FC;

      --primary: #435A54;
      --primary-dark: #2D3E3A;
      --primary-light: #58756D;
      --primary-bg-soft: #EEF4F2;

      --text-dark: #0F172A;
      --text-muted: #6B7280;

      --border-color: #D1D5DB;

      --success: #3B7F5A;
      --warning: #D4A017;
      --danger: #C65353;
    }
    html,body { 
      height: 100%; 
    }

    body {
      display: flex;
      flex-direction: column;
      background: var(--page-bg);
      color: #2D3E3A;
      font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }
    
    /* Main content wrapper grows */
    .main-content {
      flex: 1;
    }
    .navbar-custom-bg{ background-color: var(--primary); }
    .navbar-brand { font-weight: 700; letter-spacing: .2px; }
    .card-custom-bg { background-color: var(--card-bg); }
    .card { border-radius: 12px; box-shadow: 0 6px 18px rgba(16,24,40,0.06); }
    .preview-box { background: var(--card-bg); border-radius: 8px; padding: 18px; }
    .small-input { padding: .375rem .6rem; }
    .input-group .btn { border-radius: 8px; }
    .remove-btn { min-width: 88px; }
    .muted { color: var(--muted); }
    .field-label { font-size: .95rem; font-weight: 600; margin-bottom: 6px; display:block; }
    .section-title { font-size: 1rem; font-weight: 700; color: #0f172a; }
    .table-preview { font-size: .95rem; }
    .icon-btn { display: inline-flex; align-items:center; gap:6px; }
    .is-invalid { border-color: #dc3545 !important; box-shadow: none !important; }
    @media (min-width: 992px) {
      .left-col { border-right: 1px solid #eef2f7; padding-right: 28px; }
      .right-col { padding-left: 28px; }
    }

    /* Primary custom button */
    .btn-primary-custom {
      background-color: var(--primary-light);
      border-color: var(--primary-light);
      color: #fff;
    }

    .btn-primary-custom:hover,
    .btn-primary-custom:focus {
      background-color: var(--primary-dark);
      border-color: var(--primary-dark);
      color: #fff;
    }