﻿  body {
    margin: 0;
    font-family: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
    background: var(--bg);
    color: var(--od-black);
    /*color: var(--text);*/
    font-size: var(--font-size);
}
 

  :root{
      --od-orange:#fe5000;
      --od-black:#000000;
      --od-white:#ffffff;
      --od-grey:#898989;

      --bg:#f5f5f7;
      --card-bg:#ffffff;
      --card-2: #f7f7f7;
      --border:rgba(0,0,0,0.10);
      --border: rgba(0,0,0,0.12);
      --muted:#6c6c6c;
      --muted2: #666666;

      --text: #000000;
      --accent-soft: rgba(254,80,0,0.10);
      --font-size:13px;
    }

    *{
      box-sizing:border-box;
    }

    button,input,select,textarea{
      font-family:inherit;
    }

    .page{
      max-width:1100px;
      margin:0 auto;
      padding:16px 16px 26px 16px;
    }

    .page-heading{
      margin-bottom:12px;
    }

    .page-title{
      font-size:22px;
      font-weight:900;
      margin-bottom:4px;
    }

    .page-subtitle{
      font-size:13px;
      color:var(--muted);
      font-weight:600;
    }

    .font-sm{
        font-size:12px;
    }

    .scroll{
        overflow-y: auto;
  max-height: 19rem;
  scrollbar-width: thin;
    }
.card{
     background:var(--card-bg);
      border-radius:16px;
      border:1px solid var(--border);
      box-shadow:0 8px 18px rgba(0,0,0,0.05);
      padding:12px 14px 10px 14px;
      margin-bottom:14px;
       display:flex;
      flex-wrap:wrap;
      gap:10px 16px;
      align-items:flex-start;
}

    /* Case header card */
    .case-header{
      background:var(--card-bg);
      border-radius:16px;
      border:1px solid var(--border);
      box-shadow:0 8px 18px rgba(0,0,0,0.05);
      padding:12px 14px 10px 14px;
      margin-bottom:14px;
      display:flex;
      flex-wrap:wrap;
      gap:10px 16px;
      align-items:flex-start;
    }

    .case-header-main{
      flex:1 1 220px;
      min-width:0;
    }

    .case-id{
      font-size:var(--font-size);
      font-weight:900;
      margin-bottom:2px;
    }

    .case-patient{
      font-size:14px;
      font-weight:700;
    }

    .case-label-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px 16px;
      margin-top:4px;
      font-size:12.5px;
      color:var(--muted);
      font-weight:600;
    }

    .case-label-row span strong{
      color:var(--od-black);
    }

    .case-header-meta{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      gap:6px;
      flex:0 0 auto;
    }

    .status-pill{
      border-radius:999px;
      padding:4px 11px;
      font-size:12px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:0.04em;
      border:1px solid rgba(254,80,0,0.6);
      background:rgba(254,80,0,0.10);
      color:#8c3200;
      white-space:nowrap;
    }

    .case-header-meta small{
      font-size:11.5px;
      color:var(--muted);
      font-weight:600;
    }

    .current-status-line{
      font-size:12.5px;
      font-weight:700;
      color:var(--muted);
    }

    .current-status-line strong{
      color:var(--od-black);
    }

    /* Status timeline */
    .status-timeline{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin:10px 0 14px 0;
    }

    .status-chip{
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.08);
      padding:5px 10px;
      font-size:11.5px;
      font-weight:700;
      background:#ffffff;
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--muted);
    }

    .status-chip-dot{
      width:7px;
      height:7px;
      border-radius:999px;
      background:rgba(0,0,0,0.25);
    }

    .status-chip-active{
      border-color:rgba(254,80,0,0.80);
      background:rgba(254,80,0,0.08);
      color:var(--od-orange);
    }

    .status-chip-active .status-chip-dot{
      background:var(--od-orange);
    }

    /* Layout */
    .layout{
      display:grid;
      grid-template-columns:2fr 1fr;
      gap:14px;
      align-items:flex-start;
    }

    @media (max-width:900px){
      .layout{
        grid-template-columns:1fr;
      }
    }

    .left-column {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.another-card {
    background: var(--card-bg);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 12px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.05);
}
    /* Main workflow card */
    .workflow-card{
      background:var(--card-bg);
      border-radius:16px;
      border:1px solid var(--border);
      box-shadow:0 8px 18px rgba(0,0,0,0.05);
      padding:12px 14px 10px 14px;
    }

    .workflow-title{
      font-size:var(--font-size);
      font-weight:900;
      margin-bottom:6px;
    }

    .workflow-subtitle{
      font-size:12.5px;
      color:var(--muted);
      font-weight:600;
      margin-bottom:10px;
    }

    .status-section{
      border-radius:14px;
      border:1px solid rgba(0,0,0,0.04);
      background:#fafafa;
      padding:10px 11px;
      margin-bottom:10px;
      display:none;
    }

    .status-section-active{
      display:block;
    }

    .status-section-header{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:8px;
      margin-bottom:6px;
    }

    .status-section-title{
      font-size:14px;
      font-weight:800;
    }

    .status-section-tag{
      font-size:11px;
      font-weight:700;
      border-radius:999px;
      padding:3px 8px;
      background:#ffffff;
      border:1px solid rgba(0,0,0,0.06);
      color:var(--muted);
      white-space:nowrap;
    }

    .status-section-body{
      font-size:13px;
      display:flex;
      flex-direction:column;
      gap:8px;
    }

    .field-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px 12px;
      align-items:flex-start;
    }

    .fields{
      flex:1 1 160px;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:4px;
    }

    .field label{
      font-size:12px;
      font-weight:700;
      color:var(--muted);
    }

    .field input[type="text"],
    .field input[type="date"],
    .field input[type="file"],
    .field textarea{
      border-radius:10px;
      border:1px solid rgba(0,0,0,0.12);
      padding:5px 9px;
      font-size:var(--font-size);
      background:#ffffff;
    }

    .field input[type="file"]{
      padding:6px 9px;
      font-size:12.5px;
    }

    .field textarea{
      min-height:70px;
      resize:vertical;
    }

    .file-list{
      border-radius:10px;
      border:1px solid rgba(0,0,0,0.08);
      background:#ffffff;
      padding:7px 9px;
      font-size:12.5px;
    }

    .file-row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:8px;
      padding:4px 0;
      border-bottom:1px dashed rgba(0,0,0,0.06);
    }

    .file-row:last-child{
      border-bottom:none;
    }

    .file-name{
      font-weight:600;
    }

    .file-meta{
      font-size:11.5px;
      color:var(--muted);
    }

    .link-btn{
      border:none;
      background:none;
      color:var(--od-orange);
      font-size:12px;
      font-weight:700;
      cursor:pointer;
      text-decoration:underline;
      padding:0;
    }

    .link-btn:hover{
      opacity:0.8;
    }

    .small-note{
      font-size:11.5px;
      color:var(--muted);
    }

    .btn-row{
      margin-top:4px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      justify-content:flex-end;
    }

    .primary-btn{
      border:none;
      background:var(--od-orange);
      color:#ffffff;
      border-radius:999px;
      padding:7px 14px;
      font-size:12.5px;
      font-weight:800;
      cursor:pointer;
      box-shadow:0 4px 10px rgba(254,80,0,0.35);
      display:inline-flex;
      align-items:center;
      gap:6px;
    }

    .primary-btn:active{
      transform:scale(0.97);
      box-shadow:none;
    }

    .primary-btn svg{
      width:14px;
      height:14px;
      stroke:currentColor;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .secondary-btn{
      /*border-radius:999px;
      border:1px solid rgba(0,0,0,0.12);
      background:#ffffff;
      padding:6px 11px;
      font-size:12px;
      font-weight:700;
      cursor:pointer;*/

      border: none;
  background:rgba(128, 128, 128, 1) ;
  color: #ffffff;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(128,128,128,0.35);
  display: inline-flex;
  align-items: center;
  gap: 6px;
    }

    .secondary-btn:active{
      transform:scale(0.97);
    }

    /* Sidebar cards */
    .side-card{
      background:var(--card-bg);
      border-radius:16px;
      border:1px solid var(--border);
      box-shadow:0 8px 18px rgba(0,0,0,0.05);
      padding:11px 12px 10px 12px;
      margin-bottom:10px;
      font-size:13px;
    }

    .side-title{
      font-size:14px;
      font-weight:900;
      margin-bottom:6px;
    }

    .side-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:4px;
    }

    .side-list li{
      display:flex;
      justify-content:space-between;
      gap:8px;
    }

    .side-label{
      font-weight:700;
      color:var(--muted);
    }

    .side-value{
      font-weight:600;
      text-align:right;
    }

    .notes-area{
      margin-top:4px;
    }

    /* Aligner orders / batches */
    .orders-list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:6px;
    }

    .order-row{
      border-radius:10px;
      border:1px solid rgba(0,0,0,0.08);
      padding:6px 8px;
      background:#fafafa;
      font-size:12.5px;
      display:flex;
      flex-direction:column;
      gap:3px;
      width:100%;
    }

    .order-top{
      display:flex;
      justify-content:space-between;
      gap:6px;
      font-weight:700;
    }

    .order-meta{
      display:flex;
      flex-wrap:wrap;
      gap:6px 10px;
      font-size:11.5px;
      color:var(--muted);
      font-weight:600;
    }

    .order-status-pill{
      border-radius:999px;
      padding:2px 8px;
      font-size:11px;
      font-weight:700;
      background:rgba(254,80,0,0.10);
      color:var(--od-orange);
      border:1px solid rgba(254,80,0,0.40);
      white-space:nowrap;
    }

    


     /* New order form */
    .new-order-block{
      border-top:1px solid var(--border);
      padding-top:10px;
      margin-top:4px;
    }

    .new-order-title{
      font-size:13.5px;
      font-weight:900;
      margin-bottom:4px;
    }

    .new-order-sub{
      font-size:12px;
      color:var(--muted);
      font-weight:700;
      margin-bottom:8px;
    }

    .new-order-row{
      display:flex;
      gap:8px;
      margin-bottom:8px;
    }

    .new-order-field{
      flex:1;
    }

    .new-order-label{
      font-size:12px;
      font-weight:800;
      color:var(--muted);
      margin-bottom:2px;
    }

    .new-order-input{
      width:100%;
      padding:7px 9px;
      border-radius:8px;
      border:1px solid var(--border);
      background:var(--card);
      font-size:14px;
      font-family:inherit;
      outline:none;
      text-align:center;
    }

    .new-order-input:focus{
      border-color:var(--od-orange);
      box-shadow:0 0 0 1px rgba(254,80,0,0.18);
    }

    .btn-small-primary{
      border:none;
      border-radius:999px;
      padding:8px 12px;
      font-size:12.5px;
      font-weight:900;
      font-family:inherit;
      background:var(--od-orange);
      color:#fff;
      cursor:pointer;
      box-shadow:0 4px 10px rgba(254,80,0,0.30);
      display:inline-flex;
      align-items:center;
      gap:6px;
    }

    .btn-small-primary:active{
      transform:scale(0.97);
      box-shadow:0 3px 8px rgba(254,80,0,0.25);
    }

    .btn-small-primary svg{
      width:13px;
      height:13px;
      stroke:#fff;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    @media (min-width:768px){
      .page{ padding:18px 18px 24px 18px; }
      .card{ padding:16px 18px; }
    }

    /* dashboard */
      /* Shell layout similar to Dentist app */
    .od-shell {
      min-height: 100vh;
      display: flex;
      background: var(--bg);
    }

    /* Side drawer */
    .od-drawer {
      width: 250px;
      background: var(--card-bg);
      border-right: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      padding: 10px 10px 12px 10px;
      position: sticky;
      top: 0;
      height: 100vh;
      z-index: 20;
      transition: width 0.25s ease, padding 0.25s ease, border 0.25s ease;
    }

    /* Collapsed drawer (desktop) */
    .od-drawer-collapsed {
      width: 0;
      padding: 0;
      border: none;
      overflow: hidden;
    }

    .od-drawer-header {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 4px 4px 10px 4px;
      border-bottom: 1px solid rgba(0, 0, 0, 0.06);
      margin-bottom: 6px;
    }

    .od-logo-img {
      height: 28px;
      display: block;
    }

    .od-logo-text {
      font-size: 15px;
      font-weight: 900;
    }

    .od-nav-title {
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--muted);
      padding: 6px 6px 2px 6px;
    }

    .od-nav-list {
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .od-nav-item {
      margin: 2px 0;
    }

    .od-nav-link {
      width: 100%;
      border: none;
      background: none;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px 9px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 700;
      color: var(--muted);
      text-align: left;
      cursor: pointer;
    }

    .od-nav-link-main {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1;
      min-width: 0;
    }

    .od-nav-link svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      flex-shrink: 0;
    }

    .od-nav-expand {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.2s ease;
    }

    .od-nav-expand svg {
      width: 14px;
      height: 14px;
    }

    .od-nav-link:hover {
      background: rgba(0, 0, 0, 0.03);
      color: var(--od-black);
    }

    .od-nav-link-active {
      background: rgba(254, 80, 0, 0.10);
      color: var(--od-orange);
    }

    /* Sub-menu under Case Management */
    .od-nav-sublist {
      list-style: none;
      margin: 0 0 4px 0;
      padding: 0 0 0 26px;
      display: none;
    }

    .od-nav-sublist-open {
      display: block;
    }

    .od-nav-subitem {
      margin: 1px 0;
    }

    .od-nav-sublink {
      width: 100%;
      border: none;
      background: none;
      text-align: left;
      padding: 5px 6px;
      border-radius: 8px;
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
      cursor: pointer;
    }

    .od-nav-sublink:hover {
      background: rgba(0, 0, 0, 0.03);
      color: var(--od-black);
    }

    .od-nav-sublink-active {
      background: rgba(254, 80, 0, 0.08);
      color: var(--od-orange);
    }

    .od-drawer-footer {
      margin-top: auto;
      padding: 6px;
      font-size: 11.5px;
      color: var(--muted);
    }

    /* App bar */
    .od-main {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-width: 0;
    }

    .od-app-bar {
      position: sticky;
      top: 0;
      z-index: 15;
      background: var(--od-orange);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 8px 14px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    }

    .od-app-bar-left {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .od-app-bar-logo {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .od-app-bar-logo img {
      height: 22px;
      display: block;
    }

    .od-app-bar-title {
      display: flex;
      flex-direction: column;
      gap: 1px;
    }

    .od-app-bar-main {
      font-size: 16px;
      font-weight: 900;
    }

    .od-app-bar-sub {
      font-size: 12px;
      opacity: 0.9;
      font-weight: 600;
    }

    .od-hamburger {
      border: none;
      background: rgba(0, 0, 0, 0.10);
      padding: 6px;
      border-radius: 8px;
      cursor: pointer;
      display: inline-flex;
    }

    .od-hamburger svg {
      width: 20px;
      height: 20px;
      stroke: #fff;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .od-app-bar-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .od-logout-btn {
      border: none;
      border-radius: 999px;
      padding: 7px 13px;
      font-size: 13px;
      font-weight: 800;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      background: #000000;
      color: #ffffff;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    }

    .od-logout-btn svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .od-logout-btn:active {
      transform: scale(0.97);
    }

    /* Content */
    .od-content {
      padding: 14px 16px 18px 16px;
    }

    .page-heading {
      margin-bottom: 10px;
    }

    .page-title {
      font-size: 18px;
      font-weight: 900;
      margin-bottom: 3px;
    }

    .page-subtitle {
      font-size: 12.5px;
      color: var(--muted);
      font-weight: 600;
    }

    /* Cards */
    .card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-bottom: 14px;
    }

    @media (max-width:1024px) {
      .card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width:640px) {
      .card-grid {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    .recase-grid {
            display: grid;
            grid-template-columns: repeat(10, 1fr);
            gap: 6px;
            max-width: 600px;
            margin: 10px 10px;
        }
    .metric-card {
      background: var(--card-bg);
      border-radius: 14px;
      padding: 12px 12px 11px 12px;
      border: 1px solid var(--border);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.04);
      display: flex;
      flex-direction: column;
      gap: 6px;
      min-height: 84px;
    }

    .metric-header {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 6px;
    }

    .metric-label {
      font-size: 12px;
      font-weight: 800;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    .metric-pill {
      font-size: 11px;
      font-weight: 800;
      padding: 3px 8px;
      border-radius: 999px;
      border: 1px solid rgba(0, 0, 0, 0.06);
      background: #f7f7f7;
      color: var(--muted);
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .metric-pill-dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: var(--od-orange);
    }

    .metric-main {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 6px;
    }

    .metric-value {
      font-size: 24px;
      font-weight: 900;
    }

    .metric-trend {
      font-size: 11.5px;
      font-weight: 800;
      color: #198754;
    }

    .metric-icon {
      width: 26px;
      height: 26px;
      border-radius: 999px;
      border: 1px solid rgba(0, 0, 0, 0.06);
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f7f7f7;
    }

    .metric-icon svg {
      width: 15px;
      height: 15px;
      stroke: var(--od-black);
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .metric-card-highlight {
      border: 1px solid rgba(254, 80, 0, 0.55);
      background: rgba(254, 80, 0, 0.04);
      box-shadow: 0 8px 18px rgba(254, 80, 0, 0.15);
    }

    .metric-card-highlight .metric-label {
      color: var(--od-orange);
    }

    .metric-card-highlight .metric-icon {
      background: rgba(254, 80, 0, 0.08);
      border-color: rgba(254, 80, 0, 0.4);
    }

    .metric-card-highlight .metric-icon svg {
      stroke: var(--od-orange);
    }

    /* Generic card (recent cases) */
    .card {
      background: var(--card-bg);
      border-radius: 14px;
      border: 1px solid var(--border);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.04);
      padding: 12px 12px 10px 12px;
    }

    .card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-bottom: 8px;
    }

    .card-title {
      font-size: var(--font-size);
      font-weight: 900;
    }

    .card-sub {
      font-size: 12.5px;
      font-weight: 600;
      color: var(--muted);
    }

    .card-header-right {
      font-size: 11.5px;
      font-weight: 800;
      color: var(--od-orange);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .card-header-right svg {
      width: 12px;
      height: 12px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* Recent cases list */
    .case-list {
      display: grid;
      gap: 6px;
      margin-top: 4px;
    }

    .case-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 7px 8px;
      border-radius: 10px;
      border: 1px solid rgba(0, 0, 0, 0.05);
      background: #fafafa;
      font-size: 13px;
    }

    .case-main {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .case-id {
      font-weight: 900;
    }

    .case-dentist {
      font-size: 12.5px;
      font-weight: 700;
      color: var(--muted);
    }

    .case-status-pill {
      border-radius: 999px;
      padding: 4px 9px;
      font-size: 11.5px;
      font-weight: 800;
      text-transform: capitalize;
      letter-spacing: 0.04em;
      border: 1px solid rgba(0, 0, 0, 0.08);
      background: #ffffff;
      white-space: nowrap;
    }
     .case-requisition {
      color:#9d021e;
      border-color:rgba(157, 2, 30, 0.40);
      background: rgba(157, 2, 30, 0.10);
    }

  .req-highlight {
    color: #9d021e;
    text-shadow: 0 0 5px #fb1840, 0 0 10px #fb1840, 0 0 20px #fb1840;
    letter-spacing: 2px;
    font-weight: 500;
}
    /*.case-status-pill{
      border-radius:999px;
      padding:3px 9px;
      font-size:11.5px;
      font-weight:800;
      text-transform:capitalize;
      letter-spacing:0.02em;
      border:1px solid transparent;
      white-space:nowrap;
    }*/
     .case-pill-orange {
           background: rgba(254, 80, 0,0.20);
           border-color: rgba(254, 80, 0,0.40);
           color: #fe5000;
       }

       .case-pill {
           background: rgba(185, 128, 70,0.20);
           border-color: rgba(185, 128, 70,0.40);
           color: #80609f;
       }

      .case-status-hold{
      background:rgba(94, 36, 78,0.20);
      border-color:rgba(94, 36, 78,0.40);
      color:#5E244E;
    }


     .case-status-reject{
      background:rgba(124,10,2,0.10);
      border-color:rgba(124,10,2,0.40);
      color:#7C0A02;
    }
     
      .case-status-submitted{
      background:rgba(48,124,255,0.10);
      border-color:rgba(48,124,255,0.40);
      color:#0d3c92;
    }


    .case-status-design{
      background:rgba(244,182,0,0.18);
      border-color:rgba(244,182,0,0.50);
      color:#7a5200;
    }

    .case-status-pending{
      background:rgba(254,80,0,0.12);
      border-color:rgba(254,80,0,0.60);
      color:#8c3200;
    }

    .case-status-approved{
      background:rgba(247,141,167,0.14);
      border-color:rgba(219, 10, 91,0.55);
      color:#f78da7;
    }

    .case-status-production{
      background:rgba(154,99,255,0.14);
      border-color:rgba(154,99,255,0.55);
      color:#5c3ab2;
    }
     .case-status-shipped {
      background: rgba(0, 120, 212, 0.10);
      border-color: rgba(0, 120, 212, 0.45);
      color: #00539b;
    }

    .case-status-completed{
      background:rgba(0,150,136,0.14);
      border-color:rgba(0,150,136,0.55);
      color:#00695c;
    }

   .case-status-sets-received{
      background:rgba(131,64,0,0.14);
      border-color:rgba(131, 64, 0, 0.55);
      color:#834000;
    }
      
     .case-status-handover-patient{
      background:rgba(13, 91, 24, 0.14);
      border-color:rgba(13, 91, 24, 0.55);
      color:#0d5b18;
    }
    

   

    /* Mobile drawer behaviour */
    @media (max-width:900px) {
      .od-shell {
        flex-direction: column;
      }

      .od-drawer {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        transform: translateX(-100%);
        width: 230px;
        padding: 10px 10px 12px 10px;
        border-right: 1px solid var(--border);
      }

      .od-drawer-open {
        transform: translateX(0);
      }
    }

    /* dashboard */

    /* management */
      /* Status summary cards (6 columns incl. All Cases) */
    .status-summary{
      display:grid;
      grid-template-columns:repeat(7,minmax(0,1fr));
      gap:10px;
      margin-bottom:14px;
    }

    @media (max-width:1024px){
      .status-summary{
        grid-template-columns:repeat(3,minmax(0,1fr));
      }
    }

    @media (max-width:640px){
      .status-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }

    .status-card{
      background:var(--card-bg);
      border-radius:14px;
      padding:10px 11px;
      border:1px solid var(--border);
      box-shadow:0 4px 8px rgba(0,0,0,0.03);
      cursor:pointer;
      transition:box-shadow 0.15s ease, border-color 0.15s ease,
                 transform 0.08s ease;
    }

    .status-card:hover{
      box-shadow:0 6px 14px rgba(0,0,0,0.06);
      transform:translateY(-1px);
    }

    .status-card.active{
      border-color:rgba(254,80,0,0.75);
      box-shadow:0 8px 18px rgba(254,80,0,0.14);
    }

    .status-card-label{
      font-size:12px;
      font-weight:700;
      color:var(--muted);
      margin-bottom:6px;
    }

    .status-card-value{
      font-size:20px;
      font-weight:900;
    }
    /* Search row */
    .filter-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:12px;
      align-items:center;
    }

    .search-wrap{
      position:relative;
      flex:1 1 220px;
      min-width:0;
    }

    /* .search-input{
      width:100%;
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      padding:9px 40px 9px 34px;
      font-size:14px;
      background:#f8f8f8;
      outline:none;
    }

    .search-input:focus{
      border-color:rgba(254,80,0,0.7);
      background:#ffffff;
      box-shadow:0 0 0 2px rgba(254,80,0,0.10);
    } */

    .search-icon{
      position:absolute;
      left:10px;
      top:50%;
      transform:translateY(-50%);
      pointer-events:none;
      opacity:0.55;
    }

    .search-icon svg{
      width:16px;
      height:16px;
      stroke:var(--od-black);
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

       .search-count {
            position: absolute;
            right: 12px;
            top: 50%;
            transform: translateY(-50%);
            background: #FAE8E0;
            color: var(--od-orange);
            font-size: 12px;
            font-weight: 600;
            padding: 5px 10px;
            border-radius: 999px;
            line-height: 1;
            pointer-events: none;
        }

    /* Table */
    .table-wrapper{
      width:100%;
      overflow-x:auto;
    }

    .dentist-table{
      width:100%;
      border-collapse:collapse;
      margin-top:6px;
    }

    .dentist-table thead{
      font-size:13px;
      color:var(--muted);
      text-align:left;
    }

    .dentist-table th,
    .dentist-table td{
      padding:10px 6px;
      vertical-align:middle;
    }

    .dentist-table thead th{
      border-bottom:1px solid rgba(0,0,0,0.06);
      font-weight:700;
    }

    .dentist-table tbody tr{
      border-bottom:1px solid rgba(0,0,0,0.04);
    }

    .dentist-name{
      font-weight:800;
      font-size:14px;
      margin-bottom:2px;
    }

    .dentist-id{
      font-size:12px;
      color:var(--muted);
      font-weight:600;
    }

    .dentist-clinic{
      font-weight:600;
      font-size:14px;
    }

    .joined-date{
      font-size:13px;
      font-weight:600;
    }

    /* Actions */
    .actions-cell{
      display:flex;
      gap:8px;
      align-items:center;
    }

    .icon-btn{
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      background:#ffffff;
      width:30px;
      height:30px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
    }

    .icon-btn svg{
      width:16px;
      height:16px;
      stroke:var(--od-black);
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .icon-btn:hover{
      background:#ffe4d5;
    }

    /* Mobile tweaks */
    @media (max-width:700px){
      .dentist-table thead{
        display:none;
      }

      .dentist-table tbody tr{
        display:block;
        padding:10px 0;
      }

      .dentist-table td{
        display:flex;
        justify-content:space-between;
        padding:4px 2px;
      }

      .dentist-table td::before{
        content:attr(data-label);
        font-size:12px;
        color:var(--muted);
        font-weight:600;
        margin-right:10px;
      }

      .actions-cell{
        justify-content:flex-end;
      }
    }

   
/* Main card */
 .dentist-card{
      background:var(--card-bg);
      border-radius:18px;
      border:1px solid var(--border);
      box-shadow:0 10px 24px rgba(0,0,0,0.06);
      padding:14px 16px 14px 16px;
    }
    .case-card{
      background:var(--card-bg);
      border-radius:18px;
      border:1px solid var(--border);
      box-shadow:0 10px 24px rgba(0,0,0,0.06);
      padding:12px 14px 10px 14px;
    }

    .filter-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-bottom:10px;
    }

    .search-input-wrap{
      position:relative;
      flex:1 1 200px;
      min-width:0;
    }

    .search-input{
      width:100%;
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      padding:9px 40px 9px 34px;
      font-size:14px;
      background:#f8f8f8;
      outline:none;
    }

    .search-input:focus{
      border-color:rgba(254,80,0,0.7);
      background:#ffffff;
      box-shadow:0 0 0 2px rgba(254,80,0,0.10);
    }

    .search-icon{
      position:absolute;
      left:10px;
      top:50%;
      transform:translateY(-50%);
      pointer-events:none;
      opacity:0.55;
    }

    .search-icon svg{
      width:16px;
      height:16px;
      stroke:var(--od-black);
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .status-select{
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      padding:8px 30px 8px 12px;
      font-size:13px;
      background:#ffffff;
      appearance:none;
      background-image:linear-gradient(45deg,transparent 50%,#555 50%),
                       linear-gradient(135deg,#555 50%,transparent 50%);
      background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;
      background-size:6px 6px,6px 6px;
      background-repeat:no-repeat;
      min-width:140px;
    }

    /* Case list */
    .case-list{
      display:flex;
      flex-direction:column;
      gap:8px;
      margin-top:6px;
    }

    .case-row{
      border-radius:14px;
      padding:9px 10px;
      background:#fafafa;
      display:flex;
      align-items:center;
      gap:10px;
      border:1px solid rgba(0,0,0,0.04);
    }

    /* Odonto-style icon */
    .case-icon{
      width:38px;
      height:38px;
      border-radius:12px;
      background:rgba(254,80,0,0.10);
      display:flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
    }

    .case-icon svg{
      width:20px;
      height:20px;
      stroke:var(--od-orange);
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .case-main{
      flex:1;
      display:flex;
      flex-direction:column;
      gap:3px;
      min-width:0;
    }

    .case-top{
      display:flex;
      align-items:center;
      gap:8px;
      flex-wrap:wrap;
    }

    .case-name{
      font-weight:800;
      font-size:14px;
      text-transform:capitalize!important;
    }
    .case-meta{
      font-size:12.5px;
      color:var(--muted);
      font-weight:600;
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      align-items:center;
    }

    .dot{
      width:4px;
      height:4px;
      border-radius:999px;
      background:rgba(0,0,0,0.35);
    }

    /* View button area */
    .case-actions{
      flex-shrink:0;
    }

    .view-btn{
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      /*background:var(--od-white);*/
      background:rgba(254,80,0,1);
      padding:6px 11px;
      font-size:12px;
      font-weight:700;
      display:inline-flex;
      align-items:center;
      gap:6px;
      cursor:pointer;
      color:var(--od-black);
      transition:background 0.12s ease, box-shadow 0.12s ease,
                 transform 0.05s ease;
    }

    .view-btn svg{
      width:14px;
      height:14px;
      stroke:var(--od-black);
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .view-btn:hover{
      background:#ffe4d5;
      box-shadow:0 3px 8px rgba(0,0,0,0.12);
    }

    .view-btn:active{
      transform:scale(0.97);
      box-shadow:none;
    }

    @media (max-width:640px){
      .case-row{
        align-items:flex-start;
      }
    }
    /* management */

    .d-flex {
      display: flex;
      flex-wrap: wrap;
    }

    /*new case page*/


    .field-label{
      font-size:13px;
      font-weight:800;
      color:var(--muted);
    }

    .field-label span{
      color:#d12b00;
    }

    .input,
    select{
      width:100%;
      padding:5px 12px;
      border-radius:10px;
      border:1px solid var(--border);
      background:var(--card-2);
      font-size:var(--font-size);
      font-family:inherit;
      outline:none;
    }

    .input:focus,
    select:focus{
      border-color:var(--od-orange);
      box-shadow:0 0 0 1px rgba(254,80,0,0.20);
      background:var(--od-white);
    }

    .checkbox-group{
      margin-top:4px;
      display:grid;
      gap:6px;
    }

    .checkbox-pill{
      display:flex;
      align-items:center;
      gap:8px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--border);
      background:var(--card-2);
      font-size:13px;
      font-weight:700;
      color:var(--muted);
      width:100%;
    }

    .checkbox-pill input[type="checkbox"]{
      width:16px;
      height:16px;
      accent-color:var(--od-orange);
      flex-shrink:0;
    }

    .note{
      font-size:12px;
      color:var(--muted);
      margin-top:4px;
    }

    /* Upload card */
    .upload-card{
      border-radius:12px;
      border:1px dashed var(--border);
      background:var(--card-2);
      padding:10px 12px 12px 12px;
      display:grid;
      gap:8px;
    }

    .upload-header-title{
      font-size:14px;
      font-weight:900;
      color:var(--od-black);
      display:flex;
      align-items:center;
      gap:4px;
    }

    .upload-header-title span.required{
      color:#d12b00;
      font-size:13px;
    }

    .upload-header-sub{
      font-size:12.5px;
      color:var(--muted);
      font-weight:600;
      line-height:1.4;
    }

    .upload-dropzone{
      border-radius:10px;
      border:1px solid var(--border);
      background:var(--card);
      padding:10px 12px;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:4px;
      cursor:pointer;
    }

    .upload-main{
      font-size:13.5px;
      font-weight:800;
      color:var(--od-black);
    }

    .upload-hint{
      font-size:12px;
      color:var(--muted);
    }

    .upload-file-list{
      font-size:12.5px;
      color:var(--muted);
      max-height:80px;
      overflow:auto;
    }

    .upload-file-list ul{
      margin:4px 0 0 16px;
      padding:0;
    }

    .upload-file-list li{
      margin:0;
      padding:0;
    }

    /* Advanced details (expandable) */
    .advanced-details{
      border-radius:12px;
      border:1px solid var(--border);
      background:var(--card-2);
      padding:0;
      overflow:hidden;
    }

    .advanced-details summary{
      list-style:none;
      cursor:pointer;
      padding:10px 12px;
      font-size:14px;
      font-weight:900;
      color:var(--od-black);
      display:flex;
      align-items:center;
      justify-content:space-between;
    }

    .advanced-details summary::-webkit-details-marker{
      display:none;
    }

    .advanced-chevron{
      width:16px;
      height:16px;
      display:inline-block;
      transition:transform 0.15s ease;
    }

    .advanced-details[open] .advanced-chevron{
      transform:rotate(180deg);
    }

    .advanced-body{
      padding:10px 12px 12px 12px;
      display:grid;
      gap:10px;
      border-top:1px solid var(--border);
      background:var(--card);
    }

    .subsection-title{
      font-size:13px;
      font-weight:800;
      color:var(--muted);
      margin-bottom:2px;
    }

    .inline-options{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:4px;
    }

    .inline-option-label{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:5px 9px;
      border-radius:999px;
      border:1px solid var(--border);
      background:var(--card-2);
      font-size:12.5px;
      font-weight:700;
      color:var(--muted);
    }

    .inline-option-label input[type="checkbox"]{
      width:14px;
      height:14px;
      accent-color:var(--od-orange);
      flex-shrink:0;
    }

    .spacing-row,
    .ap-row{
      display:grid;
      gap:4px;
    }

    .ap-options{
      display:flex;
      flex-wrap:wrap;
      gap:6px;
      margin-top:2px;
    }

    .submit-wrap{
      margin-top:6px;
    }

    .btn-primary{
      width:100%;
      border:none;
      border-radius:999px;
      padding:12px 16px;
      font-size:var(--font-size);
      font-weight:900;
      font-family:inherit;
      background:var(--od-orange);
      color:#fff;
      cursor:pointer;
      box-shadow:0 8px 16px rgba(254,80,0,0.35);
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
    }

    .btn-primary:active{
      transform:scale(0.98);
      box-shadow:0 5px 12px rgba(254,80,0,0.25);
    }

    .btn-primary svg{
      width:16px;
      height:16px;
      stroke:#fff;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

   

    @media (min-width:768px){
      .page{ padding:18px 18px 24px 18px; }
      .card{ padding:16px 18px; }
      form{ gap:14px; }
    }

    @media (min-width:900px){
      .two-column{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
      }
    }

    /*new cases page*/
    
.upload-dropzone {
    display: block;
    padding: 16px;
    border: 2px dashed var(--od-orange);
    border-radius: 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.upload-dropzone:hover {
    background: rgba(254, 80, 0, 0.05);
}
.file-error {
    color: red;
    margin-top: 6px;
    display: block;
    font-size: 13px;
}
.field-error {
    animation: shake 0.3s;
    border-left: 4px solid var(--od-orange);
}

@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); }
    75% { transform: translateX(-4px); }
    100% { transform: translateX(0); }
}
.input-error {
    border: 1px solid var(--od-orange) !important;
    background-color: rgba(254, 80, 0, 0.03);
}
     /*new cases page*/

     /*fetching uploded files*/
          .uploaded-card {
            background: #fff;
            border-radius: 12px;
            border: 1px solid #e0e0e0;
            padding: 10px;
            text-align: center;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.3s;
            min-height: 180px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

            .uploaded-card:hover {
                transform: translateY(-5px);
                box-shadow: 0 12px 25px rgba(0,0,0,0.15);
            }

        .uploaded-placeholder {
            font-size: 3rem;
            color: #4e73df;
            margin-bottom: 10px;
            transition: opacity 0.2s;
        }

        .uploaded-card p {
            font-weight: 600;
            color: #333;
            margin-bottom: 10px;
        }

        .uploaded-card img.preview-img {
            width: 100%;
            max-height: 100px;
            border-radius: 8px;
            border: 1px solid #ddd;
        }

        @media (max-width:768px) {
            .uploaded-card {
                margin-bottom: 15px;
            }
        }
     /*fetching uploded files*/

 .rejection-box {
    background:#fff5f5;
    border:1px solid #ffcccc;
    padding:15px;
    border-radius:8px;
}

 .backBtn{
   border-radius: 8px;
  background: #fff;
  border: 1px solid var(--od-orange);
  font-size: 13px;
  padding: 5px 14px;
  font-weight: bold;
  margin-bottom:3px;
}

.backBtn:hover{
    background:var(--od-orange);
    color:#fff;
}

/*sets distribution div*/

.setsDis{
    background: rgba(254, 80, 0, 0.08)!important;
    border-left: 4px solid var(--od-orange);
    border-radius: 4px;
    padding: 8px 12px;
    }

.setsDis label {
    color: #777;
    margin-right: 5px;
}

.set-value {
    font-weight: 700;
    color: var(--od-orange);
}
/*sets distribution div*/


/* VERSION LIST*/

    .version-list {

        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    /* VERSION ITEM */
    .version-item {
        background: #ffffff;
        border: 1px solid #e5e7eb;
        border-radius: 9px;
        overflow: hidden;
        transition:
            border-color .2s ease,
            box-shadow .2s ease;
    }

    .version-item:hover {
        border-color: #d5d9e1;
    }
    .version-item.active {
        border-color:var(--accent-soft);
        box-shadow:
            0 4px 14px var(--accent-soft);
    }

    /* VERSION HEADER */

    .version-header {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 30px;
        padding: 7px 10px;
        cursor: pointer;
        user-select: none;
        background: #ffffff;
        transition:
            background .15s ease;
    }
    .version-header:hover {
        background: #fafbff;
    }
    /*  LEFT STATUS INDICATOR*/
    .version-header::before {
        content: "";
        width: 3px;
        align-self: stretch;
        min-height: 29px;
        margin-right: 10px;
        border-radius: 3px;
        background: var(--od-orange);
    }

    /*  VERSION NAME */
    .version-name {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        font-size: 13px;
        font-weight: 750;
        color: #111827;
    }
    /*STATUS */
    .version-status {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 4px 8px;
        margin-right: 5px;
        border-radius: 999px;
        font-size: 9px;
        font-weight: 750;
        white-space: nowrap;
    }

    .version-status::before {
        content: "";
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: currentColor;
    }

    /* Approved */
    .version-status.approved {
        color: #15803d;
        background: #ecfdf3;
        border: 1px solid #c7efd4;
    }

    /* ARROW */
    .version-arrow {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #9ca3af;
        font-size: 15px;
        transition:
            transform .2s ease,
            color .2s ease;
    }

    .version-item.active
    .version-arrow {
        transform: rotate(180deg);
        color: var(--od-orange);
    }

    /* DETAILS / ACCORDION*/
    .version-details {
        max-height: 0;
        overflow: hidden;
        padding: 0 12px;
        border-top: 0 solid #f0f1f4;
        transition:
            max-height .3s ease,
            padding .25s ease,
            border-color .2s ease;
    }

    .version-item.active
    .version-details {
        max-height: 600px;
        padding: 9px 12px 11px;
        border-top-width: 1px;
    }

    /*META ROW */
    .version-meta {
        display: flex;
        align-items: flex-start;
        gap: 9px;
        padding: 5px 0;
        font-size: 11.5px;
        line-height: 17px;
        color: #626b78;
    }

    .version-meta + .version-meta {
        border-top: 1px dashed #edf0f3;
        margin-top: 4px;
        padding-top: 8px;
    }

    /* META LABEL */
    .version-label {
        flex-shrink: 0;
        min-width: 48px;
        padding: 2px 6px;
        text-align: center;
        border-radius: 4px;
        background: var(--accent-soft);
        color: var(--od-orange);
        font-size: 10px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .03em;
    }

    /*  META CONTENT */

    .version-content {
        flex: 1;
        min-width: 0;
    }

    .version-person {
        color: #374151;
        font-weight: 650;
    }

    .version-date {
        margin-left: 4px;
        color: #9ca3af;
    }
    /* REMARK */
    .version-remark {
        margin-top: 3px;
        color: #6b7280;
        line-height: 17px;
    }

    .version-remark strong {
        color: #374151;
        font-weight: 700;
    }
    /*SEE MORE */

    .see-more-link {
        display: none;
        margin-left: 5px;
        color: var(--od-orange);
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
    }

    .see-more-link:hover {
        text-decoration: underline;
    }

    /*  MOBILE*/
    @media (max-width: 600px) {
        .version-header {
            padding: 7px 8px;
        }
        
        .version-header::before {
            margin-right: 7px;
        }

        .version-number {
            width: 25px;
            height: 25px;
        }

        .version-name {
            font-size: 12px;
        }

        .version-status {
            padding: 3px 6px;
            font-size: 8px;
        }

        .version-details {
            padding-left: 8px;
            padding-right: 8px;
        }

        .version-item.active
        .version-details {
            padding-left: 8px;
            padding-right: 8px;
        }

        .version-meta {
            gap: 6px;
        }
    }
