  .cfc-wrap{
    --paper:#f4efe1;
    --paper-dark:#e9e1cb;
    --ink:#1f2a24;
    --green:#0b4d3b;
    --green-deep:#093a2c;
    --seal-red:#a32638;
    --seal-red-dark:#7c1c29;
    --brass:#a9803f;
    --line:#c9bfa0;
    --muted:#5b6b5f;

    max-width:920px;
    margin:0 auto;
    background:var(--paper);
    background-image:
      radial-gradient(circle at 10% 8%, rgba(11,77,59,0.05), transparent 40%),
      radial-gradient(circle at 92% 88%, rgba(163,38,56,0.05), transparent 40%),
      repeating-linear-gradient(0deg, rgba(0,0,0,0.015) 0px, rgba(0,0,0,0.015) 1px, transparent 1px, transparent 3px);
    color:var(--ink);
    font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
    padding:28px 16px 60px;
    border-radius:10px;
    line-height:normal;
    color-scheme:light only;
  }
  .cfc-wrap *{box-sizing:border-box;}
  .cfc-wrap :where(p, div, h1){margin:0; padding:0;}

  /* Letterhead */
  .cfc-letterhead{
    border:2px solid var(--green);
    border-radius:4px;
    background:var(--paper-dark);
    padding:22px 26px 20px;
    position:relative;
    box-shadow:0 1px 0 var(--line), 0 10px 24px -18px rgba(0,0,0,0.4);
  }
  .cfc-letterhead::before{
    content:"";
    position:absolute; inset:6px;
    border:1px solid var(--brass);
    border-radius:2px;
    pointer-events:none;
    opacity:0.55;
  }
  .cfc-letterhead-inner{
    display:flex; align-items:center; gap:16px;
    text-align:left;
  }
  .cfc-emblem{flex:0 0 auto;}
  .cfc-titles{flex:1;}
  .cfc-wrap h1{
    font-family:'Tiro Bangla', serif;
    font-size:clamp(24px, 4vw, 32px);
    margin:0 0 4px;
    color:var(--green-deep);
    letter-spacing:0.3px;
  }
  .cfc-subtitle{
    color:var(--muted);
    font-size:14.5px;
    line-height:1.5;
    margin:0;
  }
  .cfc-actno{
    margin-top:10px;
    font-size:12.5px;
    color:var(--brass);
    letter-spacing:0.4px;
    border-top:1px dashed var(--line);
    padding-top:8px;
  }

  /* Tabs styled like case-file tabs */
  .cfc-tabs{
    display:flex;
    gap:6px;
    margin:22px 0 0;
    padding-left:6px;
  }
  .cfc-tab-btn{
    font-family:'Hind Siliguri',sans-serif;
    font-weight:600;
    font-size:14.5px;
    background:var(--paper);
    color:var(--muted);
    border:2px solid var(--line);
    border-bottom:none;
    padding:11px 16px 9px;
    border-radius:8px 8px 0 0;
    cursor:pointer;
    position:relative;
    top:2px;
    transition:all .15s ease;
  }
  .cfc-tab-btn:hover{color:var(--green-deep);}
  .cfc-tab-btn.cfc-active{
    background:#fffdf6;
    color:var(--green-deep);
    border-color:var(--green);
    top:0;
    box-shadow:0 -4px 10px -6px rgba(0,0,0,0.15);
  }

  .cfc-panel{
    background:#fffdf6;
    border:2px solid var(--green);
    border-radius:0 6px 6px 6px;
    padding:26px;
    display:none;
    animation:fade .25s ease;
  }
  .cfc-panel.cfc-active{display:grid; grid-template-columns:1.15fr 0.85fr; gap:26px;}
  @media (max-width:700px){
    .cfc-panel.cfc-active{grid-template-columns:1fr;}
  }
  @keyframes fade{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}

  .cfc-field{margin-bottom:16px;}
  .cfc-wrap label{
    display:block;
    font-size:14px;
    font-weight:600;
    color:var(--green-deep);
    margin-bottom:6px;
  }
  .cfc-hint{font-size:12.5px; color:var(--muted); margin-top:4px;}
  .cfc-wrap input[type=number], .cfc-wrap input[type=text], .cfc-wrap select{
    width:100%;
    font-family:'Hind Siliguri',sans-serif;
    font-size:19px;
    padding:16px 16px;
    border:2px solid var(--line);
    border-radius:8px;
    background:#fffefb;
    color:var(--ink);
    outline:none;
    transition:border-color .15s, box-shadow .15s;
  }
  .cfc-wrap input[type=number]:focus, .cfc-wrap input[type=text]:focus, .cfc-wrap select:focus{
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(11,77,59,0.12);
  }
  .cfc-wrap input[type=text]::placeholder{color:#9aa79d; font-size:16.5px;}
  .cfc-wrap select{
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    color:var(--ink) !important;
    -webkit-text-fill-color:var(--ink) !important;
    opacity:1 !important;
    background-color:#fffefb !important;
    color-scheme:light only;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230b4d3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 7l5 5 5-5'/></svg>");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px;
    padding-right:42px;
  }
  .cfc-wrap select:focus,
  .cfc-wrap select:active{
    color:var(--ink) !important;
    -webkit-text-fill-color:var(--ink) !important;
  }
  .cfc-wrap select option{
    color:var(--ink) !important;
    -webkit-text-fill-color:var(--ink) !important;
    background:#fffefb !important;
  }
  #av-type{
    color:var(--ink) !important;
    -webkit-text-fill-color:var(--ink) !important;
  }

  /* Visually hide the native <select> once JS has replaced it with the
     custom dropdown below. If JS fails to run for any reason, this class
     never gets added and the native select (styled above) still works as
     a fallback. */
  .cfc-wrap select.cfc-native-select-hidden{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  /* Custom dropdown — built entirely from our own markup and class names,
     so nothing on the rest of the site can override how it looks. */
  .cfc-custom-select{
    position:relative;
    width:100%;
  }
  .cfc-custom-select-trigger{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    display:block;
    text-align:left;
    font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
    font-size:19px;
    line-height:1.35;
    padding:16px 42px 16px 16px;
    border:2px solid #c9bfa0;
    border-radius:8px;
    background-color:#fffefb;
    color:#1f2a24;
    cursor:pointer;
    position:relative;
  }
  .cfc-custom-select-trigger:focus{
    outline:none;
    border-color:#0b4d3b;
    box-shadow:0 0 0 3px rgba(11,77,59,0.12);
  }
  .cfc-custom-select-trigger::after{
    content:"";
    position:absolute;
    right:18px;
    top:50%;
    width:9px;
    height:9px;
    margin-top:-7px;
    border-right:2px solid #0b4d3b;
    border-bottom:2px solid #0b4d3b;
    transform:rotate(45deg);
    pointer-events:none;
  }
  .cfc-custom-select-options{
    list-style:none;
    margin:6px 0 0;
    padding:6px;
    position:absolute;
    z-index:30;
    left:0;
    right:0;
    top:100%;
    background-color:#fffefb;
    border:2px solid #0b4d3b;
    border-radius:8px;
    box-shadow:0 12px 28px -12px rgba(0,0,0,0.35);
    max-height:280px;
    overflow-y:auto;
  }
  .cfc-custom-select-options[hidden]{
    display:none;
  }
  .cfc-custom-select-option{
    padding:12px;
    border-radius:6px;
    color:#1f2a24;
    font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
    font-size:15.5px;
    line-height:1.4;
    cursor:pointer;
  }
  .cfc-custom-select-option:hover{
    background-color:rgba(11,77,59,0.08);
  }
  .cfc-custom-select-option.cfc-option-selected{
    font-weight:600;
    color:#093a2c;
    background-color:rgba(11,77,59,0.06);
  }

  .cfc-checkbox-field label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-weight:500;
    font-size:14.5px;
    color:var(--green-deep);
    cursor:pointer;
    background:#fffefb;
    border:1.5px solid var(--line);
    border-radius:8px;
    padding:12px 14px;
  }
  .cfc-checkbox-field input[type=checkbox]{
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin-top:2px;
    accent-color:var(--green);
    cursor:pointer;
  }

  .cfc-btn{
    appearance:none;
    border:none;
    background:var(--green);
    color:#fffdf6;
    font-family:'Hind Siliguri',sans-serif;
    font-weight:600;
    font-size:15.5px;
    padding:12px 22px;
    border-radius:6px;
    cursor:pointer;
    letter-spacing:0.2px;
    transition:background .15s, transform .05s;
    width:100%;
    margin-top:4px;
  }
  .cfc-btn:hover{background:var(--green-deep);}
  .cfc-btn:active{transform:scale(0.98);}

  /* Result / stamp column */
  .cfc-result-col{
    border-left:1px dashed var(--line);
    padding-left:26px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    min-height:220px;
  }
  @media (max-width:700px){
    .cfc-result-col{border-left:none; border-top:1px dashed var(--line); padding-left:0; padding-top:20px;}
  }
  .cfc-result-placeholder{
    color:var(--muted);
    font-size:13.5px;
    margin-top:40px;
    line-height:1.6;
  }
  .cfc-stamp{
    width:172px; height:172px;
    border-radius:50%;
    border:3px solid var(--seal-red);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    color:var(--seal-red);
    font-family:'Tiro Bangla', serif;
    transform:rotate(-8deg) scale(0.6);
    opacity:0;
    box-shadow:inset 0 0 0 3px rgba(163,38,56,0.15);
    position:relative;
  }
  .cfc-stamp::before{
    content:"";
    position:absolute; inset:8px;
    border:1px dashed var(--seal-red);
    border-radius:50%;
    opacity:0.7;
  }
  .cfc-stamp.cfc-show{
    animation:stampin .38s cubic-bezier(.2,1.4,.4,1) forwards;
  }
  @keyframes stampin{
    0%{opacity:0; transform:rotate(-18deg) scale(0.5);}
    60%{opacity:1; transform:rotate(-6deg) scale(1.08);}
    100%{opacity:1; transform:rotate(-7deg) scale(1);}
  }
  .cfc-stamp .cfc-label{font-size:11px; letter-spacing:1px; margin-bottom:2px;}
  .cfc-stamp .cfc-amount{font-size:22px; font-weight:700; line-height:1.1;}
  .cfc-stamp .cfc-amount small{font-size:12px; display:block; font-weight:500; margin-top:2px;}
  .cfc-stamp .cfc-caption{font-size:10px; margin-top:4px; letter-spacing:0.5px;}

  .cfc-breakdown{
    margin-top:18px;
    width:100%;
    text-align:left;
    font-size:13.5px;
    border-top:1px dashed var(--line);
    padding-top:12px;
  }
  .cfc-breakdown div{
    display:flex; justify-content:space-between;
    padding:4px 0;
    color:var(--muted);
  }
  .cfc-breakdown div.cfc-total{
    color:var(--green-deep);
    font-weight:700;
    border-top:1px solid var(--line);
    margin-top:4px;
    padding-top:8px;
    font-size:15px;
  }
  .cfc-note{
    margin-top:12px;
    font-size:12px;
    color:var(--brass);
    background:rgba(169,128,63,0.08);
    border:1px solid rgba(169,128,63,0.3);
    border-radius:6px;
    padding:8px 10px;
    text-align:left;
    line-height:1.5;
  }

  /* Ad valorem case-type note (collapsible) */
  .cfc-case-note{
    grid-column:1/-1;
    margin-top:8px;
    border:1.5px solid var(--line);
    border-radius:8px;
    background:#fffefb;
    overflow:hidden;
  }
  .cfc-case-note-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    background:transparent;
    border:0;
    cursor:pointer;
    text-align:left;
    font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
    font-size:15px;
    font-weight:600;
    color:var(--green-deep);
  }
  .cfc-case-note-toggle:hover{
    background:rgba(11,77,59,0.05);
  }
  .cfc-case-note-toggle:focus{
    outline:none;
    box-shadow:inset 0 0 0 2px rgba(11,77,59,0.25);
  }
  .cfc-case-note-arrow{
    flex-shrink:0;
    transition:transform 0.2s ease;
    color:var(--green);
    font-size:14px;
  }
  .cfc-case-note-toggle[aria-expanded="true"] .cfc-case-note-arrow{
    transform:rotate(180deg);
  }
  .cfc-case-note-body{
    padding:4px 16px 18px;
    border-top:1px solid var(--line);
  }
  .cfc-case-list{
    list-style:none;
    margin:14px 0 0;
    padding:0;
    display:grid;
    gap:8px;
  }
  .cfc-case-list li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    background:rgba(11,77,59,0.03);
    border:1px solid rgba(11,77,59,0.08);
    border-radius:6px;
  }
  .cfc-case-num{
    flex-shrink:0;
    font-weight:600;
    color:var(--brass);
    min-width:28px;
  }
  .cfc-case-name{
    flex:1;
    font-size:14.5px;
    line-height:1.4;
    color:var(--ink);
  }
  .cfc-case-badge{
    flex-shrink:0;
    font-size:12px;
    font-weight:600;
    padding:4px 10px;
    border-radius:20px;
    color:#0b4d3b;
    background:rgba(11,77,59,0.12);
    white-space:nowrap;
  }
  .cfc-case-badge-half{
    color:#7a5a12;
    background:rgba(169,128,63,0.18);
  }
  .cfc-case-note-footer{
    margin-top:14px;
    font-size:12px;
    line-height:1.6;
    color:var(--muted);
  }

  /* Fixed fee table */
  .cfc-fee-table-wrap{grid-column:1/-1;}
  .cfc-search{
    width:100%;
    padding:11px 12px;
    border:1.5px solid var(--line);
    border-radius:6px;
    font-family:'Hind Siliguri',sans-serif;
    font-size:15px;
    margin-bottom:14px;
  }
  table.cfc-fees{
    width:100%;
    border-collapse:collapse;
    font-size:14.5px;
  }
  table.cfc-fees th{
    text-align:left;
    background:var(--green);
    color:#fffdf6;
    padding:10px 12px;
    font-weight:600;
  }
  table.cfc-fees th:last-child, table.cfc-fees td:last-child{text-align:right;}
  table.cfc-fees td{
    padding:9px 12px;
    border-bottom:1px solid var(--line);
    color:var(--ink);
  }
  table.cfc-fees tr:nth-child(even) td{background:rgba(11,77,59,0.035);}
  table.cfc-fees td.cfc-amt{
    font-weight:700;
    color:var(--seal-red-dark);
    white-space:nowrap;
  }
  .cfc-no-match{padding:16px; text-align:center; color:var(--muted); font-size:13.5px;}

  .cfc-footer{
    margin:26px auto 0;
    font-size:12px;
    color:var(--muted);
    line-height:1.7;
    border-top:1px dashed var(--line);
    padding-top:14px;
  }
  .cfc-footer strong{color:var(--green-deep);}
