:root {
    --cabinet-bg: #edf1f9;
    --cabinet-shell: rgb(249 251 255 / .82);
    --cabinet-panel: #f7f9fd;
    --cabinet-card: #fff;
    --cabinet-text: #202333;
    --cabinet-muted: #7c8498;
    --cabinet-line: #e7ebf3;
    --cabinet-primary: #315f9e;
    --cabinet-primary-light: #4f7fbd;
    --cabinet-primary-dark: #244b80;
    --cabinet-primary-soft: #eaf1fb;
    --cabinet-navy: #1f3554;
    --cabinet-danger: #a43d52;
    --cabinet-success: #247348;
    --cabinet-success-soft: #e7f5ec;
    --cabinet-shadow: 0 24px 80px rgb(53 63 92 / .11);
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; }
.cabinet-body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--cabinet-text); background: radial-gradient(circle at 50% -20%,#fff 0,transparent 45%),var(--cabinet-bg); font: 14px/1.55 Inter,"Segoe UI",system-ui,sans-serif; }
.cabinet-body a { color: inherit; }
.cabinet-body button,.cabinet-body input,.cabinet-body select,.cabinet-body textarea { font: inherit; }
.cabinet-app { display: grid; width: min(calc(100% - 48px),1560px); min-height: calc(100vh - 48px); margin: 24px auto; overflow: hidden; background: var(--cabinet-shell); border: 1px solid rgb(255 255 255 / .8); border-radius: 34px; box-shadow: var(--cabinet-shadow); grid-template-columns: 238px minmax(0,1fr); backdrop-filter: blur(18px); }

.cabinet-sidebar { position: relative; z-index: 30; display: flex; flex-direction: column; min-width: 0; overflow-y: auto; padding: 30px 24px 24px; background: #f7faff; }
.cabinet-brand { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; text-decoration: none; }
.cabinet-brand img { display: block; width: 40px; height: 40px; object-fit: contain; filter: grayscale(1) sepia(1) saturate(3.2) hue-rotate(175deg) brightness(.76); }
.cabinet-brand strong { color: #171825; font-size: 18px; font-weight: 900; letter-spacing: -.045em; }
.cabinet-brand strong span { color: var(--cabinet-primary-light); }
.cabinet-user { display: grid; justify-items: center; margin: 34px 0 31px; text-align: center; }
.cabinet-user-avatar { display: grid; width: 70px; height: 70px; overflow: hidden; place-items: center; color: #fff; background: linear-gradient(145deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border: 5px solid #fff; border-radius: 50%; box-shadow: 0 10px 28px rgb(49 95 158 / .2),0 0 0 3px #dce7f5; font-size: 25px; font-weight: 850; }
.cabinet-user-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: inherit; }
.cabinet-user-avatar-initial { display: grid; width: 100%; height: 100%; place-items: center; }
.cabinet-avatar-edit { margin: 8px 0 11px; padding: 4px 8px; color: var(--cabinet-primary); background: transparent; border: 0; border-radius: 7px; font-size: 9px; font-weight: 760; cursor: pointer; }
.cabinet-avatar-edit:hover,.cabinet-avatar-edit:focus-visible { color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); outline: 0; }
.cabinet-user strong { width: 100%; overflow: hidden; color: #272938; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-user small { width: 100%; margin-top: 3px; overflow: hidden; color: var(--cabinet-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }

.cabinet-nav { display: grid; gap: 7px; }
.cabinet-nav a { position: relative; display: grid; min-height: 44px; align-items: center; gap: 13px; padding: 10px 11px; color: #6b7182; border-radius: 11px; grid-template-columns: 24px minmax(0,1fr); font-size: 12px; font-weight: 580; text-decoration: none; transition: color .18s,background .18s,transform .18s; }
.cabinet-nav a::before { position: absolute; left: -24px; top: 9px; width: 4px; height: 26px; content: ""; background: transparent; border-radius: 0 5px 5px 0; }
.cabinet-nav a img { display: block; width: 20px; height: 20px; opacity: .83; }
.cabinet-nav a:hover { color: var(--cabinet-primary); background: rgb(255 255 255 / .72); transform: translateX(2px); }
.cabinet-nav a.is-active { color: #282a38; background: #fff; box-shadow: 0 8px 24px rgb(58 66 92 / .07); font-weight: 780; }
.cabinet-nav a.is-active::before { background: var(--cabinet-primary); }
.cabinet-nav a.is-active img { opacity: 1; }

.cabinet-status-card { display: grid; margin-top: auto; padding: 17px; color: #fff !important; background: linear-gradient(145deg,var(--cabinet-primary),var(--cabinet-primary-dark)); border-radius: 17px; box-shadow: 0 15px 34px rgb(36 75 128 / .2); text-decoration: none; }
.cabinet-status-card-icon { display: grid; width: 31px; height: 31px; margin-bottom: 17px; place-items: center; color: var(--cabinet-primary-dark); background: #dce8f6; border-radius: 10px; font-size: 13px; font-weight: 900; }
.cabinet-status-card strong { font-size: 12px; }
.cabinet-status-card small { margin-top: 3px; color: rgb(255 255 255 / .64); font-size: 9px; }
.cabinet-logout { margin-top: 12px; }
.cabinet-logout button { display: flex; width: 100%; min-height: 39px; align-items: center; gap: 10px; padding: 8px 12px; color: #767c8d; background: transparent; border: 0; border-radius: 10px; font-size: 11px; font-weight: 650; cursor: pointer; }
.cabinet-logout button:hover { color: var(--cabinet-danger); background: #fff; }
.cabinet-logout img { width: 18px; height: 18px; opacity: .8; }

.cabinet-workspace { min-width: 0; margin: 18px 18px 18px 0; overflow: hidden; background: var(--cabinet-panel); border: 1px solid rgb(255 255 255 / .9); border-radius: 30px; box-shadow: inset 0 1px 0 #fff,0 12px 34px rgb(58 67 96 / .045); }
.cabinet-mobile-header { display: none; }
.cabinet-content { width: min(100%,1380px); margin: 0 auto; padding: clamp(28px,3.2vw,48px); }
.cabinet-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.cabinet-heading > div { min-width: 0; }
.cabinet-heading .cabinet-eyebrow { display: block; margin-bottom: 5px; color: var(--cabinet-primary); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cabinet-heading h1 { margin: 0; color: #1f2230; font-size: clamp(25px,3.2vw,34px); line-height: 1.1; letter-spacing: -.045em; }
.cabinet-heading p { max-width: 720px; margin: 8px 0 0; color: var(--cabinet-muted); font-size: 11px; }
.cabinet-heading-action { flex: 0 0 auto; }
.cabinet-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.cabinet-page-heading .cabinet-eyebrow { display: block; margin-bottom: 5px; color: var(--cabinet-primary); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cabinet-page-heading h1 { margin: 0; color: #1f2230; font-size: clamp(25px,3.2vw,34px); line-height: 1.1; letter-spacing: -.045em; }
.cabinet-page-heading p { max-width: 720px; margin: 8px 0 0; color: var(--cabinet-muted); font-size: 11px; }

.cabinet-button,.cabinet-body button.cabinet-button { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 8px; padding: 9px 15px; color: #fff !important; background: linear-gradient(135deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border: 0; border-radius: 11px; box-shadow: 0 9px 22px rgb(49 95 158 / .16); font-size: 11px; font-weight: 760; text-decoration: none; cursor: pointer; transition: transform .18s,box-shadow .18s,filter .18s; }
.cabinet-body a.cabinet-button { color: #fff !important; }
.cabinet-button:hover,.cabinet-body button.cabinet-button:hover { filter: brightness(1.03); box-shadow: 0 12px 28px rgb(49 95 158 / .22); transform: translateY(-1px); }
.cabinet-button.is-secondary,.cabinet-body button.cabinet-button.is-secondary { color: #555d70 !important; background: #eef1f7; box-shadow: none; }
.cabinet-body a.cabinet-button.is-secondary { color: #555d70 !important; }
.cabinet-button.is-outline,.cabinet-body button.cabinet-button.is-outline,.cabinet-body a.cabinet-button.is-outline { color: var(--cabinet-primary) !important; background: #fff; border: 1px solid var(--cabinet-primary-light); box-shadow: inset 0 0 0 1px rgb(49 95 158 / .04); }
.cabinet-button.is-outline:hover,.cabinet-body button.cabinet-button.is-outline:hover,.cabinet-body a.cabinet-button.is-outline:hover { color: var(--cabinet-primary-dark) !important; background: var(--cabinet-primary-soft); box-shadow: 0 9px 22px rgb(49 95 158 / .12); }
.cabinet-button:disabled,.cabinet-body button.cabinet-button:disabled { opacity: .5; cursor: not-allowed; filter: none; transform: none; }
.cabinet-body [aria-invalid="true"] { border-color: var(--cabinet-danger) !important; box-shadow: 0 0 0 3px rgb(164 61 82 / .1) !important; }
.cabinet-body .form-field-error { display: block; margin-top: 6px; color: var(--cabinet-danger); font-size: 10px; font-weight: 750; line-height: 1.4; }
.cabinet-body .form-diagnostic { margin: 10px 0; padding: 10px 12px; color: var(--cabinet-danger); background: #fff1f4; border: 1px solid #f0ccd4; border-radius: 10px; font-size: 10px; font-weight: 750; overflow-wrap: anywhere; }
.cabinet-body .form-server-errors[hidden] { display: none !important; }
.billing-checkout-transition { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.billing-checkout-transition span { flex: 1 1 280px; }

.cabinet-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-bottom: 20px; }
.cabinet-summary-card { position: relative; display: grid; min-height: 142px; padding: 18px; overflow: hidden; background: var(--cabinet-card); border: 1px solid var(--cabinet-line); border-radius: 19px; box-shadow: 0 11px 30px rgb(52 62 91 / .055); text-decoration: none; }
.cabinet-summary-card::after { position: absolute; right: -24px; bottom: -34px; width: 94px; height: 94px; content: ""; background: var(--cabinet-primary-soft); border-radius: 50%; }
.cabinet-summary-card-icon { position: relative; z-index: 1; display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: linear-gradient(145deg,#6f9bd5,#315f9e); border-radius: 12px; font-size: 14px; font-weight: 900; }
.cabinet-summary-card.is-ready .cabinet-summary-card-icon { color: #fff; background: linear-gradient(145deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); }
.cabinet-summary-card strong { position: relative; z-index: 1; align-self: end; margin-top: 17px; color: #252837; font-size: 13px; }
.cabinet-summary-card small { position: relative; z-index: 1; margin-top: 2px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-summary-card-state { position: absolute; z-index: 2; right: 17px; top: 17px; width: 9px; height: 9px; background: #e8ebf1; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #d7dce7; }
.cabinet-summary-card.is-ready .cabinet-summary-card-state { background: var(--cabinet-primary); box-shadow: 0 0 0 1px rgb(49 95 158 / .22); }
.analytics-summary-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(155px,1fr)); gap: 13px; margin-bottom: 20px; }
.analytics-summary-grid > div { display: grid; min-height: 105px; align-content: space-between; gap: 12px; padding: 17px; background: var(--cabinet-card); border: 1px solid var(--cabinet-line); border-radius: 15px; box-shadow: 0 9px 26px rgb(52 62 91 / .045); }
.analytics-summary-grid strong { color: var(--cabinet-text); font-size: 25px; line-height: 1.05; letter-spacing: -.04em; overflow-wrap: anywhere; }
.analytics-summary-grid span { color: var(--cabinet-muted); font-size: 9px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.cabinet-section { margin-bottom: 18px; padding: 22px; background: var(--cabinet-card); border: 1px solid var(--cabinet-line); border-radius: 18px; box-shadow: 0 11px 30px rgb(52 62 91 / .05); }
.cabinet-section h2 { margin: 0 0 14px; color: var(--cabinet-text); font-size: 20px; letter-spacing: -.03em; }
.cabinet-section > p { color: var(--cabinet-muted); font-size: 11px; }
.cabinet-section > code { display: block; margin-bottom: 17px; padding: 12px; overflow: auto; color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); border-radius: 10px; font-size: 10px; white-space: nowrap; }
.cabinet-body .notice,.cabinet-body .alert { margin-bottom: 18px; padding: 13px 15px; color: #365b7a; background: #eaf4fc; border: 1px solid #cfe4f5; border-radius: 12px; font-size: 11px; overflow-wrap: anywhere; }
.cabinet-body .alert { color: #8e3749; background: #fff0f2; border-color: #f2d2d8; }
.cabinet-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 18px; }
.cabinet-form > label:not(.checkbox),.cabinet-form > fieldset { display: grid; align-content: start; gap: 6px; min-width: 0; margin: 0; color: #4b5264; border: 0; font-size: 10px; font-weight: 720; }
.cabinet-form > fieldset { padding: 0; }
.cabinet-form > fieldset legend { margin-bottom: 7px; }
.cabinet-form input:not([type="hidden"]):not([type="checkbox"]),.cabinet-form textarea,.cabinet-form select,.cabinet-section form:not(.cabinet-form) input:not([type="hidden"]):not([type="checkbox"]) { width: 100%; min-height: 43px; padding: 10px 12px; color: #303445; background: #fafbfe; border: 1px solid #dfe4ed; border-radius: 11px; outline: 0; font-size: 11px; }
.cabinet-form textarea { min-height: 92px; resize: vertical; }
.cabinet-form .checkbox,.cabinet-section form:not(.cabinet-form) .checkbox { display: flex; align-items: flex-start; gap: 9px; margin: 0; color: #596174; font-size: 10px; font-weight: 650; }
.cabinet-form .checkbox input,.cabinet-section form:not(.cabinet-form) .checkbox input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--cabinet-primary); }
.cabinet-section button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 14px; color: #fff; background: linear-gradient(135deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border: 0; border-radius: 10px; font-size: 10px; font-weight: 760; cursor: pointer; }
.cabinet-section > form:not(.cabinet-form) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0; }
.cabinet-body .table-wrap { width: 100%; overflow: auto; }
.cabinet-body .table-wrap table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; }
.cabinet-body .table-wrap th { padding: 9px 10px; color: #9299a8; background: #f6f8fb; border-top: 1px solid var(--cabinet-line); border-bottom: 1px solid var(--cabinet-line); font-size: 8px; font-weight: 820; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.cabinet-body .table-wrap th:first-child { border-left: 1px solid var(--cabinet-line); border-radius: 10px 0 0 10px; }
.cabinet-body .table-wrap th:last-child { border-right: 1px solid var(--cabinet-line); border-radius: 0 10px 10px 0; }
.cabinet-body .table-wrap td { padding: 11px 10px; color: #555d70; border-bottom: 1px solid #edf0f5; font-size: 10px; vertical-align: middle; }
.cabinet-body .table-wrap td form { display: flex; min-width: 285px; align-items: center; gap: 6px; margin: 0; }
.cabinet-body .table-wrap td form input:not([type="hidden"]) { min-width: 120px; min-height: 34px; padding: 7px 9px; border: 1px solid #dfe4ed; border-radius: 8px; font-size: 9px; }
.cabinet-body .table-wrap td form button { min-height: 34px; padding: 7px 9px; white-space: nowrap; }

.cabinet-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.cabinet-stack { display: grid; gap: 18px; }
.cabinet-subsection { display: grid; gap: 18px; padding-top: 8px; scroll-margin-top: 22px; }
.cabinet-subsection-heading { padding: 20px 3px 2px; }
.cabinet-subsection-heading .cabinet-eyebrow { display: block; margin-bottom: 5px; color: var(--cabinet-primary); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.cabinet-subsection-heading h2 { margin: 0; color: #242838; font-size: clamp(21px,2.5vw,28px); letter-spacing: -.04em; }
.cabinet-subsection-heading p { max-width: 720px; margin: 7px 0 0; color: var(--cabinet-muted); font-size: 11px; }
.cabinet-card { min-width: 0; padding: clamp(20px,2.5vw,29px); background: var(--cabinet-card); border: 1px solid var(--cabinet-line); border-radius: 19px; box-shadow: 0 12px 34px rgb(51 62 91 / .055); }
.cabinet-card h2 { margin: 0; color: #282b3a; font-size: 17px; letter-spacing: -.025em; }
.cabinet-card h3 { margin: 0; color: #303343; font-size: 13px; }
.cabinet-card-lead { margin: 7px 0 20px; color: var(--cabinet-muted); font-size: 10px; }
.cabinet-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.cabinet-card-header p { margin: 5px 0 0; color: var(--cabinet-muted); font-size: 10px; }
.cabinet-card-number { color: var(--cabinet-primary); font-size: 25px; font-weight: 850; letter-spacing: -.04em; }
.cabinet-progress { height: 8px; overflow: hidden; background: #edf0f6; border-radius: 999px; }
.cabinet-progress > span { display: block; height: 100%; background: linear-gradient(90deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border-radius: inherit; }
.cabinet-progress.is-0 > span { width: 0; }
.cabinet-progress.is-1 > span { width: 33.333%; }
.cabinet-progress.is-2 > span { width: 66.666%; }
.cabinet-progress.is-3 > span { width: 100%; }
.cabinet-steps { display: grid; gap: 11px; margin: 20px 0 0; padding: 0; list-style: none; }
.cabinet-steps li { display: grid; min-height: 31px; align-items: center; gap: 10px; color: #6f7688; grid-template-columns: 26px minmax(0,1fr); font-size: 11px; }
.cabinet-steps li::before { display: grid; width: 25px; height: 25px; content: "·"; place-items: center; color: #7b8798; background: #f0f2f7; border-radius: 9px; font-weight: 900; }
.cabinet-steps li.is-ready { color: #303342; font-weight: 680; }
.cabinet-steps li.is-ready::before { content: "✓"; color: #fff; background: var(--cabinet-primary); }

.cabinet-status { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 18px; background: linear-gradient(145deg,#fafbfe,#f2f5fa); border: 1px solid var(--cabinet-line); border-radius: 15px; }
.cabinet-status small { display: block; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-status strong { display: block; margin-top: 4px; font-size: 13px; }
.cabinet-content > .cabinet-status { margin-bottom: 18px; }
.cabinet-badge { display: inline-flex; min-height: 29px; align-items: center; padding: 6px 10px; color: #626a7d; background: #eceff5; border-radius: 999px; font-size: 9px; font-weight: 760; white-space: nowrap; }
.cabinet-badge.is-pending { color: #6e5c00; background: #fff7bd; }
.cabinet-badge.is-verified { color: #1f624f; background: #dff7ee; }
.cabinet-badge.is-correction { color: #315f9e; background: #eaf1fb; }
.cabinet-badge.is-rejected { color: #8e3749; background: #ffe9ed; }

.cabinet-message { margin-bottom: 18px; padding: 13px 15px; color: #4b6375; background: #eef6fb; border: 1px solid #d7e8f1; border-radius: 12px; font-size: 11px; }
.cabinet-message.is-info { color: #365b7a; background: #eaf4fc; border-color: #cfe4f5; }
.cabinet-message.is-success { color: #22604f; background: #eaf9f3; border-color: #cceade; }
.cabinet-message.is-danger { color: #8e3749; background: #fff0f2; border-color: #f2d2d8; }
.cabinet-message.is-warning { color: #365b7a; background: #eaf4fc; border-color: #cfe4f5; }
.cabinet-message:last-child { margin-bottom: 0; }

.cabinet-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 18px; }
.cabinet-form-grid .is-wide { grid-column: 1/-1; }
.cabinet-phone-fields { display: grid; grid-template-columns: minmax(170px,.65fr) minmax(220px,1.35fr); gap: 12px; }
.cabinet-passport-top { display: grid; grid-template-columns: minmax(270px,1.25fr) minmax(190px,.75fr); align-items: start; gap: 18px; }
.cabinet-passport-identity { display: grid; grid-template-columns: minmax(92px,.7fr) minmax(150px,1.3fr); align-items: start; gap: 12px; }
.cabinet-passport-identity.is-series-hidden { grid-template-columns: 1fr; }
.cabinet-field { display: flex; align-self: start; flex-direction: column; gap: 6px; min-width: 0; color: #4b5264; font-size: 10px; font-weight: 720; }
.cabinet-field-label { display: inline-flex; align-items: baseline; gap: 4px; min-width: 0; white-space: nowrap; }
.cabinet-field-label small { color: var(--cabinet-muted); font: inherit; font-weight: 560; }
.cabinet-field[hidden] { display: none !important; }
.cabinet-field input,.cabinet-field select,.cabinet-field textarea,.cabinet-card > form input:not([type="hidden"]):not([type="checkbox"]),.cabinet-card > form select,.cabinet-card > form textarea { width: 100%; min-height: 43px; padding: 10px 12px; color: #303445; background: #fafbfe; border: 1px solid #dfe4ed; border-radius: 11px; outline: 0; font-size: 11px; transition: border-color .18s,box-shadow .18s,background .18s; }
.cabinet-field input[type="date"],.cabinet-card > form input[type="date"] { display: block; box-sizing: border-box; flex: 0 0 43px; width: 100%; height: 43px !important; min-width: 0; min-height: 43px !important; max-height: 43px; padding: 10px 12px; line-height: 21px; -webkit-appearance: none; appearance: none; }
.cabinet-field input[type="date"]::-webkit-date-and-time-value,.cabinet-card > form input[type="date"]::-webkit-date-and-time-value { min-height: 21px; margin: 0; text-align: left; }
.cabinet-field input[type="date"]::-webkit-calendar-picker-indicator,.cabinet-card > form input[type="date"]::-webkit-calendar-picker-indicator { width: 18px; height: 18px; margin: 0; padding: 0; }
.cabinet-field textarea,.cabinet-card > form textarea { min-height: 92px; resize: vertical; }
.cabinet-field input:focus,.cabinet-field select:focus,.cabinet-field textarea:focus,.cabinet-card > form input:focus,.cabinet-card > form select:focus,.cabinet-card > form textarea:focus { background: #fff; border-color: rgb(49 95 158 / .45); box-shadow: 0 0 0 4px rgb(49 95 158 / .08); }
.cabinet-field input:disabled,.cabinet-field select:disabled,.cabinet-field textarea:disabled { color: #8a91a1; background: #f0f2f6; cursor: not-allowed; }
.cabinet-field.has-error input,.cabinet-field.has-error select,.cabinet-field.has-error textarea { border-color: #c94b57; box-shadow: 0 0 0 3px rgb(201 75 87 / .08); }
.cabinet-field .cabinet-field-error { color: #a32f3b; font-size: 10px; font-weight: 650; line-height: 1.4; }
.cabinet-checkbox.has-error input { outline: 2px solid rgb(201 75 87 / .45); outline-offset: 2px; }
.cabinet-checkbox .cabinet-field-error { display: block; margin-top: 4px; color: #a32f3b; font-size: 10px; font-weight: 650; line-height: 1.4; }
.cabinet-form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.cabinet-checkbox { display: flex; align-items: flex-start; gap: 9px; margin: 18px 0; color: #596174; font-size: 10px; font-weight: 650; }
.cabinet-checkbox input { flex: 0 0 auto; width: 18px !important; height: 18px; min-height: 0 !important; margin: 0; accent-color: var(--cabinet-primary); }
.cabinet-card input[type="file"] { padding: 7px !important; }
.cabinet-card input[type="file"]::file-selector-button { margin-right: 9px; padding: 7px 10px; color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); border: 0; border-radius: 8px; font: inherit; font-weight: 750; cursor: pointer; }
.cabinet-avatar-modal { position: fixed; z-index: 100; inset: 0; display: grid; width: 100%; height: 100vh; height: 100dvh; overflow-y: auto; padding: max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); place-items: center; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.cabinet-avatar-modal[hidden] { display: none; }
.cabinet-avatar-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgb(20 31 48 / .58); border: 0; backdrop-filter: blur(5px); }
.cabinet-avatar-dialog { position: relative; z-index: 1; width: min(100%,520px); max-height: min(100%,760px); overflow: auto; padding: 24px; background: #fff; border: 1px solid #dce5f0; border-radius: 22px; box-shadow: 0 28px 90px rgb(20 39 66 / .28); }
.cabinet-avatar-dialog > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.cabinet-avatar-dialog h2 { margin: 2px 0 4px; color: var(--cabinet-text); font-size: 21px; letter-spacing: -.035em; }
.cabinet-avatar-dialog header p { margin: 0; color: var(--cabinet-muted); font-size: 10px; line-height: 1.6; }
.cabinet-avatar-close { display: grid; flex: 0 0 auto; width: 34px; height: 34px; padding: 0; place-items: center; color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); border: 0; border-radius: 10px; font-size: 22px; cursor: pointer; }
.cabinet-avatar-dropzone { position: relative; width: min(100%,360px); margin: 0 auto; overflow: hidden; background: #e8eef7; border: 2px dashed #b8cbe3; border-radius: 18px; aspect-ratio: 1; touch-action: none; }
.cabinet-avatar-dropzone::after { position: absolute; z-index: 3; inset: 8%; content: ""; border: 2px solid rgb(255 255 255 / .92); border-radius: 50%; box-shadow: 0 0 0 999px rgb(18 35 57 / .28); pointer-events: none; }
.organization-logo-modal .cabinet-avatar-dropzone::after { border-radius: 16px; }
.cabinet-avatar-dropzone.is-dragging { border-color: var(--cabinet-primary); background: var(--cabinet-primary-soft); }
.cabinet-avatar-dropzone canvas { display: block; width: 100%; height: 100%; cursor: grab; }
.cabinet-avatar-dropzone canvas:active { cursor: grabbing; }
.cabinet-avatar-empty { position: absolute; z-index: 2; inset: 0; display: grid; align-content: center; justify-items: center; padding: 28px; color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); text-align: center; pointer-events: none; }
.cabinet-avatar-empty strong { font-size: 12px; }
.cabinet-avatar-empty span { margin-top: 5px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-avatar-empty.is-hidden { display: none; }
.cabinet-avatar-zoom { display: grid; gap: 7px; margin-top: 17px; color: #4b5264; font-size: 10px; font-weight: 720; }
.cabinet-avatar-zoom input { width: 100%; accent-color: var(--cabinet-primary); }
.cabinet-avatar-error { margin: 12px 0 0; padding: 10px 12px; color: #8e3749; background: #fff0f2; border: 1px solid #f2d2d8; border-radius: 10px; font-size: 10px; }
.cabinet-avatar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.cabinet-avatar-open { overflow: hidden; }

.cabinet-files { display: grid; gap: 9px; margin-top: 19px; }
.cabinet-file { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 13px; background: #f8f9fc; border: 1px solid var(--cabinet-line); border-radius: 12px; font-size: 10px; }
.cabinet-file strong { display: block; max-width: 360px; overflow: hidden; color: #343747; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-file small { display: block; margin-top: 3px; color: var(--cabinet-muted); }
.cabinet-empty { padding: 15px; color: var(--cabinet-muted); background: #f8f9fc; border: 1px dashed #dce1eb; border-radius: 12px; font-size: 10px; text-align: center; }

.cabinet-table-wrap { overflow: auto; margin: -3px; padding: 3px; }
.cabinet-table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; }
.cabinet-table th { padding: 10px 11px; color: #9299a8; background: #f6f8fb; border-top: 1px solid var(--cabinet-line); border-bottom: 1px solid var(--cabinet-line); font-size: 8px; font-weight: 820; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.cabinet-table th:first-child { border-left: 1px solid var(--cabinet-line); border-radius: 10px 0 0 10px; }
.cabinet-table th:last-child { border-right: 1px solid var(--cabinet-line); border-radius: 0 10px 10px 0; }
.cabinet-table td { padding: 12px 11px; color: #555d70; border-bottom: 1px solid #edf0f5; font-size: 10px; vertical-align: middle; }

/* Лицевой счет сохраняет читаемую типографику и явную финансовую иерархию. */
.billing-heading p,.billing-section .cabinet-subsection-heading p,.billing-orders .cabinet-card-header p,.billing-usage .cabinet-card-header p { font-size: 14px; line-height: 1.55; }
.billing-section .cabinet-subsection-heading h2,.billing-orders h2,.billing-usage h2 { font-size: clamp(22px,2.5vw,30px); }
.billing-tariff-grid { align-items: stretch; }
.billing-tariff-card { display: flex; flex-direction: column; gap: 18px; }
.billing-tariff-card.is-disabled { background: #f5f7fa; border-color: #dfe5ed; }
.billing-tariff-card.is-disabled .billing-purchase-form { opacity: .55; }
.billing-tariff-card h3 { font-size: 18px; }
.billing-tariff-card .cabinet-card-header p,.billing-tariff-card > p { font-size: 13px; line-height: 1.5; }
.billing-purchase-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: end; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--cabinet-line); }
.billing-purchase-form .cabinet-field { font-size: 13px; }
.billing-purchase-form input { font-size: 15px; }
.billing-purchase-total { display: grid; gap: 4px; min-height: 43px; align-content: center; }
.billing-purchase-total small { color: var(--cabinet-muted); font-size: 11px; }
.billing-purchase-total strong { color: var(--cabinet-text); font-size: 20px; }
.billing-purchase-form .cabinet-button { width:100%; min-height:43px; }
.billing-balance-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 26px 0 18px; padding: clamp(24px,4vw,38px); color: #fff; background: linear-gradient(135deg,#315f9e,#4d80be); border-radius: 22px; box-shadow: 0 18px 42px rgb(49 95 158 / .2); }
.billing-balance-card .cabinet-eyebrow,.billing-balance-card p { color: rgb(255 255 255 / .78); }
.billing-balance-card strong { display: block; margin-top: 6px; font-size: clamp(40px,7vw,66px); line-height: 1; }
.billing-balance-card p { margin: 7px 0 0; font-size: 15px; }
.billing-balance-card > span { display: grid; width: 72px; height: 72px; place-items: center; background: rgb(255 255 255 / .14); border-radius: 22px; font-size: 30px; }
.billing-orders,.billing-usage { margin-bottom: 18px; }
.dashboard-billing-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; background: linear-gradient(135deg,#f7faff,#edf5ff); border-color: #d6e5f6; }
.dashboard-billing-card h2 { margin: 5px 0 0; color: var(--cabinet-primary-dark); font-size: clamp(36px,5vw,52px); }
.dashboard-billing-card p { margin: 3px 0 0; color: var(--cabinet-muted); font-size: 14px; }
.registration-confirm-dialog { width: min(560px,calc(100vw - 28px)); padding: 0; color: var(--cabinet-text); background: transparent; border: 0; }
.registration-confirm-dialog::backdrop { background: rgb(20 29 45 / .62); backdrop-filter: blur(4px); }
.registration-confirm-content { position: relative; padding: clamp(24px,5vw,38px); background: #fff; border: 1px solid var(--cabinet-line); border-radius: 22px; box-shadow: 0 24px 80px rgb(18 32 55 / .3); }
.registration-confirm-content h2 { margin: 8px 42px 12px 0; font-size: clamp(22px,4vw,30px); }
.registration-confirm-content p { color: var(--cabinet-muted); font-size: 14px; line-height: 1.55; }
.registration-confirm-close { position: absolute; right: 18px; top: 16px; width: 38px; height: 38px; color: var(--cabinet-muted); background: #f2f5f9; border: 0; border-radius: 50%; font-size: 24px; cursor: pointer; }
.registration-confirm-content .cabinet-form-actions { justify-content: flex-end; margin-top: 22px; }
.billing-orders .cabinet-table { min-width: 690px; table-layout: fixed; }
.billing-orders .cabinet-table th { padding: 8px 10px; font-size: 9px; }
.billing-orders .cabinet-table th:nth-child(1) { width: 22%; }
.billing-orders .cabinet-table th:nth-child(2) { width: 24%; }
.billing-orders .cabinet-table th:nth-child(3) { width: 13%; }
.billing-orders .cabinet-table th:nth-child(4) { width: 18%; }
.billing-orders .cabinet-table th:nth-child(5) { width: 23%; }
.billing-orders .cabinet-table td { padding: 11px 10px; font-size: 12px; line-height: 1.4; }
.billing-usage .cabinet-table { min-width: 640px; table-layout:fixed; }
.billing-usage .cabinet-table th { padding:8px 10px; font-size:9px; }
.billing-usage .cabinet-table th:nth-child(1) { width:17%; }
.billing-usage .cabinet-table th:nth-child(2) { width:27%; }
.billing-usage .cabinet-table th:nth-child(3) { width:27%; }
.billing-usage .cabinet-table th:nth-child(4) { width:17%; }
.billing-usage .cabinet-table th:nth-child(5) { width:12%; }
.billing-usage .cabinet-table td { padding:11px 10px; font-size:12px; line-height:1.4; }
.billing-order-identity,.billing-order-tariff,.billing-order-status { display: grid; justify-items: start; gap: 3px; min-width: 0; }
.billing-order-identity code { display: block; max-width: 100%; overflow: hidden; color: var(--cabinet-primary-dark); font: 780 11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-overflow: ellipsis; white-space: nowrap; }
.billing-order-identity time,.billing-order-identity small,.billing-order-tariff small,.billing-order-status small { color: var(--cabinet-muted); font-size: 10px; }
.billing-order-identity strong,.billing-order-tariff strong { max-width: 100%; overflow: hidden; color: var(--cabinet-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.billing-order-amount { color: var(--cabinet-text); font-size: 13px; white-space: nowrap; }
.billing-order-status .cabinet-badge { min-height: 25px; padding: 4px 8px; font-size: 9px; }
.billing-order-actions { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.billing-order-actions form { margin: 0; }
.billing-order-actions .cabinet-button { min-height: 31px; padding: 7px 10px; border-radius: 8px; box-shadow: none; font-size: 10px; white-space: nowrap; }
.billing-order-document-state { display:inline-flex; min-height:31px; align-items:center; padding:7px 10px; color:#697589; background:#f1f4f8; border-radius:8px; font-size:10px; font-weight:700; white-space:nowrap; }
.billing-order-document-state.is-unavailable { color:#98a1b0; background:#f6f7f9; }
.billing-orders-empty,.billing-usage-empty { padding:22px !important; color:var(--cabinet-muted) !important; text-align:center; }

@media (max-width: 760px) {
    .billing-purchase-form { grid-template-columns: 1fr; }
    .billing-purchase-form .cabinet-button { grid-column: auto; width: 100%; }
    .billing-balance-card > span { display: none; }
    .dashboard-billing-card { align-items: stretch; flex-direction: column; }
}

@media (max-width: 580px) {
    .billing-orders .cabinet-table { min-width: 0; }
    .billing-orders .cabinet-table td { padding: 10px 12px; }
    .billing-order-actions { justify-content: flex-start; }
    .billing-order-identity code { white-space: normal; overflow-wrap: anywhere; }
    .billing-order-document-state { justify-content:center; width:100%; }
    .billing-order-actions,.billing-order-actions form,.billing-order-actions .cabinet-button { width:100%; }
    .billing-orders-empty,.billing-usage-empty { display:block !important; width:100% !important; }
    .billing-orders-empty::before,.billing-usage-empty::before { content:none !important; }
}
.cabinet-history { margin-top: 18px; }
.cabinet-reverification { margin-top: 16px; overflow: hidden; background: #fff; border: 1px solid #d9e4f1; border-radius: 14px; }
.cabinet-reverification summary { padding: 14px 16px; color: var(--cabinet-primary-dark); background: #f8fbff; font-size: 11px; font-weight: 800; cursor: pointer; list-style-position: inside; }
.cabinet-reverification[open] summary { border-bottom: 1px solid #e4ebf4; }
.cabinet-reverification-panel { padding: 16px; }
.cabinet-reverification-panel > p { margin: 0 0 14px; color: var(--cabinet-muted); font-size: 10px; line-height: 1.65; }
.cabinet-dashboard-links { margin-top: 18px; }
.cabinet-dashboard-link { display: grid; align-items: center; gap: 15px; color: inherit; grid-template-columns: 42px minmax(0,1fr) auto; text-decoration: none; transition: border-color .18s,box-shadow .18s,transform .18s; }
.cabinet-dashboard-link:hover { border-color: #cfdced; box-shadow: 0 16px 38px rgb(49 95 158 / .1); transform: translateY(-2px); }
.cabinet-dashboard-link h2 { margin: 0 0 4px; }
.cabinet-dashboard-link p { margin: 0; color: var(--cabinet-muted); font-size: 10px; }
.cabinet-dashboard-link > span:last-child { color: var(--cabinet-primary); font-size: 18px; }
.cabinet-organization-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cabinet-organization-switcher { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.cabinet-organization-switch { display: grid; width: 100%; min-width: 0; min-height: 88px; align-items: center; gap: 12px; margin: 0; padding: 14px; color: #596174; background: #fff; border: 1px solid var(--cabinet-line); border-radius: 15px; box-shadow: 0 9px 26px rgb(51 62 91 / .04); grid-template-columns: 38px minmax(0,1fr) auto; text-align: left; text-decoration: none; transition: border-color .18s,box-shadow .18s,transform .18s; }
.cabinet-organization-switch:hover { border-color: #c9d8ea; box-shadow: 0 13px 30px rgb(49 95 158 / .09); transform: translateY(-1px); }
.cabinet-organization-switch button { display: grid; width: 100%; min-height: 88px; align-items: center; gap: 12px; padding: 14px; color: #596174; background: #fff; border: 1px solid var(--cabinet-line); border-radius: 15px; box-shadow: 0 9px 26px rgb(51 62 91 / .04); cursor: pointer; grid-template-columns: 38px minmax(0,1fr) auto; text-align: left; transition: border-color .18s,box-shadow .18s,transform .18s; }
.cabinet-organization-switch button:hover { border-color: #c9d8ea; box-shadow: 0 13px 30px rgb(49 95 158 / .09); transform: translateY(-1px); }
.cabinet-organization-switch.is-active button { background: #fafdff; border-color: var(--cabinet-primary-light); box-shadow: 0 12px 32px rgb(49 95 158 / .12),inset 3px 0 0 var(--cabinet-primary); }
.cabinet-organization-switch-icon { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: linear-gradient(145deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border-radius: 11px; font-size: 16px; font-weight: 900; }
.cabinet-organization-switch strong,.cabinet-organization-switch small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-organization-switch strong { color: #303343; font-size: 11px; }
.cabinet-organization-switch small { margin-top: 3px; color: var(--cabinet-muted); font-size: 8px; }
.cabinet-organization-switch em { display: block; margin-top: 7px; color: var(--cabinet-primary); font-size: 9px; font-style: normal; font-weight: 760; }
.organization-identity { display: grid; justify-items: center; gap: 5px; margin: 30px 0 25px; text-align: center; }
.organization-identity-mark { display: grid; width: 64px; height: 64px; margin-bottom: 7px; place-items: center; color: #fff; background: linear-gradient(145deg,var(--cabinet-primary-light),var(--cabinet-primary-dark)); border: 5px solid #fff; border-radius: 19px; box-shadow: 0 12px 30px rgb(49 95 158 / .2); font-size: 26px; font-weight: 900; }
.organization-identity-mark img { display: block; width: 100%; height: 100%; border-radius: 14px; object-fit: cover; }
.organization-logo-edit { margin: -4px 0 4px; }
.organization-identity strong { width: 100%; overflow: hidden; color: #272938; text-overflow: ellipsis; white-space: nowrap; }
.organization-identity small { color: var(--cabinet-muted); font-size: 9px; }
.organization-nav-disabled { display: grid; min-height: 44px; align-items: center; gap: 9px; padding: 10px 11px; color: #a2a9b7; border-radius: 11px; grid-template-columns: 24px minmax(0,1fr) auto; font-size: 11px; }
.organization-nav-disabled img { width: 20px; height: 20px; opacity: .38; }
.organization-nav-disabled small { color: #9aa5b7; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.organization-ad-slot { display: grid; gap: 5px; margin-top: auto; padding: 15px; color: #365b7a; background: #eaf4fc; border: 1px dashed #b8d3eb; border-radius: 14px; }
.organization-ad-slot small { color: var(--cabinet-primary); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.organization-ad-slot strong { font-size: 9px; line-height: 1.45; }
.cabinet-user-ad-slots { display: grid; gap: 9px; margin-top: 14px; }
.cabinet-user-ad-slot { display: grid; gap: 5px; padding: 13px 15px; color: #365b7a; background: #f4f8fd; border: 1px dashed #c7d9ea; border-radius: 14px; }
.cabinet-user-ad-slot small { color: var(--cabinet-primary); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cabinet-user-ad-slot strong { font-size: 9px; line-height: 1.45; }
.organization-back-link { display: block; margin: 12px 0 0; padding: 9px 10px; color: var(--cabinet-primary) !important; font-size: 9px; font-weight: 760; text-decoration: none; }
.organization-session-note { margin: -10px 0 22px; padding: 10px 13px; color: #365b7a; background: #eaf4fc; border: 1px solid #cfe4f5; border-radius: 11px; font-size: 9px; }
.cabinet-organization-create { margin-bottom: 18px; padding: 0; overflow: hidden; scroll-margin-top: 22px; }
.cabinet-organization-create > summary { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 16px; padding: 19px 24px; color: var(--cabinet-primary-dark); background: linear-gradient(145deg,#fff,#f6faff); cursor: pointer; list-style: none; }
.cabinet-organization-create > summary::-webkit-details-marker { display: none; }
.cabinet-organization-create > summary strong,.cabinet-organization-create > summary small { display: block; }
.cabinet-organization-create > summary strong { color: #2c3040; font-size: 13px; }
.cabinet-organization-create > summary small { margin-top: 3px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-organization-create > summary > span:last-child { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--cabinet-primary); border-radius: 10px; font-size: 18px; }
.cabinet-organization-create[open] > summary { border-bottom: 1px solid var(--cabinet-line); }
.cabinet-organization-create-panel { padding: clamp(20px,2.5vw,29px); }
.cabinet-organization-content { align-items: start; }
.cabinet-organization-side { display: grid; align-content: start; gap: 18px; min-width: 0; }
.cabinet-license-card { position: relative; overflow: hidden; background: linear-gradient(145deg,#fff 0%,#f6f9ff 100%); border-color: #cbdcf3; box-shadow: 0 14px 34px rgb(47 94 158 / .09); }
.cabinet-license-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg,var(--cabinet-primary),#72a8e8); content: ''; }
.cabinet-license-card .cabinet-license-panel { margin: 0; padding: 0; background: transparent; border: 0; }
.cabinet-license-card .cabinet-card-header h3 { font-size: 15px; }
.cabinet-recipient-search { position: relative; display: grid; gap: 8px; margin-bottom: 15px; }
.cabinet-recipient-results { position: relative; z-index: 5; display: grid; gap: 5px; padding: 7px; background: #fff; border: 1px solid #d9e4f1; border-radius: 12px; box-shadow: 0 15px 35px rgb(34 56 85 / .14); }
.cabinet-recipient-results[hidden] { display: none; }
.cabinet-recipient-results > button { width: 100%; padding: 10px 11px; color: #3d4658; background: #f7f9fc; border: 0; border-radius: 9px; font: inherit; font-size: 10px; text-align: left; cursor: pointer; }
.cabinet-recipient-results > button:hover { color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); }
.cabinet-recipient-results > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px; color: #365b7a; font-size: 10px; }
.cabinet-recipient-results > div strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-card-note { margin: 17px 0 0; padding: 12px 13px; color: #365b7a; background: #eaf4fc; border: 1px solid #cfe4f5; border-radius: 11px; font-size: 9px; }
.cabinet-inline-action { display: inline-flex; margin: 0 0 0 12px; vertical-align: middle; }
.cabinet-inline-action .cabinet-button { min-height: 34px; padding: 7px 11px; }
.cabinet-member-add { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--cabinet-line); }
.cabinet-member-actions { min-width: 180px; }
.cabinet-member-actions > summary { color: var(--cabinet-primary); font-size: 9px; font-weight: 800; cursor: pointer; }
.cabinet-member-actions[open] { padding: 12px; background: #f8fbff; border: 1px solid #dce7f3; border-radius: 11px; }
.cabinet-member-actions form { display: grid; gap: 9px; margin-top: 10px; }
.cabinet-member-actions .cabinet-button { min-height: 34px; padding: 7px 10px; }
.cabinet-remove-member { padding-top: 10px; border-top: 1px solid #e2e8f1; }
.cabinet-remove-member .cabinet-checkbox { margin: 0; }
.cabinet-registration-panel,.cabinet-license-panel { display: grid; gap: 16px; margin-top: 22px; padding: 19px; background: #f8fbff; border: 1px solid #dce7f3; border-radius: 15px; }
.cabinet-license-panel h3,.cabinet-legal-file-list h3 { margin: 0; color: #303445; font-size: 13px; }
.cabinet-registration-panel .cabinet-card-header,.cabinet-license-panel .cabinet-card-header { margin-bottom: 0; }
.cabinet-license-panel .cabinet-checkbox { margin: 0; }
.cabinet-license-activities { display: grid; gap: 9px; margin: 0; padding: 15px; background: #fff; border: 1px solid #dfe6ef; border-radius: 12px; }
.cabinet-license-activities legend { padding: 0 7px; color: #3f4c60; font-size: 10px; font-weight: 800; }
.cabinet-license-record { overflow: hidden; background: #fff; border: 1px solid #dce7f3; border-radius: 14px; }
.cabinet-license-record.is-verified { background: #f3fbf7; border-color: #cde8d9; }
.cabinet-license-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; padding: 15px 17px; cursor: pointer; list-style: none; }
.cabinet-license-summary::-webkit-details-marker { display: none; }
.cabinet-license-summary > span:first-child { display: grid; gap: 4px; min-width: 0; }
.cabinet-license-summary strong { overflow: hidden; color: #263247; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-license-summary small { color: var(--cabinet-muted); font-size: 9px; }
.cabinet-license-summary-state { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.cabinet-license-chevron { display: grid; width: 28px; height: 28px; place-items: center; color: #315f9e; background: #eaf2fc; border-radius: 9px; transition: transform .18s ease; }
.cabinet-license-record[open] .cabinet-license-chevron { transform: rotate(180deg); }
.cabinet-license-content { display: grid; gap: 15px; padding: 0 17px 17px; border-top: 1px solid #e7edf5; }
.cabinet-license-content > :first-child { margin-top: 17px; }
.cabinet-license-record h4,.cabinet-legal-file-list h4 { margin: 0; color: #263247; font-size: 12px; }
.cabinet-license-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0; }
.cabinet-license-details div { padding: 12px; background: #fff; border: 1px solid #e2e9f1; border-radius: 11px; }
.cabinet-license-details dt { color: var(--cabinet-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cabinet-license-details dd { margin: 5px 0 0; overflow-wrap: anywhere; color: #2d3547; font-size: 10px; }
.cabinet-license-activity-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.cabinet-license-activity-tags span { padding: 6px 9px; color: #315f9e; font-size: 9px; font-weight: 700; background: #eaf2fc; border-radius: 999px; }
.cabinet-license-create { overflow: hidden; background: #fff; border: 1px dashed #9db8dc; border-radius: 14px; }
.cabinet-license-create summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px; color: #315f9e; cursor: pointer; list-style: none; }
.cabinet-license-create summary::-webkit-details-marker { display: none; }
.cabinet-license-create summary strong,.cabinet-license-create summary small { display: block; }
.cabinet-license-create summary small { margin-top: 4px; color: var(--cabinet-muted); font-size: 9px; font-weight: 500; }
.cabinet-license-create form { display: grid; gap: 15px; padding: 0 16px 16px; }
.cabinet-draft-actions { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.cabinet-draft-actions > div { display: grid; gap: 3px; }
.cabinet-draft-delete { display: flex; align-items: center; gap: 8px; }
.cabinet-license-draft-note { margin-top: 22px; }
.cabinet-legal-file-list { display: grid; gap: 10px; margin-top: 20px; }
.cabinet-legal-file { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; background: #f8f9fc; border: 1px solid var(--cabinet-line); border-radius: 12px; }
.cabinet-legal-file strong,.cabinet-legal-file span { display: block; }
.cabinet-legal-file strong { color: #343747; font-size: 10px; }
.cabinet-legal-file span { margin-top: 3px; overflow-wrap: anywhere; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-legal-file-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.cabinet-legal-file-actions form { display: flex; align-items: center; gap: 8px; margin: 0; }
.cabinet-legal-file-actions .cabinet-checkbox { margin: 0; }
.cabinet-legal-file-actions .cabinet-button { min-height: 34px; padding: 7px 10px; }
.cabinet-backdrop { display: none; }
.cabinet-document-create > p,.cabinet-document-submit > p { color: var(--cabinet-muted); font-size: 10px; line-height: 1.65; }
.cabinet-document-section { margin-top: 19px; padding-top: 18px; border-top: 1px solid var(--cabinet-line); }
.cabinet-document-section h3,.cabinet-card > form > h3 { margin: 0 0 13px; color: var(--cabinet-text); font-size: 13px; }
.cabinet-field-wide { grid-column: 1/-1; }
.cabinet-document-list { display: grid; gap: 9px; }
.cabinet-document-row { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: space-between; gap: 15px; padding: 18px; color: var(--cabinet-text); background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 14px; text-decoration: none; transition: border-color .18s,transform .18s; }
.cabinet-document-row:hover { border-color: #b8cae2; transform: translateY(-1px); }
.cabinet-document-row strong,.cabinet-document-row small { display: block; }
.cabinet-document-row strong { font-size: 11px; }
.cabinet-document-row small { margin-top: 4px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-document-row.is-expanded { display: grid; width: 100%; min-width: 0; align-items: stretch; justify-items: stretch; gap: 16px; grid-template-columns: minmax(0,1fr); }
.cabinet-document-row-header { display: grid; width: 100%; min-width: 0; align-items: start; justify-self: stretch; gap: 18px; grid-column: 1/-1; grid-template-columns: minmax(0,1fr) auto; }
.cabinet-document-row-title { display: block; min-width: 0; }
.cabinet-document-row-title > strong { overflow-wrap: anywhere; font-size: 15px; line-height: 1.35; }
.cabinet-document-row-title > small { margin-top: 5px; color: #566176; font-size: 10px; font-weight: 730; }
.cabinet-document-row-title > span { display: block; margin-top: 5px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-source-badge { display: inline-flex; width: fit-content; margin-top: 7px; padding: 4px 8px; color: #7a4b00; background: #fff3cf; border-radius: 999px; font-size: 9px; font-style: normal; font-weight: 800; line-height: 1; }
.cabinet-source-badge.is-organization { color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); }
.cabinet-document-row-grid { display: grid; width: 100%; min-width: 0; justify-self: stretch; grid-column: 1/-1; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 24px; padding-top: 15px; border-top: 1px solid var(--cabinet-line); }
.cabinet-document-row-grid > span { min-width: 0; padding-right: 8px; }
.cabinet-document-row-grid strong { margin-top: 4px; overflow-wrap: anywhere; font-size: 10px; }
.cabinet-status-badge { flex: 0 0 auto; padding: 6px 9px; color: var(--cabinet-primary-dark); background: var(--cabinet-primary-soft); border-radius: 999px; font-size: 9px; font-weight: 800; }
.cabinet-status-badge.is-registered { color: var(--cabinet-success); background: var(--cabinet-success-soft); box-shadow: inset 0 0 0 1px rgb(36 115 72 / .1); }
.cabinet-inline-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.cabinet-inline-actions form { margin: 0; }
.cabinet-inline-actions .cabinet-button { min-height: 33px; padding: 7px 10px; }
.cabinet-document-danger-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.cabinet-document-danger-actions form { padding: 14px; background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 12px; }
.cabinet-document-search { display: flex; align-items: end; gap: 12px; margin: 0 0 18px; padding: 14px; background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 13px; }
.cabinet-document-search .cabinet-field { flex: 1 1 320px; margin: 0; }
.cabinet-document-search .cabinet-form-actions { flex: 0 0 auto; margin: 0; }
.cabinet-document-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0 0 18px; padding: 14px; background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 13px; }
.cabinet-document-filters .cabinet-field,.cabinet-document-filters .cabinet-form-actions { margin: 0; }
.cabinet-document-table { min-width: 980px; }
.cabinet-document-table th a { color: inherit; text-decoration: none; border-bottom: 1px dashed #9aabc0; }
.cabinet-document-table th a:hover { color: var(--cabinet-primary); border-bottom-color: currentColor; }
.cabinet-document-table td strong,.cabinet-document-table td small { display: block; }
.cabinet-document-table td small { margin-top: 4px; color: var(--cabinet-muted); font-size: 9px; }
.cabinet-table-link { color: var(--cabinet-primary); font-weight: 750; text-decoration: none; }
.cabinet-table-link:hover { text-decoration: underline; }
.cabinet-history-list { display: grid; gap: 9px; }
.cabinet-history-list > div { padding: 12px 13px; background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 11px; }
.cabinet-history-list strong,.cabinet-history-list small { display: block; }
.cabinet-history-list strong { color: var(--cabinet-text); font-size: 10px; }
.cabinet-history-list small { margin-top: 4px; color: var(--cabinet-muted); font-size: 9px; line-height: 1.55; }
.course-row-actions { display: grid; min-width: 180px; gap: 8px; }
.course-row-actions form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; }
.course-row-actions details { padding: 8px 10px; background: #f8fafd; border: 1px solid var(--cabinet-line); border-radius: 10px; }
.course-row-actions summary { color: var(--cabinet-primary); font-size: 9px; font-weight: 800; cursor: pointer; }
.course-row-actions details form { display: grid; margin-top: 10px; }
.course-description { overflow-wrap: anywhere; line-height: 1.65; }

@media (max-width: 1120px) {
    .cabinet-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cabinet-organization-switcher { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cabinet-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .cabinet-document-filters,.cabinet-document-row-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cabinet-app { display: block; width: 100%; min-height: 100vh; margin: 0; overflow: visible; border: 0; border-radius: 0; }
    .cabinet-sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; visibility: hidden; width: min(285px,86vw); padding: 26px 24px 22px; box-shadow: 22px 0 60px rgb(35 42 64 / .2); transform: translateX(-105%); transition: transform .22s,visibility .22s; }
    .cabinet-menu-open { overflow: hidden; }
    .cabinet-menu-open .cabinet-sidebar { visibility: visible; transform: translateX(0); }
    .cabinet-backdrop { position: fixed; z-index: 45; inset: 0; display: block; visibility: hidden; padding: 0; background: rgb(38 42 59 / .42); border: 0; opacity: 0; transition: opacity .22s,visibility .22s; }
    .cabinet-menu-open .cabinet-backdrop { visibility: visible; opacity: 1; }
    .cabinet-workspace { min-height: 100vh; margin: 0; border: 0; border-radius: 0; }
    .cabinet-mobile-header { position: relative; z-index: 46; display: flex; min-height: 67px; align-items: center; justify-content: space-between; padding: 0 18px; background: #fff; border-bottom: 1px solid var(--cabinet-line); }
    .cabinet-mobile-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; }
    .cabinet-mobile-brand img { display: block; filter: grayscale(1) sepia(1) saturate(3.2) hue-rotate(175deg) brightness(.76); }
    .cabinet-mobile-brand strong { font-size: 14px; letter-spacing: -.03em; }
    .cabinet-menu-button { display: grid; width: 42px; height: 42px; padding: 0; place-content: center; color: var(--cabinet-primary); background: var(--cabinet-primary-soft); border: 0; border-radius: 12px; cursor: pointer; }
    .cabinet-menu-button span { display: block; width: 17px; height: 2px; margin: 2px 0; background: currentColor; border-radius: 3px; transition: transform .2s,opacity .2s; }
    .cabinet-menu-open .cabinet-menu-button span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .cabinet-menu-open .cabinet-menu-button span:nth-child(2) { opacity: 0; }
    .cabinet-menu-open .cabinet-menu-button span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .cabinet-content { padding: 25px 18px 38px; }
}

@media (max-width: 580px) {
    .cabinet-document-filters,.cabinet-document-row-grid { grid-template-columns: 1fr; }
    .cabinet-document-row-header { grid-template-columns: 1fr; }
    .cabinet-document-row-header .cabinet-status-badge { justify-self: start; }
    .cabinet-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .cabinet-page-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
    .cabinet-heading-action,.cabinet-heading-action .cabinet-button { width: 100%; }
    .cabinet-summary-grid { grid-template-columns: 1fr; gap: 11px; }
    .analytics-summary-grid { grid-template-columns: 1fr; gap: 10px; }
    .cabinet-organization-switcher { grid-template-columns: 1fr; }
    .cabinet-organization-switch,.cabinet-organization-switch button { grid-template-columns: 38px minmax(0,1fr); }
    .cabinet-organization-switch .cabinet-badge { grid-column: 2; justify-self: start; }
    .cabinet-organization-create > summary { padding: 17px 18px; }
    .cabinet-inline-action,.cabinet-inline-action .cabinet-button { width: 100%; margin: 10px 0 0; }
    .cabinet-summary-card { min-height: 124px; }
    .cabinet-form-grid { grid-template-columns: 1fr; }
    .cabinet-form { grid-template-columns: 1fr; }
    .cabinet-form-grid .is-wide { grid-column: auto; }
    .cabinet-phone-fields { grid-template-columns: 1fr; }
    .cabinet-passport-top { grid-template-columns: 1fr; gap: 14px; }
    .cabinet-passport-identity { grid-template-columns: minmax(78px,.65fr) minmax(132px,1.35fr); gap: 10px; }
    .cabinet-passport-identity.is-series-hidden { grid-template-columns: 1fr; }
    .cabinet-card { padding: 18px; border-radius: 16px; }
    .cabinet-card-header { align-items: flex-start; flex-direction: column; }
    .cabinet-status { align-items: flex-start; flex-direction: column; }
    .cabinet-file { align-items: flex-start; flex-direction: column; }
    .cabinet-file .cabinet-button { width: 100%; }
    .cabinet-registration-panel,.cabinet-license-panel { padding: 14px; }
    .cabinet-license-details { grid-template-columns: 1fr; }
    .cabinet-license-summary { align-items: flex-start; }
    .cabinet-license-summary-state { align-items: flex-end; flex-direction: column; }
    .cabinet-draft-actions { grid-template-columns: 1fr; }
    .cabinet-draft-delete { align-items: stretch; flex-direction: column; }
    .cabinet-legal-file { align-items: stretch; flex-direction: column; }
    .cabinet-legal-file-actions,.cabinet-legal-file-actions form,.cabinet-legal-file-actions .cabinet-button { width: 100%; }
    .cabinet-document-row { align-items: flex-start; flex-direction: column; }
    .cabinet-inline-actions,.cabinet-inline-actions form,.cabinet-inline-actions .cabinet-button { width: 100%; }
    .cabinet-document-danger-actions { grid-template-columns: 1fr; }
    .cabinet-document-search { align-items: stretch; flex-direction: column; }
    .cabinet-document-search .cabinet-form-actions { width: 100%; }
    .cabinet-avatar-modal { padding: max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
    .cabinet-avatar-dialog { max-height: 100%; padding: 18px; border-radius: 17px; }
    .cabinet-avatar-actions,.cabinet-avatar-actions .cabinet-button { width: 100%; }
    .cabinet-table-wrap { overflow: visible; margin: 0; padding: 0; }
    .cabinet-table { display: block; min-width: 0; }
    .cabinet-table thead { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
    .cabinet-table tbody,.cabinet-table tr,.cabinet-table td { display: block; width: 100%; }
    .cabinet-table tr { overflow: hidden; margin-bottom: 10px; background: #fff; border: 1px solid var(--cabinet-line); border-radius: 12px; }
    .cabinet-table td { display: grid; grid-template-columns: minmax(96px,38%) minmax(0,1fr); gap: 10px; padding: 11px 12px; overflow-wrap: anywhere; border-bottom: 1px solid #edf0f5; }
    .cabinet-table td:last-child { border-bottom: 0; }
    .cabinet-table td::before { color: #8a93a3; content: attr(data-label); font-size: 8px; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
}

@media (prefers-reduced-motion: reduce) {
    .cabinet-sidebar,.cabinet-backdrop,.cabinet-nav a,.cabinet-button { transition: none; }
}
