/* Uses the 8 October portal prototype's tokens, navigation and components. */
#mobile-menu{display:none}
.card,.connected-grid,.connected-grid>*{min-width:0}
.loading-screen{padding:3rem;color:var(--text-secondary)}
.company-card{display:grid;gap:8px}.company-card label,.company-card small{color:#c5d8d6}.company-card select{width:100%;min-width:0;background:var(--navy-soft);color:#fff;border:1px solid #527574;border-radius:6px;padding:9px;font-size:12px}
.sidebar-help .link-button{color:#8fe0d5}.main-content .card{background:var(--surface);border:1px solid var(--line);margin-bottom:20px}
.connected-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.connected-grid .card{margin:0}.connected-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.connected-metrics .card{margin:0}.metric-value{display:block;font-size:27px;margin:12px 0 4px;font-weight:700;letter-spacing:-.03em}
.connected-toolbar,.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.connected-toolbar input{flex:1;min-width:180px}.connected-toolbar select{width:auto}
.portal-table-wrap{overflow:auto;width:100%}.portal-table{width:100%;border-collapse:collapse;font-size:13px}.portal-table td:nth-child(n+2){font-variant-numeric:tabular-nums}.portal-table th{text-align:left;font-size:11px;color:var(--text-secondary);font-weight:700}.portal-table td,.portal-table th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}.portal-table td small{display:block;margin-top:5px}.portal-table .money{text-align:right;white-space:nowrap}.portal-table .link-button{font-size:12px}
.connected-list{list-style:none;margin:0;padding:0}.connected-list li{padding:14px 0;border-bottom:1px solid var(--line)}.connected-list li:last-child{border-bottom:0}.connected-list p{margin:7px 0;font-size:13px}.connected-list small{display:block;margin-top:7px}
.notice{padding:14px 16px;background:var(--warning-soft);border-left:3px solid var(--warning);border-radius:6px;font-size:13px}.empty{padding:22px 4px;color:var(--text-secondary);font-size:14px}.connected-status{position:fixed;z-index:1000;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(650px,92vw);background:var(--navy);color:white;padding:13px 20px;border-radius:10px;box-shadow:var(--shadow)}.connected-status.error,#editor-error,#auth-error{color:var(--danger);background:var(--danger-soft);padding:12px;border-radius:6px}
.form-grid,.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}label{display:grid;gap:6px;font-size:13px;font-weight:600}input,select,textarea{min-width:0;max-width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:6px;background:white;color:var(--text)}textarea{min-height:100px;resize:vertical}.check-row{display:flex;align-items:flex-start;gap:8px;margin:15px 0;font-weight:400}.check-row input{width:auto}.form-stack{gap:16px}.dialog-actions{flex-wrap:wrap}.dialog-wide,.wide-dialog{max-height:92vh;overflow:auto;width:min(900px,calc(100vw - 28px));border:1px solid var(--line);border-radius:14px;padding:24px}dialog::backdrop{background:rgba(9,38,42,.45)}#editor-fields{display:grid;gap:16px}.line-fields{display:grid;grid-template-columns:2fr .7fr .8fr 1fr auto;gap:8px;align-items:end}.line-fields label{font-size:11px}.line-fields input{width:100%}.connected-muted{font-size:12px;color:var(--text-secondary)}.connected-actions{display:flex;flex-wrap:wrap;gap:8px}.connected-actions .link-button{white-space:nowrap}.badge{display:inline-block;padding:5px 8px;background:var(--surface-soft);border-radius:5px;font-size:11px}.primary,.secondary{padding:9px 14px;border:1px solid var(--line-strong);border-radius:7px;cursor:pointer;background:var(--surface)}.primary{background:var(--brand);color:#fff}.report-card{padding:18px 0;border-top:1px solid var(--line)}#portal-tax table{width:100%;border-collapse:collapse}#portal-tax td,#portal-tax th{padding:9px;text-align:left;border-bottom:1px solid var(--line)}#portal-tax form{margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.profile-list{display:grid;grid-template-columns:1fr 2fr;gap:12px}.profile-list dt{color:var(--text-secondary)}.profile-list dd{margin:0;overflow-wrap:anywhere}button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:850px){.connected-grid{grid-template-columns:1fr}.connected-metrics{grid-template-columns:1fr 1fr}.main-content{padding:24px 18px}.line-fields{grid-template-columns:1fr 1fr}.line-fields label:first-child{grid-column:1/-1}.topbar-context{display:none}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-help{margin-top:14px}.app-shell{display:block;padding-top:68px}.topbar{display:flex;justify-content:space-between}.sidebar{padding:16px}.company-card{margin-bottom:12px}.nav-item{min-width:0;font-size:12px}.sidebar-help,.logout-button{margin-top:12px}}
@media(max-width:480px){.connected-metrics,.form-grid,.form-grid-two{grid-template-columns:1fr}.connected-grid{gap:14px}.main-content{padding:22px 14px}.page-heading{align-items:start;flex-direction:column;gap:14px}h1{font-size:28px}.card{padding:17px}.dialog-wide,.wide-dialog{padding:18px}.account-button{max-width:170px;font-size:12px}.avatar{display:none}.profile-list{grid-template-columns:1fr}.profile-list dd{margin-bottom:8px}.portal-table{min-width:500px}.login-panel{padding:28px}.topbar{padding:0 16px}.status-badge{white-space:normal}.section-heading{flex-wrap:wrap}}
@media(max-width:850px){#mobile-menu{display:inline-flex;margin-left:auto;margin-right:12px}.sidebar:not(.is-open) nav,.sidebar:not(.is-open) .sidebar-help,.sidebar:not(.is-open) .logout-button{display:none}.company-card{margin-bottom:0}.sidebar.is-open nav{margin-top:12px}.account-button .avatar{display:grid}.topbar .brand small{font-size:9px}.topbar .brand-mark{width:32px;height:32px}}
@media(max-width:850px){.sidebar .company-card{display:grid}.topbar .account-button{display:flex}.sidebar.is-open .sidebar-help{display:flex}.company-card label{display:block}}

@media(max-width:850px){.company-card label,.company-card small{color:var(--text-secondary)}}
