
/* Light, clean UI */
.rsp-portal { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu; color: #1a1a1a; background: #ffffff; border-radius: 16px; overflow: hidden; border:1px solid #e5e7eb; }
.rsp-header { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; background:#f8fafc; border-bottom:1px solid #e5e7eb; }
.rsp-brand { font-weight:700; letter-spacing:0.5px; }
.rsp-actions .rsp-btn { background:#2563eb10; border:1px solid #dbeafe; color:#1e40af; padding:8px 14px; border-radius:10px; cursor:pointer; }
.rsp-body { display:flex; min-height:420px; }
.rsp-sidebar { width:240px; background:#f9fafb; border-right:1px solid #e5e7eb; }
.rsp-sidebar ul { list-style:none; margin:0; padding:8px; }
.rsp-sidebar li { margin:4px 0; }
.rsp-sidebar li a { display:block; padding:10px 12px; border-radius:10px; text-decoration:none; color:#111827; }
.rsp-sidebar li.active a, .rsp-sidebar li a:hover { background:#e5e7eb; }
.rsp-content { flex:1; padding:16px; }
.rsp-content--solo { max-width: 720px; margin: 0 auto; }
.rsp-card { background:#ffffff; border:1px solid #e5e7eb; border-radius:14px; padding:16px; margin-bottom:16px; box-shadow: 0 1px 2px rgba(0,0,0,0.03); }
.rsp-btn { background:#2563eb; border:1px solid #1d4ed8; color:#ffffff; padding:8px 14px; border-radius:10px; cursor:pointer; }
.rsp-btn:hover { background:#1d4ed8; }
.rsp-muted { color:#6b7280; }
.rsp-error { background:#fee2e2; border:1px solid #fecaca; padding:10px; border-radius:10px; margin:10px 0; color:#991b1b; }
.rsp-success { background:#dcfce7; border:1px solid #bbf7d0; padding:10px; border-radius:10px; margin:10px 0; color:#14532d; }
.rsp-pre { background:#f8fafc; border:1px solid #e5e7eb; padding:10px; overflow:auto; max-height:260px; }
.rsp-inline { display:inline; }
input, select, textarea { background:#ffffff; color:#111827; border:1px solid #e5e7eb; border-radius:8px; padding:8px; }

.rsp-sessionbar{margin:12px 0;padding:10px 12px;border:1px solid #e5e7eb;background:#f8fafc;color:#111827;border-radius:8px;}

.rsp-table{width:100%;border-collapse:collapse;margin:8px 0} .rsp-table th,.rsp-table td{border:1px solid #e5e7eb;padding:8px;text-align:left} .rsp-table thead th{background:#f3f4f6}

.rsp-export-buttons{display:flex;gap:8px;align-items:center;margin:8px 0}


/* Mobile layout: hide sidebar and show header menu button */
@media (max-width: 768px){
  .rsp-body{
    flex-direction:column;
  }

  .rsp-sidebar{
    display:none;
  }

  .rsp-content{
    padding:12px;
  }

  .rsp-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .rsp-mobile-navbtn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#2563eb;
    border:1px solid #1d4ed8;
    color:#fff;
    padding:6px 10px;
    border-radius:999px;
    font-size:14px;
  }

  .rsp-mobile-menu{
    position:absolute;
    right:12px;
    top:56px;
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(15,23,42,0.18);
    padding:8px;
    min-width:180px;
    z-index:60;
  }

  .rsp-mobile-menu ul{
    list-style:none;
    margin:0;
    padding:0;
  }

  .rsp-mobile-menu li{
    margin:2px 0;
  }

  .rsp-mobile-menu a{
    display:block;
    padding:8px 10px;
    border-radius:8px;
    text-decoration:none;
    color:#111827;
  }

  .rsp-mobile-menu a:hover{
    background:#e5e7eb;
  }
}
