/* Associação Clube v27 — acabamento profissional compartilhado */ :root{ --v27-primary:#1557d6;--v27-primary-2:#0ea5e9;--v27-ink:#0f172a;--v27-muted:#64748b; --v27-bg:#f4f7fb;--v27-card:#fff;--v27-line:#dbe5f2;--v27-success:#15803d;--v27-danger:#dc2626; --v27-radius:18px;--v27-shadow:0 14px 36px rgba(15,23,42,.10) } html{scroll-behavior:smooth;background:var(--v27-bg)} body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--v27-ink);text-rendering:optimizeLegibility} *,*:before,*:after{box-sizing:border-box} img{max-width:100%;height:auto} a,button,input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease} a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(14,165,233,.35)!important;outline-offset:2px!important} .button,.btn,button[type=submit]{min-height:44px;border-radius:12px;font-weight:800} .input,.textarea,.select select,input:not([type=checkbox]):not([type=radio]),textarea,select{min-height:44px;border-radius:12px;border-color:var(--v27-line);box-shadow:none} .input:focus,.textarea:focus,.select select:focus,input:focus,textarea:focus,select:focus{border-color:var(--v27-primary-2);box-shadow:0 0 0 4px rgba(14,165,233,.12)} .box,.card,.panel,.notification,.table-container{border-radius:var(--v27-radius)} .card,.box{border:1px solid rgba(219,229,242,.85);box-shadow:var(--v27-shadow)} .table-container{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--v27-line);background:#fff} table.table{width:100%;background:transparent}table.table th{color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}table.table td,table.table th{vertical-align:middle} .notification{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent)} /* Admin Associação e Admin Portal */ .admin-layout,.dashboard-layout,.portal-admin-layout{background:var(--v27-bg)} .main-content,.dashboard-main,.admin-main{min-width:0} .page-header,.dashboard-header,.admin-header,.topbar{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)} .page-title,.dashboard-title,.admin-title{letter-spacing:-.035em} .sidebar a,.menu-list a{min-height:46px;display:flex;align-items:center;gap:.75rem;border-radius:12px} .sidebar a:hover,.menu-list a:hover{transform:translateX(2px)} .kpi-grid,.stats-grid,.dashboard-grid{gap:14px} .kpi-card,.stat-card,.metric-card{border:1px solid rgba(219,229,242,.85);box-shadow:0 10px 28px rgba(15,23,42,.08)} /* Portal público */ .portal-v235 main,.v20-body main{min-height:54vh} .portal-v235 .portal-container,.v20-body .portal-container{width:min(1180px,calc(100% - 32px));margin-inline:auto} .portal-v235 .portal-section,.v20-body .portal-section{padding-block:clamp(32px,6vw,72px)} .portal-v235 .portal-card,.v20-body .portal-card{background:#fff;border:1px solid var(--v27-line);border-radius:20px;box-shadow:var(--v27-shadow);overflow:hidden} .portal-v235 .empty-state,.v20-body .empty-state{padding:clamp(34px,7vw,72px) 20px;text-align:center;background:#fff;border:1px solid var(--v27-line);border-radius:20px} .portal-v235 .empty-state i,.v20-body .empty-state i{font-size:2rem;color:var(--v27-primary)} /* Área do membro */ .member-main,.membro-main{min-width:0} .member-card,.membro-card{border:1px solid var(--v27-line);border-radius:18px;box-shadow:var(--v27-shadow)} .tenant-card{overflow:hidden;box-shadow:0 26px 70px rgba(2,8,23,.28)} .tenant-form{background:rgba(255,255,255,.985)} /* Estados e utilidades */ .v27-empty{display:grid;place-items:center;text-align:center;min-height:220px;padding:32px;border:1px dashed #b9c8dc;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)} .v27-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border-radius:999px;background:#e8f1ff;color:#174ea6;font-weight:800;font-size:.78rem} .v27-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center} @media (max-width:768px){ body{overflow-x:hidden} .container,.section,.main-content,.dashboard-main,.admin-main{max-width:100%} .section{padding:1rem} .columns{margin-left:0!important;margin-right:0!important}.column{padding:.55rem} .page-header,.dashboard-header,.admin-header{padding:14px!important;border-radius:0 0 18px 18px!important} .page-title,.dashboard-title,.admin-title{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.12!important} .page-subtitle,.dashboard-subtitle{font-size:.95rem!important;line-height:1.45!important;white-space:normal!important} .kpi-grid,.stats-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important} .kpi-card,.stat-card,.metric-card{min-width:0;padding:14px!important} .kpi-card strong,.stat-card strong,.metric-card strong{font-size:1.55rem!important} .button,.btn,button[type=submit]{min-height:48px} .v27-actions>.button,.v27-actions>.btn{flex:1 1 145px} .table-container{border-radius:14px} .tenant-login{padding:12px!important}.tenant-card{border-radius:22px!important} } @media (max-width:420px){ .kpi-grid,.stats-grid,.dashboard-grid{gap:10px!important} .kpi-card,.stat-card,.metric-card{padding:12px!important} .kpi-card small,.stat-card small,.metric-card small{font-size:.72rem!important} } @media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}} @media (prefers-color-scheme:dark){ body[data-theme="dark"],body.theme-dark{--v27-bg:#071225;--v27-card:#0f1e35;--v27-ink:#e5eefb;--v27-muted:#a8b8ce;--v27-line:#263852;background:var(--v27-bg);color:var(--v27-ink)} body[data-theme="dark"] .card,body[data-theme="dark"] .box,body.theme-dark .card,body.theme-dark .box{background:var(--v27-card);border-color:var(--v27-line)} }