.company-console { display: grid; gap: 16px; }
.company-console[hidden] { display: none !important; }
.company-card { min-width: 0; background: var(--paper, #fff); border: 1px solid var(--line, #dde2e9); border-radius: 16px; padding: 20px; box-shadow: var(--shadow-sm, 0 1px 2px #00000008); }
.company-card h3 { margin: 0 0 10px; }
.company-hint { color: var(--muted, #627083); font-size: 13px; line-height: 1.7; }
.company-field { display: grid; gap: 6px; min-width: 0; margin: 12px 0; }
.company-field > span { font-size: 13px; font-weight: 600; }
.company-field input, .company-field select, .company-project-row select { width: 100%; max-width: 100%; box-sizing: border-box; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line, #dde2e9); border-radius: 8px; color: var(--ink, #1a2435); background: var(--bg, #f6f8fc); }
.company-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.company-actions .company-field { flex: 1 1 230px; margin: 0; }
.company-console button { min-height: 38px; padding: 8px 15px; border-radius: 999px; border: 1px solid var(--line, #dde2e9); background: var(--bg, #f6f8fc); color: var(--ink, #1a2435); cursor: pointer; }
.company-console button.primary { color: var(--accent-contrast, #fff); background: var(--accent, #2563eb); border-color: transparent; }
.company-console button:disabled { cursor: default; opacity: .5; }
.company-status { min-height: 1.4em; margin: 10px 0 0; color: var(--muted, #627083); font-size: 13px; overflow-wrap: anywhere; }
.company-error { color: var(--warn, #b42318); }
.company-member { padding: 14px; border: 1px solid var(--line, #dde2e9); border-radius: 10px; margin: 12px 0; }
.company-member summary { cursor: pointer; font-weight: 600; }
.company-module-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 14px 0; }
.company-check { display: flex !important; align-items: center; gap: 8px; font-size: 13px; margin: 4px 0; }
.company-check input[type="checkbox"] { width: 17px !important; min-height: 17px !important; height: 17px; margin: 0 !important; flex: none; }
.company-project-choices { display: grid; gap: 8px; margin: 14px 0; }
.company-project-row { display: grid; grid-template-columns: 1fr 140px; align-items: center; gap: 10px; }
.company-balance { display: inline-flex; flex-direction: column; gap: 6px; padding: 12px 18px; margin: 8px 8px 8px 0; border-radius: 10px; background: var(--bg, #f6f8fc); }
.company-balance span { font-size: 13px; color: var(--muted, #627083); }
.company-balance strong { font-size: 23px; }
.company-invite-result input[readonly] { font-family: ui-monospace, monospace; }
@media (max-width: 600px) { .company-card { padding: 16px; } .company-project-row { grid-template-columns: 1fr; } .company-actions > button { flex: 1 1 auto; } }
body.admin-dashboard-v2.company-admin-mode:not(.admin-authenticated) .admin-shell { display: block; width: 100%; max-width: 1220px !important; margin: 0 auto !important; padding: 22px !important; align-content: normal; background: transparent; }
body.admin-dashboard-v2.company-admin-mode .admin-shell > .admin-header { width: 100%; margin-bottom: 22px !important; }
body.company-admin-mode #companyAdminPanel { padding-bottom: 30px; }
@media (max-width: 600px) { body.admin-dashboard-v2.company-admin-mode:not(.admin-authenticated) .admin-shell { padding: 14px !important; } }
.company-field textarea { width: 100%; max-width: 100%; box-sizing: border-box; min-height: 84px; padding: 8px 10px; border: 1px solid var(--line, #dde2e9); border-radius: 8px; color: var(--ink, #1a2435); background: var(--bg, #f6f8fc); font: inherit; resize: vertical; }
.company-card h4 { margin: 20px 0 8px; }
.company-license-badge { display: inline-flex; margin: 4px 8px; padding: 3px 9px; border: 1px solid currentColor; border-radius: 999px; font-size: 12px; font-weight: 600; vertical-align: middle; }
.company-license-active { color: #167449; background: #1674490d; }
.company-license-pending, .company-license-legacy_unconfigured { color: #936000; background: #9360000d; }
.company-license-expired { color: var(--warn, #b42318); background: #b423180d; }
.company-member, .company-member summary, .company-hint { overflow-wrap: anywhere; }
.company-console :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--accent, #2563eb); outline-offset: 3px; }

/* Per-company sections and ledger entries fit both sidebar and narrow screens. */
.admin-root #companyAdminPanel { min-width: 0; width: 100%; }
.company-overview-metrics { display: block; padding: 12px 14px; border-radius: 10px; background: var(--bg); line-height: 1.8; overflow-wrap: anywhere; }
.company-ledger-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; padding: 14px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.company-ledger-row small { grid-column: 1 / -1; }
.company-console :is(select, input, textarea) { max-width: 100%; box-sizing: border-box; }
.company-console .company-field { min-width: 0; }
@media (max-width: 600px) { .company-ledger-row { grid-template-columns: minmax(0, 1fr); } .company-ledger-row small { grid-column: auto; } }

.company-permission-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:8px 16px; margin:14px 0; }
.company-project-assignments { display:grid; grid-template-columns:repeat(auto-fit,minmax(245px,1fr)); gap:12px; }
.company-project-assignments .company-member { margin:0; }
@media(max-width:600px){ .company-permission-options,.company-project-assignments { grid-template-columns:minmax(0,1fr); } }

.company-authorization-projects { margin:16px 0; padding:0 0 0 18px; border-left:3px solid var(--accent, #2563eb); min-width:0; }
.company-authorization-projects h4 { margin:0 0 12px; }
.company-authorization-preview { padding:8px 12px; border-radius:8px; background:var(--bg); }
.company-authorization-preview ul { margin:8px 0; padding-left:20px; max-height:220px; overflow:auto; overflow-wrap:anywhere; }
.company-authorization-preview[hidden] { display:none; }
@media(max-width:600px) { .company-authorization-projects { padding-left:12px; } }

.commercial-subtabs { display:flex;flex-wrap:wrap;gap:8px;margin-top:18px; }
.company-console .commercial-tab { border-radius:9px; }
.company-console .commercial-tab.active { color:var(--accent-contrast,#fff);background:var(--accent,#216b50);border-color:var(--accent,#216b50); }
.commercial-body { display:grid;gap:16px;min-width:0; }
.commercial-company-search,.commercial-filters { display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px; }
.commercial-company-search .company-field,.commercial-filters .company-field { flex:1 1 180px;margin:0; }
.commercial-pagination { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px; }
.commercial-pagination .company-hint { margin:0 8px 0 0; }
.commercial-pagination input { width:66px; }
.commercial-pagination select { width:auto; }
.commercial-project-row { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line); }
.commercial-project-row .company-hint { margin:5px 0 0;font-size:13px;overflow-wrap:anywhere; }
.commercial-create > summary { cursor:pointer;font-weight:600; }
.commercial-create > .company-card { margin-top:14px;padding:0;border:0;box-shadow:none; }
@media(max-width:600px) { .commercial-project-row { grid-template-columns:minmax(0,1fr);gap:8px; } .commercial-project-row button { justify-self:start; } .commercial-subtabs .commercial-tab { flex:1 1 140px; } .commercial-company-search .company-field,.commercial-filters .company-field { flex-basis:100%; } }
