/* Agency Panel typography. Form controls retain their mobile-safe size. */
body { font-size: 14px; line-height: 1.5; font-weight: 400; }
input, select, textarea { font-size: 16px !important; font-weight: 400; }
button, .btn { font-size: 14px; font-weight: 500; }
label, .filters label, .form-grid label, .login label { font-size: 13px; font-weight: 500; }
small, .muted, .meta, .brand p, .hero p, .login-brand p { font-size: 13px; line-height: 1.5; font-weight: 400; }
.metric span, .stat small, .chart-head small, .bar-row { font-size: 13px; line-height: 1.5; }
.hero h2 { font-size: 24px; font-weight: 600; line-height: 1.25; }
.title h2, .chart-head h3, .plan h2, .drawer-card h3 { font-size: 16px; font-weight: 600; line-height: 1.4; }
.name { font-size: 15px; font-weight: 500; line-height: 1.4; }
.badge { font-size: 12px; font-weight: 500; line-height: 1.4; }
.metric strong { font-size: 26px; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.stat b, .chart-value, .bar-count { font-weight: 600; font-variant-numeric: tabular-nums; }
.chart-value { font-size: 16px; }
.stat b { font-size: 16px; }
.chart-svg text { font-size: 13px !important; font-weight: 400; }
th, td { font-size: 14px; line-height: 1.5; }
th { font-weight: 500; }
.error { font-size: 13px; line-height: 1.5; }
.login-brand h1 { font-size: 27px; font-weight: 600; line-height: 1.25; }
.login form button { font-size: 15px; font-weight: 500; }
.top .brand h1 { font-size: 14px; font-weight: 600; }
.top .brand p { font-size: 12px; }
.top .nav button { font-weight: 500; }
@media (min-width: 620px) {
  .top .nav button, .top #logout { font-size: 13px !important; }
}
.agency-icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.agency-icon { width:18px; height:18px; display:inline-block; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.top .agency-icon { width:20px; height:20px; }
.top #logout:after { display:none; }
.top .nav button::first-letter { font-size:inherit; }
.top button { gap:6px; }
.tenant:not(.open) { border-radius:14px; box-shadow:none; background:#ffffff03; }
.tenant:not(.open) .tenant-head { grid-template-columns:30px minmax(0,1fr) auto; gap:9px; padding:9px 11px; min-height:50px; }
.tenant:not(.open) .tenant-logo { width:30px; height:30px; border-radius:9px; font-size:11px; font-weight:500; }
.tenant:not(.open) .name { font-size:13px; font-weight:500; }
.tenant:not(.open) .tenant-head>div:last-child { grid-column:auto; }
.tenant:not(.open) .badge { padding:3px 7px; font-size:11px; }
.tenant-head[role=button]:focus-visible { outline:2px solid #8ab6d9; outline-offset:-3px; border-radius:14px; }
.tenant.open .tenant-head { grid-template-columns:38px minmax(0,1fr) auto; gap:10px; }
.tenant.open .tenant-head>div:last-child { grid-column:auto; }
.tenant.open .tenant-logo { width:38px; height:38px; font-size:13px; }
.stat { background:#ffffff03; border-color:#ffffff06; }
.stat small { display:flex; align-items:center; justify-content:center; gap:5px; font-size:12px; margin-top:4px; }
.stat .agency-icon { width:15px; height:15px; }
.form-grid select,.filters select,.drawer-card select { min-height:44px; padding:8px 30px 8px 10px; border-radius:9px; border-color:#ffffff0b; background-color:#ffffff03; font-weight:400; }
.brand-email { margin-top:24px; }
.domain-record { padding:12px 0; border-bottom:1px solid var(--line); }
.domain-record:last-child { border:0; }
.domain-dns { font:12px/1.6 ui-monospace,monospace; overflow-wrap:anywhere; padding:10px; border-radius:9px; background:#090f18; margin-top:8px; }
.team-member { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); }
.team-member .actions { margin:0; }
@media(max-width:420px) { .stat small { flex-direction:column; gap:3px; } }
.settings-sections { display:grid; gap:10px; }
.settings-section { border:1px solid var(--line); border-radius:15px; background:#ffffff03; }
.settings-section>summary { display:flex; align-items:center; gap:10px; padding:15px; font-size:14px; font-weight:500; cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
.settings-section>summary::after { content:'+'; margin-left:auto; color:var(--muted); }
.settings-section[open]>summary::after { content:'−'; }
.settings-content { padding:0 12px 12px; }
.settings-content>.hero { display:none; }
.brand-disclosure,.edit-disclosure { margin-top:10px; border:1px solid var(--line); border-radius:12px; padding:12px; }
.brand-disclosure>summary,.edit-disclosure>summary,.plan>summary,#agencyTeamCreate>summary,.company-filter-options>summary { display:flex; align-items:center; gap:8px; cursor:pointer; font-weight:500; list-style:none; min-height:24px; }
.brand-disclosure>.panel { border:0; box-shadow:none; padding:0; background:transparent; }
.edit-disclosure form { margin-top:12px; }
.company-filters { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.company-filters>.wide { grid-column:auto; }
.company-filter-options { position:relative; }
.company-filter-options>summary { min-height:50px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; }
.filter-fields { position:absolute; right:0; top:calc(100% + 8px); z-index:10; width:min(280px,calc(100vw - 50px)); padding:14px; display:grid; gap:10px; background:var(--card); border:1px solid var(--line); border-radius:12px; box-shadow:0 12px 32px #0006; }
.tenant-logo img { background:transparent; padding:0; }
.tenant .tenant-logo:has(img),.top .mark:has(img),.login-brand .mark:has(img) { background:transparent; border-color:transparent; box-shadow:none; }
.mark img { background:transparent!important; padding:0!important; }
.settings-section summary:focus-visible,.brand-disclosure summary:focus-visible,.edit-disclosure summary:focus-visible { outline:2px solid #8ab6d9; outline-offset:3px; }
.settings-section form,.brand-disclosure form { margin-top:12px; }
.team-member>.edit-disclosure { width:100%; }

.login form button{background:#263244;color:#f4f6fb;border:1px solid #526174;box-shadow:none}
.login form button:hover:not(:disabled){background:#303d50}
.login form button:focus-visible{outline:2px solid #93a0b8;outline-offset:3px}
