.portal-workspace {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    min-height: 100vh;
    background: #f3f8fc;
    color: #092653;
}

.portal-sidebar {
    display: flex;
    flex-direction: column;
    padding: 24px 18px;
    color: #fff;
    background: linear-gradient(180deg, #09265e 0%, #0e347f 58%, #075b91 100%);
    box-shadow: 12px 0 35px rgba(8, 37, 95, .16);
}

.sidebar-brand { display:flex; align-items:center; gap:12px; padding:0 8px 24px; border-bottom:1px solid rgba(255,255,255,.14); }
.sidebar-brand img { width:58px; height:58px; padding:5px; object-fit:contain; border-radius:14px; background:#fff; }
.sidebar-brand div { display:flex; flex-direction:column; }
.sidebar-brand b { font-size:16px; }
.sidebar-brand span { font-size:11px; letter-spacing:.12em; color:#9fdef7; }
.portal-sidebar nav { display:grid; gap:8px; margin-top:28px; }
.portal-sidebar nav button { display:flex; align-items:center; gap:13px; width:100%; padding:13px 15px; border:0; border-radius:12px; color:#cce8f7; background:transparent; text-align:left; font-weight:700; }
.portal-sidebar nav button:hover { background:rgba(255,255,255,.08); color:#fff; }
.portal-sidebar nav button.active { color:#09265e; background:#fff; box-shadow:0 12px 24px rgba(0,0,0,.13); }
.portal-sidebar nav i { display:grid; place-items:center; width:27px; height:27px; border-radius:8px; background:rgba(255,255,255,.1); font-style:normal; font-size:17px; }
.portal-sidebar nav button.active i { color:#fff; background:linear-gradient(135deg,#12388b,#00a9e7); }
.sidebar-level { margin-top:auto; display:flex; flex-direction:column; gap:5px; padding:17px; border:1px solid rgba(255,255,255,.15); border-radius:15px; background:rgba(255,255,255,.08); }
.sidebar-level span,.sidebar-level small { color:#b9def0; }
.sidebar-level b { font-size:19px; }
.sidebar-logout { margin-top:14px; padding:12px; border:1px solid rgba(255,255,255,.2); border-radius:11px; color:#fff; background:transparent; font-weight:700; }
.workspace-content { min-width:0; height:100vh; overflow:auto; }
.workspace-header { position:sticky; top:0; z-index:8; height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 36px; border-bottom:1px solid #d7e8f2; background:rgba(255,255,255,.95); backdrop-filter:blur(12px); }
.workspace-header>div:first-child { display:flex; align-items:center; gap:12px; font-size:19px; font-weight:800; }
.workspace-user { display:grid; grid-template-columns:auto 42px; column-gap:12px; align-items:center; text-align:right; }
.workspace-user span { font-size:11px; color:#7385a1; }
.workspace-user b { grid-column:1; font-size:14px; }
.workspace-user i { grid-column:2; grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#12388b,#00a9e7); font-style:normal; font-weight:800; }
.mobile-menu { display:none; border:0; background:transparent; color:#102f7f; font-size:22px; }
.portal-workspace .partner-main { max-width:1500px; padding:36px 4vw 60px; }
.module-card { overflow:hidden; margin-top:22px; border:1px solid #d2e7f2; border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(21,62,112,.07); }
.estimate-label { padding:7px 11px; border-radius:20px; color:#087847; background:#e9f9f1; font-size:12px; font-weight:800; }
.commission-list article { display:grid; grid-template-columns:1fr 190px 190px; gap:20px; align-items:center; padding:20px 26px; border-bottom:1px solid #e2edf4; }
.commission-list article>div { display:flex; flex-direction:column; gap:5px; }
.commission-list span { color:#607596; font-size:12px; }
.commission-list b { color:#102f7f; }
.financial-note { margin:0; padding:18px 26px; color:#607596; background:#f8fcfe; font-size:13px; }
.profile-module { display:grid; grid-template-columns:90px 1fr; gap:24px; padding:34px; }
.profile-avatar { display:grid; place-items:center; width:82px; height:82px; border-radius:24px; color:#fff; background:linear-gradient(135deg,#12388b,#00a9e7); font-size:27px; font-weight:900; }
.profile-module h2 { margin:6px 0; font-size:28px; }
.profile-module p { color:#607596; }
.profile-module dl { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:12px 0 0; }
.profile-module dl div { padding:18px; border-radius:14px; background:#f5faff; }
.profile-module dt { color:#607596; font-size:12px; }
.profile-module dd { margin:7px 0 0; color:#102f7f; font-weight:800; }
.bank-card .section-title { padding:28px 30px 22px; border-bottom:1px solid #e1edf4; background:linear-gradient(110deg,#fff 55%,#f1faff); }
.bank-card .section-title h2 { margin:5px 0 4px; color:#0a2a64; font-size:25px; }
.bank-card .section-title p { margin:0; color:#607596; }
.bank-card form { padding:26px 30px 30px; }
.bank-card .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 22px; }
.bank-card .form-grid label { position:relative; display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; }
.bank-card .form-grid label.full { grid-column:1/-1; }
.bank-card .form-grid label>span { color:#173765; font-size:13px; font-weight:800; }
.bank-card .form-grid input,.bank-card .form-grid select { width:100%; min-height:52px; padding:0 16px; border:1px solid #c8dce9; border-radius:13px; outline:0; background:#f9fcfe; color:#102f68; font:inherit; transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease; }
.bank-card .form-grid select { padding-right:42px; cursor:pointer; }
.bank-card .form-grid input:hover,.bank-card .form-grid select:hover { border-color:#8fc5df; background:#fff; }
.bank-card .form-grid input:focus,.bank-card .form-grid select:focus { border-color:#00a7e1; background:#fff; box-shadow:0 0 0 4px rgba(0,167,225,.13),0 8px 22px rgba(18,56,139,.07); transform:translateY(-1px); }
.bank-card .validation-errors { margin:18px 0 0; padding:14px 18px; border:1px solid #f3c7c7; border-radius:12px; color:#a93434; background:#fff5f5; }
.bank-card .form-actions { display:flex; justify-content:flex-end; margin-top:24px; padding-top:21px; border-top:1px solid #e3edf3; }
.bank-card .form-actions .new-client { min-width:245px; min-height:50px; border:0; border-radius:13px; color:#fff; background:linear-gradient(135deg,#12388b,#00a9e7); box-shadow:0 10px 23px rgba(0,126,190,.22); font-weight:850; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.bank-card .form-actions .new-client:hover { transform:translateY(-2px); box-shadow:0 14px 27px rgba(0,126,190,.3); }
.bank-card .form-actions .new-client:disabled { cursor:not-allowed; opacity:.62; transform:none; }

@media (max-width: 900px) {
    .portal-workspace { grid-template-columns:82px minmax(0,1fr); }
    .portal-sidebar { padding:20px 12px; }
    .sidebar-brand { justify-content:center; padding:0 0 20px; }
    .sidebar-brand div,.portal-sidebar nav span,.sidebar-level { display:none; }
    .portal-sidebar nav button { justify-content:center; padding:11px; }
    .sidebar-logout { overflow:hidden; height:46px; font-size:0; }
    .sidebar-logout::first-letter { font-size:20px; }
    .commission-list article { grid-template-columns:1fr 1fr; }
    .commission-list article>div:first-child { grid-column:1/-1; }
    .profile-module dl { grid-template-columns:1fr 1fr; }
}

@media (max-width: 600px) {
    .portal-workspace { display:block; }
    .portal-sidebar { position:fixed; inset:auto 0 0; z-index:20; height:70px; display:block; padding:8px; }
    .sidebar-brand,.sidebar-level,.sidebar-logout { display:none; }
    .portal-sidebar nav { grid-template-columns:repeat(4,1fr); margin:0; gap:4px; }
    .portal-sidebar nav button { flex-direction:column; gap:2px; padding:5px; font-size:10px; }
    .portal-sidebar nav span { display:block; }
    .portal-sidebar nav i { width:28px; height:28px; }
    .workspace-content { height:calc(100vh - 70px); }
    .workspace-header { height:68px; padding:0 16px; }
    .workspace-user span,.workspace-user b { display:none; }
    .workspace-user { display:block; }
    .commission-list article { grid-template-columns:1fr; }
    .commission-list article>div:first-child { grid-column:auto; }
    .profile-module { grid-template-columns:70px 1fr; padding:22px; }
    .profile-avatar { width:66px; height:66px; border-radius:18px; }
    .profile-module dl { grid-template-columns:1fr; }
    .bank-card .section-title,.bank-card form { padding:22px; }
    .bank-card .form-grid { grid-template-columns:1fr; gap:15px; }
    .bank-card .form-grid label.full { grid-column:auto; }
    .bank-card .form-actions .new-client { width:100%; min-width:0; }
}
