.salary-month-picker{display:grid;gap:8px;min-width:0;width:300px;max-width:100%}.salary-month-label{font-size:13px;font-weight:600;color:#43566e}.salary-month-control{display:flex;align-items:center;border:1px solid #dce4ec;border-radius:11px;background:#fff;min-height:44px;padding:3px;gap:2px}.salary-month-control:focus-within{border-color:#648aa8;box-shadow:0 0 0 3px #e5eff7}.salary-month-control button{border:0!important;box-shadow:none!important;margin:0;min-height:38px;padding:7px!important;background:transparent!important;color:#35536d;border-radius:8px!important;display:flex;align-items:center;justify-content:center;font:inherit;cursor:pointer}.salary-month-control button:hover:not(:disabled){background:#eef4f8!important}.salary-month-control button:focus-visible{outline:2px solid #648aa8;outline-offset:-2px}.salary-month-control .salary-month-trigger{flex:1;min-width:0;gap:8px;font-size:13px;text-align:left}.salary-month-trigger strong{flex:1;white-space:nowrap;font-weight:650}.salary-month-control .salary-month-step{flex:0 0 30px;width:30px}.salary-month-control button:disabled{opacity:.45;cursor:default}.salary-month-popup{z-index:1800;box-sizing:border-box;padding:14px;background:#fff;border:1px solid #dce5ec;border-radius:15px;box-shadow:0 12px 44px #18334e2b;overflow:auto;color:#35516c;font-family:inherit}.salary-month-popup button{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px;border:0;border-radius:8px;background:transparent;color:#35516c;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.salary-month-popup button:hover{background:#eef4f8}.salary-month-popup button:focus-visible,.salary-month-popup select:focus-visible{outline:2px solid #5c87a8;outline-offset:2px}.salary-month-popup button:disabled{opacity:.4;cursor:default}.salary-month-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:650}.salary-month-year{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.salary-month-year select{min-height:38px;max-width:140px;flex:1;border:1px solid #dce5ec;border-radius:8px;background:#f7fafc;padding:6px 12px;color:#2d4862;font:inherit;font-size:15px;font-weight:700;text-align:center;cursor:pointer}.salary-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.salary-month-grid button{min-height:40px;padding:9px 3px;font-size:12px;font-weight:600}.salary-month-grid button.selected{background:#1d3857;color:#fff}.salary-month-grid button.current{box-shadow:inset 0 0 0 1px #87abbd;background:#f1f7fa}.salary-month-shortcuts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #e5edf3}.salary-month-shortcuts button{font-size:12px;color:#456e8c}.salary-month-shortcuts button[aria-pressed=true]{background:#e9f2f7}.aur-grid .salary-month-picker{width:100%}
.owner-profit-report-page { min-width:0; color:#36516b; }
.owner-profit-report-page *, .owner-profit-report-page *::before, .owner-profit-report-page *::after { box-sizing:border-box; }
.owner-profit-report-page .finance-heading { gap:16px; flex-wrap:wrap; }
.owner-profit-report-page .finance-heading > div { min-width:0; flex:1 1 320px; }
.owner-profit-report-page button { cursor:pointer; }
.owner-profit-report-page button:disabled { cursor:default; opacity:.55; }
.opr-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:18px; }
.opr-private { display:flex; align-items:center; gap:7px; font-size:11px; color:#678575; }
.opr-message { display:flex; align-items:flex-start; gap:9px; margin:0 0 14px; padding:12px 16px; background:#eff8f4; border:1px solid #d2e8dd; border-radius:10px; color:#3f715c; font-size:12px; line-height:1.6; }
.opr-message svg { flex-shrink:0; margin-top:2px; }
.opr-message p { margin:0; }
.opr-message p + p { margin-top:5px; }
.opr-error { color:#ab4d41; background:#fff5f2; border-color:#f0d0c9; }
.opr-warning { color:#87663c; background:#fff9ed; border-color:#ecdcb9; }
.opr-loading { color:#7f8e9c; margin:0 0 12px; font-size:11px; }
.opr-basis { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:11px; line-height:1.6; margin:0 0 13px; }
.opr-basis > span:first-child { color:#75889b; }
.opr-basis strong { color:#36516b; }
.opr-state { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:7px; background:#eaf6f0; color:#2d8161; font-size:10px; }
.opr-state-draft { color:#8b6a38; background:#fff3df; }
.opr-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.opr-metrics article { min-width:0; background:#fff; border:1px solid #e0e8ee; border-top:3px solid #31587f; border-radius:12px; padding:17px 16px; }
.opr-metrics article:nth-child(2) { border-top-color:#ff895b; }
.opr-metrics article:nth-child(3) { border-top-color:#459d82; }
.opr-metrics article:nth-child(4) { border-top-color:#806ab6; }
.opr-metrics span, .opr-metrics small { display:block; color:#82909e; font-size:11px; line-height:1.45; }
.opr-metrics strong { display:block; margin:9px 0 7px; font-size:clamp(18px,1.55vw,26px); color:#263b52; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.opr-metrics small { font-size:10px; }
.opr-zero-profit { margin:0 0 14px; font-size:12px; color:#896b45; line-height:1.6; }
.opr-panel { min-width:0; border:1px solid #dee7ee; background:#fff; border-radius:13px; overflow:hidden; margin:0 0 18px; }
.opr-section-head { padding:16px 18px; border-bottom:1px solid #e5ebf0; }
.opr-section-head h2, .opr-confirm h2, .opr-reserve h2 { font-size:14px; color:#2b455e; margin:0; }
.opr-section-head p, .opr-confirm p, .opr-reserve p { color:#81909e; font-size:11px; line-height:1.65; margin:5px 0 0; }
.owner-profit-report-page .opr-owners { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.owner-profit-report-page .opr-owners th, .owner-profit-report-page .opr-owners td { padding:16px 12px; border-bottom:1px solid #e6edf2; text-align:right; white-space:normal; overflow-wrap:anywhere; vertical-align:middle; font-variant-numeric:tabular-nums; }
.owner-profit-report-page .opr-owners strong { white-space:normal; overflow-wrap:anywhere; }
.owner-profit-report-page .opr-owners th { font-size:10px; font-weight:600; background:#f7f9fb; color:#8695a3; }
.owner-profit-report-page .opr-owners th:first-child { width:28%; }
.owner-profit-report-page .opr-owners th:nth-child(2) { width:7%; }
.owner-profit-report-page .opr-owners th:nth-child(3) { width:11%; }
.owner-profit-report-page .opr-owners th:nth-child(n+4) { width:18%; }
.owner-profit-report-page .opr-owners th:first-child, .owner-profit-report-page .opr-owners td:first-child { text-align:left; padding-left:18px; }
.owner-profit-report-page .opr-owners th:nth-child(2), .owner-profit-report-page .opr-owners td:nth-child(2), .owner-profit-report-page .opr-owners th:nth-child(3), .owner-profit-report-page .opr-owners td:nth-child(3) { text-align:center; }
.owner-profit-report-page .opr-owners td:first-child strong { color:#36516b; line-height:1.5; }
.owner-profit-report-page .opr-owners td:last-child strong { color:#287d5d; }
.owner-profit-report-page .opr-owners tfoot td { font-weight:700; font-size:11px; background:#f5f9f7; border-bottom:0; }
.opr-active-toggle { display:inline-flex; align-items:center; justify-content:center; width:100%; min-width:0; min-height:32px; cursor:pointer; }
.owner-profit-report-page .opr-active-toggle input { width:18px; height:18px; padding:0; margin:0; accent-color:#2e886b; cursor:pointer; }
.owner-profit-report-page .opr-active-toggle input:disabled { cursor:default; }
.opr-active-toggle input:focus-visible { outline:2px solid #326d95; outline-offset:4px; }
.opr-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.opr-table-note { padding:12px 18px; color:#7e8e9c; font-size:10px; line-height:1.7; border-top:1px solid #e5ede8; }
.opr-confirm { display:flex; align-items:center; flex-wrap:wrap; gap:18px; padding:18px; }
.opr-confirm > div { flex:1 1 420px; }
.opr-confirm small { display:block; margin-top:8px; color:#738a7e; font-size:10px; line-height:1.6; }
.owner-profit-report-page .opr-confirm > button { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:12px 15px; border:0; border-radius:9px; background:#1d3b5b; color:#fff; font-size:12px; font-weight:600; min-height:42px; }
.opr-confirm > button svg { flex-shrink:0; }
.opr-reason { display:block; flex:1 1 100%; color:#5a7288; font-size:11px; font-weight:600; }
.owner-profit-report-page .opr-reason textarea { display:block; width:100%; min-height:66px; margin-top:8px; padding:11px 12px; background:#fff; color:#36516b; border:1px solid #d7e2eb; border-radius:9px; resize:vertical; font:inherit; font-weight:400; line-height:1.6; }
.opr-reason textarea:focus { outline:2px solid #adcadf; outline-offset:1px; }
.opr-reserve { background:#f2f9f6; border-color:#d2e7dc; padding:17px 18px; }
.opr-reserve-main { display:flex; align-items:center; gap:11px; }
.opr-reserve-main > svg { flex-shrink:0; color:#39866a; }
.opr-reserve-main > div { flex:1; min-width:0; }
.opr-reserve-main > strong { font-size:clamp(19px,1.5vw,25px); color:#246e53; text-align:right; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.opr-reserve-main p { margin:3px 0 0; }
.opr-reserve > p { margin-top:12px; font-size:10px; color:#729382; }
.opr-bottom { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.opr-details summary { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 18px; cursor:pointer; list-style:none; color:#3c566e; font-size:12px; font-weight:600; }
.opr-details summary::-webkit-details-marker { display:none; }
.opr-details summary > span { display:flex; align-items:center; gap:7px; min-width:0; }
.opr-details summary > svg { flex-shrink:0; transition:transform .15s; }
.opr-details[open] summary > svg { transform:rotate(90deg); }
.opr-details summary small { display:inline-flex; align-items:center; justify-content:center; border-radius:6px; min-width:22px; height:22px; color:#7791a4; background:#edf3f7; padding:0 6px; font-size:10px; }
.opr-details[open] summary { border-bottom:1px solid #e6edf1; }
.opr-details-intro { margin:0; padding:12px 18px; font-size:10px; color:#7b8d9b; line-height:1.7; }
.opr-scale > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:9px 18px; border-bottom:1px solid #edf1f4; font-size:10px; line-height:1.6; }
.opr-scale b { text-align:right; color:#436c5d; font-weight:600; }
.opr-scale > div:last-child { border:0; }
.opr-month-history { max-height:350px; overflow-y:auto; }
.owner-profit-report-page .opr-month-history button { display:flex; align-items:center; width:100%; gap:12px; padding:13px 18px; border:0; border-bottom:1px solid #e8eef2; background:#fff; color:#36516b; text-align:left; font:inherit; font-size:11px; }
.opr-month-history button:hover, .opr-month-history button[aria-current="true"] { background:#f1f8f5; }
.opr-month-history button > span:first-child { flex:1; min-width:0; }
.opr-month-history button > span:nth-child(2) { text-align:right; }
.opr-month-history small { display:block; font-size:9px; color:#8496a3; line-height:1.7; margin-top:2px; }
.opr-month-history strong, .opr-month-history b { font-weight:600; font-variant-numeric:tabular-nums; }
.opr-month-history svg { flex-shrink:0; color:#90a599; }
.opr-revisions { margin-bottom:12px; }
.opr-revision { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:14px 18px; border-bottom:1px solid #e9eef2; font-size:10px; line-height:1.7; }
.opr-revision:last-child { border:0; }
.opr-revision > div:first-child { min-width:0; }
.opr-revision > div:first-child > span, .opr-revision small { display:block; color:#7c8e9d; }
.opr-revision > div:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:0 1 50%; min-width:0; gap:3px 14px; color:#7c8e9d; }
.opr-revision b { color:#426450; font-weight:600; font-variant-numeric:tabular-nums; }
.opr-footer { margin:0 0 12px; font-size:10px; line-height:1.7; color:#8695a2; }
@media (max-width:1200px) {
  .opr-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .owner-profit-report-page .opr-owners th, .owner-profit-report-page .opr-owners td { padding:13px 8px; font-size:11px; }
  .owner-profit-report-page .opr-owners th { font-size:9px; }
  .opr-bottom { grid-template-columns:minmax(0,1fr); gap:0; }
}
@media (max-width:650px) {
  .opr-toolbar { align-items:flex-start; }
  .opr-toolbar .salary-month-picker { width:100%; }
  .opr-metrics { gap:10px; }
  .opr-metrics article { padding:13px 11px; }
  .opr-metrics strong { font-size:18px; }
  .opr-metrics span { font-size:10px; }
  .owner-profit-report-page .opr-owners th, .owner-profit-report-page .opr-owners td, .owner-profit-report-page .opr-owners tfoot td { padding:12px 5px; font-size:10px; }
  .owner-profit-report-page .opr-owners th { font-size:9px; }
  .owner-profit-report-page .opr-owners th:first-child, .owner-profit-report-page .opr-owners td:first-child { padding-left:10px; }
  .owner-profit-report-page .opr-owners th:first-child { width:26%; }
  .owner-profit-report-page .opr-owners th:nth-child(2) { width:10%; }
  .owner-profit-report-page .opr-owners th:nth-child(3) { width:10%; }
  .owner-profit-report-page .opr-owners td:nth-child(2) { padding-left:2px; padding-right:2px; white-space:nowrap; font-size:9px; }
  .opr-section-head, .opr-confirm, .opr-reserve { padding:14px 12px; }
  .opr-table-note, .opr-details summary, .opr-details-intro, .opr-scale > div { padding-left:12px; padding-right:12px; }
  .opr-reserve-main { flex-wrap:wrap; }
  .opr-reserve-main > strong { flex-basis:100%; text-align:left; padding-left:33px; }
  .opr-revision { flex-direction:column; gap:9px; padding:12px; }
  .opr-revision > div:last-child { width:100%; }
  .opr-message { padding:11px 12px; }
}
.owner-development-reserve { margin-bottom:20px; }
.owner-development-reserve h2 { display:flex; align-items:center; gap:8px; }
/*$vite$:1*/