/* The settings navigation stays visible while its existing forms change. */
.settings-shell{display:flex;flex-direction:column;gap:20px;height:calc(100dvh - 48px);min-height:420px;min-width:0}
.settings-heading h1{font-size:26px;margin:0 0 7px}.settings-heading p{font-size:13px;margin:0;line-height:1.7}
.settings-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;flex:1;min-height:0;align-items:start}
.settings-menu.card{padding:12px;border-radius:12px;box-shadow:0 2px 8px #0f172a04;max-height:100%;overflow-y:auto}
.settings-menu>summary{display:none}.settings-menu nav{display:grid;gap:4px}
.settings-link{display:flex;align-items:center;gap:11px;padding:12px;border-radius:8px;color:var(--ink);font-size:14px;line-height:1.55;min-height:45px;text-decoration:none}
.settings-link svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}
.settings-link:hover{background:var(--roz-selected)}.settings-link[aria-current=page]{background:var(--roz-selected);color:var(--accent);font-weight:600}.settings-link[aria-current=page] svg{color:var(--accent)}
.settings-link:focus-visible,.settings-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.settings-content{display:flex;flex-direction:column;min-width:0;height:100%;min-height:0}.settings-frame-wrap{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:12px}
#settings-frame{border:0;display:block;width:100%;height:100%;background:var(--bg)}
.settings-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;background:var(--bg);color:var(--muted);text-align:center;padding:24px}.settings-loading p{line-height:1.8;max-width:420px}
.settings-shell [hidden]{display:none!important}#settings-notice{padding:12px 16px;border:1px solid var(--line);background:var(--roz-selected);border-radius:10px;color:var(--ink);margin:0 0 12px;font-size:13px}
.roz-settings-content .wrap{padding:0!important}.roz-settings-content .card{border-radius:12px;box-shadow:0 2px 8px #0f172a04}.roz-settings-content .section-title h1{font-size:21px}.roz-settings-content .company-settings{margin:0}.roz-settings-content .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.roz-settings-content .kv{grid-template-columns:minmax(90px,130px) minmax(0,1fr)}
.roz-settings-content input:not([type]){width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--roz-input);color:var(--ink);font:inherit}
.roz-settings-content .company-page>.card{margin-top:0}
.report-page{display:flex;flex-direction:column;gap:16px;min-width:0}.report-page>.section-title{margin:0}.report-page h1{font-size:23px}.report-page h2{font-size:18px}.report-page p{line-height:1.8}.report-page .report-filters{grid-template-columns:repeat(2,minmax(130px,1fr)) auto;align-items:end;gap:14px}.report-filters .field{margin:0}.report-filters input[type=date]{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--roz-input);color:var(--ink);font:inherit}.report-filters .actions{align-items:center}.report-page .stat{display:flex;flex-direction:column;gap:10px;padding:18px}.report-page .stat strong{display:block;font-size:23px;line-height:1.6}.report-page .stat small{color:var(--muted);font-size:12px;line-height:1.6}.report-page .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.report-page .report-filters{grid-template-columns:repeat(2,minmax(130px,1fr)) auto}.report-page .table-wrap{overflow:auto}.report-page .section-title{flex-wrap:wrap}.report-page .section-title .btn{font-size:13px}
.roz-reports-content .debt-page{margin:0}.roz-reports-content .accounting-form{grid-template-columns:repeat(2,minmax(130px,1fr));max-width:none;align-items:end}.roz-reports-content .accounting-form button{justify-self:start}.roz-reports-content .card{min-width:0}
@media(max-width:900px){.report-page .report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters .actions{grid-column:1/-1}}
@media(max-width:520px){.report-page .report-filters,.roz-reports-content .accounting-form{grid-template-columns:minmax(0,1fr)}.report-page .stat strong{font-size:21px}.report-page .card{padding:16px}}
@media(max-width:1050px){.settings-layout{grid-template-columns:235px minmax(0,1fr);gap:16px}.settings-link{font-size:13px;padding:11px 9px;gap:9px}}
@media(max-width:760px){.settings-shell{height:calc(100dvh - 32px);gap:14px}.settings-heading h1{font-size:23px}.settings-layout{display:flex;flex-direction:column;gap:14px}.settings-menu.card{width:100%;flex:none;padding:8px;max-height:45%;overflow:auto}.settings-menu>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:10px;font-size:13px;font-weight:600}.settings-menu>summary::-webkit-details-marker{display:none}#settings-current-label{margin-inline-start:auto;color:var(--accent);font-weight:400;font-size:12px}.settings-menu nav{padding-top:7px}.settings-menu:not([open])>nav{display:none}.settings-content{flex:1;width:100%;min-height:240px}.settings-link{min-height:44px}.roz-settings-content .kv{grid-template-columns:1fr}.roz-settings-content .section-title h1{font-size:20px}}
@media print{.settings-menu,.settings-heading,.settings-loading,#settings-notice{display:none!important}.settings-shell,.settings-layout,.settings-content{display:block;height:auto}.settings-frame-wrap,#settings-frame{height:100vh}}

/* Reserve the workspace for content, with compact section navigation. */
.settings-shell { gap: 16px; }
.settings-heading h1 { font-size: 28px; margin: 0; }
.settings-layout { grid-template-columns: 216px minmax(0, 1fr); gap: 16px; }
.settings-menu.card { padding: 8px; }
.settings-link { padding: 10px; gap: 8px; font-size: 14px; }
.settings-link span { min-width: 0; overflow-wrap: anywhere; }
.settings-shell[data-settings-navigation=tabs] .settings-layout { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.settings-shell[data-settings-navigation=tabs] .settings-menu { flex: 0 0 auto; width: 100%; max-height: none; overflow: hidden; }
.settings-shell[data-settings-navigation=tabs] .settings-menu > summary { display: none; }
.settings-shell[data-settings-navigation=tabs] .settings-menu > nav { display: flex; gap: 6px; overflow-x: auto; padding: 2px; scrollbar-width: thin; }
.settings-shell[data-settings-navigation=tabs] .settings-link { flex: 0 0 auto; white-space: nowrap; min-height: 44px; padding: 10px 14px; }
.settings-shell[data-settings-navigation=tabs] .settings-content { flex: 1; height: auto; }
.settings-shell[data-settings-navigation=tabs] .settings-frame-wrap { min-height: 240px; }
.report-page .stat { padding: 16px; gap: 6px; border-radius: 14px; }
.report-page .stat strong { font-variant-numeric: tabular-nums; }
.report-page .table-wrap td { vertical-align: top; }
@media (max-width: 1050px) and (min-width: 761px) {
  .settings-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 760px) {
  .settings-shell { gap: 12px; }
  .settings-heading h1 { font-size: 24px; }
  .settings-layout { gap: 12px; }
  .settings-menu > summary { min-height: 44px; padding: 8px; }
  .settings-menu nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-link { align-items: start; }
  .settings-link svg { margin-top: 2px; }
  .settings-shell[data-settings-navigation=tabs] .settings-link { align-items: center; }
  .settings-shell[data-settings-navigation=tabs] .settings-link svg { margin-top: 0; }
}
@media (max-width: 380px) {
  .settings-menu nav { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .settings-shell[data-settings-navigation=tabs] .settings-layout { display: block; }
}
@media (max-width: 600px) {
  .report-page .report-section > .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .report-page .report-section .stat { padding: 12px; }
  .report-page .report-section .stat strong { font-size: 20px; overflow-wrap: anywhere; }
  .report-page .report-section .stat > span { font-size: 13px; line-height: 1.7; }
}
