
.company-main { max-width:1100px; margin:0 auto; padding:48px 24px 72px; }
.company-main .panel { margin:24px 0; padding:28px; }
.company-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.company-grid > * { min-width:0; }
.company-form { display:grid; gap:18px; }
.company-form label:not(.confirm-row) { display:grid; gap:7px; font-weight:650; }
.company-form input:not([type=checkbox]), .company-form textarea, .company-form select, #campaign-code { width:100%; min-width:0; border:1px solid #aabfbb; border-radius:8px; padding:12px; font:inherit; background:#fff; color:#163d3a; }
.company-form textarea { resize:vertical; }
.company-form small { font-weight:400; }
.company-fieldset { min-width:0; margin:0; padding:0; border:0; display:grid; gap:18px; }
.company-fieldset legend { margin:0 0 2px; padding:0; font-weight:750; }
.company-address-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:18px; align-items:start; }
.company-address-grid > * { min-width:0; }
.company-form .button { justify-self:start; }
.company-account,.company-report-controls { display:flex; gap:18px; justify-content:space-between; align-items:center; flex-wrap:wrap; margin:20px 0; }
.company-code { font-family:monospace; letter-spacing:.06em; }
.company-status { border-radius:20px; padding:6px 14px; background:#e5f2ee; color:#163d3a; }
.company-preview { background:#173e3b; color:#fff; border-radius:12px; padding:20px; }
.company-preview p,.company-preserve { white-space:pre-wrap; overflow-wrap:anywhere; }
.company-campaign details { margin-top:20px; }
.company-campaign summary { cursor:pointer; margin-bottom:18px; }
.company-metrics { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.company-metrics dd { margin:8px 0; font-size:1.5rem; font-weight:700; }
.company-big { font-size:3rem; font-weight:750; margin:10px 0; }
.company-main table { width:100%; border-collapse:collapse; margin:16px 0; }
.company-main th,.company-main td { padding:12px; border-bottom:1px solid #c9d8d5; text-align:left; overflow-wrap:anywhere; }
#campaign-gate { margin:24px 0; }
#campaign-label { margin:18px 0; color:#174f46; font-weight:650; }
#campaign-gate .company-form { max-width:540px; }
.company-main input:focus-visible,.company-main textarea:focus-visible,.company-main select:focus-visible,#campaign-code:focus-visible { outline:3px solid #237a69; outline-offset:3px; }
@media(max-width:700px) { .company-grid,.company-metrics,.company-address-grid { grid-template-columns:1fr; } .company-main { padding:28px 16px; } .company-main .panel { padding:20px; } .company-main table { font-size:.88rem; } }
@media print {
  body.company-report main.company-main { display:block !important; max-width:none; padding:0; }
  .company-report-controls { display:none !important; }
  .company-report .panel { box-shadow:none; border:0; padding:0; margin:24px 0; break-inside:avoid; }
  .company-report table { color:#000; }
}

.admin-company-link { max-width:1180px; margin:24px auto; padding:0 24px; }
@media print { #campaign-gate, #campaign-label { display:none !important; } }
#campaign-gate { padding:clamp(24px,4vw,48px); } #campaign-closing { white-space:pre-wrap; }

.company-password-reset { margin-top:24px; padding-top:20px; border-top:1px solid #c9d8d5; }
.company-password-reset summary { cursor:pointer; color:#174f46; font-weight:700; }
.company-password-reset[open] summary { margin-bottom:18px; }
.company-auth-main { max-width:720px; }
.company-auth-main h1 { margin-top:0; }