  @import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");

  :root{
    --rp-bg:#f5f5f7;
    --rp-surface:#f8f9fb;
    --rp-card:#ffffff;
    --rp-text:#101828;
    --rp-muted:#667085;
    --rp-border:#e5e7eb;
    --rp-border-strong:#d1d5db;
    --rp-header:#f9fafb;
    --rp-red:#c81e1e;
    --rp-red-hover:#a91818;
    --rp-primary:#c81e1e;
    --rp-primary-hover:#a91818;
    --rp-radius:8px;
  }

  body{
    font-family:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:radial-gradient(circle at top, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0) 42%), linear-gradient(180deg, #fafafa 0%, var(--rp-bg) 100%);
    margin:0;
    padding:86px 20px 20px;
    color:var(--rp-text);
  }

  html.rp-auth-pending body{
    opacity:0;
    pointer-events:none;
  }

  html.rp-auth-ready body{
    opacity:1;
  }

  .rp-topnav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:10000;
    background:rgba(255,255,255,0.92);
    border-bottom:1px solid rgba(17,24,39,0.08);
    backdrop-filter:blur(10px);
    padding:8px 14px;
  }
  .rp-topnav-inner{
    max-width:1100px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    padding:6px 14px;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    flex-wrap:wrap;
  }
  .rp-topnav-links{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
  }
  .rp-topnav a{
    text-decoration:none;
    font-size:12px;
    font-weight:500;
    color:#1d1d1f;
    border:0;
    border-radius:0;
    padding:4px 2px;
    background:transparent;
  }
  .rp-topnav a:hover{ color:#000; }

  #rpLogoutLink{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid var(--rp-border);
    border-radius:8px;
    background:rgba(255,255,255,0.94);
    color:var(--rp-text);
  }

  .dashboard-section-main,
  .dashboard-wrapper-master,
  .ed-dashboard-tabs-system,
  .dashboard-pane-wrapper,
  .dashboard-pane-wrapper.contains-subpanes{
    background:transparent !important;
  }

  .ed-dashboard-nav{
    background:transparent !important;
    padding:0 !important;
  }

  .ed-dashboard-card-master.horizontal-flex.howdy.margin-bottom-8px{
    padding:18px !important;
    border:1px solid var(--rp-border) !important;
    border-radius:10px !important;
    background:var(--rp-surface) !important;
    box-shadow:none !important;
  }

  .profile-pic-wrapper{
    background:transparent !important;
  }

  .profile-pic{
    object-fit:contain;
  }

  .welcome-name .text-block,
  .welcome-name #restaurant-name{
    font-weight:300 !important;
    letter-spacing:.01em;
    line-height:1.2;
  }

  .rp-admin-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin:6px 0 10px;
    flex-wrap:wrap;
  }

  .rp-summary{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin-bottom:14px;
  }
  .rp-summary-card{
    background:var(--rp-card);
    border:1px solid var(--rp-border);
    border-radius:var(--rp-radius);
    padding:14px 16px;
    box-shadow:0 12px 28px rgba(16,24,40,.05);
  }
  .rp-summary-label{ font-size:12px; color:var(--rp-muted); }
  .rp-summary-value{ font-size:22px; font-weight:700; margin-top:4px; }

  .rp-sync{
    font-size:12px;
    color:var(--rp-muted);
    margin:6px 0 16px;
  }

  .rp-empty{
    font-size:13px;
    color:var(--rp-muted);
    margin:8px 0 14px;
  }

  .rp-table-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin:6px 0 14px;
    flex-wrap:wrap;
  }

  .rp-search-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1 1 100%;
    max-width:560px;
    min-width:280px;
    margin-left:auto;
    padding:2px 2px 2px 12px;
    border:1px solid var(--rp-border);
    border-radius:10px;
    background:rgba(255,255,255,0.95);
    box-shadow:0 10px 24px rgba(16,24,40,.05);
  }

  .rp-search-wrap:focus-within{
    border-color:#d1d5db;
    box-shadow:0 0 0 3px rgba(17,24,39,.05), 0 8px 20px rgba(17,24,39,.06);
  }

  .rp-search-icon{
    flex:0 0 auto;
    color:#9ca3af;
    font-size:14px;
    line-height:1;
  }

  .rp-search-input{
    width:100%;
    min-width:0;
    padding:10px 0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#111827;
    font-size:13px;
    line-height:1.3;
  }

  .rp-search-input::placeholder{
    color:#9ca3af;
  }

  .rp-search-input:focus{
    outline:none;
    box-shadow:none;
  }

  .rp-search-input::-webkit-search-decoration,
  .rp-search-input::-webkit-search-cancel-button,
  .rp-search-input::-webkit-search-results-button,
  .rp-search-input::-webkit-search-results-decoration{
    -webkit-appearance:none;
  }

  .rp-search-clear{
    flex:0 0 auto;
    border:0;
    background:#f3f4f6;
    color:#374151;
    border-radius:7px;
    padding:7px 10px;
    font-size:12px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
  }

  .rp-search-clear:hover{
    background:#e5e7eb;
  }

  .rp-table-actions .dt-buttons{
    margin:0;
    display:flex;
    gap:10px;
  }

  .w-embed,
  .dashboard-pane-wrapper,
  .dashboard-pane-wrapper.contains-subpanes{
    overflow:visible !important;
  }

  /* FULL WIDTH ALWAYS */
  .table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
  }

  table.dataTable,
  .dataTables_wrapper{
    width:100% !important;
    max-width:100% !important;
  }

  /* Table look */
  .styled-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:var(--rp-card);
    border-radius:var(--rp-radius);
    overflow:hidden;
    box-shadow:0 16px 32px rgba(16,24,40,.06);
    font-size:14px;
  }

  .styled-table thead{
    background:var(--rp-header);
    color:#374151;
    font-weight:500;
  }

  .styled-table th,
  .styled-table td{
    padding:14px 12px;
    text-align:left;
    border-bottom:1px solid var(--rp-border);
    vertical-align:middle;
    white-space:nowrap;
  }
  .rp-print-only{ display:none; }

  .styled-table tbody tr:hover{ background:#f6f7f9; cursor:pointer; }

  /* Make button cursor feel intentional */
  .styled-table button{ cursor:pointer; }

  /* Guest cell */
  .guest-cell{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:220px;
  }
  .guest-name{ font-weight:500; color:#111827; }
  .guest-email{ font-size:12px; color:var(--rp-muted); }

  /* Status pill */
  .status-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:4px 10px;
    border-radius:8px;
    font-size:12px;
    font-weight:500;
    border:1px solid var(--rp-border);
    background:#fff;
    color:#111827;
    max-width:100%;
  }
  .status-dot{ width:8px; height:8px; border-radius:50%; display:inline-block; }
  .status-pending .status-dot{ background:var(--rp-red); }
  .status-confirmed .status-dot{ background:#16a34a; }
  .status-canceled .status-dot{ background:#6b7280; }
  .status-no-show .status-dot{ background:#f59e0b; }
  .status-archived .status-dot{ background:#9ca3af; }
  .rp-sms-pill{
    display:inline-flex;
    align-items:center;
    padding:2px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:600;
    border:1px solid transparent;
    line-height:1.3;
  }
  .rp-sms-sent{
    background:#ecfdf3;
    color:#166534;
    border-color:#bbf7d0;
  }
  .rp-sms-eligible{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#bfdbfe;
  }
  .rp-sms-failed{
    background:#fef2f2;
    color:#b91c1c;
    border-color:#fecaca;
  }
  .rp-sms-skipped,
  .rp-sms-off,
  .rp-sms-missing,
  .rp-sms-na{
    background:#f3f4f6;
    color:#4b5563;
    border-color:#e5e7eb;
  }
  .rp-attention-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:3px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:700;
    line-height:1.3;
    background:#fef2f2;
    color:#b91c1c;
    border:1px solid #fecaca;
  }
  .rp-attention-flag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 7px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    background:#fef2f2;
    color:#b91c1c;
    border:1px solid #fecaca;
    vertical-align:middle;
  }
  .rp-status-wrap{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }

  .rp-subtle{
    margin-top:6px;
    font-size:12px;
    color:var(--rp-muted);
    white-space:normal;
  }

  .confirm-btn{
    background:var(--rp-red);
    color:#fff;
    border:0;
    padding:7px 12px;
    font-size:13px;
    border-radius:8px;
    cursor:pointer;
    transition:background .2s ease, opacity .2s ease;
    white-space:nowrap;
    line-height:1;
    min-height:34px;
  }
  .confirm-btn:hover{ background:var(--rp-red-hover); }
  .confirm-btn[disabled]{ opacity:.6; cursor:not-allowed; }

  .ghost-btn{
    background:#fff;
    border:1px solid var(--rp-border);
    padding:7px 12px;
    font-size:13px;
    border-radius:8px;
    cursor:pointer;
    color:#111827;
    white-space:nowrap;
    line-height:1;
    min-height:34px;
  }
  .ghost-btn:hover{ background:#f3f4f6; }

  /* DataTables controls */
  .dataTables_wrapper .dt-buttons{ margin-bottom:10px; }
  .dataTables_filter input{
    border:1px solid #d1d5db;
    padding:7px 10px;
    border-radius:var(--rp-radius);
    font-size:13px;
    margin-left:8px;
    outline:none;
  }
  .dataTables_filter{ display:none; }
  div.dataTables_length,
  div.dataTables_info,
  div.dataTables_paginate{
    display:block;
    font-size:12px;
    color:#6b7280;
  }
  div.dataTables_length{
    margin:0 0 10px;
  }
  div.dataTables_info{
    margin-top:10px;
  }
  div.dataTables_paginate{
    margin-top:10px;
  }
  .dataTables_length select{
    border:1px solid #d1d5db;
    border-radius:8px;
    padding:6px 28px 6px 10px;
    font-size:12px;
    background:#fff;
    color:#111827;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button{
    border:1px solid var(--rp-border) !important;
    border-radius:8px !important;
    background:#fff !important;
    color:#111827 !important;
    margin-left:6px;
    padding:6px 10px !important;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button.current,
  .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
    background:var(--rp-primary) !important;
    border-color:var(--rp-primary) !important;
    color:#fff !important;
  }
  .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
  .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover{
    opacity:.45;
    cursor:not-allowed !important;
    background:#fff !important;
    color:#9ca3af !important;
  }
  .dt-button{
    background:var(--rp-primary) !important;
    color:#fff !important;
    border:1px solid var(--rp-primary) !important;
    border-radius:8px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    line-height:1 !important;
    min-height:34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .dt-button:hover{ background:var(--rp-primary-hover) !important; }

  @media print {
    body{ padding:20px; }
    .rp-topnav,
    .rp-sync,
    .rp-table-actions{ display:none !important; }
    .rp-print-only{ display:table-cell !important; }
  }

  @media (max-width:700px){
    body{ padding:78px 12px 16px; }
    .rp-topnav{
      padding:8px 12px;
    }
    .rp-topnav-inner{
      flex-direction:row;
      justify-content:flex-end;
      gap:0;
      max-width:none;
      padding:0;
    }
    .rp-topnav-links{
      width:auto;
      gap:0;
      justify-content:flex-end;
    }
    .rp-topnav a{
      font-size:13px;
      padding:8px 12px;
      border-radius:8px;
    }
    .rp-topnav a:focus{
      outline:none;
      box-shadow:none;
    }
    .ed-dashboard-card-master.horizontal-flex.howdy.margin-bottom-8px{
      padding:14px 16px !important;
      border-radius:8px !important;
      margin-bottom:14px !important;
    }
    .profile-pic-wrapper{
      width:58px !important;
      height:58px !important;
      display:flex !important;
      align-items:center;
      justify-content:center;
    }
    .rp-admin-actions,
    .rp-table-actions{
      width:100%;
    }
    .rp-admin-actions > *,
    .rp-table-actions > *{
      flex:1 1 140px;
    }
    .rp-search-wrap{
      flex:1 1 100%;
      max-width:none;
      min-width:0;
      margin-left:0;
      padding-left:10px;
      border-radius:8px;
      border-color:var(--rp-border-strong);
      box-shadow:none;
    }
    .rp-table-actions .dt-buttons{
      width:100%;
    }
    .rp-table-actions .dt-button{
      width:100% !important;
    }
    .rp-summary{
      grid-template-columns:1fr;
      gap:10px;
      margin-bottom:12px;
    }
    .rp-summary-card{
      padding:14px 14px;
      border-radius:8px;
      border-color:var(--rp-border-strong);
      box-shadow:none;
    }
    .rp-summary-label{ font-size:13px; color:#5b6472; }
    .rp-summary-value{ font-size:20px; }
    .rp-panel{
      width:100%;
      border-radius:0;
      box-shadow:none;
    }
  }

  /* Slide-over (details) */
  .rp-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    opacity:0;
    pointer-events:none;
    transition:opacity .15s ease;
    z-index:9998;
  }
  .rp-overlay.is-open{
    opacity:1;
    pointer-events:auto;
  }

  .rp-panel{
    position:fixed;
    top:0;
    right:0;
    height:100%;
    width:min(520px, 92vw);
    background:#f3f4f6;
    box-shadow:-6px 0 24px rgba(0,0,0,.12);
    transform:translateX(110%);
    transition:transform .18s ease;
    z-index:9999;
    display:flex;
    flex-direction:column;
    outline:none;
    border-top-left-radius:12px;
    border-bottom-left-radius:12px;
  }
  .rp-panel.is-open{ transform:translateX(0); }

  .rp-panel-header{
    padding:20px 20px 14px;
    border-bottom:1px solid #eceff3;
    background:#fff;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }
  .rp-panel-title{
    font-size:20px;
    font-weight:600;
    margin:0;
    line-height:1.2;
  }
  .rp-panel-close{
    border:1px solid #e5e7eb;
    background:#ffffff;
    border-radius:8px;
    padding:6px 12px;
    cursor:pointer;
    font-size:16px;
    line-height:1;
  }

  .rp-panel-body{
    margin:16px;
    padding:18px;
    background:#fff;
    border-radius:10px;
    box-shadow:0 12px 32px rgba(17,24,39,.08);
    overflow:auto;
  }

  .rp-detail-grid{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:12px 16px;
    align-items:start;
    padding-bottom:14px;
    border-bottom:1px solid #eef0f3;
  }
  .rp-label{
    color:#8b8f97;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .rp-value{
    color:#111827;
    font-size:15px;
    font-weight:500;
  }

  .rp-actions-row{
    margin-top:14px;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .rp-actions-row button{ width:100%; }
  @media (min-width:640px){
    .rp-actions-row{ grid-template-columns:1fr 1fr; }
    .rp-actions-row .confirm-btn{ grid-column:1 / -1; }
  }

  .rp-notes{
    margin-top:14px;
    padding:14px;
    border:1px solid #eef0f3;
    background:#f9fafb;
    border-radius:8px;
  }
  .rp-notes label{
    display:block;
    font-size:12px;
    color:var(--rp-muted);
    margin-bottom:6px;
  }
  .rp-notes textarea{
    width:100%;
    min-height:90px;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    background:#fff;
    border-radius:8px;
    font-size:13px;
    resize:vertical;
    box-sizing:border-box;
  }
  .rp-notes-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:8px;
  }
  .rp-notes-meta{
    font-size:12px;
    color:var(--rp-muted);
  }
  .rp-messages{
    margin-top:14px;
    padding:14px;
    border:1px solid #eef0f3;
    background:#f9fafb;
    border-radius:8px;
  }
  .rp-messages-thread{
    display:flex;
    flex-direction:column;
    gap:10px;
    max-height:260px;
    overflow:auto;
    margin-top:10px;
  }
  .rp-message-card{
    border-radius:8px;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    background:#fff;
  }
  .rp-message-inbound{
    border-color:#dbeafe;
    background:#eff6ff;
  }
  .rp-message-outbound{
    border-color:#dcfce7;
    background:#f0fdf4;
  }
  .rp-message-system{
    border-color:#e5e7eb;
    background:#f3f4f6;
  }
  .rp-message-meta{
    font-size:11px;
    color:var(--rp-muted);
    margin-bottom:6px;
  }
  .rp-message-body{
    font-size:13px;
    color:#111827;
    white-space:pre-wrap;
    word-break:break-word;
  }
  .rp-message-compose{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .rp-message-compose-top{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
  }
  .rp-message-compose select,
  .rp-message-compose textarea{
    width:100%;
    padding:8px 10px;
    border-radius:8px;
    border:1px solid var(--rp-border);
    font-size:13px;
    box-sizing:border-box;
    background:#fff;
    color:#111827;
  }
  .rp-message-compose textarea{
    min-height:96px;
    resize:vertical;
  }
  .rp-message-empty{
    font-size:12px;
    color:var(--rp-muted);
    margin-top:10px;
  }
  .rp-tags{
    margin-top:14px;
    padding:14px;
    border:1px solid #eef0f3;
    background:#f9fafb;
    border-radius:8px;
  }
  .rp-tag-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .rp-tag-btn{
    border:1px solid var(--rp-border);
    background:#fff;
    color:#111827;
    border-radius:8px;
    padding:6px 10px;
    font-size:12px;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
  }
  .rp-tag-btn[aria-pressed="true"]{
    border-color:var(--rp-primary);
    background:#fff5f5;
    color:var(--rp-primary);
  }
  .rp-tag-meta{
    font-size:12px;
    color:var(--rp-muted);
    margin-top:8px;
  }
  .rp-primary-btn{
    background:var(--rp-primary);
    color:#fff;
    border:1px solid var(--rp-primary);
    border-radius:8px;
    padding:8px 12px;
    font-size:12px;
    cursor:pointer;
    line-height:1;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .rp-primary-btn:hover{ background:var(--rp-primary-hover); }
  .rp-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.35);
    opacity:0;
    pointer-events:none;
    transition:opacity .15s ease;
    z-index:10001;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
  }
  .rp-modal.is-open{
    opacity:1;
    pointer-events:auto;
  }
  .rp-modal-card{
    background:#fff;
    border-radius:10px;
    max-width:520px;
    width:100%;
    box-shadow:0 20px 60px rgba(0,0,0,.2);
    padding:18px;
  }
  .rp-modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }
  .rp-modal-title{
    font-size:18px;
    font-weight:600;
    margin:0;
  }
  .rp-modal-close{
    border:1px solid var(--rp-border);
    background:#fff;
    border-radius:8px;
    padding:6px 10px;
    cursor:pointer;
    font-size:14px;
  }
  .rp-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .rp-form-grid label{
    font-size:12px;
    color:var(--rp-muted);
    display:block;
    margin-bottom:6px;
  }
  .rp-form-grid input,
  .rp-form-grid textarea{
    width:100%;
    padding:8px 10px;
    border-radius:8px;
    border:1px solid var(--rp-border);
    font-size:13px;
    box-sizing:border-box;
    background:#ffffff;
    color:#111827;
  }
  .rp-form-grid input[type="date"],
  .rp-form-grid input[type="time"]{
    appearance:none;
    -webkit-appearance:none;
    min-height:46px;
  }
  .rp-form-grid textarea{ min-height:90px; resize:vertical; }
  .rp-form-error{
    display:none;
    margin-bottom:12px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #fecaca;
    background:#fef2f2;
    color:#991b1b;
    font-size:13px;
    line-height:1.5;
  }
  .rp-form-error.is-visible{ display:block; }
  .rp-form-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:12px;
  }
  @media (max-width:767px){
    .rp-form-grid{ grid-template-columns:1fr; }
  }

  @media (max-width:767px){
    body{ padding:72px 12px 14px; }
    .rp-table-actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      align-items:center;
    }
    .rp-table-actions > *{
      width:100%;
      min-width:0;
      margin:0 !important;
    }
    #rpAddReservation{
      grid-column:1 / -1;
      order:1;
    }
    #rpSearchWrap{
      grid-column:1 / -1;
      order:2;
    }
    #rpSelectVisibleBtn{
      order:3;
    }
    #rpBulkDeleteBtn{
      order:4;
    }
    #rpBookingTypeFilter{
      order:5;
    }
    #rpShowArchivedWrap{
      order:6;
      justify-self:start;
      width:auto;
    }
    .rp-table-actions .dt-buttons{
      grid-column:1 / -1;
      order:7;
      width:100%;
    }
    .rp-table-actions .dt-button{
      width:100% !important;
      background:#ffffff !important;
      color:#111827 !important;
      border:1px solid var(--rp-border-strong) !important;
      border-radius:8px !important;
    }
    .table-wrap{
      overflow-x:visible;
    }
    .guest-cell{ min-width:180px; }
    .rp-detail-grid{ grid-template-columns:120px 1fr; }
    .rp-summary{ grid-template-columns:1fr; }
    .styled-table thead{ display:none; }
    .styled-table,
    .styled-table tbody,
    .styled-table tr,
    .styled-table td{
      display:block;
      width:100%;
    }
    .styled-table tr{
      background:var(--rp-card);
      border:1px solid var(--rp-border-strong);
      border-radius:8px;
      margin:0 0 12px;
      padding:0;
      box-shadow:0 10px 24px rgba(16,24,40,.06);
      overflow:hidden;
    }
    .styled-table td{
      display:grid;
      grid-template-columns:90px 1fr;
      gap:6px 12px;
      align-items:start;
      padding:10px 14px;
      white-space:normal;
      word-break:break-word;
      border-bottom:1px solid #eceff3;
    }
    .styled-table td:last-child{ border-bottom:0; }
    .styled-table td::before{
      content:attr(data-label);
      font-size:11px;
      color:#667085;
      font-weight:600;
      flex:0 0 90px;
      letter-spacing:.02em;
    }
    .styled-table tr[data-status="confirmed"]{ border-left:3px solid #16a34a; }
    .styled-table tr[data-status="pending"]{ border-left:3px solid #dc2626; }
    .styled-table tr[data-status="canceled"]{ border-left:3px solid #6b7280; }
    .styled-table tr[data-status="no_show"]{ border-left:3px solid #f59e0b; }
    .styled-table td.rp-print-only{ display:none; }
    .status-pill{
      border-radius:8px;
    }
    .rp-panel-header{
      padding:14px 16px 12px;
      border-bottom:1px solid #e5e7eb;
      background:var(--rp-card);
    }
    .rp-panel-title{
      font-size:18px;
    }
    .rp-panel-close{
      padding:8px 10px;
    }
    .rp-panel-body{
      margin:0;
      padding:16px;
      border-radius:0;
      box-shadow:none;
      background:transparent;
    }
    .rp-detail-grid{
      grid-template-columns:96px 1fr;
      gap:10px 14px;
      padding:16px;
      border:1px solid var(--rp-border-strong);
      border-radius:8px;
      background:var(--rp-card);
    }
    .rp-actions-row{
      margin-top:12px;
    }
    .rp-actions-row button,
    .rp-primary-btn,
    .ghost-btn,
    .confirm-btn{
      min-height:44px;
      border-radius:8px;
    }
    .rp-notes,
    .rp-messages,
    .rp-tags{
      padding:12px;
      border-radius:8px;
      border-color:var(--rp-border-strong);
      background:var(--rp-card);
    }
    .rp-message-card{
      border-radius:8px;
    }
    .rp-message-compose select,
    .rp-message-compose textarea,
    .rp-notes textarea,
    .rp-form-grid input,
    .rp-form-grid textarea{
      border-radius:8px;
      border-color:var(--rp-border-strong);
      background:#ffffff;
    }
    .rp-modal{
      padding:12px;
    }
    .rp-modal-card{
      max-width:none;
      padding:16px;
      border-radius:10px;
      box-shadow:0 18px 44px rgba(16,24,40,.14);
    }
    .rp-modal-title{
      font-size:16px;
    }
    .rp-modal-close{
      padding:8px 10px;
    }
    .rp-form-grid{
      gap:10px;
    }
    .rp-form-grid label{
      margin-bottom:5px;
      color:#475467;
    }
    .rp-form-grid input,
    .rp-form-grid textarea{
      min-height:44px;
      padding:10px 12px;
    }
    .rp-form-grid textarea{
      min-height:104px;
    }
  }
