
:root {
    --bg: #f3f6fb;
    --bg-soft: #eef4ff;
    --card: rgba(255,255,255,0.94);
    --card-strong: #ffffff;
    --text: #0f172a;
    --muted: #64748b;
    --line: #dbe6f4;
    --line-strong: #c9d9ee;
    --primary: #14b8a6;
    --primary-dark: #0f766e;
    --primary-soft: rgba(20,184,166,0.12);
    --secondary: #7c3aed;
    --secondary-soft: rgba(124,58,237,0.12);
    --success: #16a34a;
    --success-soft: rgba(22,163,74,0.12);
    --danger: #dc2626;
    --danger-soft: rgba(220,38,38,0.12);
    --warning: #d97706;
    --warning-soft: rgba(217,119,6,0.14);
    --info: #2563eb;
    --info-soft: rgba(37,99,235,0.14);
    --shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
    --shadow-lg: 0 30px 70px rgba(15, 23, 42, 0.12);
    --radius: 22px;
    --radius-sm: 16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,Arial,sans-serif;
    background:
        radial-gradient(circle at top left, rgba(124,58,237,.08), transparent 28%),
        radial-gradient(circle at top right, rgba(20,184,166,.08), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, var(--bg) 42%, #eef4fb 100%);
    color:var(--text);
}
a{text-decoration:none;color:inherit;transition:.2s ease}
p,small{color:var(--muted)}
img{max-width:100%}
input,button,select,textarea{font:inherit}
::placeholder{color:#94a3b8}

.app-shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}
.sidebar{
    background:linear-gradient(180deg,#081120 0%,#0f172a 55%,#13213a 100%);
    color:#fff;padding:28px 22px;display:flex;flex-direction:column;gap:24px;
    border-right:1px solid rgba(255,255,255,.05);
    position:sticky;top:0;height:100vh;
}
.brand{display:flex;gap:14px;align-items:center}
.brand strong{font-size:1rem;display:block}
.brand small{color:#c7d2fe}
.brand-badge{
    width:54px;height:54px;border-radius:18px;
    background:linear-gradient(135deg,var(--secondary),var(--primary));
    box-shadow:0 12px 28px rgba(124,58,237,.35);
    display:grid;place-items:center;font-size:1.3rem;color:#fff
}
.menu{display:flex;flex-direction:column;gap:8px}
.menu a{
    padding:13px 14px;border-radius:16px;color:#cbd5e1;display:flex;gap:12px;align-items:center;
    border:1px solid transparent;
}
.menu a.active,.menu a:hover{
    background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    color:#fff;border-color:rgba(255,255,255,.08);transform:translateX(2px)
}
.sidebar-footer{
    margin-top:auto;padding:16px;border-radius:20px;
    background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.08);
    display:flex;gap:12px;align-items:center
}
.avatar{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--primary),#67e8f9);color:#052e16;display:grid;place-items:center;font-weight:800}

.main-content{padding:28px 30px 40px}
.topbar{
    display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px;
    background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.58));
    border:1px solid rgba(255,255,255,.5);backdrop-filter: blur(14px);
    padding:22px 24px;border-radius:26px;box-shadow:var(--shadow)
}
.topbar h1{margin:0 0 8px;font-size:1.8rem}
.topbar p{margin:0;max-width:760px}
.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.pill{
    background:rgba(255,255,255,.78);border:1px solid var(--line);padding:10px 14px;border-radius:999px;
    font-size:14px;display:inline-flex;gap:8px;align-items:center;box-shadow:0 8px 20px rgba(15,23,42,.05)
}
.pill.success{background:var(--success-soft);color:#166534;border-color:rgba(22,163,74,.2)}

.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.card{
    background:var(--card);backdrop-filter: blur(10px);border:1px solid rgba(255,255,255,.65);
    border-radius:var(--radius);box-shadow:var(--shadow);padding:22px
}
.card h2,.card h3,.card h4{margin:0 0 14px}
.card p:last-child{margin-bottom:0}
.stat{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative;overflow:hidden}
.stat:before{content:"";position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-soft),transparent)}
.stat .icon{
    width:56px;height:56px;border-radius:20px;display:grid;place-items:center;
    background:linear-gradient(135deg,var(--primary-soft),var(--secondary-soft));
    color:var(--primary-dark);font-size:24px;border:1px solid rgba(20,184,166,.16)
}
.stat .value{font-size:2rem;font-weight:800;margin:12px 0 4px;letter-spacing:-.03em}
.kpi-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:var(--muted);font-size:13px;gap:10px;flex-wrap:wrap}

.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-size:14px;font-weight:700;color:#334155}
.form-group input,.form-group select,.form-group textarea,
.tenant-inline-form input,.tenant-inline-form select{
    width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:#fff;
    color:var(--text);outline:none;transition:border-color .2s, box-shadow .2s, transform .2s;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75)
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,
.tenant-inline-form input:focus,.tenant-inline-form select:focus{
    border-color:color-mix(in srgb, var(--primary) 55%, white);
    box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 16%, white);
    transform:translateY(-1px)
}
.form-group textarea{min-height:120px;resize:vertical}
.full{grid-column:1/-1}

.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:none;border-radius:16px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:700;cursor:pointer;
    box-shadow:0 14px 30px rgba(20,184,166,.24);transition:transform .2s, box-shadow .2s, filter .2s
}
.btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(20,184,166,.3);filter:saturate(1.05)}
.btn-outline{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 14px 30px rgba(220,38,38,.20)}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 14px 30px rgba(217,119,6,.22)}
.btn-success{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:0 14px 30px rgba(34,197,94,.22)}

.table-wrap{
    overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff
}
.table{width:100%;border-collapse:collapse;min-width:700px}
.table th,.table td{padding:14px 12px;border-bottom:1px solid #edf2f8;text-align:left;font-size:14px;vertical-align:middle}
.table th{color:#64748b;font-weight:700;background:#f8fbff;position:sticky;top:0}
.table tbody tr:hover{background:#f8fbff}
.badge{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}
.badge-success{background:var(--success-soft);color:#166534}
.badge-warning{background:var(--warning-soft);color:#92400e}
.badge-danger{background:var(--danger-soft);color:#991b1b}
.badge-info{background:var(--info-soft);color:#1d4ed8}

.auth-page{
    min-height:100vh;display:grid;place-items:center;padding:30px;
    background:
      radial-gradient(circle at 20% 20%, rgba(124,58,237,.28), transparent 26%),
      radial-gradient(circle at 80% 10%, rgba(20,184,166,.18), transparent 28%),
      linear-gradient(135deg,#071120,#0f172a 46%,#0f766e 115%)
}
.auth-card{
    width:min(1120px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:rgba(255,255,255,.95);
    border:1px solid rgba(255,255,255,.45);border-radius:32px;overflow:hidden;box-shadow:var(--shadow-lg);backdrop-filter:blur(12px)
}
.auth-aside{
    padding:42px;background:
      radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 26%),
      linear-gradient(145deg,#0f766e,#0f172a 58%,#7c3aed 135%);
    color:#fff;position:relative
}
.auth-aside h1{font-size:2.2rem;line-height:1.05;margin:0 0 12px}
.auth-aside p{color:#e2e8f0;font-size:1rem;max-width:520px}
.auth-content{padding:34px 36px;display:flex;flex-direction:column;justify-content:center}
.auth-content h2{margin-top:0;font-size:1.8rem}
.auth-content .form-grid{grid-template-columns:1fr 1fr}
.auth-content .full{grid-column:1/-1}

.empty{padding:28px;text-align:center;border:1px dashed var(--line-strong);border-radius:18px;color:var(--muted);background:#fbfdff}
.flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.justify-between{justify-content:space-between}
.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mt-4{margin-top:24px}
.list{display:grid;gap:12px}.list-item{padding:15px 16px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.82));box-shadow:0 10px 22px rgba(15,23,42,.05)}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.section-head h3,.section-head h4{margin-bottom:6px}
.section-head p{margin:0}

.alert{padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.alert-danger{background:linear-gradient(135deg, rgba(254,226,226,.96), rgba(255,255,255,.96));border-color:#fecaca}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{
    display:flex;gap:8px;align-items:center;padding:9px 12px;border-radius:999px;background:#f8fbff;
    border:1px solid #dbe6f4;font-size:13px;color:#334155
}
.chips input{width:auto}


.plans-panel{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,251,255,.96))}
.plans-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.plans-panel-head h4{margin-bottom:6px}
.plans-panel-head p{margin:0;max-width:460px}
.plan-list{display:grid;gap:14px}
.plan-row{
    display:grid;grid-template-columns:minmax(0,1.35fr) minmax(130px,.7fr) minmax(120px,.6fr) auto;
    align-items:center;gap:16px;padding:18px;border:1px solid var(--line);
    border-radius:20px;background:linear-gradient(135deg,#ffffff,#f8fbff);
    box-shadow:0 10px 22px rgba(15,23,42,.05)
}
.plan-row:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(15,23,42,.08)}
.plan-main{display:flex;align-items:center;gap:14px;min-width:0}
.plan-badge-icon{
    width:46px;height:46px;border-radius:16px;display:grid;place-items:center;
    background:linear-gradient(135deg,var(--secondary-soft),var(--primary-soft));
    border:1px solid rgba(124,58,237,.12);color:var(--secondary);font-size:18px;font-weight:800;flex:0 0 auto
}
.plan-main strong{display:block;font-size:1rem;margin-bottom:4px}
.plan-code{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#475569;font-size:12px;font-weight:700;border:1px solid #dbe6f4}
.plan-price strong{display:block;font-size:1.15rem;letter-spacing:-.02em}
.plan-label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:7px}
.plan-status-wrap,.plan-price{min-width:0}
.plan-actions{display:flex;justify-content:flex-end}
.plan-actions .btn{min-width:138px}

.tenant-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tenant-card{padding:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:var(--shadow)}
.tenant-card-top,.tenant-shop,.tenant-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tenant-card-top{justify-content:space-between}
.tenant-avatar{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--secondary),var(--primary))}
.meta-box{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.meta-label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px}
.empty-state{min-height:160px;display:grid;place-items:center;text-align:center;border:1px dashed var(--line-strong);border-radius:24px;background:#fbfdff;padding:20px;color:var(--muted)}
.empty-state i{font-size:2rem;margin-bottom:8px;color:var(--secondary)}

canvas{max-width:100%}

@media (max-width: 1180px){
    .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid-3,.grid-2,.form-grid,.auth-content .form-grid,.tenant-cards{grid-template-columns:1fr 1fr}
    .plan-row{grid-template-columns:1fr 1fr;align-items:flex-start}
    .plan-actions{grid-column:1/-1;justify-content:flex-start}
    .app-shell{grid-template-columns:1fr}
    .sidebar{display:none}
    .main-content{padding:18px}
}
@media (max-width: 760px){
    .grid-4,.grid-3,.grid-2,.form-grid,.auth-content .form-grid,.tenant-cards{grid-template-columns:1fr}
    .plans-panel-head,.plan-row{grid-template-columns:1fr;display:grid}
    .plans-panel-head .pill{width:max-content}
    .plan-actions,.plan-actions .btn{width:100%}
    .auth-card{display:block}
    .topbar{flex-direction:column;padding:18px}
    .topbar h1{font-size:1.5rem}
    .card,.tenant-card{padding:18px}
    .auth-content,.auth-aside{padding:28px 24px}
    .table{min-width:620px}
}


.mobile-topbar{display:none;align-items:center;gap:12px;padding:14px 18px;background:rgba(15,23,42,.92);color:#fff;position:sticky;top:0;z-index:60;backdrop-filter:blur(10px)}
.mobile-topbar small{display:block;color:#cbd5e1}
.menu-toggle{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}
.sidebar-overlay{position:fixed;inset:0;background:rgba(2,6,23,.48);opacity:0;pointer-events:none;transition:.2s;z-index:39}
.billing-inline-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:8px;min-width:580px}
.subscription-hero{background:linear-gradient(135deg, rgba(124,58,237,.08), rgba(20,184,166,.08));}
@media (max-width: 1180px){
    .mobile-topbar{display:flex}
    .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(320px,86vw);z-index:40;transform:translateX(-105%);transition:transform .22s ease}
    body.sidebar-open .sidebar{transform:translateX(0)}
    body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}
    .super-mobile{display:flex}
}
@media (max-width: 760px){
    .billing-inline-form{grid-template-columns:1fr;min-width:0}
    .subscription-grid .subscription-hero{grid-column:auto}
}


.read-only-banner{background:#fff7ed;border-bottom:1px solid #fdba74;color:#9a3412;padding:12px 18px;font-weight:700;display:flex;gap:10px;align-items:center;justify-content:center}
.tenant-blocked .btn,.tenant-blocked button,.tenant-blocked input,.tenant-blocked select,.tenant-blocked textarea,.is-disabled{pointer-events:none!important;opacity:.6;filter:grayscale(.08)}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:1180px){
  .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:300px;z-index:60;transform:translateX(-108%);transition:transform .25s ease}
  body.sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-overlay{position:fixed;inset:0;background:rgba(2,6,23,.45);opacity:0;pointer-events:none;transition:.2s;z-index:55}
  body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}
  .mobile-topbar{display:flex!important;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:12px 16px;border-bottom:1px solid var(--line);align-items:center;gap:12px}
  .menu-toggle{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
}
@media (min-width:1181px){.mobile-topbar,.sidebar-overlay{display:none!important}}
@media (max-width:760px){.summary-grid{grid-template-columns:1fr 1fr}}


.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.subscription-hero .summary-grid{margin-top:6px}
.payment-stack{display:grid;gap:4px}
.simple-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center;min-width:360px}
.read-only-banner{position:sticky;top:0;z-index:1200;background:#fee2e2;color:#991b1b;padding:10px 16px;text-align:center;font-weight:700;border-bottom:1px solid #fecaca}
.is-disabled{opacity:.55;cursor:not-allowed!important;pointer-events:none}
@media (max-width: 1180px){
    .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:290px;transform:translateX(-100%);transition:transform .25s ease;z-index:1100}
    body.sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(2,6,23,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1090}
    body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}
}
@media (max-width: 760px){
    .summary-grid{grid-template-columns:1fr}
    .simple-inline{grid-template-columns:1fr;min-width:240px}
}


.mobile-topbar{display:none}
.sidebar-overlay{display:none}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.meta-box strong,.subscription-highlight strong,.overview-kpi strong,.payment-amount{display:block;word-break:break-word;overflow-wrap:anywhere;line-height:1.15}
.meta-box strong{font-size:1.15rem}
.subscription-page{max-width:1400px}
.subscription-hero-card{padding:26px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)}
.subscription-hero-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.subscription-hero-top h2{margin:6px 0 8px;font-size:1.9rem;letter-spacing:-.03em}
.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:var(--secondary-soft);color:var(--secondary);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hero-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.subscription-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.subscription-highlight{padding:18px;border-radius:20px;border:1px solid var(--line);background:#fff;box-shadow:0 10px 22px rgba(15,23,42,.05)}
.subscription-highlight.primary{background:linear-gradient(135deg,var(--primary-soft),rgba(255,255,255,.95));border-color:color-mix(in srgb, var(--primary) 24%, white)}
.subscription-highlight strong{font-size:1.2rem;margin-top:6px;margin-bottom:4px}
.compact-summary-grid .meta-box{min-height:118px}
.subscription-side-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.payment-cta-card,.financial-overview-card{height:100%}
.payment-cta-box{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:18px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8fbff);margin-bottom:16px}
.payment-amount{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}
.payment-main-btn{width:100%;padding:15px 18px;font-size:1rem}
.helper-note{font-size:13px}
.overview-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.overview-kpi{padding:18px;border-radius:20px;border:1px solid var(--line);background:#fff}
.overview-kpi span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:10px}
.overview-kpi strong{font-size:1.4rem;letter-spacing:-.03em;margin-bottom:4px}
.overview-kpi.emphasis{background:linear-gradient(135deg,var(--secondary-soft),rgba(255,255,255,.98))}
.invoice-card-list{display:grid;gap:14px}
.invoice-card-item{display:grid;grid-template-columns:1.2fr .95fr;gap:16px;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 10px 22px rgba(15,23,42,.05)}
.invoice-card-main,.invoice-card-side{display:grid;gap:14px}
.invoice-card-main{grid-template-columns:140px 1fr;align-items:start}
.invoice-card-side{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}
.invoice-description strong{margin-bottom:4px}
.invoice-action-wrap{display:flex;justify-content:flex-end;align-items:center}
.compact-empty{min-height:180px}
.read-only-banner{position:sticky;top:0;z-index:50;background:#fff7ed;color:#9a3412;border-bottom:1px solid #fdba74;padding:10px 16px;font-weight:700}
.is-disabled{pointer-events:none;opacity:.55;filter:grayscale(.15)}
@media (max-width: 1180px){
  .subscription-highlight-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .subscription-side-grid,.invoice-card-item,.invoice-card-main,.invoice-card-side{grid-template-columns:1fr}
  .invoice-action-wrap{justify-content:flex-start}
  .mobile-topbar{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
  .mobile-topbar small{display:block;color:var(--muted)}
  .menu-toggle{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:#fff}
  .sidebar{display:flex;position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);z-index:80;transform:translateX(-100%);transition:transform .25s ease;height:auto}
  .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(15,23,42,.35);opacity:0;pointer-events:none;transition:.2s;z-index:70}
  .main-content{padding:18px}
  body.sidebar-open .sidebar{transform:translateX(0)}
  body.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}
}
@media (max-width: 760px){
  .subscription-hero-top,.hero-badges,.payment-cta-box,.overview-kpis,.subscription-highlight-grid,.summary-grid{grid-template-columns:1fr}
  .subscription-hero-top,.payment-cta-box{display:grid}
  .hero-badges{justify-content:flex-start}
  .subscription-hero-top h2{font-size:1.55rem}
  .meta-box strong,.subscription-highlight strong,.overview-kpi strong,.payment-amount{font-size:1.12rem}
}


.menu a{font-weight:600;letter-spacing:.01em}
.menu a i{width:20px;text-align:center;color:#f8fafc;opacity:.95}
.menu a span{color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu a.active span,.menu a:hover span{color:#fff}
.brand strong,.sidebar-footer strong{color:#fff}
.sidebar-footer small{color:#cbd5e1}
.sidebar{width:100%}

.tenant-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tenant-selector-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.05);text-align:left;cursor:pointer;transition:.2s ease;display:flex;flex-direction:column;gap:14px}
.tenant-selector-card:hover,.tenant-selector-card.active{transform:translateY(-2px);border-color:rgba(124,58,237,.35);box-shadow:0 18px 32px rgba(124,58,237,.12)}
.tenant-selector-meta,.tenant-selector-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.tenant-detail-panel{display:none}
.tenant-detail-panel.active{display:block}
.profile-card-enhanced .section-head{margin-bottom:16px}
.profile-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-form-actions{display:flex;justify-content:flex-start}
.subscription-page .summary-grid.compact-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-subscription .compact-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.payment-main-btn{width:100%;justify-content:center;font-size:1rem;padding:14px 18px}
.payment-cta-box{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.85));margin-bottom:14px}
.payment-amount{font-size:1.5rem;font-weight:800;color:var(--text)}
.helper-note{font-size:.92rem}
.invoice-card-item{display:grid;grid-template-columns:1.8fr 1fr;gap:18px;align-items:center}
.read-only-banner{position:sticky;top:0;z-index:50}

@media (max-width: 1200px){
  .profile-form-grid,.subscription-page .summary-grid.compact-summary-grid,.dashboard-subscription .compact-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 860px){
  .invoice-card-item{grid-template-columns:1fr}
  .profile-form-grid,.subscription-page .summary-grid.compact-summary-grid,.dashboard-subscription .compact-summary-grid{grid-template-columns:1fr}
  .payment-cta-box,.tenant-selector-meta,.tenant-selector-footer{flex-direction:column;align-items:flex-start}
  .sidebar{padding:22px 16px}
}

/* ===== Refino visual inspirado nos prints de ERP veterinário ===== */
.superadmin-topbar{
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);
}
.superadmin-sidebar{
  padding:30px 20px;
}
.superadmin-sidebar .menu a{
  min-height:50px;
  font-size:15px;
  font-weight:700;
}
.superadmin-sidebar .menu a span{font-size:15px; letter-spacing:.01em}
.super-section{padding:24px}
.section-head-stack{align-items:flex-start}
.section-head-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search-shell{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:min(420px,100%)}
.search-shell input{border:none;outline:none;background:transparent;width:100%}
.client-card-grid{margin-top:18px}
.client-erp-card{padding:18px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-radius:22px;min-height:176px}
.client-erp-card.active{border-color:rgba(37,99,235,.35);box-shadow:0 18px 34px rgba(37,99,235,.12)}
.tenant-selector-header-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.tenant-card-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tenant-card-kpis div{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}
.tenant-card-kpis span{display:block;font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.tenant-card-kpis strong{font-size:1rem;line-height:1.2}
.tenant-selector-footer.compact{margin-top:auto}
.erp-detail-panel{border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);padding:24px;box-shadow:0 24px 56px rgba(15,23,42,.08)}
.erp-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}
.erp-detail-header h3{margin:6px 0 6px;font-size:1.8rem;letter-spacing:-.03em}
.erp-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}
.erp-detail-grid.lower-grid{grid-template-columns:1.2fr .8fr}
.erp-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.erp-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.erp-panel-title h4{margin:0 0 6px;font-size:1.1rem}
.erp-panel-title p{margin:0;font-size:.94rem}
.contract-highlight-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.contract-main-value{min-width:240px;padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);border:1px solid #bfdbfe}
.contract-main-value span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:8px}
.contract-main-value strong{display:block;font-size:2rem;line-height:1.1;letter-spacing:-.04em;margin-bottom:6px}
.contract-chip-list{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:12px;flex:1}
.contract-chip{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:.96rem}
.contract-chip strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.detail-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.detail-kpi{padding:16px;border-radius:18px;border:1px solid var(--line);background:#fff}
.detail-kpi span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:8px}
.detail-kpi strong{font-size:1.3rem;letter-spacing:-.03em}
.detail-kpi.emphasis{background:linear-gradient(135deg,rgba(37,99,235,.08),#fff);border-color:#bfdbfe}
.profile-lines-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-lines-grid > div{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.profile-lines-grid > div.full{grid-column:1/-1}
.profile-lines-grid span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:8px}
.profile-lines-grid strong{display:block;line-height:1.35}
.profile-lines-grid small{display:block;margin-top:4px}
.next-charge-box{padding:16px 18px;border-radius:18px;border:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}
.billing-mini-list{display:grid;gap:10px}
.billing-mini-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#fff}
.billing-mini-side{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.modern-chips{gap:10px}
.modern-chips label{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.92rem;font-weight:600}
.modern-chips label input{width:auto}
.inner-card-clean{box-shadow:none;border:1px solid var(--line)}
.profile-screen-premium{padding:26px}
.form-section-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#64748b;margin-top:4px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.subscription-contract-page .contract-style-hero{padding:28px}
.subscription-contract-page .contract-chip-list{grid-template-columns:repeat(4,minmax(150px,1fr))}

@media (max-width: 1280px){
  .erp-detail-grid,.erp-detail-grid.lower-grid{grid-template-columns:1fr}
  .detail-kpi-grid,.contract-chip-list,.subscription-contract-page .contract-chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 900px){
  .search-shell{min-width:100%}
  .tenant-card-kpis,.detail-kpi-grid,.profile-lines-grid,.contract-chip-list,.subscription-contract-page .contract-chip-list{grid-template-columns:1fr}
  .erp-detail-header,.contract-highlight-row,.billing-mini-row{display:grid}
  .billing-mini-side{align-items:flex-start}
}


/* ===== Ajustes reais de layout v3 ===== */
.app-shell{grid-template-columns:280px 1fr}
.sidebar{background:linear-gradient(180deg,#081225 0%,#0f172a 100%);padding:26px 18px}
.brand{padding:4px 8px 18px}
.brand-badge{width:52px;height:52px;border-radius:18px;font-size:20px}
.menu{gap:8px}
.menu a{min-height:52px;padding:14px 16px;border-radius:18px}
.menu a span{font-size:15px;font-weight:700;line-height:1.1;color:#f8fafc}
.menu a:not(.active){background:rgba(255,255,255,.03)}
.menu a.active{background:linear-gradient(135deg,rgba(37,99,235,.34),rgba(20,184,166,.28));border-color:rgba(96,165,250,.28)}
.sidebar-footer{margin-top:18px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04)}
.topbar h1{font-size:2rem}
.main-content{padding:28px}
.client-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.client-erp-card{position:relative;overflow:hidden;padding:20px;min-height:210px;border-radius:24px;border:1px solid #dbe6f4;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%)}
.client-erp-card:before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.tenant-selector-header-row{margin-bottom:8px}
.tenant-shop strong{font-size:1.02rem}
.tenant-shop small{display:block;color:#64748b;margin-top:4px}
.tenant-card-kpis-strong div{padding:14px 14px 12px;border-radius:18px;background:#f8fbff}
.tenant-card-kpis-strong strong{font-size:1.08rem}
.tenant-selector-footer-strong{padding-top:10px;border-top:1px dashed #dbe6f4}
.tenant-selector-footer-strong small{color:#64748b}
.v2-panel{padding:28px;border-radius:30px}
.v2-detail-header{padding-bottom:22px;margin-bottom:4px}
.v2-detail-header h3{font-size:2rem}
.erp-panel{border-radius:26px;padding:22px}
.contract-main-value-large{min-width:320px;padding:24px}
.contract-main-value-large strong{font-size:2.3rem}
.contract-chip-list-dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-contract-board{display:grid;grid-template-columns:1.5fr .9fr;gap:18px}
.dashboard-contract-main,.dashboard-contract-side{height:100%}
.dashboard-contract-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.dashboard-contract-header h2{margin:6px 0 8px;font-size:2rem;letter-spacing:-.04em}
.dashboard-contract-grid{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
.dashboard-kpi-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
.invoice-card-item-strong{border-radius:24px;padding:20px;background:linear-gradient(135deg,#fff,#f8fbff)}
.profile-screen-premium{padding:30px;border-radius:30px}
.profile-form-grid-strong{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.form-section-title{margin-top:8px}
@media (max-width: 1280px){.client-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-contract-board,.dashboard-contract-grid{grid-template-columns:1fr}.contract-chip-list-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 1180px){.app-shell{grid-template-columns:1fr}}
@media (max-width: 860px){.client-card-grid,.profile-form-grid-strong,.dashboard-kpi-strip,.contract-chip-list-dashboard{grid-template-columns:1fr}.dashboard-contract-header{display:grid}.main-content{padding:18px}}


/* ===== Redesign profissional 2026 ===== */
:root{
  --bg:#edf2f7;
  --bg-soft:#f7f9fc;
  --card:#ffffff;
  --text:#162033;
  --muted:#5f6f86;
  --line:#dbe4ef;
  --line-strong:#c7d4e4;
  --primary:#2b6cb0;
  --primary-dark:#1e4f8f;
  --primary-soft:rgba(43,108,176,.10);
  --secondary:#2f855a;
  --secondary-soft:rgba(47,133,90,.10);
  --shadow:0 10px 30px rgba(15,23,42,.06);
  --shadow-lg:0 20px 44px rgba(15,23,42,.08);
  --radius:20px;
  --radius-sm:14px;
}
body{
  background:linear-gradient(180deg,#f6f8fb 0%,#eef2f7 100%);
  color:var(--text);
}
.app-shell{grid-template-columns:280px 1fr;background:transparent}
.sidebar{
  background:linear-gradient(180deg,#0f2747 0%,#0a1b34 100%);
  padding:24px 18px;
  gap:20px;
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.03);
}
.brand{padding:4px 6px 10px}
.brand strong{font-size:1.05rem;letter-spacing:.01em}
.brand small{color:#b7c7db}
.brand-badge{
  width:48px;height:48px;border-radius:14px;
  background:linear-gradient(135deg,#4c8fd6,#2f6fb9);
  box-shadow:none;
}
.menu{gap:6px}
.menu a{
  min-height:52px;
  padding:0 16px;
  border-radius:14px;
  color:#d7e2f0;
  font-weight:600;
  font-size:1rem;
  border:1px solid transparent;
  background:transparent;
}
.menu a i{width:20px;text-align:center;font-size:1rem;color:#d7e2f0}
.menu a.active,.menu a:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));
  border-color:rgba(120,162,214,.25);
  transform:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.sidebar-footer{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
}
.sidebar-footer strong,.brand strong{color:#fff}
.sidebar-footer small{color:#c8d5e6}
.avatar{border-radius:12px;background:#dbeafe;color:#1e3a5f}
.main-content{padding:24px 28px 40px}
.topbar{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:22px 24px;
  border-radius:20px;
  margin-bottom:18px;
}
.topbar h1{font-size:2rem;letter-spacing:-.03em;margin:0 0 6px}
.topbar p{font-size:15px;color:var(--muted)}
.pill{background:#f8fafc;border-color:var(--line);box-shadow:none;color:#334155}
.pill.success{background:#ecfdf3;color:#166534;border-color:#cdeed8}
.card{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:20px;
  padding:22px;
}
.stat{
  border:1px solid var(--line);
  box-shadow:none;
  padding:18px 20px;
  min-height:136px;
}
.stat:before{display:none}
.stat .icon{
  width:50px;height:50px;border-radius:14px;
  background:#eff6ff;border:1px solid #d7e7fb;color:#2b6cb0
}
.stat small{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.stat .value{font-size:1.8rem;margin:10px 0 4px}
.kpi-footer{font-size:12px;color:#718096}
.btn{
  background:linear-gradient(180deg,#2f7ac7,#2563a7);
  border:1px solid #205993;
  border-radius:12px;
  box-shadow:none;
}
.btn:hover{transform:translateY(-1px);box-shadow:none;filter:none}
.btn-outline{background:#fff;color:#1e293b;border:1px solid var(--line)}
.btn-danger{background:linear-gradient(180deg,#e25656,#c73636);border-color:#b53030}
.btn-success{background:linear-gradient(180deg,#32a06a,#237c4f);border-color:#1f6d45}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  background:#eff6ff;color:#2b6cb0;
  font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
}
.badge{padding:6px 10px;font-size:11px;letter-spacing:.06em}
.badge-success{background:#eaf8ef;color:#1f6d45}
.badge-danger{background:#fdecec;color:#b42318}
.badge-warning{background:#fff5e7;color:#b45309}
.badge-info{background:#eff6ff;color:#2b6cb0}

/* dashboard assinatura */
.dashboard-contract-board{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) 360px;
  gap:20px;
  align-items:start;
}
.dashboard-contract-main,.dashboard-contract-side{padding:26px}
.dashboard-contract-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  margin-bottom:22px;
  align-items:start;
}
.dashboard-contract-header h2{
  font-size:2.35rem;
  margin:10px 0 8px;
  letter-spacing:-.05em;
  line-height:1;
}
.dashboard-contract-header p{max-width:720px;font-size:1rem;color:#5f6f86}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-contract-grid{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}
.contract-main-value,.detail-kpi,.contract-chip,.payment-cta-box,.overview-kpi,.meta-box{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  box-shadow:none;
}
.contract-main-value{
  padding:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.contract-main-value span,.detail-kpi span,.contract-chip strong,.meta-label,.overview-kpi span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#718096;
  font-weight:800;
}
.contract-main-value strong{
  display:block;
  margin:10px 0 6px;
  font-size:2.75rem;
  line-height:1;
  letter-spacing:-.06em;
}
.contract-main-value small{font-size:14px;color:#607086}
.contract-chip-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.contract-chip{
  padding:18px 16px;
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  font-size:1.05rem;
  font-weight:700;
  color:#1f2937;
}
.contract-chip strong{margin-bottom:8px}
.dashboard-kpi-strip,.detail-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.detail-kpi{
  padding:18px 16px;
}
.detail-kpi strong{display:block;margin-top:10px;font-size:1.9rem;letter-spacing:-.04em;line-height:1.05}
.detail-kpi.emphasis{background:#f8fbff;border-color:#cfe0f6}
.tenant-actions{display:flex;gap:10px;flex-wrap:wrap}
.dashboard-contract-side .section-head{margin-bottom:18px}
.dashboard-contract-side h3{font-size:1.4rem;margin-bottom:8px}
.payment-cta-box{
  padding:18px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbfe 100%);
}
.payment-amount{font-size:1.75rem;font-weight:800;letter-spacing:-.04em;color:#163152}
.payment-main-btn{width:100%;min-height:48px;font-size:15px}
.helper-note{font-size:13px;line-height:1.5;color:#62748a}
.invoice-card-list{display:grid;gap:12px}
.invoice-card-item,.invoice-card-item-strong{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow:none;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.invoice-card-main{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center}
.invoice-card-side{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:center}
.invoice-description strong{display:block;margin:6px 0 4px;font-size:1rem}
.invoice-description small,.invoice-card-side small{font-size:13px;color:#64748b}
.invoice-card-side strong{display:block;margin-top:6px;font-size:1.05rem}
.invoice-action-wrap{display:flex;justify-content:flex-end}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.meta-box{padding:16px 18px}
.meta-box strong{display:block;font-size:1rem;margin:8px 0 4px}

/* superadmin */
.superadmin-topbar{background:#fff}
.client-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.client-erp-card,.tenant-selector-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  min-height:0;
  box-shadow:none;
}
.client-erp-card:before{display:none}
.client-erp-card.active{border-color:#b8d1ef;box-shadow:0 0 0 3px rgba(43,108,176,.08)}
.tenant-selector-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}
.tenant-avatar{
  width:46px;height:46px;border-radius:14px;background:#eff6ff;color:#2b6cb0;
  display:grid;place-items:center;font-weight:800;flex:0 0 auto
}
.tenant-shop{display:flex;gap:12px;align-items:flex-start}
.tenant-shop strong{font-size:1rem;line-height:1.2}
.tenant-shop small{display:block;margin-top:4px;color:#6b7b91}
.tenant-card-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tenant-card-kpis div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}
.tenant-card-kpis strong{font-size:1rem}
.tenant-selector-footer-strong{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tenant-detail-panel{
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:24px;
}
.tenant-detail-panel:not(.active){display:none}
.erp-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.erp-detail-header h3{margin:8px 0 6px;font-size:1.9rem;letter-spacing:-.04em}
.erp-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}
.erp-panel{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}
.erp-panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
.erp-panel-title h4{margin:0 0 6px;font-size:1.2rem}
.profile-lines-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-lines-grid > div{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#f9fbfd}
.profile-lines-grid .full{grid-column:1/-1}
.profile-lines-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#718096;font-weight:800;margin-bottom:6px}
.profile-lines-grid strong{display:block;font-size:1rem;color:#18283d}
.profile-lines-grid small{display:block;margin-top:4px;color:#718096}
.search-shell{display:flex;align-items:center;gap:10px;padding:0 14px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:340px}
.search-shell input{border:0;outline:0;background:transparent;width:100%}

/* assinatura completa */
.subscription-hero-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
}
.subscription-hero-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.subscription-hero-top h2{font-size:2.3rem;letter-spacing:-.05em;margin:10px 0 8px}
.subscription-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.overview-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.overview-kpi{padding:16px 18px}
.overview-kpi strong{display:block;margin:8px 0 4px;font-size:1.6rem;letter-spacing:-.04em}

/* responsive */
@media (max-width: 1280px){
  .grid-4,.client-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-contract-board,.dashboard-contract-grid,.erp-detail-grid,.subscription-side-grid{grid-template-columns:1fr}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 960px){
  .main-content{padding:16px}
  .topbar{padding:18px}
  .topbar h1{font-size:1.6rem}
  .grid-4,.dashboard-kpi-strip,.detail-kpi-grid,.invoice-card-side,.summary-grid,.tenant-card-kpis,.overview-kpis,.profile-lines-grid,.contract-chip-list{grid-template-columns:1fr 1fr}
  .invoice-card-item,.invoice-card-item-strong,.invoice-card-main{grid-template-columns:1fr}
  .dashboard-contract-header,.subscription-hero-top,.erp-detail-header{grid-template-columns:1fr;display:grid}
  .hero-badges{justify-content:flex-start}
  .search-shell{min-width:0;width:100%}
  .section-head,.section-head-stack{display:grid;gap:14px}
}
@media (max-width: 640px){
  .grid-4,.dashboard-kpi-strip,.detail-kpi-grid,.summary-grid,.tenant-card-kpis,.overview-kpis,.profile-lines-grid,.contract-chip-list,.client-card-grid{grid-template-columns:1fr}
  .contract-main-value strong{font-size:2.2rem}
  .dashboard-contract-header h2,.subscription-hero-top h2{font-size:1.9rem}
  .payment-cta-box{display:grid}
  .menu a{font-size:.97rem}
}

/* professional registration */
.register-shell{max-width:1360px;margin:0 auto;padding:34px 24px 56px}
.register-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;padding:32px;background:linear-gradient(135deg,#0f172a 0%,#10233f 46%,#113b45 100%);color:#fff;border:0;box-shadow:var(--shadow-lg)}
.register-hero p,.register-hero span{color:rgba(255,255,255,.78)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.register-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;margin:18px 0 14px;letter-spacing:-.05em}
.hero-checks{display:grid;gap:12px;margin-top:22px}
.hero-checks div{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09)}
.hero-checks i{color:#86efac;margin-top:2px}
.register-hero-stats{display:grid;gap:14px;align-content:start}
.register-mini-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.register-mini-card strong{display:block;font-size:1.05rem;margin-bottom:6px}
.register-mini-card.accent{background:linear-gradient(135deg,rgba(20,184,166,.25),rgba(124,58,237,.18))}
.register-professional-form{display:grid;gap:20px;margin-top:22px}
.register-section{padding:28px 28px 26px;background:rgba(255,255,255,.94)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.section-heading h2{font-size:1.8rem;letter-spacing:-.04em;margin:6px 0 8px}
.section-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#ecfeff;color:#0f766e;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.section-badge{padding:11px 14px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);color:#475569;font-size:13px;font-weight:700}
.register-grid{display:grid;gap:16px}
.register-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.register-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.span-2{grid-column:span 2}
.plan-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-option-card{position:relative;display:block;padding:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 18px 30px rgba(15,23,42,.05);cursor:pointer;transition:.2s ease}
.plan-option-card:hover{transform:translateY(-2px);box-shadow:0 24px 40px rgba(15,23,42,.1)}
.plan-option-card input{position:absolute;inset:0;opacity:0;cursor:pointer}
.plan-option-card.selected{border-color:rgba(20,184,166,.42);box-shadow:0 0 0 4px rgba(20,184,166,.12),0 26px 42px rgba(15,23,42,.12)}
.plan-option-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.plan-option-head strong{font-size:1.24rem;color:#0f172a}
.plan-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eff6ff;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.plan-price-big{display:flex;align-items:flex-end;gap:6px;font-size:2.1rem;font-weight:900;letter-spacing:-.05em;color:#0f172a;margin:16px 0 12px}
.plan-price-big small{font-size:.9rem;color:#64748b;font-weight:600;margin-bottom:5px}
.plan-option-card ul{margin:0;padding-left:18px;color:#475569;display:grid;gap:8px}
.summary-box{padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}
.summary-box strong{display:block;margin-top:8px;font-size:1.8rem;letter-spacing:-.04em;color:#0f172a}
.register-submit-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.register-submit-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

body:not(.tenant-blocked) .register-shell .btn{box-shadow:none}
body:not(.tenant-blocked) .register-shell .btn:hover{transform:translateY(-1px)}

@media (max-width: 1180px){
  .register-hero,.plan-choice-grid,.register-grid-4,.register-grid-3{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .register-shell{padding:18px 14px 32px}
  .register-hero,.plan-choice-grid,.register-grid-4,.register-grid-3,.register-submit-bar{grid-template-columns:1fr;display:grid}
  .span-2{grid-column:auto}
  .register-section,.register-hero{padding:22px}
  .section-heading,.section-heading-between{display:grid}
  .register-submit-actions{display:grid}
}
