.company-profile-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 5% 5%, rgba(111, 83, 203, .09), transparent 34rem),
        linear-gradient(180deg, #f7f8fc 0%, #eef1f8 100%);
    color: #242433;
}

.company-onboarding-shell { max-width: 1440px; margin: 0 auto; padding: 28px 32px 44px; }
.company-onboarding-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.company-brand-block { display:flex; align-items:center; gap:18px; min-width:0; }
.company-brand-logo { width:150px; height:40px; object-fit: contain; flex:0 0 auto; }
.company-page-title { margin:0; font-size:clamp(1.5rem,2vw,2rem); font-weight:750; letter-spacing:-.025em; }
.company-page-subtitle { margin:.35rem 0 0; color:#6a6a7d; max-width:760px; }
.company-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.status-pill { display:inline-flex; align-items:center; min-height:26px; padding:3px 10px; border-radius:999px; font-size:.76rem; font-weight:700; }
.status-pill.pending { background:#fff2cf; color:#7d5711; border:1px solid #f1d996; }
.status-pill.completed { background:#dff7ea; color:#14653a; border:1px solid #a9e4c4; }
.company-global-status { min-height:24px; margin:0 0 12px; color:#666779; font-size:.9rem; }
.company-global-status.error { color:#b42318; }
.validation-summary, .company-readonly-message { border-radius:14px; padding:14px 16px; margin-bottom:16px; }
.validation-summary { background:#fff1f0; color:#9f211b; border:1px solid #f1b9b5; }
.company-readonly-message { background:#fff8e6; color:#73510d; border:1px solid #ecd69d; }

.company-onboarding-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:24px; align-items:start; }
.company-step-rail { position:sticky; top:22px; background:#fff; border:1px solid #e1e3ec; border-radius:20px; padding:20px; box-shadow:0 14px 40px rgba(39,39,58,.07); }
.company-progress-copy { display:flex; justify-content:space-between; color:#65667a; font-size:.82rem; margin-bottom:8px; }
.company-progress { height:7px; background:#eceaf8; margin-bottom:18px; }
.company-progress .progress-bar { width:20%; background:linear-gradient(90deg,#6f53cb,#8a6fe1); }
.company-legal-document { max-width:880px; }
.company-step-list { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.company-step-button { width:100%; border:0; background:transparent; padding:10px; border-radius:13px; display:flex; gap:11px; align-items:flex-start; text-align:left; color:#646477; transition:.16s ease; }
.company-step-button:hover { background:#f5f3fc; }
.company-step-button > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ecebf3; color:#676779; font-weight:800; flex:0 0 auto; }
.company-step-button strong { display:block; color:#353545; font-size:.92rem; }
.company-step-button small { display:block; color:#818194; font-size:.76rem; margin-top:2px; }
.company-step-button.active { background:#f0edfb; }
.company-step-button.active > span { background:#6f53cb; color:#fff; }
.company-step-button.complete > span { background:#198754; color:#fff; }
.company-privacy-note { margin-top:20px; padding:13px; border-radius:13px; background:#f7f8fb; color:#68697a; font-size:.78rem; }
.company-privacy-note strong { color:#414153; }
.company-privacy-note p { margin:4px 0 0; }

.company-wizard-card { background:#fff; border:1px solid #e1e3ec; border-radius:22px; box-shadow:0 18px 55px rgba(39,39,58,.08); overflow:visible; }
.company-step-panel { display:none; padding:28px 30px 18px; min-height:610px; }
.company-step-panel.active { display:block; animation:companyStepIn .18s ease-out; }
@keyframes companyStepIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
.company-step-heading { padding-bottom:20px; border-bottom:1px solid #ececf2; margin-bottom:24px; }
.company-step-heading .step-kicker { display:inline-block; color:#6f53cb; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.company-step-heading h2 { margin:4px 0 7px; font-size:1.45rem; font-weight:750; }
.company-step-heading p { margin:0; color:#6e6f81; }
.company-section-title { font-size:1rem; font-weight:750; margin:26px 0 14px; color:#383849; }
.form-label { font-size:.84rem; font-weight:650; color:#555668; margin-bottom:.42rem; }
.required-dot::after { content:" *"; color:#d92d20; }
.form-control, .form-select { min-height:44px; border-color:#d9dbe5; border-radius:10px; }
textarea.form-control { min-height:auto; }
.form-control:focus, .form-select:focus { border-color:#846cd3; box-shadow:0 0 0 .2rem rgba(111,83,203,.13); }
.form-control[aria-invalid="true"], .form-select[aria-invalid="true"] { border-color:#d92d20; }
.field-validation-error { min-height:18px; margin-top:4px; color:#b42318; font-size:.76rem; }
.company-info-banner { display:flex; align-items:flex-start; gap:10px; border:1px solid #dcd7f4; background:#f6f3ff; border-radius:13px; padding:13px 15px; margin-bottom:20px; color:#59506f; }
.company-info-banner strong { color:#403657; white-space:nowrap; }
.company-check-card { border:1px solid #e0e1e9; border-radius:13px; padding:14px 14px 14px 42px; background:#fbfbfd; }
.company-check-card label { display:grid; gap:2px; }
.company-check-card span { color:#767789; font-size:.8rem; }
.company-subpanel { margin-top:18px; padding:18px; background:#f8f8fb; border:1px solid #e3e4ec; border-radius:15px; }

.searchable-combobox { position:relative; }
.combo-list { position:absolute; z-index:1040; top:calc(100% + 5px); left:0; right:0; max-height:260px; overflow:auto; background:#fff; border:1px solid #d7d8e2; border-radius:12px; box-shadow:0 12px 30px rgba(27,27,42,.16); padding:6px; }
.combo-option { width:100%; border:0; background:transparent; text-align:left; border-radius:8px; padding:9px 10px; display:flex; justify-content:space-between; gap:12px; color:#3e3e4e; }
.combo-option:hover, .combo-option.active { background:#f0edfb; color:#4e38a8; }
.combo-option small { color:#858698; }
.combo-empty { padding:12px; color:#777889; font-size:.84rem; }

.company-review-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:18px; }
.company-review-card, .company-declaration-panel { border:1px solid #e1e2ea; border-radius:16px; padding:18px; background:#fbfbfd; }
.company-review-card h3, .company-declaration-panel h3 { font-size:1rem; font-weight:750; margin:0 0 14px; }
.company-review-list { display:grid; grid-template-columns:minmax(120px,.36fr) minmax(0,.64fr); margin:0; gap:0; }
.company-review-list dt, .company-review-list dd { padding:9px 0; border-bottom:1px solid #ececf2; margin:0; font-size:.82rem; }
.company-review-list dt { color:#767789; font-weight:600; }
.company-review-list dd { color:#343445; font-weight:650; overflow-wrap:anywhere; }
.optional-badge { font-size:.68rem; font-weight:650; color:#747588; background:#e9eaf0; border-radius:999px; padding:3px 7px; vertical-align:middle; }
.logo-preview-box { min-height:120px; display:grid; place-items:center; border:1px dashed #cfd1dc; border-radius:13px; background:#fff; margin-bottom:14px; overflow:hidden; }
.logo-preview-box img { max-width:100%; max-height:150px; object-fit: contain; }
.logo-crop-tools { margin-top:15px; }
.logo-crop-canvas { width:100%; max-height:260px; border-radius:12px; background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%); background-size:20px 20px; background-position:0 0,0 10px,10px -10px,-10px 0; border:1px solid #d9dae4; cursor:grab; margin:10px 0; }
.logo-crop-canvas.dragging { cursor:grabbing; }
.company-declaration-panel { margin-top:18px; background:#f8f6ff; border-color:#dcd7f4; }
.company-declaration-check { padding:12px 12px 12px 38px; border-top:1px solid #e4e0f4; }
.company-declaration-check:first-of-type { border-top:0; }
.company-declaration-check label { font-size:.86rem; line-height:1.5; }
.company-wizard-actions { position:sticky; bottom:0; z-index:20; display:flex; align-items:center; gap:10px; padding:15px 30px; border-top:1px solid #e5e5ec; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-radius:0 0 22px 22px; }
.company-action-spacer { flex:1; }
.company-wizard-actions .btn { min-width:132px; min-height:42px; border-radius:10px; }

@media (max-width: 991.98px) {
    .company-onboarding-shell { padding:20px 16px 32px; }
    .company-onboarding-header { align-items:flex-start; }
    .company-brand-block { align-items:flex-start; }
    .company-brand-logo { width:120px; }
    .company-onboarding-layout { grid-template-columns:1fr; }
    .company-step-rail { position:static; padding:14px; }
    .company-step-list { grid-template-columns:repeat(5,1fr); gap:4px; }
    .company-step-button { justify-content:center; padding:7px; }
    .company-step-button div { display:none; }
    .company-privacy-note { display:none; }
    .company-step-panel { min-height:auto; padding:22px 18px 14px; }
    .company-review-grid { grid-template-columns:1fr; }
    .company-wizard-actions { padding:13px 18px; }
}

@media (max-width: 640px) {
    .company-onboarding-header { display:grid; }
    .company-brand-block { display:grid; gap:10px; }
    .company-header-actions { justify-content:flex-start; }
    .company-page-title { font-size:1.35rem; }
    .company-review-list { grid-template-columns:1fr; }
    .company-review-list dt { border-bottom:0; padding-bottom:2px; }
    .company-review-list dd { padding-top:0; }
    .company-wizard-actions .btn { min-width:0; }
}
