/* REDesertão Tenant Panel Shell v1
   Shared visual shell for all tenant panels. Tenant-specific identity comes only from CSS variables/data attributes. */
:root {
  --rs-density: 1;
  --rs-app-bg: #f5f7fb;
  --rs-sidebar-bg: #0f172a;
  --rs-sidebar-text: #f8fafc;
  --rs-sidebar-muted: #94a3b8;
  --rs-panel: #ffffff;
  --rs-panel-2: #f8fafc;
  --rs-line: #e2e8f0;
  --rs-text: #0f172a;
  --rs-muted: #64748b;
  --rs-soft: color-mix(in srgb, var(--rs-primary) 8%, var(--rs-panel));
  --rs-primary-contrast: #ffffff;
  --rs-success: #16a34a;
  --rs-danger: #dc2626;
  --rs-warning: #d97706;
  --rs-shell-width: 250px;
  --rs-content-max: 1440px;
  --rs-radius: 18px;
  --rs-shadow: 0 12px 34px rgb(15 23 42 / .07);
}
body[data-rs-appearance="dark"] {
  color-scheme: dark;
  --rs-app-bg: #090b10;
  --rs-sidebar-bg: #0b0e14;
  --rs-sidebar-text: #f8fafc;
  --rs-sidebar-muted: #8b98aa;
  --rs-panel: #11151d;
  --rs-panel-2: #171c25;
  --rs-line: #27303d;
  --rs-text: #f5f7fb;
  --rs-muted: #94a3b8;
  --rs-soft: color-mix(in srgb, var(--rs-primary) 13%, var(--rs-panel));
  --rs-shadow: 0 14px 36px rgb(0 0 0 / .16);
}
@media (prefers-color-scheme:dark) {
  body[data-rs-appearance="auto"] {
    color-scheme: dark;
    --rs-app-bg: #090b10;
    --rs-sidebar-bg: #0b0e14;
    --rs-sidebar-text: #f8fafc;
    --rs-sidebar-muted: #8b98aa;
    --rs-panel: #11151d;
    --rs-panel-2: #171c25;
    --rs-line: #27303d;
    --rs-text: #f5f7fb;
    --rs-muted: #94a3b8;
    --rs-soft: color-mix(in srgb, var(--rs-primary) 13%, var(--rs-panel));
    --rs-shadow: 0 14px 36px rgb(0 0 0 / .16);
  }
}
html,body{min-height:100%}
body.rs-tenant-panel{margin:0;background:var(--rs-app-bg);color:var(--rs-text);font-family:var(--rs-font-sans);-webkit-font-smoothing:antialiased}
.rs-panel-shell{min-height:100vh;display:grid;grid-template-columns:var(--rs-shell-width) minmax(0,1fr)}
.rs-sidebar{position:sticky;top:0;height:100vh;z-index:30;display:flex;flex-direction:column;padding:20px 14px;background:var(--rs-sidebar-bg);color:var(--rs-sidebar-text);border-right:1px solid color-mix(in srgb,var(--rs-sidebar-text) 10%,transparent)}
.rs-sidebar-brand{display:flex;align-items:center;gap:12px;min-width:0;padding:5px 8px 22px}
.rs-brand-mark{width:44px;height:44px;flex:0 0 44px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--rs-primary);color:var(--rs-primary-contrast);font-weight:900;font-size:1.05rem}
.rs-brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}
.rs-brand-copy{min-width:0}.rs-brand-copy strong,.rs-brand-copy small{display:block}.rs-brand-copy strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-brand-copy small{margin-top:3px;font-size:.65rem;color:var(--rs-sidebar-muted)}
.rs-sidebar-nav{display:grid;gap:5px;overflow-y:auto;padding:2px}
.rs-nav-button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;border:0;background:transparent;color:var(--rs-sidebar-muted);padding:10px 11px;border-radius:11px;text-align:left;font-weight:700;font-size:.78rem;cursor:pointer}
.rs-nav-button:hover{background:color-mix(in srgb,var(--rs-sidebar-text) 6%,transparent);color:var(--rs-sidebar-text)}
.rs-nav-button.active{background:color-mix(in srgb,var(--rs-primary) 18%,transparent);color:var(--rs-sidebar-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rs-primary) 28%,transparent)}
.rs-nav-icon{width:22px;height:22px;display:grid;place-items:center}.rs-nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rs-sidebar-spacer{flex:1}
.rs-sidebar-account{margin-top:14px;padding:13px 9px 7px;border-top:1px solid color-mix(in srgb,var(--rs-sidebar-text) 10%,transparent)}
.rs-sidebar-account span,.rs-sidebar-account strong{display:block}.rs-sidebar-account strong{font-size:.75rem}.rs-sidebar-account span{font-size:.63rem;color:var(--rs-sidebar-muted);margin-top:2px}
.rs-sidebar-logout{width:100%;margin-top:9px;border:1px solid color-mix(in srgb,var(--rs-sidebar-text) 14%,transparent);background:transparent;color:var(--rs-sidebar-text);padding:9px 10px;border-radius:10px;font-weight:700;font-size:.7rem}
.rs-workspace{min-width:0}
.rs-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 28px;background:color-mix(in srgb,var(--rs-app-bg) 91%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--rs-line)}
.rs-page-copy{min-width:0}.rs-page-copy .eyebrow{margin-bottom:4px;color:var(--rs-muted);font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.rs-page-copy h1{font-size:1.35rem;line-height:1.1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-page-copy p{margin:4px 0 0;color:var(--rs-muted);font-size:.7rem}
.rs-top-actions{display:flex;align-items:center;gap:9px}.rs-online{display:inline-flex;align-items:center;gap:6px;color:var(--rs-success);font-size:.68rem;font-weight:800}.rs-online:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}
.rs-content{max-width:var(--rs-content-max);margin:0 auto;padding:24px 28px 48px}
.rs-mobile-nav{display:none}
body[data-rs-density="compact"] .rs-sidebar{padding-top:14px}
body[data-rs-density="compact"] .rs-nav-button{padding:8px 10px}
body[data-rs-density="compact"] .rs-content{padding-top:18px}
body[data-rs-density="compact"] .card,
body[data-rs-density="compact"] .panel,
body[data-rs-density="compact"] .status-box{padding:14px}

/* Shared content primitives. Existing tenant modules can keep these class names. */
.rs-tenant-panel .section{padding-top:2px}
.rs-tenant-panel .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 18px}
.rs-tenant-panel .section-heading h2{margin:0;font-size:1.35rem}.rs-tenant-panel .section-heading p{margin:5px 0 0;color:var(--rs-muted);font-size:.76rem}
.rs-tenant-panel .section-actions{display:flex;gap:8px;flex-wrap:wrap}
.rs-tenant-panel .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.rs-tenant-panel .card,.rs-tenant-panel .panel,.rs-tenant-panel .status-box{padding:18px;background:var(--rs-panel);border:1px solid var(--rs-line);border-radius:var(--rs-radius);box-shadow:var(--rs-shadow)}
.rs-tenant-panel .card{display:grid;gap:7px}.rs-tenant-panel .card-label{color:var(--rs-muted);font-size:.7rem}.rs-tenant-panel .card strong{font-size:1.35rem}
.rs-tenant-panel .split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rs-tenant-panel .table-wrap{overflow:auto;border:1px solid var(--rs-line);border-radius:14px;background:var(--rs-panel)}
.rs-tenant-panel table{width:100%;border-collapse:collapse;min-width:560px}.rs-tenant-panel th,.rs-tenant-panel td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--rs-line);font-size:.78rem}.rs-tenant-panel th{color:var(--rs-muted);background:var(--rs-panel-2);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.rs-tenant-panel tr:last-child td{border-bottom:0}
.rs-tenant-panel input,.rs-tenant-panel select,.rs-tenant-panel textarea{font:inherit;color:var(--rs-text);background:var(--rs-panel);border:1px solid var(--rs-line);border-radius:11px;padding:11px 12px;outline:none}.rs-tenant-panel input:focus,.rs-tenant-panel select:focus,.rs-tenant-panel textarea:focus{border-color:var(--rs-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--rs-primary) 12%,transparent)}
.rs-tenant-panel label{display:grid;gap:6px;color:var(--rs-muted);font-size:.75rem}
.rs-tenant-panel .primary,.rs-tenant-panel .ghost{min-height:38px;border-radius:10px;padding:9px 13px;font-weight:800;font-size:.74rem;cursor:pointer}.rs-tenant-panel .primary{border:1px solid color-mix(in srgb,var(--rs-primary) 85%,#000);background:var(--rs-primary);color:var(--rs-primary-contrast)}.rs-tenant-panel .ghost{border:1px solid var(--rs-line);background:var(--rs-panel);color:var(--rs-text)}
.rs-tenant-panel .muted,.rs-tenant-panel small{color:var(--rs-muted)}
.rs-tenant-panel .loading,.rs-tenant-panel .empty{padding:34px;text-align:center;color:var(--rs-muted);border:1px dashed var(--rs-line);border-radius:var(--rs-radius);background:var(--rs-panel)}
.rs-tenant-panel .notice{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:var(--rs-soft);border:1px solid color-mix(in srgb,var(--rs-primary) 22%,var(--rs-line));color:var(--rs-text)}
.rs-tenant-panel .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.rs-tenant-panel .inline-form{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(130px,1fr) minmax(110px,.7fr) auto;gap:9px;margin-bottom:14px}.rs-tenant-panel .booking-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end;gap:9px;margin-bottom:14px}
.rs-tenant-panel .toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:min(420px,calc(100vw - 44px));padding:12px 15px;border-radius:12px;background:#0f2b1e;color:#dcfce7;border:1px solid rgb(74 222 128 / .3);box-shadow:var(--rs-shadow)}.rs-tenant-panel .toast.error{background:#35121c;color:#fecdd3;border-color:rgb(251 113 133 / .35)}

body[data-rs-navigation="top"] .rs-panel-shell{grid-template-columns:1fr}
body[data-rs-navigation="top"] .rs-sidebar{position:sticky;height:auto;display:block;padding:10px 22px}
body[data-rs-navigation="top"] .rs-sidebar-brand{display:none}
body[data-rs-navigation="top"] .rs-sidebar-nav{display:flex;gap:5px;overflow-x:auto}
body[data-rs-navigation="top"] .rs-nav-button{width:auto;grid-template-columns:20px auto;white-space:nowrap}
body[data-rs-navigation="top"] .rs-sidebar-spacer,
body[data-rs-navigation="top"] .rs-sidebar-account{display:none}

@media(max-width:1000px){
  .rs-tenant-panel .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs-tenant-panel .booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  body.rs-tenant-panel{padding-bottom:76px}
  .rs-panel-shell{display:block}
  .rs-sidebar{display:none!important}
  .rs-topbar{padding:14px 16px;min-height:64px}.rs-page-copy h1{font-size:1.08rem}.rs-page-copy p{font-size:.64rem}.rs-top-actions .ghost{display:none}
  .rs-content{padding:18px 14px 28px}
  .rs-mobile-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:60;width:min(760px,100%);display:flex;align-items:stretch;gap:2px;padding:7px 7px max(7px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--rs-panel) 96%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--rs-line);box-shadow:0 -10px 30px rgb(0 0 0 / .07);overflow-x:auto;scrollbar-width:none}.rs-mobile-nav::-webkit-scrollbar{display:none}
  .rs-mobile-nav .rs-nav-button{display:flex;flex:1 0 68px;min-width:68px;max-width:110px;flex-direction:column;justify-content:center;gap:3px;padding:5px 2px;color:var(--rs-muted);font-size:.61rem;text-align:center}
  .rs-mobile-nav .rs-nav-button.active{color:var(--rs-primary);background:var(--rs-soft);box-shadow:none}.rs-mobile-nav .rs-nav-icon{height:21px}
  .rs-tenant-panel .split,.rs-tenant-panel .form-grid{grid-template-columns:1fr}
  .rs-tenant-panel .inline-form{grid-template-columns:1fr 1fr}
  .rs-tenant-panel .section-heading{align-items:flex-start;flex-direction:column}
  .rs-tenant-panel .toast{left:12px;right:12px;bottom:88px;max-width:none;text-align:center}
}
@media(max-width:520px){
  .rs-tenant-panel .cards,.rs-tenant-panel .inline-form,.rs-tenant-panel .booking-form{grid-template-columns:1fr}
  .rs-content{padding-left:12px;padding-right:12px}
  .rs-topbar{padding-left:14px;padding-right:14px}
}
