/* OrdnerBüro – konsolidierte app.css
   Bereinigt am 25.09.2026.
   Semantik-schonende Bereinigung: historische Kommentare, exakte Regelduplikate
   und später identisch wiederholte Deklarationen wurden entfernt.
   Selektoren und Kaskadenreihenfolge wurden ansonsten beibehalten. */

:root {
  --ob-font-ui: "Inter Variable", Inter, Arial, sans-serif;
  --ob-font-code: ui-monospace, SFMono-Regular, Consolas, monospace;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family: var(--ob-font-ui);
  background: #f4f1ea;
  color: #1b1b1b;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
select,
textarea {
  font: inherit;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 850;
  font-size: 20px;
}
.brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #1f2a2a;
  color: #e7c56d;
}
.brand.light {
  color: #fff;
}
.public-nav {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1220px;
  margin: auto;
  padding: 0 26px;
}
.public-nav nav {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 14px;
}
.btn {
  border: 0;
  border-radius: 12px;
  background: #1f2a2a;
  color: #fff;
  padding: 13px 18px;
  font-weight: 750;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn.small {
  padding: 9px 13px;
  font-size: 13px;
}
.btn.full {
  width: 100%;
}
.btn.ghost {
  background: transparent;
  color: #1f2a2a;
  border: 1px solid #c8c4b9;
}
.hero {
  max-width: 1220px;
  margin: 20px auto 70px;
  padding: 60px 26px 20px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 60px;
  align-items: center;
}
.eyebrow {
  font-size: 12px;
  letter-spacing: 0.18em;
  font-weight: 850;
  color: #9a7530;
}
.hero h1 {
  font-size: clamp(50px, 7vw, 92px);
  line-height: 0.92;
  letter-spacing: -0.055em;
  margin: 14px 0 24px;
}
.hero h1 span {
  color: #a27d35;
}
.hero-copy > p {
  font-size: 19px;
  line-height: 1.65;
  color: #555;
  max-width: 700px;
}
.hero-actions {
  display: flex;
  gap: 12px;
  margin: 30px 0;
}
.trust-row {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  color: #62706d;
  font-size: 13px;
}
.demo-window {
  background: #fff;
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 30px 80px #2e2c2520;
  border: 1px solid #ded8cb;
}
.demo-head {
  display: flex;
  gap: 6px;
  align-items: center;
  color: #777;
  font-size: 12px;
}
.demo-head span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c7c2b7;
}
.demo-head b {
  margin-left: 8px;
}
.demo-card {
  margin-top: 18px;
  padding: 20px;
  border-radius: 16px;
  background: #f7f2e5;
  border-left: 4px solid #a37d36;
}
.demo-card small {
  color: #aa583c;
  font-weight: 850;
}
.demo-card strong {
  display: block;
  font-size: 20px;
  margin: 7px 0;
}
.demo-card p {
  color: #666;
}
.demo-meta {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #777;
}
.demo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 12px 0;
}
.demo-grid div {
  background: #f4f5f2;
  border-radius: 14px;
  padding: 14px;
}
.demo-grid b {
  display: block;
  font-size: 26px;
}
.demo-grid small {
  color: #777;
}
.demo-mail {
  padding: 14px;
  border: 1px solid #ece8df;
  border-radius: 14px;
}
.demo-mail strong,
.demo-mail small {
  display: block;
  margin-left: 22px;
}
.problem,
.portal-feature {
  max-width: 1220px;
  margin: 100px auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.problem h2,
.portal-feature h2 {
  font-size: 44px;
  letter-spacing: -0.035em;
  margin: 12px 0;
}
.problem p,
.portal-feature p {
  font-size: 18px;
  line-height: 1.7;
  color: #666;
}
.steps {
  max-width: 1220px;
  margin: 70px auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.steps article {
  background: #fff;
  padding: 26px;
  border-radius: 18px;
  border: 1px solid #e4ded1;
}
.steps b {
  color: #a27d35;
  font-size: 13px;
}
.steps h3 {
  font-size: 20px;
}
.steps p {
  color: #666;
  line-height: 1.6;
}
.address-card {
  background: #202a2a;
  color: #fff;
  border-radius: 22px;
  padding: 34px;
}
.address-card small {
  color: #d5bb72;
}
.address-card strong {
  display: block;
  font-size: 24px;
  margin: 12px 0;
  word-break: break-all;
}
.address-card p {
  color: #c8cecb;
  font-size: 14px;
}
.cta {
  max-width: 1180px;
  margin: 90px auto 40px;
  border-radius: 28px;
  padding: 55px;
  background: #202a2a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.cta h2 {
  font-size: 36px;
  max-width: 700px;
  margin: 0;
}
.lightbtn {
  background: #e7c56d;
  color: #1d2525;
}
.footer {
  text-align: center;
  padding: 35px;
  color: #777;
}
.auth-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 30px;
  background: radial-gradient(circle at top, #ece2c9, #f5f2eb 44%);
}
.auth-card {
  width: min(460px, 100%);
  background: #fff;
  padding: 36px;
  border-radius: 24px;
  box-shadow: 0 25px 70px #4b44331d;
}
.auth-card.wide {
  width: min(620px, 100%);
}
.auth-card h1 {
  font-size: 34px;
  letter-spacing: -0.04em;
  margin: 35px 0 8px;
}
.auth-card > p {
  color: #707070;
  line-height: 1.5;
}
.auth-card label,
.form-panel label {
  display: grid;
  gap: 7px;
  margin: 16px 0;
  font-size: 13px;
  font-weight: 750;
}
.auth-card input,
.form-panel input,
.form-panel select,
.form-panel textarea,
.filterbar input,
.filterbar select,
.assign-box select,
.case-info select {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
  color: #222;
  outline: none;
}
.auth-card input:focus,
.form-panel input:focus,
.form-panel textarea:focus,
.form-panel select:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.auth-card small {
  display: block;
  text-align: center;
  margin-top: 18px;
  color: #777;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 255px;
  background: #1f2929;
  padding: 24px 18px;
  color: #d7dcda;
  z-index: 20;
}
.side-user {
  padding: 26px 8px 18px;
  border-bottom: 1px solid #ffffff14;
  gap: 5px;
}
.side-user small {
  font-size: 10px;
  color: #9ba8a5;
  word-break: break-all;
}
.side-nav {
  display: grid;
  gap: 6px;
  margin-top: 16px;
}
.side-nav a {
  padding: 11px 12px;
  border-radius: 10px;
  font-size: 14px;
}
.side-nav a:hover {
  background: #ffffff0d;
  color: #fff;
}
.main {
  margin-left: 255px;
  min-height: 100vh;
}
.topbar {
  height: 74px;
  background: #fbfaf7;
  border-bottom: 1px solid #e3dfd5;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 150;
}
.topbar > div:first-child {
  display: grid;
}
.topbar small {
  color: #888;
  font-size: 11px;
  margin-top: 3px;
}
.mail-chip {
  background: #ece7db;
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 12px;
  color: #5a5a53;
}
.mail-chip.large {
  font-size: 13px;
}
.content {
  padding: 30px;
  max-width: 1450px;
  margin: auto;
}
.content.narrow {
  max-width: 980px;
}
.welcome,
.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.welcome h1,
.page-head h1 {
  font-size: 38px;
  letter-spacing: -0.04em;
  margin: 6px 0;
}
.welcome p,
.page-head p {
  margin: 0;
  color: #777;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 20px 0;
}
.stats article {
  background: #fff;
  border: 1px solid #e1ddd4;
  border-radius: 16px;
  padding: 20px;
  display: grid;
  gap: 7px;
}
.stats article.hot {
  border-color: #d4a08e;
  background: #fff8f5;
}
.stats span {
  font-size: 12px;
  color: #777;
}
.stats b {
  font-size: 34px;
}
.stats a {
  font-size: 12px;
  color: #8f6b2e;
}
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.panel {
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 18px;
  padding: 20px;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.panel-head h2,
.panel h2 {
  margin: 0;
  font-size: 18px;
}
.panel-head a {
  font-size: 12px;
  color: #8f6b2e;
}
.list-row {
  display: grid;
  grid-template-columns: 12px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #eeeae2;
}
.list-row:first-of-type {
  border-top: 0;
}
.list-row small,
.activity small {
  display: block;
  color: #888;
  margin-top: 3px;
}
.list-row time {
  font-size: 12px;
}
.dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #81958e;
}
.dot.warning {
  background: #d69a38;
}
.dot.danger {
  background: #bd5f4a;
}
.activity {
  display: flex;
  gap: 10px;
  padding: 10px 0;
  border-top: 1px solid #eeeae2;
}
.activity > span {
  color: #b28b3f;
}
.mailbox-banner {
  margin-top: 16px;
  background: #253131;
  color: #fff;
  border-radius: 18px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mailbox-banner small {
  color: #cfb56a;
}
.mailbox-banner strong {
  display: block;
  font-size: 20px;
  margin: 5px 0;
}
.mailbox-banner p {
  margin: 0;
  color: #b9c1bf;
  font-size: 13px;
}
.copy-btn {
  background: #e4c46d;
  border: 0;
  padding: 10px 14px;
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
}
.filterbar {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}
.filterbar input {
  flex: 1;
}
.case-list {
  display: grid;
  gap: 10px;
}
.case-card {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 16px;
  align-items: center;
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 16px;
  padding: 16px;
}
.case-card:hover {
  border-color: #c5b078;
}
.case-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #efe8d7;
  color: #8d6b2c;
  display: grid;
  place-items: center;
  font-weight: 850;
}
.case-main h3 {
  margin: 6px 0 4px;
}
.case-main p {
  margin: 0;
  color: #777;
  font-size: 12px;
}
.status {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #e7eee9;
  color: #486254;
  border-radius: 20px;
  padding: 4px 7px;
}
.status.waiting {
  background: #eee9dd;
  color: #7a6534;
}
.status.done {
  background: #e7e7e7;
  color: #666;
}
.status.urgent {
  background: #f2ded8;
  color: #a64936;
  margin-left: 5px;
}
.case-side {
  text-align: right;
  display: grid;
  gap: 2px;
}
.case-side small {
  color: #999;
}
.warning {
  color: #c27d13 !important;
}
.danger {
  color: #b84933 !important;
}
.form-panel {
  padding: 26px;
}
.form-panel hr {
  border: 0;
  border-top: 1px solid #ece7de;
  margin: 26px 0;
}
.form-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}
.generator-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f5f1e7;
  padding: 12px;
  border-radius: 12px;
}
.generator-bar small {
  color: #766f60;
}
.back {
  display: inline-block;
  color: #8c7441;
  font-size: 13px;
  margin-bottom: 7px;
}
.case-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 16px;
}
.case-info dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: 13px;
}
.case-info dt {
  color: #888;
}
.case-info dd {
  text-align: right;
  margin: 0;
  font-weight: 750;
}
.timeline-item {
  border-top: 1px solid #ece8df;
  padding: 18px 0;
}
.timeline-item > div:first-child {
  display: flex;
  justify-content: space-between;
  color: #888;
  font-size: 11px;
  text-transform: uppercase;
}
.timeline-item h3 {
  margin: 8px 0;
}
.timeline-item p {
  line-height: 1.65;
  color: #444;
}
.timeline-item a {
  color: #8c6b2e;
  font-size: 12px;
}
.timeline-item.in {
  border-left: 3px solid #6f8e82;
  padding-left: 14px;
}
.timeline-item.out {
  border-left: 3px solid #b38c40;
  padding-left: 14px;
}
.inbox {
  padding: 0;
  overflow: hidden;
}
.mail-row {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 13px;
  align-items: center;
  padding: 16px 18px;
  border-top: 1px solid #ece7de;
}
.mail-row:first-child {
  border-top: 0;
}
.mail-row.unread {
  background: #fffaf0;
}
.avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #e9e3d4;
  display: grid;
  place-items: center;
  font-weight: 850;
  color: #8b6d31;
}
.avatar.big {
  width: 52px;
  height: 52px;
}
.mail-content strong,
.mail-content b {
  display: block;
}
.mail-content b {
  font-size: 13px;
  margin: 2px 0;
}
.mail-content p {
  margin: 0;
  color: #888;
  font-size: 12px;
}
.mail-row time {
  font-size: 11px;
  color: #888;
}
.message-detail {
  padding: 28px;
}
.message-head > div {
  display: flex;
  align-items: center;
  gap: 14px;
}
.message-head h1 {
  font-size: 26px;
  margin: 0;
}
.message-head p {
  color: #888;
}
.message-body {
  margin: 25px 0;
  line-height: 1.7;
  padding: 20px 0;
  border-top: 1px solid #eee8df;
  border-bottom: 1px solid #eee8df;
}
.assign-box {
  display: flex;
  gap: 10px;
  align-items: end;
}
.assign-box label {
  flex: 1;
  display: grid;
  gap: 6px;
  font-size: 12px;
}
.category-row {
  display: grid;
  grid-template-columns: 14px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid #eee;
}
.category-row span {
  width: 12px;
  height: 12px;
  border-radius: 4px;
}
.category-row small {
  color: #999;
}
.portal-address-box,
.info-box {
  padding: 16px;
  background: #f4f0e6;
  border-radius: 12px;
}
.portal-address-box strong {
  display: block;
  font-size: 18px;
  word-break: break-all;
}
.portal-address-box small,
.info-box small {
  color: #777;
}
.signature-preview {
  display: block;
  max-width: 230px;
  max-height: 90px;
  margin: 12px 0;
}
.upload-box {
  padding: 20px !important;
  border: 1px dashed #b8af9e;
  border-radius: 12px;
  text-align: center;
}
.upload-box input {
  border: 0 !important;
}
.check {
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: center;
}
.check input {
  width: auto !important;
}
.table-wrap {
  overflow: auto;
  padding: 0;
}
.table-wrap table {
  width: 100%;
  border-collapse: collapse;
}
.table-wrap th,
.table-wrap td {
  text-align: left;
  padding: 13px 15px;
  border-bottom: 1px solid #eee9df;
  font-size: 12px;
}
.table-wrap th {
  background: #f7f4ed;
  color: #777;
}
.health {
  display: grid;
  gap: 3px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}
.health span {
  font-size: 10px;
  color: #999;
}
.empty {
  padding: 25px;
  color: #999;
  text-align: center;
}
.flash-wrap {
  position: fixed;
  top: 86px;
  right: 20px;
  z-index: 100;
  display: grid;
  gap: 8px;
}
.flash {
  padding: 12px 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px #0002;
  border-left: 4px solid #777;
}
.flash.success {
  border-color: #51836d;
}
.flash.danger {
  border-color: #b94f3c;
}
.flash.warning {
  border-color: #c5902d;
}
.muted {
  color: #777;
}
.info-box p {
  font-weight: 800;
  margin: 5px 0;
}
.actions {
  display: flex;
  gap: 8px;
}
@media (max-width: 1050px) {
  .hero {
    grid-template-columns: 1fr;
  }
  .hero-demo {
    max-width: 680px;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
  }
  .sidebar {
    width: 215px;
  }
  .main {
    margin-left: 215px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
  }
  .case-layout {
    grid-template-columns: 1fr;
  }
  .case-info {
    order: 2;
  }
}
@media (max-width: 760px) {
  .public-nav nav a:not(.btn) {
    display: none;
  }
  .hero {
    padding-top: 30px;
  }
  .problem,
  .portal-feature {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 65px auto;
  }
  .steps {
    grid-template-columns: 1fr;
  }
  .cta {
    margin: 60px 18px 30px;
    display: grid;
    padding: 32px;
  }
  .cta h2 {
    font-size: 28px;
  }
  .sidebar {
    position: relative;
    width: 100%;
    height: auto;
    padding: 14px;
  }
  .side-user {
    display: none;
  }
  .side-nav {
    grid-template-columns: repeat(4, 1fr);
    overflow: auto;
  }
  .side-nav a {
    white-space: nowrap;
    text-align: center;
    font-size: 12px;
  }
  .main {
    margin: 0;
  }
  .topbar {
    position: relative;
    height: auto;
    padding: 13px 16px;
  }
  .topbar .mail-chip {
    display: none;
  }
  .content {
    padding: 18px;
  }
  .welcome,
  .page-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .stats,
  .two-col,
  .form-grid {
    grid-template-columns: 1fr;
  }
  .filterbar {
    display: grid;
  }
  .case-card {
    grid-template-columns: 40px 1fr;
  }
  .case-side {
    grid-column: 2;
    text-align: left;
    display: flex;
    gap: 6px;
  }
  .mailbox-banner {
    display: grid;
    gap: 15px;
  }
  .mail-row {
    grid-template-columns: 38px 1fr;
  }
  .mail-row time {
    grid-column: 2;
  }
  .assign-box,
  .generator-bar {
    display: grid;
  }
  .hero h1 {
    font-size: 54px;
  }
  .hero-actions {
    display: grid;
  }
  .trust-row {
    display: grid;
    gap: 7px;
  }
}
.case-main-column {
  display: grid;
  gap: 16px;
  min-width: 0;
}
.compact {
  padding: 14px;
}
.deadline-inline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 13px 0;
  border-top: 1px solid #eee9df;
}
.deadline-inline:first-of-type {
  border-top: 0;
}
.deadline-inline small {
  display: block;
  color: #888;
  margin-top: 3px;
}
.deadline-inline.done {
  opacity: 0.55;
}
.deadline-inline.done strong {
  text-decoration: line-through;
}
.inline-details {
  margin-top: 14px;
  border-top: 1px solid #eee9df;
  padding-top: 13px;
}
.inline-details summary {
  font-weight: 800;
  color: #8c6b2e;
}
.mini-form {
  grid-template-columns: 1.2fr 1fr 0.8fr auto;
  gap: 8px;
  margin-top: 12px;
}
.mini-form input {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid #d7d2c7;
  border-radius: 9px;
}
.upload-panel form > label {
  display: grid;
  gap: 7px;
  margin: 14px 0;
  font-size: 13px;
  font-weight: 750;
}
.upload-panel input,
.upload-panel textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
}
.upload-panel small {
  color: #888;
}
.file-row {
  display: grid;
  grid-template-columns: 30px 1fr 24px;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid #eee9df;
}
.file-row small {
  display: block;
  color: #888;
  margin-top: 3px;
}
.file-row > b {
  text-align: right;
}
.message-attachments {
  display: grid;
  gap: 7px;
  margin: 15px 0;
  padding: 14px;
  background: #f7f4ed;
  border-radius: 12px;
}
.message-attachments a {
  padding: 8px;
  background: white;
  border-radius: 8px;
}
.message-attachments small {
  color: #888;
}
.deadline-list {
  padding: 0;
  overflow: hidden;
}
.deadline-row {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-top: 1px solid #eee9df;
}
.deadline-row:first-child {
  border-top: 0;
}
.deadline-row:hover {
  background: #fcfaf5;
}
.deadline-row.done {
  opacity: 0.5;
}
.deadline-date {
  width: 58px;
  height: 58px;
  border-radius: 13px;
  background: #f0e8d7;
  display: grid;
  place-items: center;
  align-content: center;
}
.deadline-date b {
  font-size: 21px;
  line-height: 1;
}
.deadline-date span {
  font-size: 10px;
  color: #7c6d50;
}
.deadline-row small {
  display: block;
  color: #888;
  margin-top: 4px;
}
.deadline-status {
  font-size: 12px;
  font-weight: 800;
}
.btn.tiny {
  padding: 7px 9px;
  font-size: 11px;
}
.system-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.system-check {
  padding: 16px;
  border: 1px solid #e5e0d6;
  border-radius: 14px;
  background: #fff;
}
.system-check strong {
  display: block;
}
.system-check small {
  color: #888;
  display: block;
  margin-top: 4px;
  word-break: break-all;
}
.system-check .ok {
  color: #4b7f64;
}
.system-check .bad {
  color: #b84e3a;
}
@media (max-width: 760px) {
  .mini-form {
    grid-template-columns: 1fr;
  }
  .deadline-row {
    grid-template-columns: 58px 1fr;
  }
  .deadline-status {
    grid-column: 2;
  }
  .system-grid {
    grid-template-columns: 1fr;
  }
}
.sidebar {
  width: 278px;
  padding: 20px 16px 14px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  background: #1d2928;
  border-right: 1px solid #ffffff0a;
}
.main {
  margin-left: 278px;
}
.sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 7px 14px;
}
.sidebar-close {
  display: none;
  border: 0;
  background: transparent;
  color: #dbe1de;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  cursor: pointer;
}
.sidebar-close svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.side-user {
  margin: 4px 0 14px;
  padding: 14px 10px;
  border: 1px solid #ffffff0d;
  border-radius: 14px;
  background: #ffffff05;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 11px;
  align-items: center;
}
.side-avatar {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: #e2c068;
  color: #1d2928;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.side-user-meta {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.side-user-meta strong {
  font-size: 13px;
  color: #f7f8f7;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side-user-meta small {
  font-size: 9px;
  color: #899996;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side-create {
  height: 42px;
  border-radius: 11px;
  background: #e3c16a;
  color: #172120;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 850;
  margin-bottom: 14px;
  transition: 0.18s ease;
}
.side-create:hover {
  transform: translateY(-1px);
  background: #eccb76;
}
.side-create svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.side-nav {
  display: block;
  margin: 0;
  flex: 1;
}
.nav-group {
  padding: 8px 0 10px;
  border-top: 1px solid #ffffff0a;
}
.nav-group:first-child {
  border-top: 0;
  padding-top: 0;
}
.nav-label {
  padding: 0 11px 6px;
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 850;
  color: #6f817d;
}
.nav-item {
  min-height: 39px;
  padding: 9px 11px;
  margin: 2px 0;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  font-size: 13px;
  color: #c9d0ce;
  transition: 0.15s ease;
  position: relative;
}
.nav-item svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  opacity: 0.78;
}
.nav-item:hover {
  background: #ffffff09;
  color: #fff;
}
.nav-item.active {
  background: #ffffff0f;
  color: #fff;
  font-weight: 750;
}
.nav-item.active:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 3px;
  background: #e3c16a;
}
.nav-item.active svg {
  color: #e3c16a;
  opacity: 1;
}
.nav-badge {
  min-width: 20px;
  height: 20px;
  border-radius: 10px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  background: #b95542;
  color: #fff;
  font-size: 9px;
}
.admin-group {
  margin-top: 2px;
}
.sidebar-footer {
  padding-top: 8px;
  border-top: 1px solid #ffffff0d;
}
.logout-link {
  color: #98a6a3;
}
.logout-link:hover {
  color: #fff;
}
.sidebar-overlay {
  display: none;
}
.topbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.topbar-left > div {
  display: grid;
}
.mobile-menu-btn {
  display: none;
  width: 40px;
  height: 40px;
  border: 1px solid #ddd8ce;
  background: #fff;
  border-radius: 10px;
  color: #253130;
  place-items: center;
  cursor: pointer;
}
.mobile-menu-btn svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
}
@media (max-width: 1050px) {
  .sidebar {
    width: 240px;
  }
  .main {
    margin-left: 240px;
  }
}
@media (max-width: 760px) {
  body.app-shell {
    overflow-x: hidden;
  }
  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: min(88vw, 310px);
    height: 100dvh;
    padding: 18px 15px;
    transform: translateX(-105%);
    transition: transform 0.22s ease;
    box-shadow: 18px 0 55px #0004;
    z-index: 60;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .sidebar-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: #0c1514aa;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s ease;
    z-index: 50;
  }
  .sidebar-overlay.open {
    opacity: 1;
    visibility: visible;
  }
  .sidebar-close {
    display: grid;
    place-items: center;
  }
  .side-user {
    display: grid;
  }
  .side-nav {
    display: block;
    overflow: visible;
  }
  .side-nav a {
    white-space: normal;
    text-align: left;
    font-size: 13px;
  }
  .main {
    margin: 0;
  }
  .topbar {
    position: sticky;
    top: 0;
    height: 66px;
    padding: 0 14px;
  }
  .mobile-menu-btn {
    display: grid;
  }
  .topbar .mail-chip {
    display: none;
  }
  .content {
    padding: 18px;
  }
  .sidebar-head {
    padding-bottom: 10px;
  }
}
.filterbar .filter-search {
  flex: 1;
  display: grid;
  gap: 5px;
}
.filterbar .filter-search span {
  font-size: 11px;
  font-weight: 800;
  color: #777;
}
.delivery {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  background: #eee;
}
.delivery.sent {
  background: #e4f2ea;
  color: #397158;
}
.delivery.failed {
  background: #fae6e2;
  color: #a84736;
}
.delivery.draft {
  background: #eee9df;
  color: #756d60;
}
.send-error {
  margin: 18px 0;
  padding: 14px;
  border-radius: 12px;
  background: #fff0ec;
  border: 1px solid #efc2b8;
  color: #943e2e;
}
.actions form {
  margin: 0;
}
@media (max-width: 760px) {
  .filterbar .filter-search {
    width: 100%;
  }
}
:root {
  --field-h: 54px;
  --field-border: #d7d2c7;
  --field-radius: 12px;
  --field-bg: #fff;
}
.field {
  display: grid;
  gap: 7px;
  min-width: 0;
  margin: 0 !important;
  font-size: 13px;
  font-weight: 750;
}
.field > span {
  display: block;
}
.field small {
  font-weight: 500;
  color: #777;
  line-height: 1.45;
}
.field input,
.field select,
.field textarea,
.form-panel input:not([type="checkbox"]):not([type="radio"]),
.form-panel select,
.form-panel textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  background: var(--field-bg);
  color: #222;
  outline: none;
  padding: 0 15px;
}
.field input,
.field select,
.form-panel input:not([type="checkbox"]):not([type="radio"]),
.form-panel select {
  height: var(--field-h);
}
.field textarea,
.form-panel textarea {
  padding: 14px 15px;
  min-height: 110px;
  resize: vertical;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
.form-panel input:focus,
.form-panel select:focus,
.form-panel textarea:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.form-grid {
  align-items: start;
}
.form-grid.thirds {
  grid-template-columns: 0.7fr 0.9fr 1.4fr;
}
.settings-form {
  padding: 0;
  overflow: hidden;
}
.settings-section {
  padding: 26px 28px;
  border-bottom: 1px solid #ebe6dc;
  display: grid;
  gap: 18px;
}
.section-title h3 {
  margin: 0 0 5px;
  font-size: 20px;
}
.section-title p {
  margin: 0;
  color: #777;
  font-size: 13px;
}
.settings-section .form-grid {
  gap: 18px;
}
.settings-section .check {
  margin: 0 !important;
  gap: 10px;
  font-weight: 700;
}
.secret-note {
  padding: 15px 17px;
  border: 1px solid #e0d6bd;
  background: #faf5e8;
  border-radius: 12px;
}
.secret-note strong {
  display: block;
  margin-bottom: 4px;
}
.secret-note p {
  margin: 0;
  color: #625d51;
  font-size: 13px;
  line-height: 1.55;
}
.secret-note code {
  background: #fff;
  border: 1px solid #e6dfcf;
  border-radius: 5px;
  padding: 2px 5px;
}
.form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.form-actions.split {
  justify-content: flex-start;
}
.sticky-save {
  position: sticky;
  bottom: 0;
  padding: 16px 28px;
  background: #fbfaf7e8;
  backdrop-filter: blur(8px);
  border-top: 1px solid #e7e1d6;
  display: flex;
  justify-content: flex-end;
  z-index: 3;
}
.filterbar {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 330px) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 20px;
}
.filterbar .filter-search,
.filterbar .filter-status {
  width: 100%;
  min-width: 0;
}
.filterbar .filter-submit {
  height: var(--field-h);
  padding-inline: 20px;
}
.filterbar .field input,
.filterbar .field select {
  height: var(--field-h);
  padding: 0 15px;
}
.filterbar .field span {
  font-size: 11px;
  font-weight: 800;
  color: #777;
}
@media (max-width: 900px) {
  .form-grid.thirds {
    grid-template-columns: 1fr 1fr;
  }
  .form-grid.thirds .field:last-child {
    grid-column: 1/-1;
  }
  .filterbar {
    grid-template-columns: 1fr 1fr;
  }
  .filterbar .filter-submit {
    grid-column: 1/-1;
    width: 100%;
  }
}
@media (max-width: 760px) {
  .settings-section {
    padding: 22px 18px;
  }
  .sticky-save {
    padding: 14px 18px;
  }
  .form-grid,
  .form-grid.thirds {
    grid-template-columns: 1fr;
  }
  .form-grid.thirds .field:last-child {
    grid-column: auto;
  }
  .filterbar {
    grid-template-columns: 1fr;
  }
  .filterbar .filter-submit {
    grid-column: auto;
  }
  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .form-actions .btn {
    width: 100%;
  }
}
.assignment-warning {
  margin: 20px 0;
  padding: 16px 18px;
  border-radius: 12px;
  background: #fff5df;
  border: 1px solid #e7c77d;
  color: #6f5620;
}
.assignment-warning strong {
  display: block;
  margin-bottom: 5px;
}
.assignment-warning p {
  margin: 4px 0;
}
.assignment-warning small {
  color: #846f45;
}
.admin-inbound-link {
  margin-top: 6px;
}
.config-source-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 14px 16px;
  margin: 4px 0 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #f7f4ec;
}
.config-source-grid small {
  display: block;
}
.field input[readonly] {
  background: #f3f1eb;
  color: #645f56;
  cursor: not-allowed;
}
@media (max-width: 760px) {
  .config-source-grid {
    grid-template-columns: 1fr;
  }
}
.side-create {
  width: 100%;
  min-height: 48px;
  height: auto;
  padding: 12px 16px;
  font-size: 14px;
  flex: 0 0 auto;
}
.nav-badge.is-hidden {
  display: none;
}
.status-form {
  gap: 12px;
  margin-top: 18px;
}
.status-form select {
  margin: 0;
}
.status-form .btn {
  margin: 0;
}
.reminder-summary {
  color: #8c7441 !important;
}
.deadline-form {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}
.reminder-picker {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  background: #f7f4ed;
  border: 1px solid #e5dfd2;
  border-radius: 12px;
}
.reminder-picker > small {
  color: #766f60;
}
.reminder-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.reminder-options label {
  display: flex !important;
  align-items: center;
  gap: 7px;
  padding: 9px 11px !important;
  border: 1px solid #dcd5c7;
  border-radius: 9px;
  background: #fff;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
}
.reminder-options input {
  width: auto !important;
  margin: 0;
}
.timeline-description {
  padding: 14px 16px;
  background: #f8f5ef;
  border-radius: 12px;
  margin-bottom: 12px;
}
.timeline-description small {
  color: #8b7b5d;
}
.timeline-description p {
  margin: 6px 0 0;
}
.timeline-list {
  display: grid;
  gap: 8px;
}
.timeline-entry {
  border: 1px solid #e6e0d5;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.timeline-entry.in {
  border-left: 4px solid #6f8e82;
}
.timeline-entry.out {
  border-left: 4px solid #b38c40;
}
.timeline-entry summary {
  list-style: none;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto 18px;
  gap: 10px;
  align-items: center;
  padding: 13px 14px;
  cursor: pointer;
}
.timeline-entry summary::-webkit-details-marker {
  display: none;
}
.timeline-kind {
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 850;
  color: #817762;
}
.timeline-subject {
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.timeline-entry time {
  font-size: 11px;
  color: #8d887f;
}
.timeline-chevron {
  transition: 0.15s;
}
.timeline-entry[open] .timeline-chevron {
  transform: rotate(180deg);
}
.timeline-entry-body {
  padding: 0 14px 16px;
  border-top: 1px solid #eee8df;
}
.timeline-entry-body > small {
  display: block;
  color: #888;
  margin-top: 12px;
}
.timeline-entry-body p {
  white-space: normal;
  line-height: 1.6;
  max-height: 360px;
  overflow: auto;
}
.generator-bar-top {
  margin: 4px 0 18px;
}
.template-admin-grid {
  align-items: start;
}
.compact-form {
  padding: 0;
}
.placeholder-help {
  margin: 10px 0 16px;
}
.placeholder-help strong {
  font-size: 12px;
}
.placeholder-help code {
  background: #f1ede4;
  padding: 5px 7px;
  border-radius: 7px;
}
.template-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #eee9df;
}
.template-row:first-of-type {
  border-top: 0;
}
.template-row small {
  display: block;
  color: #888;
  margin-top: 3px;
}
@media (max-width: 760px) {
  .timeline-entry summary {
    grid-template-columns: 1fr 18px;
  }
  .timeline-kind,
  .timeline-entry time {
    grid-column: 1;
  }
  .timeline-subject {
    grid-column: 1;
  }
  .timeline-chevron {
    grid-column: 2;
    grid-row: 1/4;
  }
  .reminder-options {
    display: grid;
  }
  .side-create {
    min-height: 46px;
  }
}
.inline-form {
  margin: 0;
}
.danger-outline {
  color: #9d4637 !important;
  border-color: #d9a79d !important;
}
.danger-outline:hover {
  background: #fff2ef !important;
}
.deadline-form .deadline-fields,
.upload-panel .form-grid {
  gap: 18px;
}
.deadline-form .deadline-fields label,
.upload-panel form > label,
.upload-panel .form-grid label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 750;
  margin: 0;
}
.deadline-form input:not([type="checkbox"]),
.upload-panel input:not([type="checkbox"]):not([type="file"]),
.upload-panel select,
.upload-panel textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  background: #fff;
  color: #222;
  outline: none;
  padding: 0 15px;
}
.deadline-form input:not([type="checkbox"]),
.upload-panel input:not([type="checkbox"]):not([type="file"]),
.upload-panel select {
  height: var(--field-h);
}
.upload-panel textarea {
  padding: 14px 15px;
  min-height: 96px;
  resize: vertical;
}
.deadline-form input:focus,
.upload-panel input:focus,
.upload-panel textarea:focus,
.upload-panel select:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.upload-panel form {
  display: grid;
  gap: 16px;
}
.upload-panel form > .form-grid,
.upload-panel form > label,
.upload-panel form > .inline-details,
.upload-panel form > .btn {
  margin: 0;
}
.upload-panel .upload-deadline {
  margin-top: 2px;
}
.upload-panel .upload-deadline + .btn {
  margin-top: 2px;
  justify-self: start;
}
.inline-details {
  border-top: 1px solid #ece6da;
  padding-top: 14px;
  margin-top: 4px;
}
.inline-details summary {
  cursor: pointer;
  font-weight: 850;
  color: #987329;
  padding: 2px 0;
  list-style: none;
}
.inline-details summary::-webkit-details-marker {
  display: none;
}
.inline-details summary:before {
  content: "▸";
  display: inline-block;
  margin-right: 7px;
  transition: 0.15s;
}
.inline-details[open] summary:before {
  transform: rotate(90deg);
}
.inline-details[open] summary {
  margin-bottom: 14px;
}
.inline-details + .btn {
  margin-top: 16px !important;
}
.file-field {
  display: grid !important;
  gap: 8px !important;
}
.file-field input[type="file"] {
  width: 100%;
  min-height: 58px;
  padding: 7px 9px !important;
  border: 1px dashed #cfc5b2 !important;
  border-radius: 12px !important;
  background: #fbfaf7 !important;
  color: #716c63 !important;
  cursor: pointer;
}
.file-field input[type="file"]::file-selector-button {
  border: 0;
  border-radius: 9px;
  background: #1f2a2a;
  color: #fff;
  padding: 11px 15px;
  margin-right: 12px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: 0.15s;
}
.file-field input[type="file"]::file-selector-button:hover {
  background: #2d3a39;
}
.upload-box.file-field {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
.upload-box.file-field small {
  padding: 0 2px;
}
.status-form {
  gap: 14px !important;
}
.status-form select {
  margin-bottom: 0 !important;
}
.confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.18s ease;
}
.confirm-modal.open {
  opacity: 1;
  visibility: visible;
}
.confirm-modal-backdrop {
  position: absolute;
  inset: 0;
  background: #101817b8;
  backdrop-filter: blur(5px);
}
.confirm-modal-card {
  position: relative;
  width: min(520px, calc(100vw - 32px));
  background: #fff;
  border: 1px solid #e1d9ca;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 30px 90px #0005;
  transform: translateY(10px) scale(0.985);
  transition: 0.18s ease;
}
.confirm-modal.open .confirm-modal-card {
  transform: none;
}
.confirm-modal-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #fff0ec;
  color: #aa4838;
  display: grid;
  place-items: center;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 18px;
}
.confirm-modal-card h2 {
  margin: 0 42px 8px 0;
  font-size: 24px;
}
.confirm-modal-card p {
  margin: 0;
  color: #716b61;
  line-height: 1.6;
}
.confirm-modal-close {
  position: absolute;
  right: 17px;
  top: 15px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f5f2ec;
  color: #666;
  font-size: 24px;
  cursor: pointer;
}
.confirm-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}
.danger-btn {
  background: #a94b3b;
}
.danger-btn:hover {
  background: #943e31;
}
@media (max-width: 760px) {
  .confirm-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .confirm-modal-actions .btn {
    width: 100%;
  }
  .case-title .actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .case-title .actions .inline-form {
    grid-column: 1/-1;
  }
  .case-title .actions .inline-form .btn {
    width: 100%;
  }
  .upload-panel .upload-deadline + .btn {
    width: 100%;
  }
}
.upload-panel .upload-deadline .form-grid + .reminder-picker {
  margin-top: 18px;
}
.form-section {
  margin: 10px 0 4px;
  padding: 20px;
  border: 1px solid #e7e0d5;
  border-radius: 16px;
  background: #fbfaf7;
}
.form-section-head {
  margin-bottom: 16px;
}
.form-section-head h2 {
  margin: 0 0 4px;
  font-size: 18px;
}
.form-section-head p {
  margin: 0;
  color: #81796e;
  font-size: 13px;
}
.address-grid {
  grid-template-columns: minmax(110px, 0.35fr) minmax(0, 1fr) !important;
}
.case-contact {
  border-top: 1px solid #eee7dc;
  margin-top: 18px;
  padding-top: 16px;
}
.contact-lines span {
  font-size: 13px;
}
.contact-lines b {
  letter-spacing: 0.08em;
  color: #948b7e;
}
.contact-lines a {
  color: #8f6921;
  font-weight: 750;
  word-break: break-word;
}
.recipient-panel {
  border: 1px solid #e4ddcf;
  border-radius: 16px;
  padding: 18px;
  background: #f8f5ee;
  margin: 2px 0 18px;
}
.recipient-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 13px;
}
.recipient-panel-head strong {
  font-size: 17px;
}
.recipient-panel-head small {
  color: #81796e;
}
.recipient-mode-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.recipient-mode-options > label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid #ddd3c1;
  border-radius: 13px;
  padding: 13px 14px;
  background: #fff;
  cursor: pointer;
  margin: 0 !important;
}
.recipient-mode-options > label:has(input:checked) {
  border-color: #b78e38;
  box-shadow: 0 0 0 3px #c9aa6422;
}
.recipient-mode-options input {
  width: auto !important;
  height: auto !important;
  margin-top: 3px;
}
.recipient-mode-options span {
  display: grid;
  gap: 3px;
}
.recipient-mode-options small {
  font-weight: 500;
  color: #7e776c;
}
.manual-recipient {
  margin-top: 14px !important;
}
.manual-recipient.is-hidden {
  display: none !important;
}
.trash-card {
  cursor: default;
  align-items: center;
}
.trash-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.trash-actions form {
  margin: 0;
}
.trash-list .case-card:hover {
  transform: none;
}
.danger-btn {
  color: #fff !important;
}
@media (max-width: 760px) {
  .recipient-mode-options {
    grid-template-columns: 1fr;
  }
  .address-grid {
    grid-template-columns: 1fr !important;
  }
  .trash-actions {
    width: 100%;
    justify-content: stretch;
  }
  .trash-actions form,
  .trash-actions .btn {
    width: 100%;
  }
  .form-section {
    padding: 15px;
  }
}
.contact-list {
  padding: 0 26px;
}
.contact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line, #e6dfd2);
}
.contact-row:last-child {
  border-bottom: 0;
}
.contact-row > div:first-child {
  display: grid;
  gap: 5px;
}
.contact-row small {
  color: var(--muted, #7a746a);
}
.remember-contact {
  margin-top: 18px;
}
.deadline-inline .actions {
  flex-wrap: wrap;
}
.info-box.compact {
  margin-top: 18px;
  padding: 16px 18px;
}
.deadline-list .deadline-row {
  position: relative;
}
.deadline-row-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
@media (max-width: 760px) {
  .contact-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact-row .actions {
    width: 100%;
  }
  .contact-row .actions .btn {
    flex: 1;
  }
  .deadline-inline .actions {
    margin-top: 10px;
  }
}
.form-hint {
  display: block;
  margin: -6px 0 18px;
  color: var(--muted, #7a746a);
  font-size: 0.9rem;
}
.dashboard-activity {
  align-items: flex-start;
}
.activity-case {
  display: block;
  margin-top: 3px;
  color: #8f6b2e;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.activity-case:hover {
  text-decoration: underline;
}
.case-activity-box {
  border-top: 1px solid #eee7dc;
  margin-top: 22px;
  padding-top: 18px;
}
.case-activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.case-activity-head h4 {
  margin: 0;
}
.case-activity-head span {
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #f0eadc;
  color: #896b2f;
  font-size: 11px;
  font-weight: 850;
  display: grid;
  place-items: center;
}
.case-activity-list {
  display: grid;
}
.case-activity-item {
  position: relative;
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 9px;
  padding: 10px 0;
  border-top: 1px solid #f0ece4;
}
.case-activity-item:first-child {
  border-top: 0;
}
.case-activity-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b38c40;
  margin-top: 6px;
}
.case-activity-item > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.case-activity-item strong {
  font-size: 12px;
  line-height: 1.3;
}
.case-activity-item small {
  font-size: 11px;
  color: #716b61;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.case-activity-item time {
  font-size: 10px;
  color: #aaa39a;
}
.case-activity-more {
  margin-top: 8px;
  border-top: 1px solid #eee7dc;
  padding-top: 8px;
}
.case-activity-more summary {
  cursor: pointer;
  color: #8f6b2e;
  font-size: 11px;
  font-weight: 800;
  list-style: none;
}
.case-activity-more summary::-webkit-details-marker {
  display: none;
}
.case-activity-more summary:before {
  content: "＋ ";
}
.case-activity-more[open] summary:before {
  content: "− ";
}
.case-activity-list.more {
  margin-top: 6px;
}
.document-analyzer {
  margin-bottom: 18px;
  background: linear-gradient(135deg, #fff 0%, #fbf8ef 100%);
  border-color: #dfd4bc;
  overflow: hidden;
}
.document-analyzer.has-result {
  border-color: #c9ae6e;
}
.document-analyzer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.document-analyzer-head h2 {
  font-size: 22px;
  margin: 5px 0 6px;
}
.document-analyzer-head p {
  margin: 0;
  color: #756f64;
  max-width: 700px;
  line-height: 1.5;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 900;
  color: #a27d2e;
}
.analysis-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: #e5efe9;
  color: #426b57;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.analysis-upload-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
}
.analysis-btn span {
  font-size: 21px;
  margin-right: 5px;
}
.analysis-note {
  margin: 12px 0 0;
  color: #82796a;
  font-size: 12px;
  line-height: 1.5;
}
.analysis-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 13px;
  background: #f2ede0;
}
.analysis-result-main {
  display: grid;
  gap: 4px;
}
.analysis-result-main strong {
  font-size: 15px;
}
.analysis-result-main span {
  color: #766f64;
  font-size: 12px;
}
.analysis-detected {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}
.analysis-detected > div {
  position: relative;
  padding: 13px 14px;
  border: 1px solid #e3dac9;
  border-radius: 12px;
  background: #fff;
  display: grid;
  gap: 4px;
  min-width: 0;
}
.analysis-detected small {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #958a7a;
}
.analysis-detected strong {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.confidence {
  font-size: 9px !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #92702b;
}
.confidence.hoch {
  color: #4f765f;
}
.confidence.mittel {
  color: #92702b;
}
.confidence.niedrig {
  color: #9b6858;
}
.analysis-warning {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 11px;
  background: #fff2df;
  color: #805c24;
  font-size: 12px;
}
.analysis-preview {
  margin-top: 12px;
  border-top: 1px solid #e8dfcf;
  padding-top: 12px;
}
.analysis-preview summary {
  cursor: pointer;
  color: #8b6c31;
  font-weight: 800;
  font-size: 12px;
}
.analysis-preview pre {
  margin: 12px 0 0;
  padding: 14px;
  max-height: 300px;
  overflow: auto;
  border-radius: 10px;
  background: #202929;
  color: #e7ecea;
  font: 12px/1.5 ui-monospace,
    SFMono-Regular,
    Consolas,
    monospace;
  white-space: pre-wrap;
}
.btn.small {
  padding: 9px 12px;
  font-size: 11px;
}
@media (max-width: 760px) {
  .document-analyzer-head,
  .analysis-result {
    flex-direction: column;
    align-items: stretch;
  }
  .analysis-upload-form {
    grid-template-columns: 1fr;
  }
  .analysis-btn {
    width: 100%;
  }
  .analysis-detected {
    grid-template-columns: 1fr;
  }
  .analysis-badge {
    align-self: flex-start;
  }
}
.analysis-upload-form {
  display: block;
  margin-top: 20px;
}
.analysis-upload-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}
.analysis-file {
  margin: 0 !important;
  min-width: 0;
}
.analysis-file input[type="file"] {
  height: 58px;
}
.analysis-btn {
  height: 58px;
  min-height: 58px;
  align-self: end;
  padding-inline: 24px;
  white-space: nowrap;
}
.analysis-upload-hint {
  margin: 9px 2px 0;
  color: #6f685d;
  font-size: 12px;
  line-height: 1.45;
}
.analysis-loading {
  display: none;
  margin-top: 16px;
  padding: 15px 16px;
  border: 1px solid #dfd4bc;
  border-radius: 13px;
  background: #f7f2e5;
}
.analysis-loading.is-visible {
  display: block;
}
.analysis-loading-top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.analysis-loading-top strong,
.analysis-loading-top small {
  display: block;
}
.analysis-loading-top strong {
  font-size: 14px;
}
.analysis-loading-top small {
  margin-top: 3px;
  color: #776f62;
  font-size: 11px;
  line-height: 1.4;
}
.analysis-progress-label {
  font-size: 12px;
  font-weight: 900;
  color: #8e6d2d;
  min-width: 34px;
  text-align: right;
}
.analysis-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #d8c9a5;
  border-top-color: #9a7530;
  animation: analysis-spin 0.8s linear infinite;
}
.analysis-progress {
  height: 7px;
  margin-top: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: #e8e0cf;
}
.analysis-progress > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #b68b36, #e3c467);
  transition: width 0.45s ease;
}
.analysis-upload-form.is-loading .analysis-btn {
  pointer-events: none;
  opacity: 0.78;
}
.analysis-upload-form.is-loading .analysis-file {
  opacity: 0.72;
  pointer-events: none;
}
@keyframes analysis-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 760px) {
  .analysis-upload-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .analysis-btn {
    width: 100%;
    height: auto;
    min-height: 54px;
  }
  .analysis-loading-top {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .analysis-progress-label {
    grid-column: 2;
    text-align: left;
  }
}
.analysis-dropzone {
  position: relative;
  min-height: 82px;
  border: 1px dashed #cdbf9f;
  border-radius: 14px;
  background: #fbfaf7;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  transition: 0.18s ease;
  overflow: hidden;
}
.analysis-dropzone:hover,
.analysis-dropzone.is-dragover {
  border-color: #a47d32;
  background: #faf5e9;
  box-shadow: 0 0 0 3px #c9aa6422;
}
.analysis-dropzone input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.analysis-drop-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: #1f2a2a;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 900;
}
.analysis-drop-copy {
  min-width: 0;
}
.analysis-drop-copy strong,
.analysis-drop-copy small {
  display: block;
}
.analysis-drop-copy strong {
  font-size: 14px;
}
.analysis-drop-copy small {
  margin-top: 4px;
  color: #756e63;
  font-size: 12px;
}
.analysis-file-name {
  max-width: 240px;
  color: #786f60;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
}
.analysis-dropzone.has-file .analysis-file-name {
  color: #1f2a2a;
  font-weight: 800;
}
.analysis-upload-form.is-loading .analysis-dropzone {
  opacity: 0.68;
  pointer-events: none;
}
.analysis-upload-row {
  align-items: stretch;
}
.analysis-btn {
  height: auto;
  min-height: 82px;
  align-self: stretch;
}
@media (max-width: 760px) {
  .analysis-dropzone {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .analysis-file-name {
    grid-column: 1/-1;
    max-width: none;
    text-align: left;
    padding-left: 56px;
  }
  .analysis-btn {
    min-height: 56px;
  }
}
.analysis-smart-note {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line, #ded7c7);
  border-radius: 16px;
  background: #faf7ef;
  display: flex;
  gap: 6px;
  flex-direction: column;
}
.analysis-smart-note strong {
  font-size: 0.95rem;
}
.analysis-smart-note span {
  color: var(--muted, #7b7366);
  font-size: 0.9rem;
}
.analysis-references {
  margin-top: 12px;
}
.analysis-reference-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.analysis-reference-list > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f7f4ec;
}
.analysis-reference-list span {
  color: var(--muted, #7b7366);
  text-align: right;
}
@media (max-width: 720px) {
  .analysis-reference-list > div {
    flex-direction: column;
    gap: 3px;
  }
  .analysis-reference-list span {
    text-align: left;
  }
}
.case-detail-header {
  display: grid;
  gap: 22px;
  margin-bottom: 28px;
}
.case-detail-title {
  min-width: 0;
}
.case-detail-title .back {
  display: inline-block;
  margin-bottom: 14px;
}
.case-detail-title h1 {
  margin: 0;
  max-width: 100%;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.12;
  overflow-wrap: anywhere;
}
.case-detail-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.case-meta-chips {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
.case-meta-chip {
  display: grid;
  gap: 3px;
  min-width: 170px;
  padding: 11px 14px;
  border: 1px solid #ded5c5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px #2b241512;
}
.case-meta-chip span {
  font-size: 10px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #98886d;
}
.case-meta-chip strong {
  font-size: 15px;
  line-height: 1.3;
  color: #202725;
  overflow-wrap: anywhere;
}
.case-detail-actions {
  flex: 0 0 auto;
  align-items: stretch;
}
.case-detail-actions .btn {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
}
.case-detail-actions .inline-form {
  display: flex;
}
.case-detail-actions .inline-form .btn {
  height: 100%;
}
@media (max-width: 900px) {
  .case-detail-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .case-detail-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .case-detail-actions .inline-form {
    grid-column: 1/-1;
  }
  .case-detail-actions .inline-form .btn {
    width: 100%;
  }
}
@media (max-width: 560px) {
  .case-detail-header {
    gap: 18px;
  }
  .case-detail-title h1 {
    font-size: 36px;
  }
  .case-meta-chips {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .case-meta-chip {
    min-width: 0;
  }
  .case-detail-actions {
    grid-template-columns: 1fr;
  }
  .case-detail-actions .inline-form {
    grid-column: auto;
  }
  .case-detail-actions .btn {
    width: 100%;
    min-height: 52px;
  }
}
.flash {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.32s ease,
    transform 0.32s ease;
}
.flash.is-hiding {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}
.file-row {
  grid-template-columns: 30px minmax(0, 1fr) auto;
}
.file-row-icon {
  font-size: 17px;
  color: #8c6b2e;
}
.file-row-meta {
  min-width: 0;
}
.file-row-meta strong {
  display: block;
  overflow-wrap: anywhere;
}
.file-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.file-row-actions .btn {
  white-space: nowrap;
  text-decoration: none;
}
@media (max-width: 760px) {
  .file-row {
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;
  }
  .file-row-actions {
    grid-column: 2;
    justify-content: flex-start;
    margin-top: 4px;
  }
  .file-row-actions .btn {
    flex: 1;
    min-width: 110px;
  }
}
@media (max-width: 760px) {
  .topbar {
    height: auto;
    min-height: 68px;
    padding: 10px max(14px, env(safe-area-inset-right)) 10px
      max(14px, env(safe-area-inset-left));
    align-items: center;
  }
  .topbar-left {
    width: 100%;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
  }
  .topbar-left > div {
    min-width: 0;
    display: grid !important;
    align-content: center;
  }
  .topbar-left strong {
    display: block;
    font-size: 14px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .topbar-left small {
    display: block;
    margin-top: 2px !important;
    font-size: 10px;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mobile-menu-btn {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    border-color: #d7d0c3;
    box-shadow: 0 5px 16px #2d271817;
    background: #fff;
  }
  .mobile-menu-btn svg {
    width: 22px;
    height: 22px;
  }
  .content {
    padding: 18px 14px 30px;
  }
  .content.narrow {
    padding-left: 14px;
    padding-right: 14px;
  }
  .welcome,
  .page-head {
    gap: 14px;
    margin-bottom: 18px;
  }
  .welcome h1,
  .page-head h1 {
    font-size: clamp(30px, 10vw, 36px);
    line-height: 1.08;
    margin: 4px 0;
  }
  .welcome p,
  .page-head p {
    font-size: 13px;
    line-height: 1.45;
  }
  .welcome > .btn {
    width: 100%;
    min-height: 48px;
  }
  .stats {
    gap: 10px;
    margin: 14px 0;
  }
  .stats article {
    padding: 16px;
    border-radius: 14px;
    gap: 5px;
  }
  .stats b {
    font-size: 30px;
    line-height: 1.05;
  }
  .stats span,
  .stats a {
    font-size: 11px;
  }
  .two-col {
    gap: 10px;
  }
  .panel {
    padding: 16px;
    border-radius: 16px;
  }
  .panel-head {
    margin-bottom: 8px;
  }
  .panel-head h2,
  .panel h2 {
    font-size: 17px;
  }
  .list-row {
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    padding: 12px 0;
  }
  .list-row time {
    grid-column: 2;
    font-size: 11px;
    color: #8b857b;
  }
  .dashboard-activity {
    gap: 8px;
  }
  .activity-case {
    font-size: 11px;
  }
  .mailbox-banner {
    padding: 18px;
    border-radius: 16px;
    gap: 14px;
    overflow: hidden;
  }
  .mailbox-banner > div {
    min-width: 0;
  }
  .mailbox-banner strong {
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .mailbox-banner p {
    font-size: 11px;
    line-height: 1.45;
  }
  .copy-btn {
    width: 100%;
    min-height: 46px;
  }
  .form-panel {
    padding: 18px;
  }
  .form-section {
    padding: 14px;
  }
  .generator-bar {
    padding: 12px;
  }
  .case-card {
    padding: 14px;
    gap: 12px;
  }
  .case-main h3 {
    font-size: 16px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  .case-main p {
    line-height: 1.45;
  }
  .deadline-inline {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .deadline-inline .actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .deadline-inline .actions form {
    margin: 0;
  }
  .deadline-inline .actions .btn {
    width: 100%;
  }
  .analysis-upload-form {
    margin-top: 16px;
  }
  .document-analyzer {
    margin-bottom: 14px;
  }
  .document-analyzer-head h2 {
    font-size: 20px;
    line-height: 1.25;
  }
  .document-analyzer-head p {
    font-size: 13px;
  }
  .analysis-dropzone {
    padding: 12px !important;
  }
  .analysis-file-name {
    padding-left: 0 !important;
  }
  .sidebar {
    width: min(90vw, 320px);
    padding: calc(18px + env(safe-area-inset-top)) 16px
      calc(18px + env(safe-area-inset-bottom));
  }
  .sidebar-head {
    min-height: 50px;
    align-items: center;
  }
  .sidebar-close {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }
  .side-create {
    min-height: 48px;
    margin-top: 4px;
    margin-bottom: 14px;
  }
  .nav-item {
    min-height: 44px;
    padding: 10px 12px;
  }
}
@media (max-width: 390px) {
  .content {
    padding-left: 12px;
    padding-right: 12px;
  }
  .panel {
    padding: 14px;
  }
  .stats article {
    padding: 15px;
  }
  .topbar {
    padding-left: 12px;
    padding-right: 12px;
  }
  .topbar-left {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
  }
  .mobile-menu-btn {
    width: 44px;
    height: 44px;
  }
  .deadline-inline .actions {
    grid-template-columns: 1fr;
  }
}
.scanner-new-banner,
.scanner-import-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  margin: 0 0 20px;
  border: 1px solid #dfd4bd;
  border-radius: 16px;
  background: #f8f3e8;
}
.scanner-new-banner {
  flex-direction: column;
  align-items: flex-start;
}
.scanner-new-banner strong,
.scanner-import-card strong {
  font-size: 1.05rem;
}
.scanner-new-banner span,
.scanner-import-card p {
  margin: 4px 0 0;
  color: #756b5d;
}
.scanner-status,
.match-badge {
  display: inline-flex;
  white-space: nowrap;
  border-radius: 999px;
  padding: 7px 11px;
  background: #ead49b;
  color: #624d18;
  font-weight: 800;
  font-size: 0.78rem;
}
.scanner-status.done {
  background: #dcebe4;
  color: #315f4d;
}
.scanner-detected {
  padding: 18px 0;
  border-bottom: 1px solid #e9e0d0;
}
.scanner-detected h3,
.scanner-match h3 {
  margin: 0 0 12px;
}
.scanner-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.scanner-facts > div {
  padding: 12px 14px;
  border: 1px solid #e4dac8;
  border-radius: 12px;
  background: #fff;
}
.scanner-facts small,
.candidate-card small,
.candidate-card em {
  display: block;
  color: #7d7365;
}
.scanner-match {
  padding-top: 22px;
}
.candidate-list {
  display: grid;
  gap: 10px;
}
.candidate-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  border: 1px solid #ded4c2;
  border-radius: 14px;
  background: #fff;
}
.candidate-card > div {
  min-width: 0;
}
.candidate-card strong {
  display: block;
  margin: 7px 0 3px;
}
.candidate-card em {
  font-style: normal;
  font-size: 0.8rem;
  margin-top: 6px;
}
.scanner-alternatives {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 18px;
}
.scanner-alternatives details {
  flex: 1;
  min-width: 260px;
  padding: 13px 15px;
  border: 1px solid #ded4c2;
  border-radius: 12px;
}
.scanner-alternatives summary {
  cursor: pointer;
  font-weight: 800;
}
.empty.compact {
  padding: 18px;
}
.settings-scanner-note {
  margin-top: 10px;
}
@media (max-width: 700px) {
  .scanner-import-card,
  .candidate-card {
    align-items: stretch;
    flex-direction: column;
  }
  .scanner-facts {
    grid-template-columns: 1fr;
  }
  .candidate-card .btn,
  .scanner-alternatives > .btn {
    width: 100%;
  }
  .scanner-alternatives {
    display: block;
  }
  .scanner-alternatives details {
    margin-top: 10px;
    min-width: 0;
  }
}
.inbox-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.inbox-count-card {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #e1dbcf;
  border-radius: 16px;
  background: #fff;
}
.inbox-count-card small {
  grid-column: 1/-1;
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 850;
  color: #8f7440;
  margin-bottom: 5px;
}
.inbox-count-card strong {
  grid-row: 2;
  font-size: 30px;
  line-height: 1;
  color: #1f2a2a;
}
.inbox-count-card span {
  grid-row: 2;
  color: #80796e;
  font-size: 12px;
}
.inbox-count-card.open {
  border-left: 4px solid #c99b3d;
}
.inbox-count-card.done {
  border-left: 4px solid #6f9586;
}
.inbox-section {
  margin-top: 18px;
}
.inbox-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 4px 10px;
}
.inbox-section-head > div {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.inbox-section-head h2 {
  font-size: 18px;
  margin: 0;
}
.inbox-section-head p {
  font-size: 12px;
  color: #817b70;
  margin: 3px 0 0;
}
.section-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 auto;
}
.section-dot.open {
  background: #c99b3d;
}
.section-dot.done {
  background: #6f9586;
}
.section-count {
  display: grid;
  place-items: center;
  min-width: 32px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: #ece7dc;
  font-size: 12px;
  font-weight: 850;
  color: #645d52;
}
.inbox-section.processed {
  margin-top: 24px;
}
.inbox-section.processed details > summary {
  cursor: pointer;
  list-style: none;
}
.inbox-section.processed details > summary::-webkit-details-marker {
  display: none;
}
.inbox-section.processed details > summary:after {
  content: "▾";
  font-size: 14px;
  color: #8b7d66;
  margin-left: 2px;
}
.inbox-section.processed details:not([open]) > summary:after {
  content: "▸";
}
.mail-row {
  transition: background 0.15s ease,
    border-color 0.15s ease;
}
.mail-row:hover {
  background: #faf7f0;
}
.mail-row.scanner-row {
  border-left: 3px solid transparent;
}
.mail-row.scanner-row.unread {
  border-left-color: #c99b3d;
}
.mail-row-topline {
  display: flex;
  align-items: center;
  gap: 9px;
  justify-content: space-between;
}
.mail-row-topline strong {
  min-width: 0;
}
.inbox-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.02em;
}
.inbox-state.action {
  background: #f2e2b7;
  color: #715616;
}
.inbox-state.new {
  background: #e8ddbd;
  color: #6d571d;
}
.inbox-state.done {
  background: #dcebe4;
  color: #315f4d;
}
.inbox-state.read {
  background: #ecebe8;
  color: #6d6a63;
}
.mail-content p {
  overflow-wrap: anywhere;
}
.mail-row time {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .inbox-overview {
    grid-template-columns: 1fr;
  }
  .inbox-count-card {
    padding: 14px 16px;
  }
  .inbox-section-head {
    align-items: flex-start;
  }
  .inbox-section-head p {
    line-height: 1.4;
  }
  .mail-row-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .inbox-state {
    font-size: 9px;
  }
  .mail-row time {
    margin-top: 2px;
  }
}
.inbox-section.processed details > summary.inbox-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  justify-content: initial;
  align-items: center;
  column-gap: 10px;
}
.inbox-section.processed details > summary.inbox-section-head:after {
  margin-left: 0;
}
.analysis-photo-tip {
  margin-top: 8px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f5efe1;
  color: #75684e;
  font-size: 11px;
  line-height: 1.45;
}
.analysis-photo-tip + * {
  margin-top: 0;
}
@media (max-width: 760px) {
  .inbox-section.processed details > summary.inbox-section-head {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: start;
  }
  .section-count {
    align-self: start;
  }
  .analysis-photo-tip {
    font-size: 10px;
  }
}
.analysis-cropper {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid #ddcfb2;
  border-radius: 16px;
  background: #f9f5eb;
}
.analysis-cropper[hidden] {
  display: none !important;
}
.analysis-cropper-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}
.analysis-cropper-head strong,
.analysis-cropper-head small {
  display: block;
}
.analysis-cropper-head small {
  margin-top: 3px;
  color: #786f61;
  font-size: 11px;
  line-height: 1.4;
}
.analysis-crop-status {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #ece5d6;
  color: #6f624d;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.analysis-cropper.crop-applied .analysis-crop-status {
  background: #dcebe4;
  color: #315f4d;
}
.analysis-crop-stage {
  display: flex;
  justify-content: center;
  overflow: auto;
  max-height: min(62vh, 620px);
  padding: 10px;
  border-radius: 13px;
  background: #182120;
  touch-action: none;
}
.analysis-crop-surface {
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 0;
  touch-action: none;
  user-select: none;
}
.analysis-crop-surface img {
  display: block;
  max-width: 100%;
  max-height: 58vh;
  width: auto;
  height: auto;
  object-fit: contain;
  -webkit-user-drag: none;
  user-select: none;
}
.analysis-crop-box {
  position: absolute;
  border: 2px solid #e7bf55;
  box-shadow: 0 0 0 9999px rgba(5, 11, 11, 0.58),
    inset 0 0 0 1px rgba(255, 255, 255, 0.5);
  cursor: move;
  touch-action: none;
}
.analysis-crop-box:before,
.analysis-crop-box:after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: 0.42;
}
.analysis-crop-box:before {
  left: 33.333%;
  top: 0;
  bottom: 0;
  width: 33.333%;
  border-left: 1px dashed #fff;
  border-right: 1px dashed #fff;
}
.analysis-crop-box:after {
  top: 33.333%;
  left: 0;
  right: 0;
  height: 33.333%;
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
}
.analysis-crop-box.is-dragging {
  border-color: #ffd977;
}
.crop-handle {
  position: absolute;
  width: 26px;
  height: 26px;
  border: 3px solid #fff;
  background: #c49331;
  border-radius: 50%;
  box-shadow: 0 2px 8px #0008;
  z-index: 3;
  touch-action: none;
}
.crop-handle.nw {
  left: -14px;
  top: -14px;
  cursor: nwse-resize;
}
.crop-handle.ne {
  right: -14px;
  top: -14px;
  cursor: nesw-resize;
}
.crop-handle.sw {
  left: -14px;
  bottom: -14px;
  cursor: nesw-resize;
}
.crop-handle.se {
  right: -14px;
  bottom: -14px;
  cursor: nwse-resize;
}
.analysis-crop-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.analysis-crop-actions .btn {
  min-height: 40px;
}
@media (max-width: 760px) {
  .analysis-cropper {
    padding: 12px;
    margin-top: 12px;
  }
  .analysis-cropper-head {
    display: block;
  }
  .analysis-crop-status {
    display: inline-flex;
    margin-top: 8px;
  }
  .analysis-crop-stage {
    padding: 7px;
    max-height: 58vh;
  }
  .analysis-crop-surface img {
    max-height: 54vh;
  }
  .crop-handle {
    width: 32px;
    height: 32px;
  }
  .crop-handle.nw {
    left: -17px;
    top: -17px;
  }
  .crop-handle.ne {
    right: -17px;
    top: -17px;
  }
  .crop-handle.sw {
    left: -17px;
    bottom: -17px;
  }
  .crop-handle.se {
    right: -17px;
    bottom: -17px;
  }
  .analysis-crop-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .analysis-crop-actions .btn {
    width: 100%;
  }
  .analysis-crop-actions [data-crop-apply] {
    grid-column: 1/-1;
  }
}
.brand-image {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.brand-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}
.public-brand {
  width: 235px;
  max-width: 34vw;
}
.sidebar-brand {
  width: 204px;
  max-width: calc(100% - 44px);
  background: #f8f5ee;
  border: 1px solid #ffffff18;
  border-radius: 12px;
  padding: 6px 8px;
  box-shadow: 0 8px 18px #0002;
}
.auth-brand {
  display: flex;
  width: min(310px, 88%);
  margin: 0 auto 28px;
  justify-content: center;
}
.auth-card .auth-brand + h1 {
  margin-top: 8px;
}
@media (max-width: 760px) {
  .public-nav {
    height: 68px;
    padding: 0 16px;
  }
  .public-brand {
    width: 190px;
    max-width: 58vw;
  }
  .sidebar-brand {
    width: 190px;
  }
  .auth-brand {
    width: min(270px, 90%);
    margin-bottom: 22px;
  }
}
.demo-scan {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 14px;
  border-radius: 14px;
  background: #202a2a;
  color: #fff;
}
.demo-scan > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #e7c56d;
  color: #1f2929;
  font-weight: 900;
}
.demo-scan b,
.demo-scan small {
  display: block;
}
.demo-scan small {
  color: #c3ccca;
  margin-top: 2px;
}
.section-head {
  max-width: 760px;
  margin-bottom: 34px;
}
.section-head h2 {
  font-size: clamp(36px, 5vw, 58px);
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin: 12px 0 18px;
}
.section-head > p {
  font-size: 18px;
  line-height: 1.7;
  color: #666;
  margin: 0;
}
.feature-showcase {
  max-width: 1220px;
  margin: 110px auto;
  padding: 0 26px;
}
.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.feature-card {
  min-height: 280px;
  background: #fff;
  border: 1px solid #e2dccf;
  border-radius: 22px;
  padding: 26px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 35px #413b2d08;
}
.feature-card-main {
  grid-column: span 2;
  background: linear-gradient(145deg, #202a2a, #2d3938);
  color: #fff;
  border-color: #202a2a;
}
.feature-card-main p {
  color: #c7cecc !important;
}
.feature-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f0e6ce;
  color: #8f6824;
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 24px;
}
.feature-card-main .feature-icon {
  background: #e7c56d;
  color: #1f2929;
}
.feature-kicker {
  display: block;
  font-size: 10px;
  letter-spacing: 0.16em;
  color: #9a7530;
  font-weight: 900;
}
.feature-card-main .feature-kicker {
  color: #e7c56d;
}
.feature-card h3 {
  font-size: 24px;
  letter-spacing: -0.03em;
  margin: 8px 0 12px;
}
.feature-card p {
  color: #686868;
  line-height: 1.65;
  margin: 0;
}
.feature-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.feature-tags span {
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.06em;
  background: #ffffff14;
  border: 1px solid #ffffff22;
  padding: 6px 9px;
  border-radius: 20px;
  color: #f4e7c5;
}
.scanner-story {
  max-width: 1220px;
  margin: 110px auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 70px;
  align-items: center;
}
.scanner-copy h2,
.security-feature h2 {
  font-size: clamp(36px, 4.5vw, 54px);
  letter-spacing: -0.045em;
  line-height: 1.04;
  margin: 12px 0 18px;
}
.scanner-copy > p,
.security-feature > div > p {
  font-size: 18px;
  line-height: 1.7;
  color: #666;
}
.scanner-steps {
  display: grid;
  gap: 0;
  margin-top: 28px;
}
.scanner-steps > div {
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid #ded8cb;
}
.scanner-steps b {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e7c56d;
  color: #202a2a;
  font-size: 12px;
}
.scanner-steps span {
  font-weight: 750;
}
.scanner-preview {
  background: #202a2a;
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 28px 70px #1d272728;
}
.scanner-mail,
.scanner-result {
  background: #fff;
  border-radius: 17px;
  padding: 20px;
}
.scanner-mail {
  margin-bottom: 11px;
}
.scanner-mail small,
.scanner-result > small {
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #9a7530;
  font-weight: 900;
}
.scanner-mail strong,
.scanner-mail span {
  display: block;
}
.scanner-mail strong {
  font-size: 20px;
  margin: 8px 0;
}
.scanner-mail span {
  color: #777;
  font-size: 13px;
}
.scanner-result dl {
  margin: 12px 0 0;
}
.scanner-result dl > div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid #eee9df;
}
.scanner-result dt {
  color: #888;
}
.scanner-result dd {
  margin: 0;
  font-weight: 800;
}
.mini-success {
  display: inline-block;
  color: #486254;
  background: #e5eee9;
  border-radius: 20px;
  padding: 4px 8px;
  font-size: 11px;
}
.steps-modern article {
  position: relative;
  padding-top: 32px;
}
.steps-modern article b {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f1e4c5;
  color: #8a6525;
}
.security-feature {
  max-width: 1220px;
  margin: 110px auto;
  padding: 55px 50px;
  background: #ebe5d8;
  border-radius: 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.secure-url {
  background: #202a2a;
  color: #fff;
  border-radius: 20px;
  padding: 28px;
  overflow: hidden;
}
.secure-url small {
  color: #d6ba70;
  letter-spacing: 0.14em;
  font-weight: 850;
}
.secure-url span,
.secure-url strong {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.secure-url span {
  margin-top: 14px;
  color: #9dadaa;
}
.secure-url strong {
  font-size: 18px;
  word-break: break-all;
  color: #f5d47d;
  margin-top: 3px;
}
.secure-url p {
  color: #bfc7c5;
  font-size: 13px;
  line-height: 1.55;
  margin: 20px 0 0;
}
.cta > div {
  max-width: 760px;
}
.cta-eyebrow {
  display: block;
  color: #e7c56d;
  font-size: 11px;
  letter-spacing: 0.16em;
  font-weight: 900;
  margin-bottom: 10px;
}
.cta h2 {
  max-width: none;
}
@media (max-width: 950px) {
  .feature-grid {
    grid-template-columns: 1fr 1fr;
  }
  .feature-card-main {
    grid-column: span 2;
  }
  .scanner-story,
  .security-feature {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .security-feature {
    padding: 38px;
  }
}
@media (max-width: 760px) {
  .feature-showcase,
  .scanner-story {
    margin: 70px auto;
  }
  .feature-grid {
    grid-template-columns: 1fr;
  }
  .feature-card-main {
    grid-column: auto;
  }
  .feature-card {
    min-height: auto;
    padding: 22px;
  }
  .section-head h2 {
    font-size: 38px;
  }
  .scanner-copy h2,
  .security-feature h2 {
    font-size: 36px;
  }
  .scanner-preview {
    padding: 13px;
    border-radius: 20px;
  }
  .scanner-result dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .security-feature {
    margin: 70px 18px;
    padding: 28px 22px;
    border-radius: 22px;
  }
  .secure-url {
    padding: 21px;
  }
  .secure-url strong {
    font-size: 14px;
  }
  .home-hero {
    margin-bottom: 45px;
  }
}
.tools-family {
  max-width: 1220px;
  margin: 110px auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 60px;
  align-items: center;
}
.tools-family-copy h2 {
  font-size: clamp(36px, 4.5vw, 54px);
  letter-spacing: -0.045em;
  line-height: 1.04;
  margin: 12px 0 18px;
}
.tools-family-copy > p {
  font-size: 18px;
  line-height: 1.7;
  color: #666;
  max-width: 680px;
}
.tools-family-points {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
}
.tools-family-points span {
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border-radius: 999px;
  background: #f1eadb;
  color: #655a47;
  font-size: 12px;
  font-weight: 750;
}
.tool-product-card {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 20px;
  align-items: center;
  text-decoration: none;
  background: #202a2a;
  color: #fff;
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 28px 70px #1d272720;
  transition: transform 0.18s ease,
    box-shadow 0.18s ease;
}
.tool-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 32px 76px #1d27272b;
}
.tool-product-mark {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: #e7c56d;
  color: #202a2a;
  font-size: 25px;
  font-weight: 950;
  letter-spacing: -0.06em;
}
.tool-product-content small {
  display: block;
  color: #d6ba70;
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 900;
}
.tool-product-content h3 {
  margin: 6px 0 9px;
  font-size: 28px;
  letter-spacing: -0.035em;
  color: #fff;
}
.tool-product-content p {
  margin: 0;
  color: #c3ccca;
  line-height: 1.55;
}
.tool-product-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #f2d57f;
  font-weight: 850;
}
.tool-product-link b {
  font-size: 18px;
  transition: transform 0.18s ease;
}
.tool-product-card:hover .tool-product-link b {
  transform: translateX(3px);
}
.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-tools {
  white-space: nowrap;
}
.footer-tools a {
  color: inherit;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.footer-tools a:hover {
  opacity: 0.72;
}
@media (max-width: 980px) {
  .public-nav nav a[href="/#unsere-werkzeuge"] {
    display: none;
  }
  .tools-family {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media (max-width: 760px) {
  .tools-family {
    margin: 70px auto;
    padding: 0 18px;
  }
  .tools-family-copy h2 {
    font-size: 36px;
  }
  .tools-family-copy > p {
    font-size: 16px;
  }
  .tool-product-card {
    grid-template-columns: 60px 1fr;
    padding: 22px;
    gap: 16px;
    border-radius: 21px;
  }
  .tool-product-mark {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    font-size: 20px;
  }
  .tool-product-content h3 {
    font-size: 23px;
  }
  .footer {
    display: grid;
    justify-items: center;
    text-align: center;
  }
  .footer-tools {
    white-space: normal;
  }
}
.security-promise {
  max-width: 1168px;
  margin: 100px auto;
  padding: 48px 52px;
  border-radius: 28px;
  background: #202a2a;
  color: #fff;
  box-shadow: 0 28px 70px #1d272718;
}
.security-promise h2 {
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: -0.04em;
  line-height: 1.06;
  margin: 12px 0 16px;
  color: #fff;
}
.security-promise > p {
  max-width: 850px;
  color: #c7cfcd;
  font-size: 17px;
  line-height: 1.7;
}
.security-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 25px;
}
.security-points span {
  padding: 9px 13px;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  background: #ffffff0b;
  color: #f3dfaa;
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 760px) {
  .security-promise {
    margin: 70px 18px;
    padding: 30px 24px;
    border-radius: 22px;
  }
  .security-promise h2 {
    font-size: 34px;
  }
  .security-promise > p {
    font-size: 15px;
  }
}
.home-hero + .security-promise {
  margin-top: 18px;
  margin-bottom: 78px;
}
@media (max-width: 760px) {
  .home-hero + .security-promise {
    margin-top: 8px;
    margin-bottom: 58px;
  }
}
.analysis-job-watch {
  margin-top: 20px;
}
.analysis-loading.has-error {
  border-color: #ddb3a7;
  background: #fff5f2;
}
.analysis-loading.has-error .analysis-spinner {
  display: none;
}
.analysis-loading.has-error [data-analysis-step] {
  color: #9c4d3f;
}
.analysis-job-watch .analysis-loading {
  margin-top: 0;
}
.analysis-loading-top small {
  max-width: 680px;
}
.analysis-progress > span {
  will-change: width;
}
.analysis-admin-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 16px 0;
}
.analysis-admin-grid > div {
  padding: 14px;
  border: 1px solid #e5dfd4;
  border-radius: 12px;
  background: #fbfaf7;
}
.analysis-admin-grid small,
.analysis-admin-grid strong {
  display: block;
}
.analysis-admin-grid small {
  color: #81796e;
  font-size: 11px;
}
.analysis-admin-grid strong {
  font-size: 26px;
  margin-top: 4px;
}
@media (max-width: 760px) {
  .analysis-admin-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.storage-audit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.audit-stat {
  display: grid;
  gap: 5px;
}
.audit-stat small {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #8a8175;
  font-size: 10px;
}
.audit-stat strong {
  font-size: 30px;
  line-height: 1;
}
.audit-stat span {
  font-size: 12px;
  color: #7f776c;
}
.audit-stat.warn {
  border-color: #d7b86c;
}
.audit-stat.bad {
  border-color: #ca817b;
}
.audit-stat.ok {
  border-color: #d8dfd4;
}
.storage-actions {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}
.storage-actions h2 {
  margin: 0 0 5px;
}
.storage-actions p {
  margin: 0;
}
.storage-actions .actions {
  justify-content: flex-end;
}
.audit-file-list {
  display: grid;
  gap: 0;
  margin-top: 10px;
  border: 1px solid #ece5d9;
  border-radius: 13px;
  overflow: hidden;
}
.audit-file-list > div {
  display: grid;
  grid-template-columns: minmax(260px, 1.1fr) minmax(220px, 1fr);
  gap: 18px;
  padding: 11px 13px;
  background: #fff;
  border-bottom: 1px solid #eee8de;
  align-items: start;
}
.audit-file-list > div:last-child {
  border-bottom: 0;
}
.audit-file-list code {
  font-size: 12px;
  word-break: break-all;
}
.audit-file-list span {
  font-size: 12px;
  color: #81796e;
  word-break: break-word;
}
.linked-list {
  max-height: 480px;
  overflow: auto;
}
details summary {
  cursor: pointer;
  font-weight: 750;
  color: #755b26;
  padding: 4px 0;
}
@media (max-width: 900px) {
  .storage-audit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .storage-actions {
    display: grid;
  }
  .storage-actions .actions {
    justify-content: stretch;
  }
  .audit-file-list > div {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .storage-audit-grid {
    grid-template-columns: 1fr;
  }
  .storage-actions .actions,
  .storage-actions form,
  .storage-actions .btn {
    width: 100%;
  }
}
.copyable-address {
  position: relative;
  cursor: pointer;
}
button.copyable-address {
  font: inherit;
}
.mail-chip.copyable-address {
  border: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.side-mail-copy {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9ba8a5;
  text-align: left;
  font-size: 10px;
  word-break: break-all;
  cursor: pointer;
}
.side-mail-copy:hover {
  color: #fff;
}
.copyable-address::after {
  content: "Kopiert ✓";
  position: absolute;
  z-index: 80;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translate(-50%, 6px);
  padding: 6px 9px;
  border-radius: 8px;
  background: #1f2929;
  color: #fff;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: 0.18s ease;
  box-shadow: 0 8px 22px #0003;
}
.copyable-address.is-copied::after {
  opacity: 1;
  transform: translate(-50%, 0);
}
.side-mail-copy::after {
  left: 0;
  transform: translate(0, 6px);
}
.side-mail-copy.is-copied::after {
  transform: translate(0, 0);
}
.portal-address-button {
  display: block;
  width: 100%;
  border: 0;
  text-align: left;
  cursor: pointer;
}
.portal-address-button:hover {
  background: #eee8da;
}
.inline-copy-address {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}
.inline-copy-address:hover {
  color: #8f6b2e;
}
.filter-reset {
  align-self: end;
  white-space: nowrap;
}
.file-upload-box {
  display: grid !important;
  gap: 7px !important;
  text-align: left !important;
  background: #fbfaf7;
  padding: 20px 22px !important;
}
.file-upload-box .upload-title {
  font-size: 15px;
  font-weight: 800;
  color: #1f2929;
}
.file-upload-box .upload-hint {
  font-size: 12px;
  color: #80786b;
  font-weight: 500;
}
.file-upload-box input[type="file"] {
  display: block;
  width: 100%;
  margin-top: 5px;
  padding: 8px !important;
  border: 1px solid #ddd5c5 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #625f58;
  font: inherit;
}
.file-upload-box input[type="file"]::file-selector-button {
  border: 0;
  border-radius: 8px;
  padding: 9px 13px;
  margin-right: 12px;
  background: #1f2929;
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.file-upload-box input[type="file"]::file-selector-button:hover {
  background: #2e3b3a;
}
.placeholder-help {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin: 12px 0 18px;
}
.placeholder-help strong {
  width: 100%;
  margin-bottom: 2px;
}
.placeholder-help small {
  width: 100%;
  color: #7d776c;
  line-height: 1.45;
  margin-top: 3px;
}
.placeholder-help code {
  background: #f2ede2;
  padding: 7px 9px;
  border-radius: 8px;
}
@media (max-width: 760px) {
  .filter-reset {
    width: 100%;
    text-align: center;
  }
  .copyable-address::after {
    left: auto;
    right: 0;
    transform: translate(0, 6px);
  }
  .copyable-address.is-copied::after {
    transform: translate(0, 0);
  }
}
.legal-page {
  min-height: calc(100vh - 130px);
  padding: 55px 20px;
  background: #f4f1ea;
}
.legal-card {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 22px;
  padding: 34px 38px;
  box-shadow: 0 18px 48px #463d2b0b;
}
.legal-card h1 {
  font-size: 42px;
  letter-spacing: -0.04em;
  margin: 8px 0 30px;
}
.legal-card h2 {
  font-size: 20px;
  margin: 30px 0 8px;
}
.legal-card p {
  line-height: 1.7;
  color: #555;
}
.legal-card a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.legal-mini-footer {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 24px 18px 34px;
  color: #777;
  font-size: 12px;
  background: #f4f1ea;
}
.legal-mini-footer a:hover {
  color: #1f2929;
}
.auth-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
  font-size: 12px;
  color: #777;
}
.auth-links a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.template-compose-hint {
  display: grid;
  gap: 4px;
  margin: 12px 0 18px;
  padding: 13px 15px;
  border: 1px solid #e2d7bf;
  border-radius: 12px;
  background: #fbf6e9;
  color: #6e6452;
  font-size: 12px;
  line-height: 1.5;
}
.template-compose-hint strong {
  color: #1f2929;
}
.settings-password-section {
  padding-top: 0 !important;
}
.compact-account-form {
  margin-top: 0;
}
.stat-card {
  background: #fff;
  border: 1px solid #e1ddd4;
  border-radius: 16px;
  padding: 20px;
  display: grid;
  gap: 7px;
  transition: 0.15s ease;
}
.stat-card:hover {
  border-color: #c4ad76;
  transform: translateY(-1px);
  box-shadow: 0 10px 28px #4d412812;
}
.stat-card.hot {
  border-color: #d4a08e;
  background: #fff8f5;
}
.stat-card span {
  font-size: 12px;
  color: #777;
}
.stat-card b {
  font-size: 34px;
}
.stat-card small {
  font-size: 12px;
  color: #8f6b2e;
}
.admin-user-list {
  display: grid;
  gap: 12px;
}
.admin-user-card {
  padding: 18px 20px;
}
.admin-user-main {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1.8fr 0.9fr 0.7fr;
  gap: 16px;
  align-items: start;
}
.admin-user-main > div {
  min-width: 0;
}
.admin-user-main small {
  display: block;
  color: #8c8579;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}
.admin-user-main strong,
.admin-user-main span,
.admin-user-main button {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.admin-user-password {
  margin-top: 14px;
  border-top: 1px solid #ece6dc;
  padding-top: 10px;
}
.admin-user-password summary {
  font-size: 12px;
}
.admin-reset-form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}
.admin-reset-form label {
  display: grid;
  gap: 5px;
  font-size: 11px;
  font-weight: 750;
  margin: 0;
}
.admin-reset-form input {
  width: 100%;
  padding: 10px;
  border: 1px solid #d7d2c7;
  border-radius: 9px;
}
.admin-reset-form .btn {
  height: 40px;
}
.dashboard-activity > div {
  min-width: 0;
}
.dashboard-activity strong,
.dashboard-activity .activity-case,
.dashboard-activity small {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.case-card {
  transition: 0.15s ease;
}
.case-card:hover {
  box-shadow: 0 10px 28px #4037230c;
  transform: translateY(-1px);
}
.reminder-options {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.public-login {
  white-space: nowrap;
}
@media (max-width: 760px) {
  .public-nav {
    gap: 8px;
  }
  .public-nav nav {
    gap: 8px;
  }
  .public-nav nav a:not(.btn):not(.public-login) {
    display: none;
  }
  .public-login {
    display: inline-flex !important;
    font-size: 12px;
    font-weight: 750;
    padding: 9px 7px;
  }
  .public-nav .btn.small {
    padding: 9px 10px;
  }
  .auth-page {
    padding: 16px 14px;
    align-items: start;
  }
  .auth-card,
  .auth-card.wide {
    padding: 24px 20px;
    border-radius: 20px;
    margin: 10px 0;
  }
  .auth-card h1 {
    font-size: 30px;
    margin: 18px 0 7px;
  }
  .auth-card > p {
    font-size: 13px;
    margin-bottom: 14px;
  }
  .auth-card label,
  .form-panel label {
    margin: 9px 0;
    gap: 5px;
  }
  .auth-card .form-grid,
  .form-panel .form-grid {
    gap: 5px;
  }
  .auth-card input,
  .form-panel input,
  .form-panel select,
  .form-panel textarea {
    padding: 11px 12px;
  }
  .topbar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
  }
  .topbar-left {
    width: auto !important;
    display: block !important;
  }
  .topbar-left > div {
    display: none !important;
  }
  .topbar .mail-chip.copyable-address {
    display: flex !important;
    min-width: 0;
    width: 100%;
    justify-content: center;
    padding: 9px 10px;
    font-size: 11px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: center;
  }
  .mobile-menu-btn {
    display: grid !important;
  }
  .stats.dashboard-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px;
  }
  .stat-card {
    padding: 13px 12px;
    min-height: 105px;
  }
  .stat-card b {
    font-size: 28px;
  }
  .stat-card span,
  .stat-card small {
    font-size: 10px;
  }
  .stats:not(.dashboard-stats) {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px;
  }
  .stats:not(.dashboard-stats) article {
    padding: 13px 12px;
  }
  .dashboard-activity {
    align-items: flex-start;
  }
  .dashboard-activity > div {
    min-width: 0;
    max-width: 100%;
  }
  .dashboard-activity strong,
  .dashboard-activity a,
  .dashboard-activity small {
    display: block;
    max-width: 100%;
    white-space: normal !important;
  }
  .form-panel {
    padding: 16px;
  }
  .form-panel hr {
    margin: 18px 0;
  }
  .form-panel h2 {
    margin-bottom: 8px;
  }
  .settings-password-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .generator-bar {
    gap: 8px;
  }
  .generator-bar .btn {
    width: 100%;
  }
  .template-compose-hint {
    margin: 9px 0 13px;
  }
  .filterbar {
    gap: 7px;
  }
  .filterbar .field {
    margin: 0;
  }
  .filterbar .btn {
    min-height: 44px;
  }
  .case-list {
    gap: 9px;
  }
  .case-card {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 13px;
    border-radius: 14px;
  }
  .case-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }
  .case-main h3 {
    font-size: 15px;
    margin: 5px 0 3px;
  }
  .case-main p {
    font-size: 10px;
    line-height: 1.35;
  }
  .case-side {
    grid-column: 1/-1;
    margin-left: 49px;
    padding-top: 8px;
    border-top: 1px solid #eee8dd;
    font-size: 11px;
  }
  .status {
    font-size: 9px;
    padding: 3px 6px;
  }
  .admin-user-main {
    grid-template-columns: 1fr 1fr;
    gap: 13px;
  }
  .admin-user-portal {
    grid-column: 1/-1;
  }
  .admin-reset-form {
    grid-template-columns: 1fr;
  }
  .admin-reset-form .btn {
    width: 100%;
  }
  .reminder-picker {
    padding: 13px;
  }
  .reminder-options {
    grid-template-columns: 1fr 1fr !important;
    gap: 7px;
  }
  .reminder-options label {
    margin: 0 !important;
    min-height: 44px;
  }
  .reminder-options label:last-child {
    grid-column: 1/-1;
  }
  .legal-page {
    padding: 24px 14px;
  }
  .legal-card {
    padding: 24px 20px;
    border-radius: 18px;
  }
  .legal-card h1 {
    font-size: 34px;
    margin-bottom: 22px;
  }
  .legal-card h2 {
    font-size: 18px;
    margin-top: 24px;
  }
}
@media (max-width: 390px) {
  .public-brand {
    max-width: 46vw;
  }
  .public-nav .btn.small {
    font-size: 11px;
  }
  .public-login {
    font-size: 11px;
  }
  .admin-user-main {
    grid-template-columns: 1fr;
  }
  .admin-user-portal {
    grid-column: auto;
  }
}
.documentwerk-import {
  max-width: 850px;
}
.import-kicker {
  display: block;
  color: #9a7130;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.14em;
  margin-bottom: 10px;
}
.import-document {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding: 18px 22px;
}
.import-document > div {
  display: grid;
  gap: 4px;
}
.import-document small {
  color: #777;
}
.import-pdf {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 13px;
  background: #edf4f1;
  color: #356d63;
  font-size: 11px;
  font-weight: 900;
}
.import-choice {
  display: grid;
  gap: 12px;
}
.choice-option {
  display: flex !important;
  align-items: flex-start;
  gap: 12px !important;
  padding: 15px;
  border: 1px solid #ddd7ca;
  border-radius: 13px;
  background: #fbfaf7;
}
.choice-option input {
  width: auto !important;
  margin: 3px 0 0 !important;
}
.choice-option span {
  display: grid;
  gap: 4px;
}
.choice-option small,
.import-privacy {
  color: #777;
  font-weight: 500;
}
.import-privacy {
  font-size: 11px;
  margin: 0;
}
@media (max-width: 760px) {
  .topbar .mail-chip.copyable-address::after {
    top: calc(100% + 7px);
    bottom: auto;
    left: auto;
    right: 0;
    transform: translate(0, -5px);
  }
  .topbar .mail-chip.copyable-address.is-copied::after {
    transform: translate(0, 0);
  }
}
.attachment-analysis-live {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid #ddcfad;
  border-radius: 14px;
  background: #fbf6e9;
}
.attachment-analysis-live-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}
.attachment-analysis-live-head strong {
  font-size: 13px;
}
.attachment-analysis-live-head span {
  font-size: 12px;
  color: #8f6b2e;
  font-weight: 800;
}
.analysis-progress-track {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9e1d1;
  margin-bottom: 7px;
}
.analysis-progress-track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #b88b32;
  transition: width 0.25s ease;
}
.attachment-analysis-live small {
  color: #706756;
}
.file-row-analysis {
  align-items: flex-start;
  flex-wrap: wrap;
}
.file-row-analysis .file-row-meta {
  min-width: 0;
  flex: 1;
}
.file-row-analysis .file-row-actions {
  align-items: center;
  flex-wrap: wrap;
}
.file-analysis-state,
.file-analysis-result {
  margin-top: 9px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f6f3ed;
  border: 1px solid #e6e0d6;
  font-size: 11px;
  line-height: 1.45;
}
.file-analysis-state {
  display: flex;
  gap: 8px;
  align-items: baseline;
  flex-wrap: wrap;
}
.file-analysis-state strong {
  font-size: 11px;
}
.file-analysis-state span {
  color: #756e64;
}
.file-analysis-state.running {
  background: #fbf6e9;
  border-color: #e1d2af;
}
.file-analysis-state.failed {
  background: #fff6f3;
  border-color: #e3c3b8;
}
.file-analysis-result {
  background: #f7faf8;
  border-color: #cadbd2;
}
.file-analysis-result-head {
  display: flex;
  gap: 7px;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 7px;
}
.file-analysis-result-head strong {
  font-size: 11px;
}
.file-analysis-result-head span {
  color: #6f7772;
}
.file-analysis-facts {
  display: flex;
  gap: 7px 16px;
  flex-wrap: wrap;
}
.file-analysis-facts span {
  color: #3d4742;
}
.file-analysis-facts b {
  margin-right: 5px;
  color: #1f2929;
}
.file-analysis-warning {
  display: block;
  margin-top: 7px;
  color: #8a6830;
}
.analysis-deadline-btn {
  margin-top: 9px;
}
.analysis-deadline-done {
  display: inline-flex;
  margin-top: 9px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #e8f3ed;
  color: #476a57;
  font-weight: 750;
  font-size: 10px;
}
@media (max-width: 760px) {
  .file-row-analysis {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px 10px;
  }
  .file-row-analysis .file-row-actions {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    width: 100%;
  }
  .file-row-analysis .file-row-actions .btn,
  .file-row-analysis .file-row-actions form,
  .file-row-analysis .file-row-actions button {
    width: 100%;
  }
  .file-row-analysis .file-row-actions form:last-child {
    grid-column: 1/-1;
  }
  .file-analysis-facts {
    display: grid;
    gap: 5px;
  }
}
.file-analysis-facts {
  display: grid;
  gap: 7px;
}
.analysis-fact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 7px 0;
  border-bottom: 1px solid #e7eee9;
}
.analysis-fact-row:last-child {
  border-bottom: 0;
}
.analysis-fact-row > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.analysis-fact-row .inline-form {
  margin-left: auto;
}
.analysis-field-done {
  font-style: normal;
  font-size: 10px;
  font-weight: 750;
  color: #4e745f;
  background: #e8f3ed;
  padding: 5px 8px;
  border-radius: 999px;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .analysis-fact-row {
    display: grid;
    gap: 7px;
  }
  .analysis-fact-row .inline-form {
    margin-left: 0;
    width: 100%;
  }
  .analysis-fact-row .inline-form .btn {
    width: 100%;
  }
  .analysis-field-done {
    justify-self: start;
  }
}
.invoice-stats {
  margin-bottom: 18px;
}
.invoice-list {
  padding: 0;
  overflow: hidden;
}
.invoice-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px 130px;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line, #e7e2d8);
  text-decoration: none;
  color: inherit;
}
.invoice-row:last-child {
  border-bottom: 0;
}
.invoice-main h3 {
  margin: 6px 0 3px;
}
.invoice-main p,
.invoice-money span,
.invoice-due span {
  margin: 0;
  color: var(--muted, #7b7469);
  font-size: 0.86rem;
}
.invoice-money,
.invoice-due {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.invoice-money strong {
  font-size: 1.08rem;
}
.invoice-due strong {
  font-size: 0.95rem;
}
.status.invoice-open {
  background: #eef4ef;
  color: #315d47;
}
.status.invoice-partial {
  background: #fff5dc;
  color: #79510b;
}
.status.invoice-paid {
  background: #e6f4ea;
  color: #25613a;
}
.status.invoice-overdue {
  background: #fbe8e5;
  color: #9d3027;
}
.status.invoice-cancelled {
  background: #ececec;
  color: #666;
}
.invoice-facts {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 11px 18px;
}
.invoice-facts dt {
  color: var(--muted, #7b7469);
}
.invoice-facts dd {
  margin: 0;
}
.invoice-inline {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--line, #e7e2d8);
  text-decoration: none;
  color: inherit;
}
.invoice-inline > div {
  display: grid;
  gap: 4px;
}
.invoice-inline small {
  color: var(--muted, #7b7469);
}
.invoice-link-list {
  display: grid;
  gap: 8px;
  margin: 10px 0 14px;
}
.invoice-link-option {
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 10px;
  padding: 10px 12px;
}
.invoice-link-option span {
  display: grid;
  gap: 2px;
}
.scanner-settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.invoice-dashboard-row strong:before {
  content: "€ ";
  font-weight: 800;
}
.case-invoices .panel-head a {
  font-size: 0.9rem;
}
.invoice-detail-grid {
  align-items: start;
}
@media (max-width: 760px) {
  .invoice-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .invoice-money,
  .invoice-due {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 8px;
  }
  .invoice-money span,
  .invoice-due span {
    grid-column: 2;
  }
  .scanner-settings-grid {
    grid-template-columns: 1fr;
  }
  .invoice-facts {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .invoice-facts dd {
    margin-bottom: 8px;
  }
  .invoice-inline {
    align-items: flex-start;
    flex-direction: column;
  }
}
.money-field {
  display: flex;
}
.money-field input {
  padding-right: 46px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.money-field > span {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.label-note {
  font-weight: 500;
  color: var(--muted, #7b7469);
  margin-left: 4px;
}
.payment-history {
  margin-top: 22px;
  border-top: 1px solid var(--line, #e7e2d8);
  padding-top: 16px;
}
.payment-history h3 {
  margin-top: 0;
}
.payment-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid var(--line, #e7e2d8);
}
.payment-row:first-of-type {
  border-top: 0;
}
.payment-row > div {
  display: grid;
  gap: 2px;
}
.payment-row small {
  color: var(--muted, #7b7469);
}
.danger-text {
  color: #9d3027;
}
.installment-panel {
  margin-top: 18px;
}
.installment-create {
  max-width: 760px;
}
.form-help {
  color: var(--muted, #7b7469);
  font-size: 0.9rem;
}
.installment-list {
  display: grid;
  gap: 8px;
}
.installment-row {
  display: grid;
  grid-template-columns: minmax(130px, 1.3fr) 1fr 1fr 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid var(--line, #e7e2d8);
}
.installment-row > div {
  display: grid;
  gap: 3px;
}
.installment-row small {
  color: var(--muted, #7b7469);
}
.installment-seq {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}
.invoice-payment-form {
  display: grid;
  gap: 12px;
}
@media (max-width: 760px) {
  .payment-row {
    align-items: flex-start;
  }
  .installment-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .installment-row form {
    grid-column: 1/-1;
  }
  .installment-seq {
    grid-column: 1/-1;
  }
}
.money-field {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: stretch;
  position: relative;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.money-field:focus-within {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.form-panel .money-field input,
.money-field input {
  width: 100%;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 12px 10px 12px 13px !important;
  text-align: right;
  font-variant-numeric: tabular-nums;
  background: transparent !important;
}
.money-field > span {
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  display: grid;
  place-items: center;
  padding: 0 12px 0 8px;
  border-left: 1px solid #eee8df;
  font-weight: 800;
  color: var(--muted, #7b7469);
  pointer-events: none;
  background: #faf9f6;
}
.welcome-actions,
.page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.stats.dashboard-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.analysis-result-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  padding: 16px 18px;
  border: 1px solid #d6c38e;
  border-radius: 14px;
  background: #fffaf0;
}
.analysis-result-banner p {
  margin: 5px 0 0;
  color: #756d60;
  font-size: 13px;
  line-height: 1.5;
}
.analysis-result-banner .status {
  white-space: nowrap;
}
.analysis-upload-intro {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
}
.analysis-upload-intro strong {
  display: block;
  font-size: 16px;
}
.analysis-upload-intro p {
  margin: 4px 0 0;
  color: #777;
  font-size: 13px;
}
.analysis-inline-loading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 12px;
  background: #f6f2e8;
}
.analysis-inline-loading[hidden] {
  display: none;
}
.analysis-inline-loading small {
  display: block;
  color: #777;
  margin-top: 3px;
}
.analysis-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #ded8cb;
  border-top-color: #9f7c38;
  border-radius: 50%;
  animation: obspin 0.8s linear infinite;
}
@keyframes obspin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 1050px) {
  .stats.dashboard-stats {
    grid-template-columns: 1fr 1fr !important;
  }
  .welcome-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .welcome-actions,
  .page-actions {
    width: 100%;
    display: grid;
  }
  .welcome-actions .btn,
  .page-actions .btn {
    width: 100%;
  }
  .analysis-result-banner {
    align-items: flex-start;
    flex-direction: column;
  }
}
.invoice-detail-header {
  align-items: flex-end;
  gap: 18px;
  margin-bottom: 18px;
}
.invoice-detail-header .case-detail-title {
  min-width: 0;
}
.invoice-detail-header h1 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.02;
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
}
.invoice-detail-header .actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.invoice-detail-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px;
}
.invoice-detail-grid > .panel {
  min-width: 0;
  padding: 24px;
}
.invoice-detail-grid .panel-head {
  margin-bottom: 18px;
}
.invoice-detail-grid .panel h2,
.installment-panel h2 {
  margin: 0 0 4px;
}
.invoice-payment-form label {
  display: grid;
  gap: 7px;
}
.invoice-payment-form select,
.invoice-payment-form input {
  width: 100%;
  min-width: 0;
}
.invoice-payment-form .form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.55fr);
  gap: 14px;
}
.invoice-payment-form > .btn {
  width: 100%;
  margin-top: 2px;
}
.invoice-payment-form .money-field {
  width: 100%;
}
.invoice-payment-form > label:last-of-type input {
  width: 100%;
}
.installment-create .form-grid {
  grid-template-columns: minmax(160px, 0.5fr) minmax(220px, 1fr);
}
.invoice-review-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  margin: 0 0 18px;
  border: 1px solid #e6c66f;
  background: #fff7df;
  border-radius: 14px;
}
.invoice-review-banner > div:first-child {
  display: grid;
  gap: 3px;
}
.invoice-review-banner span {
  color: var(--muted, #7b7469);
}
.invoice-review-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.invoice-review-actions form {
  margin: 0;
}
.invoice-page-actions {
  flex-wrap: nowrap !important;
}
.invoice-page-actions .btn,
.invoice-read-btn {
  white-space: nowrap;
}
.invoice-form-actions-top {
  white-space: nowrap;
}
.invoice-inbox-review {
  display: grid;
  gap: 14px;
  margin: 16px 0;
}
.invoice-import-summary {
  margin: 0 !important;
}
.invoice-import-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.invoice-import-buttons form {
  margin: 0;
}
.invoice-inbox-assign {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 12px;
  background: #fff;
}
.invoice-inbox-assign label {
  display: grid;
  gap: 6px;
}
.invoice-inbox-assign select {
  width: 100%;
}
.deadline-kind {
  display: inline-flex;
  width: max-content;
  margin-bottom: 4px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eee9de;
  color: #675d4b;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.deadline-kind.invoice {
  background: #eef4ef;
  color: #315d47;
}
.deadline-kind.installment {
  background: #fff2d0;
  color: #79510b;
}
.invoice-deadline-row {
  background: linear-gradient(90deg, rgba(185, 145, 59, 0.035), transparent);
}
@media (max-width: 980px) {
  .invoice-detail-grid {
    grid-template-columns: 1fr !important;
  }
  .invoice-detail-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .invoice-detail-header .actions {
    justify-content: flex-start;
  }
  .invoice-inbox-assign {
    grid-template-columns: 1fr;
  }
  .invoice-inbox-assign .btn {
    width: 100%;
  }
}
@media (max-width: 760px) {
  .invoice-payment-form .form-grid,
  .installment-create .form-grid {
    grid-template-columns: 1fr;
  }
  .invoice-page-actions {
    display: grid !important;
  }
  .invoice-page-actions .btn,
  .invoice-read-btn {
    white-space: normal;
  }
  .invoice-review-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .invoice-review-actions {
    width: 100%;
    display: grid;
  }
  .invoice-review-actions .btn {
    width: 100%;
  }
}
.invoice-read-btn {
  flex: 0 0 auto;
}
.invoice-payment-form select,
.invoice-payment-form input,
.installment-create input,
.invoice-inbox-assign select {
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
  color: #222;
  outline: none;
}
.invoice-payment-form select:focus,
.invoice-payment-form input:focus,
.installment-create input:focus,
.invoice-inbox-assign select:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.invoice-payment-form label,
.installment-create label,
.invoice-inbox-assign label {
  font-size: 13px;
  font-weight: 750;
  color: #1f2525;
}
.invoice-payment-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 2px;
}
.invoice-payment-actions .btn {
  width: 100%;
}
.invoice-inbox-review .info-box {
  border: 1px solid #e3dccd;
  border-radius: 14px;
  background: #f7f3ea;
  padding: 18px 20px;
}
.invoice-inbox-review .info-box p {
  margin: 7px 0 0;
}
.invoice-inbox-assign {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}
@media (max-width: 760px) {
  .invoice-payment-actions {
    grid-template-columns: 1fr;
  }
  .invoice-inbox-review .info-box {
    padding: 15px;
  }
}
.sidebar-head {
  position: relative;
  justify-content: center;
}
.sidebar-quick-logout {
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: #aab5b2;
  background: #ffffff08;
}
.sidebar-quick-logout:hover {
  color: #fff;
  background: #ffffff12;
}
.sidebar-quick-logout svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.sidebar-brand {
  margin-inline: auto;
}
.case-view-actions {
  flex-wrap: wrap;
}
.case-explorer {
  display: grid;
  gap: 12px;
}
.case-folder {
  border: 1px solid #e2ddd3;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}
.case-folder > summary {
  list-style: none;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 16px 18px;
  cursor: pointer;
}
.case-folder > summary::-webkit-details-marker {
  display: none;
}
.folder-icon {
  color: #b68d36;
  font-size: 20px;
}
.folder-count {
  min-width: 28px;
  height: 28px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #f2ede2;
  color: #745a24;
  font-weight: 800;
}
.folder-content {
  border-top: 1px solid #eee8de;
  padding: 8px 14px 14px;
}
.explorer-case {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 8px;
  border-bottom: 1px solid #f0ece4;
}
.explorer-case:last-child {
  border-bottom: 0;
}
.explorer-case > div {
  min-width: 0;
}
.explorer-case strong,
.explorer-case small {
  display: block;
}
.explorer-case small {
  margin-top: 3px;
  color: #817a6e;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.case-share-box {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid #e4dccd;
  border-radius: 14px;
  background: #faf7f0;
}
.case-share-head h4 {
  margin: 0;
}
.case-share-head small {
  display: block;
  color: #817a6e;
  margin-top: 3px;
}
.case-share-form {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.case-share-form label {
  display: grid;
  gap: 5px;
  font-size: 11px;
  font-weight: 750;
}
.case-share-form input,
.case-share-form select {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid #d8d1c5;
  border-radius: 9px;
  background: #fff;
}
.case-share-list {
  display: grid;
  gap: 7px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #e6dfd3;
}
.case-share-list > div {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.case-share-list span {
  min-width: 0;
}
.case-share-list strong,
.case-share-list small {
  display: block;
  overflow-wrap: anywhere;
}
.case-share-list small {
  color: #817a6e;
  font-size: 10px;
  margin-top: 2px;
}
.share-page {
  min-height: 100vh;
  background: #f4f1ea;
  padding: 34px 18px;
}
.share-shell {
  max-width: 1040px;
  margin: auto;
  display: grid;
  gap: 16px;
}
.share-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.share-head img {
  width: 190px;
}
.share-head span {
  font-size: 12px;
  color: #6f685e;
  background: #fff;
  padding: 9px 12px;
  border: 1px solid #e2ddd3;
  border-radius: 999px;
}
.share-summary h1 {
  margin: 8px 0 18px;
  font-size: 38px;
}
.share-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.share-meta span {
  display: grid;
  gap: 4px;
  padding: 12px;
  background: #f8f5ef;
  border-radius: 11px;
}
.share-meta b {
  font-size: 10px;
  text-transform: uppercase;
  color: #8c7b5e;
}
.share-description {
  line-height: 1.65;
}
.share-summary > small {
  color: #817a6e;
}
.share-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.share-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 0;
  border-top: 1px solid #eee8de;
}
.share-row:first-of-type {
  border-top: 0;
}
.share-row small {
  display: block;
  color: #817a6e;
  margin-top: 3px;
}
.share-file {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #eee8de;
}
.share-file strong,
.share-file small {
  display: block;
}
.share-file small {
  color: #817a6e;
  margin-top: 2px;
}
.share-message {
  border-top: 1px solid #eee8de;
}
.share-message summary {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto;
  gap: 12px;
  padding: 13px 0;
  align-items: center;
}
.share-message summary span {
  font-size: 10px;
  text-transform: uppercase;
  color: #8c7b5e;
}
.share-message summary time {
  font-size: 11px;
  color: #817a6e;
}
.share-message > div {
  padding: 0 0 14px;
}
.share-message p {
  line-height: 1.65;
}
.share-security {
  text-align: center;
  color: #817a6e;
  font-size: 11px;
  line-height: 1.5;
  max-width: 780px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .sidebar-quick-logout {
    display: none;
  }
  .sidebar-head {
    justify-content: center;
  }
  .sidebar-brand {
    margin-inline: auto;
  }
  .public-nav .btn.small {
    white-space: nowrap;
  }
  .topbar .mail-chip.copyable-address > span {
    font-size: 17px;
    line-height: 1;
    flex: 0 0 auto;
  }
  .welcome-actions {
    grid-template-columns: 1fr 1fr !important;
  }
  .welcome-actions .btn:first-child {
    grid-column: 1/-1;
  }
  .welcome-actions .btn {
    min-width: 0;
    padding-inline: 9px;
  }
  .stats.dashboard-stats {
    grid-template-columns: 1fr 1fr !important;
  }
  .stats.dashboard-stats .stat-card:nth-child(2) {
    grid-column: 1/-1;
    order: -1;
    min-height: 92px;
  }
  .stats.dashboard-stats .stat-card:nth-child(2) b {
    font-size: 32px;
  }
  .invoice-page-actions {
    width: 100%;
    grid-template-columns: 1fr !important;
  }
  .invoice-page-actions .btn {
    width: 100%;
    white-space: normal !important;
    text-align: center;
    justify-content: center;
  }
  .case-view-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .case-view-actions .btn:last-child {
    grid-column: 1/-1;
  }
  .explorer-case {
    grid-template-columns: 36px minmax(0, 1fr);
  }
  .explorer-case > .status {
    grid-column: 2;
    justify-self: start;
  }
  .folder-content {
    padding-inline: 9px;
  }
  .share-page {
    padding: 18px 10px;
  }
  .share-head img {
    width: 165px;
  }
  .share-head span {
    font-size: 10px;
    padding: 7px 9px;
  }
  .share-summary {
    padding: 20px;
  }
  .share-summary h1 {
    font-size: 28px;
  }
  .share-meta {
    grid-template-columns: 1fr 1fr;
  }
  .share-grid {
    grid-template-columns: 1fr;
  }
  .share-message summary {
    grid-template-columns: 1fr auto;
  }
  .share-message summary span {
    grid-column: 1/-1;
  }
  .case-share-list > div {
    align-items: flex-start;
  }
}
@media (max-width: 480px) {
  .invoice-stats {
    grid-template-columns: 1fr !important;
  }
  .invoice-stats .stat-card {
    min-height: 92px;
  }
  .invoice-row {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  .invoice-money,
  .invoice-due {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 8px;
  }
  .invoice-money strong,
  .invoice-due strong {
    justify-self: end;
  }
  .invoice-money span,
  .invoice-due span {
    grid-column: 1/-1;
  }
  .share-meta {
    grid-template-columns: 1fr;
  }
}
.sidebar-head {
  grid-template-columns: 38px minmax(0, 1fr) 38px !important;
  gap: 6px !important;
  align-items: center !important;
}
.sidebar-head:before {
  content: "";
  grid-column: 1;
}
.sidebar-brand {
  grid-column: 2 !important;
  max-width: 186px !important;
  justify-self: center;
}
.sidebar-quick-logout {
  position: static !important;
  transform: none !important;
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}
.sidebar-close {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}
@media (max-width: 760px) {
  .sidebar-brand {
    max-width: 190px !important;
  }
  .sidebar-head {
    grid-template-columns: 38px minmax(0, 1fr) 42px !important;
  }
}
.case-share-hint {
  display: block;
  margin-top: 7px;
  color: #927025;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.shared-cases-overview {
  margin: 18px 0 28px;
}
.shared-cases-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.shared-cases-head h2 {
  margin: 0;
}
.shared-cases-head p {
  margin: 3px 0 0;
  color: var(--muted, #746f66);
}
.shared-cases-head > span {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #ece5d6;
  font-weight: 800;
}
.status.shared {
  background: #e7eff4;
  color: #315a72;
}
.shared-case-card {
  border-left: 4px solid #7697a8;
}
.shared-portal-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  margin-bottom: 18px;
  border: 1px solid #d9d1c1;
  border-radius: 16px;
  background: #f7f3e9;
}
.shared-portal-banner > div {
  display: grid;
  gap: 3px;
}
.shared-portal-banner small {
  color: #6f685e;
}
.share-dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 8px 18px;
}
.share-dl dt {
  color: #8a8174;
}
.share-dl dd {
  margin: 0;
  font-weight: 700;
}
.inbox-convert-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  margin: 18px 0;
  border: 1px solid #e2d9c8;
  border-radius: 14px;
  background: #faf7f0;
}
.inbox-convert-actions > div:first-child {
  display: grid;
  gap: 4px;
}
.inbox-convert-actions small {
  color: #756e64;
}
.inbox-convert-actions form {
  margin: 0;
}
.case-share-form {
  grid-template-columns: 1fr 1fr;
}
.case-share-form .btn {
  grid-column: 1/-1;
}
.case-share-form .label-note {
  font-weight: 500;
  color: #80786b;
  margin-top: 3px;
}
@media (max-width: 760px) {
  .shared-portal-banner,
  .inbox-convert-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .shared-portal-banner .btn,
  .inbox-convert-actions .actions,
  .inbox-convert-actions .btn,
  .inbox-convert-actions form {
    width: 100%;
  }
  .inbox-convert-actions .actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .case-share-form {
    grid-template-columns: 1fr;
  }
  .share-dl {
    grid-template-columns: 1fr;
  }
  .share-dl dt {
    margin-top: 7px;
  }
}
.remember-login {
  display: flex !important;
  align-items: flex-start !important;
  grid-template-columns: none !important;
  gap: 10px !important;
  margin: 12px 0 18px !important;
  cursor: pointer;
}
.remember-login input {
  width: auto !important;
  min-width: 18px;
  height: 18px;
  margin: 2px 0 0 !important;
}
.remember-login span {
  display: grid;
  gap: 1px;
}
.remember-login strong {
  font-size: 13px;
}
.remember-login small {
  margin: 0 !important;
  text-align: left !important;
  font-weight: 500;
  color: #81796c;
}
.case-share-box {
  padding: 0 !important;
  overflow: hidden;
}
.case-share-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
}
.case-share-summary::-webkit-details-marker {
  display: none;
}
.case-share-summary > span {
  display: grid;
  gap: 2px;
}
.case-share-summary strong {
  font-size: 15px;
}
.case-share-summary small {
  font-size: 11px;
  color: #817a6e;
}
.case-share-summary > b {
  transition: transform 0.2s;
  color: #8f6b2e;
}
.case-share-box[open] .case-share-summary > b {
  transform: rotate(180deg);
}
.case-share-body {
  padding: 0 14px 14px;
  border-top: 1px solid #e6dfd3;
}
.case-share-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  margin-top: 10px;
}
.case-share-form label {
  margin: 7px 0 !important;
}
.case-share-form .btn {
  grid-column: auto !important;
  margin-top: 6px;
}
.case-share-list {
  margin-top: 14px;
}
.shared-case-content {
  display: grid;
  gap: 18px;
}
.shared-case-content > .page-head {
  margin-bottom: 0;
}
.shared-case-content > .panel {
  margin: 0;
}
.shared-case-content .share-grid {
  gap: 18px;
}
.shared-case-content .share-grid > .panel {
  min-height: 100%;
  margin: 0;
}
.shared-case-content .share-file {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 0;
}
.share-file-info {
  min-width: 0;
}
.share-file-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.share-file-actions .btn {
  white-space: nowrap;
}
.share-file-icon {
  color: #9a7530;
  font-weight: 800;
}
.case-share-hint {
  margin-top: 7px !important;
  padding-top: 1px;
  font-weight: 750 !important;
  color: #9a7123 !important;
}
@media (max-width: 760px) {
  .shared-case-content {
    gap: 14px;
  }
  .shared-case-content .share-file {
    grid-template-columns: 28px minmax(0, 1fr);
  }
  .share-file-actions {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .share-file-actions .btn {
    width: 100%;
  }
}
.message-delete-zone {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #e5ded1;
}
.message-delete-zone form {
  display: grid;
  gap: 12px;
}
.delete-linked-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 12px 14px;
  border: 1px solid #ead9d4;
  border-radius: 12px;
  background: #fff8f6;
}
.delete-linked-option input {
  width: auto !important;
  margin-top: 3px;
}
.delete-linked-option span {
  display: grid;
  gap: 2px;
}
.delete-linked-option small {
  color: #7f746d;
  font-weight: 500;
}
.error-state-wrap {
  min-height: 62vh;
  display: grid;
  place-items: center;
  padding: 44px 20px;
}
.error-state-card {
  width: min(680px, 100%);
  background: #fff;
  border: 1px solid #ded7ca;
  border-radius: 24px;
  padding: 38px;
  box-shadow: 0 18px 45px rgba(25, 37, 36, 0.06);
}
.error-state-code {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: #a97920;
  margin-bottom: 10px;
}
.error-state-card h1 {
  margin: 6px 0 12px;
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.05;
}
.error-state-card p {
  font-size: 18px;
  line-height: 1.6;
  color: #746d64;
  max-width: 580px;
}
.error-state-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 26px 0 18px;
}
.error-state-card small {
  color: #8b8378;
}
@media (max-width: 640px) {
  .error-state-card {
    padding: 26px 22px;
    border-radius: 18px;
  }
  .error-state-actions .btn {
    width: 100%;
    text-align: center;
  }
}
.contacts-connect-grid {
  align-items: start;
  margin-bottom: 18px;
}
.contact-invite-form {
  gap: 12px;
}
.contact-invite-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #ece5d9;
}
.contact-invite-row:last-child {
  border-bottom: 0;
}
.contact-invite-row > div:first-child {
  display: grid;
  gap: 3px;
}
.contact-invite-row small {
  color: #7d7569;
}
.portal-contact-badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e3f1eb;
  color: #2a6752;
  font-size: 10px;
  vertical-align: middle;
}
.portal-address-line {
  display: block;
  color: #9a7123 !important;
  margin-top: 4px;
}
.contact-invite-row.pending {
  opacity: 0.8;
}
.transfer-form {
  display: grid;
  gap: 14px;
}
.transfer-options {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid #e2dbcf;
  border-radius: 14px;
  background: #faf7f0;
}
.transfer-options > strong {
  margin-bottom: 3px;
}
.transfer-options label,
.check-line {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.transfer-options input,
.check-line input {
  width: auto !important;
  margin-top: 3px;
}
.check-line span {
  display: grid;
  gap: 2px;
}
.check-line small {
  color: #7f786d;
  font-weight: 500;
}
.info-box {
  padding: 15px 17px;
  border-radius: 14px;
  background: #f4efe4;
  border: 1px solid #e1d7c2;
}
.info-box p {
  margin: 5px 0 0;
  color: #756d62;
}
.invoice-share-panel {
  margin-top: 18px;
}
.invoice-share-panel > summary {
  padding: 16px 18px;
}
.public-share-wrap {
  width: min(760px, calc(100% - 32px));
  margin: 50px auto;
}
.public-share-card {
  background: #fff;
  border: 1px solid #e1d9cb;
  border-radius: 22px;
  padding: 32px;
}
.public-share-card h1 {
  margin: 8px 0 5px;
}
.public-share-card > .share-file-actions {
  margin-top: 22px;
}
.shared-cases-overview + .invoice-list {
  margin-top: 18px;
}
.analysis-admin-grid > div {
  min-width: 0;
}
@media (max-width: 760px) {
  .contacts-connect-grid {
    grid-template-columns: 1fr;
  }
  .contact-invite-form {
    grid-template-columns: 1fr;
  }
  .contact-invite-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .contact-invite-row .actions {
    width: 100%;
  }
  .contact-invite-row .actions form,
  .contact-invite-row .actions .btn {
    width: 100%;
  }
  .public-share-card {
    padding: 23px 20px;
  }
  .transfer-form .form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .transfer-form .form-actions .btn {
    width: 100%;
  }
}
.contact-invite-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin-top: 8px;
}
.contact-invite-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.contact-invite-field label {
  margin: 0;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  color: #182322;
}
.contact-invite-field input[type="email"] {
  display: block;
  width: 100%;
  min-width: 0;
  height: 52px;
  box-sizing: border-box;
  padding: 0 15px;
  border: 1px solid #d8d1c4;
  border-radius: 13px;
  background: #fff;
  color: #182322;
  font: inherit;
  font-size: 15px;
  line-height: 52px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  transition: border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}
.contact-invite-field input[type="email"]::placeholder {
  color: #91897e;
  opacity: 1;
}
.contact-invite-field input[type="email"]:hover {
  border-color: #c4b9a4;
}
.contact-invite-field input[type="email"]:focus {
  border-color: #a87d28;
  box-shadow: 0 0 0 3px rgba(168, 125, 40, 0.14);
  background: #fffefb;
}
.contact-invite-submit {
  min-height: 52px;
  padding: 0 22px;
  margin: 0;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .contact-invite-form {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .contact-invite-submit {
    width: 100%;
  }
}
.contact-nav-badge {
  background: #c4932f;
  color: #fff;
}
.nav-badge.is-hidden {
  display: none !important;
}
.dashboard-contact-request {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 18px 0 24px;
  padding: 18px 20px;
  border: 1px solid #decfae;
  border-left: 4px solid #c89832;
  border-radius: 18px;
  background: linear-gradient(135deg, #fffdf8 0%, #f8f1df 100%);
  color: #172221;
  box-shadow: 0 10px 30px rgba(70, 55, 25, 0.04);
}
.dashboard-contact-request:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(70, 55, 25, 0.08);
}
.dashboard-contact-request-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #efe2bd;
  color: #98701d;
}
.dashboard-contact-request-icon svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.dashboard-contact-request-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.dashboard-contact-request-copy .eyebrow {
  font-size: 10px;
}
.dashboard-contact-request-copy strong {
  font-size: 18px;
  line-height: 1.25;
}
.dashboard-contact-request-copy small {
  color: #777065;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-contact-request-action {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  color: #8f681f;
  white-space: nowrap;
}
.dashboard-contact-request-action b {
  font-size: 20px;
}
@media (max-width: 760px) {
  .dashboard-contact-request {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 15px 14px;
    margin: 14px 0 18px;
  }
  .dashboard-contact-request-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .dashboard-contact-request-icon svg {
    width: 21px;
    height: 21px;
  }
  .dashboard-contact-request-copy strong {
    font-size: 15px;
  }
  .dashboard-contact-request-copy small {
    font-size: 11px;
  }
  .dashboard-contact-request-action {
    grid-column: 1/-1;
    justify-content: space-between;
    padding-top: 10px;
    border-top: 1px solid #e5d7b7;
    font-size: 12px;
  }
}
.invoice-layout {
  display: grid;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.invoice-side-column,
.invoice-main-column {
  display: grid;
  gap: 16px;
}
.invoice-side-column > .panel,
.invoice-main-column > .panel {
  margin: 0;
}
.invoice-summary-card dl {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px 14px;
  margin: 18px 0 0;
}
.invoice-summary-card dt {
  color: #8b8377;
}
.invoice-summary-card dd {
  margin: 0;
  font-weight: 700;
  min-width: 0;
  overflow-wrap: anywhere;
}
.invoice-summary-card .status {
  justify-self: start;
}
.invoice-contact-card h3,
.invoice-summary-card h3 {
  margin: 0 0 14px;
}
.invoice-contact-main {
  display: grid;
  gap: 3px;
  padding-bottom: 13px;
  margin-bottom: 13px;
  border-bottom: 1px solid #ebe5da;
}
.invoice-contact-main strong {
  font-size: 17px;
}
.invoice-contact-main small {
  color: #7e776d;
}
.invoice-contact-card .contact-lines {
  display: grid;
  gap: 10px;
}
.invoice-contact-card .contact-lines span {
  display: grid;
  gap: 2px;
  font-size: 13px;
}
.invoice-contact-card .contact-lines b {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #948b7e;
}
.invoice-contact-card .contact-lines a {
  color: #8f6921;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.invoice-share-panel {
  overflow: hidden;
  padding: 0 !important;
}
.invoice-share-panel .case-share-summary {
  padding: 16px 18px;
}
.invoice-share-panel .case-share-body {
  padding: 0 18px 18px;
}
.invoice-activity-card {
  padding-bottom: 18px;
}
.invoice-data-card .panel-head,
.invoice-payments-card .panel-head,
.invoice-installment-card .panel-head {
  margin-bottom: 18px;
}
.invoice-facts-full {
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 12px 20px;
}
.invoice-notes,
.invoice-original {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e9e3d9;
}
.invoice-notes h3,
.invoice-original h3 {
  margin: 0 0 10px;
}
.invoice-original .form-actions {
  justify-content: flex-start;
}
.invoice-title-sub {
  margin: 8px 0 0;
  color: #9a7123;
  font-weight: 750;
  font-size: 14px;
}
.invoice-purchase-hint {
  display: block;
  margin-top: 6px;
  color: #9a7123;
  font-weight: 700;
  font-size: 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.invoice-main-column .installment-panel {
  margin-top: 0;
}
.invoice-detail-header .inline-form {
  margin: 0;
}
@media (max-width: 980px) {
  .invoice-layout {
    grid-template-columns: 1fr;
  }
  .invoice-side-column {
    grid-template-columns: 1fr 1fr;
  }
  .invoice-side-column > .invoice-share-panel,
  .invoice-side-column > .invoice-activity-card {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .invoice-side-column {
    grid-template-columns: 1fr;
  }
  .invoice-side-column > .invoice-share-panel,
  .invoice-side-column > .invoice-activity-card {
    grid-column: auto;
  }
  .invoice-summary-card dl,
  .invoice-facts-full {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .invoice-summary-card dd,
  .invoice-facts-full dd {
    margin-bottom: 8px;
  }
  .invoice-detail-header .case-detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .invoice-detail-header .case-detail-actions .inline-form {
    grid-column: 1/-1;
  }
  .invoice-detail-header .case-detail-actions .inline-form .btn {
    width: 100%;
  }
}
.task-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.8fr);
  gap: 20px;
  align-items: start;
}
.task-stats,
.contract-stats,
.analytics-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 20px;
}
.task-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 15px 0;
  border-top: 1px solid #ece6dc;
}
.task-row:first-of-type {
  border-top: 0;
}
.task-row.overdue {
  background: #fff8f6;
  margin-inline: -14px;
  padding-inline: 14px;
  border-radius: 12px;
}
.task-check button {
  width: 32px;
  height: 32px;
  border: 1px solid #d9d2c6;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  font-weight: 900;
  color: #6f7d77;
}
.task-main {
  display: grid;
  gap: 5px;
}
.task-main > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.task-main > strong {
  font-size: 16px;
}
.task-main p {
  margin: 0;
  color: #6f6a62;
}
.task-main small {
  color: #837b70;
}
.task-main small a {
  color: #966f24;
  font-weight: 700;
}
.task-form {
  display: grid;
  gap: 12px;
}
.task-form label,
.mini-form label {
  display: grid;
  gap: 6px;
}
.task-form input,
.task-form select,
.task-form textarea,
.mini-form input,
.mini-form select,
.mini-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9d2c6;
  border-radius: 11px;
  padding: 11px 12px;
  background: #fff;
  font: inherit;
}
.status.task-followup {
  background: #eef0fb;
  color: #4a548c;
}
.status.task-task {
  background: #eef4ef;
  color: #315d47;
}
.priority-urgent {
  background: #fbe8e5 !important;
  color: #9d3027 !important;
}
.priority-high {
  background: #fff2d6 !important;
  color: #80570b !important;
}
.priority-low {
  background: #f0f0f0 !important;
  color: #666 !important;
}
.case-mini-section {
  margin: 16px 0 0;
  padding-top: 15px;
  border-top: 1px solid #e8e1d6;
}
.case-mini-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}
.case-mini-head h4 {
  margin: 0;
}
.case-mini-head a {
  font-size: 12px;
  color: #956f26;
  font-weight: 800;
}
.case-mini-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #eee8de;
}
.case-mini-row:first-of-type {
  border-top: 0;
}
.case-mini-row span {
  display: grid;
  gap: 2px;
}
.case-mini-row small {
  color: #817a6f;
  font-size: 10px;
}
.case-note {
  padding: 10px 0;
  border-top: 1px solid #eee8de;
}
.case-note:first-of-type {
  border-top: 0;
}
.case-note p {
  margin: 0 0 6px;
  line-height: 1.5;
}
.case-note > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.case-note small {
  color: #817a6f;
}
.case-note form {
  margin: 0;
}
.link-danger {
  border: 0;
  background: none;
  color: #9d3027;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  padding: 0;
}
.mini-form {
  display: grid;
  gap: 9px;
  padding-top: 10px;
}
.file-type-form {
  margin-top: 7px;
}
.file-type-form label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 800;
  color: #867e72;
}
.file-type-form select {
  max-width: 190px;
  border: 1px solid #ded7ca;
  border-radius: 8px;
  background: #fff;
  padding: 6px 8px;
  font-size: 11px;
}
.contract-list {
  padding: 0;
  overflow: hidden;
}
.contract-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px 180px;
  gap: 20px;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid #e8e2d7;
  color: inherit;
  text-decoration: none;
}
.contract-row:last-child {
  border-bottom: 0;
}
.contract-row h3 {
  margin: 6px 0 3px;
}
.contract-row p {
  margin: 0;
  color: #7d756a;
}
.contract-row > div:nth-of-type(n + 2) {
  display: grid;
  gap: 3px;
}
.contract-row .status {
  display: inline-flex;
  justify-self: start;
  align-self: start;
  width: max-content;
  max-width: 100%;
}
.contract-row small,
.contract-row span {
  color: #81796d;
}
.contract-active {
  background: #e8f3ed;
  color: #35634a;
}
.contract-cancelled {
  background: #fff0cf;
  color: #7c5a14;
}
.contract-ended {
  background: #eee;
  color: #666;
}
.contract-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 20px;
  align-items: start;
}
.contract-file {
  display: grid;
  gap: 16px;
}
.contract-file .actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.dashboard-work {
  margin: 18px 0 24px;
}
.dashboard-work > .panel-head {
  margin-bottom: 12px;
}
.dashboard-work-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.work-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e2dbcf;
  border-radius: 16px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.work-card.overdue {
  border-color: #e7b4ac;
  background: #fff8f6;
}
.work-card.contract {
  background: #fbf8f0;
}
.work-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #efe6d1;
  color: #8d6a25;
  font-weight: 900;
}
.work-card > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.work-card small {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #8e826f;
  font-weight: 800;
}
.work-card strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.work-card span:last-child {
  font-size: 11px;
  color: #7b7469;
}
.analytics-filter {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-bottom: 18px;
}
.analytics-filter label {
  display: grid;
  gap: 5px;
}
.analytics-filter select {
  min-width: 130px;
  border: 1px solid #d9d2c6;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}
.analytics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.analytics-row {
  gap: 20px;
  border-top: 1px solid #ece6dc;
}
.analytics-row > div {
  display: grid;
  gap: 2px;
}
.analytics-row small {
  color: #81796d;
}
.invoice-category-hint {
  display: block !important;
  margin-top: 7px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  width: auto;
}
@media (max-width: 1050px) {
  .task-layout,
  .contract-detail-grid,
  .analytics-grid {
    grid-template-columns: 1fr;
  }
  .task-stats,
  .contract-stats,
  .analytics-stats {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-work-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .task-stats,
  .contract-stats,
  .analytics-stats {
    grid-template-columns: 1fr 1fr;
  }
  .task-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .task-actions {
    grid-column: 2;
  }
  .contract-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .dashboard-work-grid {
    grid-template-columns: 1fr;
  }
  .analytics-filter {
    align-items: stretch;
    flex-direction: column;
  }
  .analytics-filter .btn,
  .analytics-filter select {
    width: 100%;
  }
  .file-type-form label {
    align-items: flex-start;
    flex-direction: column;
  }
  .file-type-form select {
    max-width: none;
    width: 100%;
  }
}
.analytics-category-create {
  margin-bottom: 18px;
}
.inline-create {
  display: flex;
  gap: 10px;
}
.inline-create input {
  flex: 1;
  min-width: 0;
  border: 1px solid #d9d2c6;
  border-radius: 11px;
  padding: 11px 12px;
  font: inherit;
}
@media (max-width: 640px) {
  .inline-create {
    display: grid;
  }
  .inline-create .btn {
    width: 100%;
  }
}
.invoice-filterbar {
  grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) minmax(160px, 220px)
    minmax(160px, 220px) auto !important;
}
@media (max-width: 1100px) {
  .invoice-filterbar {
    grid-template-columns: 1fr 1fr !important;
  }
  .invoice-filterbar .filter-submit {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .invoice-filterbar {
    grid-template-columns: 1fr !important;
  }
  .invoice-filterbar .filter-submit {
    grid-column: auto;
  }
}
.file-panel-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}
.file-panel-tools form {
  margin: 0;
}
.file-panel-tools select {
  border: 1px solid #d9d2c6;
  border-radius: 9px;
  padding: 7px 9px;
  background: #fff;
  font-size: 11px;
}
@media (max-width: 760px) {
  .file-panel-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }
  .file-panel-tools {
    width: 100%;
    justify-content: space-between;
  }
  .file-panel-tools form {
    flex: 1;
  }
  .file-panel-tools select {
    width: 100%;
  }
}
.task-overview-panel {
  width: 100%;
}
@media (max-width: 760px) {
  .page-head {
    align-items: flex-start;
  }
  .page-head > .btn {
    width: 100%;
    margin-top: 2px;
  }
}
.contract-file-field {
  margin-top: 18px !important;
  text-align: center !important;
}
.contract-file-field > input[type="file"] {
  min-height: 72px !important;
  padding: 8px 10px !important;
  border: 1px dashed #d2c7b4 !important;
  border-radius: 12px !important;
  background: #fffdfa !important;
  color: #7b725f !important;
}
.contract-file-field > input[type="file"]::file-selector-button {
  border: 0 !important;
  border-radius: 10px !important;
  background: #eee8da !important;
  color: #1f2929 !important;
  padding: 14px 18px !important;
  margin-right: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}
.contract-file-field > input[type="file"]::file-selector-button:hover {
  background: #e3dbc9 !important;
}
.contract-file-field > small {
  display: block !important;
  text-align: center !important;
  color: #1f1f1f !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding-top: 2px !important;
}
@media (max-width: 760px) {
  .contract-file-field > input[type="file"] {
    min-height: 66px !important;
  }
  .contract-file-field > input[type="file"]::file-selector-button {
    padding: 12px 14px !important;
    margin-right: 10px !important;
  }
}
.archive-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: -6px 0 22px;
  padding: 14px 18px;
  border: 1px solid #d7c18d;
  border-radius: 16px;
  background: #fbf5e7;
  color: #5d4a20;
}
.archive-notice strong {
  white-space: nowrap;
}
.archive-notice span {
  color: #75684d;
}
.archive-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}
.archive-stat {
  padding: 22px;
  display: grid;
  gap: 6px;
}
.archive-stat small {
  color: #887c69;
}
.archive-stat strong {
  font-size: 38px;
  line-height: 1;
}
.archive-stat span {
  color: #9a6b20;
}
.archive-search {
  display: flex;
  align-items: end;
  padding: 18px;
  margin-bottom: 18px;
}
.archive-search label {
  flex: 1;
  display: grid;
  gap: 7px;
}
.archive-search label span {
  font-weight: 800;
}
.archive-list {
  gap: 14px;
}
.archive-card {
  display: flex;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}
.archive-card-link {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 1;
  min-width: 0;
  padding: 20px 22px;
  color: inherit;
  text-decoration: none;
}
.archive-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 18px;
  border-left: 1px solid #e7dfd2;
  background: #faf8f3;
}
.archive-card-actions form {
  margin: 0;
}
.nav-item[href="/archive"] svg {
  opacity: 0.9;
}
@media (max-width: 850px) {
  .archive-stats {
    grid-template-columns: 1fr;
  }
  .archive-search {
    align-items: stretch;
    flex-direction: column;
  }
  .archive-search .btn {
    width: 100%;
  }
  .archive-card {
    display: block;
  }
  .archive-card-actions {
    border-left: 0;
    border-top: 1px solid #e7dfd2;
    justify-content: flex-end;
  }
  .archive-card-link {
    padding: 18px;
  }
}
@media (max-width: 560px) {
  .archive-card-link {
    align-items: flex-start;
  }
  .archive-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .archive-card-actions .btn {
    width: 100%;
  }
  .archive-notice {
    align-items: flex-start;
    flex-direction: column;
  }
}
.archive-search {
  align-items: flex-end;
  padding: 22px 24px;
  gap: 12px;
}
.archive-search-field {
  margin: 0 !important;
  display: grid !important;
  gap: 8px !important;
}
.archive-search-field > span {
  font-size: 13px;
  font-weight: 800;
  color: #242424;
}
.archive-search input[type="search"] {
  width: 100%;
  height: 50px;
  padding: 0 15px;
  border: 1px solid #d7d2c7;
  border-radius: 12px;
  background: #fff;
  color: #222;
  outline: none;
  box-shadow: none;
}
.archive-search input[type="search"]:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.archive-search .btn {
  min-height: 50px;
  padding-left: 22px;
  padding-right: 22px;
}
.archive-stat {
  min-height: 154px;
  border-radius: 18px;
}
.archive-stat small {
  font-size: 13px;
}
.archive-stat strong {
  font-size: 42px;
  letter-spacing: -0.04em;
}
.archive-stat span {
  font-size: 13px;
}
.archive-list .empty {
  border-radius: 18px;
}
@media (max-width: 850px) {
  .archive-search {
    align-items: stretch;
  }
  .archive-search .btn {
    min-height: 46px;
  }
}
.case-relations {
  overflow: hidden;
}
.case-relations .panel-head {
  align-items: flex-start;
  gap: 16px;
}
.relation-list {
  display: grid;
  gap: 10px;
}
.relation-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid #e8e2d7;
  border-radius: 13px;
  background: #fcfbf8;
}
.relation-kind {
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 850;
  color: #8b6b2e;
  background: #f0e8d5;
  border-radius: 999px;
  padding: 7px 9px;
  white-space: nowrap;
}
.relation-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.relation-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.relation-main small {
  color: #817a6d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.relation-main .relation-archive {
  color: #8e7547;
  font-weight: 750;
}
.relation-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.relation-add {
  margin-top: 14px;
  border-top: 1px solid #eee8de;
  padding-top: 12px;
}
.relation-add > summary {
  cursor: pointer;
  color: #8c6b2e;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
}
.relation-add > summary::-webkit-details-marker {
  display: none;
}
.relation-add-form {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-top: 12px;
}
.relation-add-form label {
  display: grid;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  font-weight: 750;
}
.relation-add-form select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
  color: #222;
}
.relation-add-form .btn {
  min-height: 44px;
}
.relation-empty {
  padding: 8px 0;
  color: #91897b;
  font-size: 13px;
}
.btn.icon-danger {
  background: #fbf7ef;
  color: #8f4a3d;
  border: 1px solid #ddc9bc;
  padding: 8px 10px;
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  min-height: 36px;
}
.btn.icon-danger svg {
  width: 16px;
  height: 16px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.btn.icon-danger:hover {
  background: #f3eadf;
  color: #6f372e;
  border-color: #cdb3a2;
}
@media (max-width: 760px) {
  .relation-add-form {
    grid-template-columns: 1fr;
  }
  .relation-add-form .btn {
    width: 100%;
  }
  .relation-row {
    grid-template-columns: 1fr auto;
  }
  .relation-kind {
    grid-column: 1/-1;
    justify-self: start;
  }
  .relation-main strong,
  .relation-main small {
    white-space: normal;
  }
}
.case-detail-header-modern {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
}
.case-detail-header-modern .case-detail-title {
  display: grid;
  gap: 0;
  min-width: 0;
}
.case-detail-header-modern .case-meta-chips {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.case-detail-header-modern .case-meta-chip {
  min-width: 190px;
}
.case-icon-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 8px;
  align-self: end;
  flex-wrap: nowrap;
}
.case-icon-actions .inline-form {
  display: block !important;
  margin: 0;
}
.case-action-icon {
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #d4cbbc;
  border-radius: 14px;
  background: #fff;
  color: #202a2a;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 5px 16px #3028170b;
  transition: 0.16s ease;
}
.case-action-icon:hover {
  transform: translateY(-1px);
  background: #fbf8f1;
}
.case-action-icon.primary {
  background: #202a2a;
  color: #fff;
  border-color: #202a2a;
}
.case-action-icon.danger-icon {
  color: #ad4435;
  border-color: #e5b7ae;
}
.case-action-icon.danger-icon:hover {
  background: #fff5f2;
}
.case-layout {
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.case-info {
  padding: 0 !important;
  overflow: hidden;
  position: sticky;
  top: 94px;
}
.case-info > h3 {
  margin: 0;
  padding: 18px 20px;
  background: #f7f3ea;
  border-bottom: 1px solid #e8e0d3;
  font-size: 18px;
}
.case-info > dl {
  margin: 0 !important;
  padding: 6px 20px 16px !important;
  display: block !important;
}
.case-info > dl > dt {
  margin-top: 12px;
  color: #8c8375 !important;
  font-size: 10px !important;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.case-info > dl > dd {
  text-align: left !important;
  margin: 3px 0 0 !important;
  font-size: 14px;
  font-weight: 800 !important;
  overflow-wrap: anywhere;
}
.case-contact {
  padding: 16px 20px;
  border-top: 1px solid #ece5da;
}
.case-contact h4 {
  margin: 0 0 10px;
}
.contact-lines {
  display: grid;
  gap: 10px;
}
.contact-lines span {
  display: grid;
  gap: 2px;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.contact-lines b {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8b8275;
}
.contact-lines a {
  color: #73571f;
}
.status-form {
  padding: 16px 20px;
  border-top: 1px solid #ece5da;
  display: grid;
  gap: 9px;
}
.status-form select {
  min-height: 44px;
}
.status-form .btn {
  min-height: 42px;
}
.case-mini-section {
  margin: 0 !important;
  padding: 16px 20px !important;
  border-top: 1px solid #ece5da !important;
}
.case-mini-head {
  margin-bottom: 10px;
}
.case-mini-head h4 {
  font-size: 15px;
  line-height: 1.25;
}
.case-mini-row {
  padding: 10px 0;
}
.case-mini-row strong {
  font-size: 12px;
}
.case-mini-row .btn.tiny {
  min-width: 34px;
}
.case-info .inline-details > summary {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 8px 0;
  color: #8f6b2e;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.case-info .mini-form {
  grid-template-columns: 1fr !important;
  gap: 9px !important;
}
.case-info .mini-form label {
  display: grid !important;
  gap: 5px !important;
  margin: 0 !important;
  font-size: 11px !important;
}
.case-info .mini-form input,
.case-info .mini-form select,
.case-info .mini-form textarea {
  width: 100% !important;
  min-width: 0 !important;
  padding: 10px 11px !important;
  border: 1px solid #d8d1c5 !important;
  border-radius: 9px !important;
  background: #fff !important;
}
.case-info .mini-form textarea {
  resize: vertical;
  min-height: 78px;
}
.case-info .mini-form .btn {
  width: 100%;
  min-height: 42px;
}
.case-note p {
  overflow-wrap: anywhere;
}
.case-share-box {
  margin: 0 !important;
  border-radius: 0 !important;
  border-width: 1px 0 0 !important;
  background: #fbf8f1 !important;
}
.case-share-summary {
  padding: 14px 20px !important;
}
.case-share-body {
  padding: 0 20px 18px !important;
}
.case-activity-box {
  padding: 16px 20px;
  border-top: 1px solid #ece5da;
}
.unified-upload,
.upload-box.file-field.unified-upload,
.upload-box.file-upload-box.unified-upload,
.contract-file-field.unified-upload {
  display: grid !important;
  gap: 8px !important;
  margin: 16px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
}
.unified-upload > .upload-title,
.unified-upload > span:first-child {
  display: block;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  color: #20201e;
}
.unified-upload input[type="file"] {
  display: block !important;
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px dashed #d2c7b4 !important;
  border-radius: 13px !important;
  background: #fffdfa !important;
  color: #756e62 !important;
  font: inherit !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.unified-upload input[type="file"]::file-selector-button {
  border: 0 !important;
  border-radius: 10px !important;
  background: #eee8da !important;
  color: #202725 !important;
  padding: 14px 18px !important;
  margin-right: 14px !important;
  font: inherit !important;
  font-weight: 850 !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}
.unified-upload input[type="file"]::file-selector-button:hover {
  background: #e3dbc9 !important;
}
.unified-upload > .upload-hint,
.unified-upload > small {
  display: block !important;
  text-align: center !important;
  color: #625d54 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.4;
  padding: 0 2px !important;
  margin: 0 !important;
}
.upload-panel .form-grid {
  align-items: start;
}
.upload-panel .unified-upload {
  margin: 0 !important;
}
.upload-panel form > label,
.upload-panel .form-grid > label:not(.unified-upload) {
  display: grid;
  gap: 7px;
  margin: 14px 0;
  font-size: 13px;
  font-weight: 750;
}
.analytics-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: end;
}
.analytics-year-form {
  display: flex;
  gap: 9px;
  align-items: end;
}
.analytics-year-form label {
  display: grid;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
}
.analytics-year-form select {
  min-width: 120px;
  padding: 11px 12px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
}
.analytics-grid-wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.analytics-months {
  grid-column: 1/-1;
}
.analytics-month-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) 120px;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid #eee8de;
}
.analytics-month-row:first-of-type {
  border-top: 0;
}
.analytics-bar {
  height: 9px;
  border-radius: 999px;
  background: #eee9df;
  overflow: hidden;
}
.analytics-bar span {
  display: block;
  height: 100%;
  background: #b28a3c;
  border-radius: 999px;
}
.analytics-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 0;
  border-top: 1px solid #eee8de;
}
.analytics-row:first-of-type {
  border-top: 0;
}
.analytics-row small {
  display: block;
  color: #817a6f;
  margin-top: 2px;
}
.analytics-category-manage {
  margin-top: 16px;
}
.category-manage-list {
  display: grid;
  gap: 8px;
}
.category-manage-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #ebe4d8;
  border-radius: 12px;
}
.category-manage-row > div {
  display: grid;
  gap: 2px;
}
.category-manage-row small {
  color: #817a6f;
}
.category-manage-row form {
  display: flex;
  gap: 7px;
  align-items: center;
}
.category-manage-row input {
  padding: 9px 10px;
  border: 1px solid #d8d1c5;
  border-radius: 9px;
}
.category-system {
  font-size: 10px;
  font-weight: 800;
  color: #927025;
  background: #f1eadb;
  padding: 5px 7px;
  border-radius: 999px;
}
@media (max-width: 1050px) {
  .case-detail-header-modern {
    grid-template-columns: 1fr;
  }
  .case-icon-actions {
    justify-content: flex-start;
  }
  .case-layout {
    grid-template-columns: 300px minmax(0, 1fr);
  }
}
@media (max-width: 860px) {
  .case-layout {
    grid-template-columns: 1fr;
  }
  .case-info {
    position: static;
  }
  .case-detail-header-modern .case-meta-chip {
    min-width: 0;
    flex: 1;
  }
  .analytics-grid-wide {
    grid-template-columns: 1fr;
  }
  .analytics-months {
    grid-column: auto;
  }
}
@media (max-width: 600px) {
  .case-detail-header-modern .case-meta-chips {
    display: grid;
    grid-template-columns: 1fr;
  }
  .case-icon-actions {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr);
    width: 100%;
  }
  .case-action-icon {
    width: 100%;
    height: 48px;
  }
  .unified-upload input[type="file"] {
    min-height: 66px !important;
  }
  .unified-upload input[type="file"]::file-selector-button {
    padding: 12px 13px !important;
    margin-right: 9px !important;
  }
  .analytics-hero {
    grid-template-columns: 1fr;
  }
  .analytics-year-form {
    width: 100%;
  }
  .analytics-year-form label {
    flex: 1;
  }
  .analytics-year-form select,
  .analytics-year-form .btn {
    width: 100%;
  }
  .analytics-month-row {
    grid-template-columns: 72px 1fr 92px;
    font-size: 12px;
  }
  .category-manage-row {
    grid-template-columns: 1fr;
  }
  .category-manage-row form {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
.case-action-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.case-action-icon {
  font-size: 0;
  background: #fffdf9;
  border-color: #d8d0c3;
  box-shadow: 0 6px 20px rgba(47, 39, 24, 0.045);
}
.case-action-icon:hover {
  background: #f6f1e7;
  border-color: #b99a5a;
  box-shadow: 0 8px 24px rgba(47, 39, 24, 0.08);
}
.case-action-icon.danger-icon {
  background: #fffdfb;
}
.case-action-icon.danger-icon:hover {
  background: #fff3ef;
  border-color: #d99788;
}
.case-info details.inline-details[open] {
  margin: 7px -10px 0;
  padding: 0 10px 12px;
  border-radius: 12px;
  background: #faf7f0;
}
.case-info details.inline-details[open] > summary {
  position: sticky;
  top: 82px;
  z-index: 2;
  margin: 0 -10px;
  padding: 11px 10px;
  background: #faf7f0;
  border-bottom: 1px solid #e9e0d1;
  border-radius: 12px 12px 0 0;
}
.case-info .case-note details[open] {
  margin: 4px 0 8px;
  padding: 9px;
  border-radius: 10px;
  background: #faf7f0;
}
.case-info .case-note details[open] > summary {
  margin-bottom: 8px;
}
.task-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}
.task-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}
.task-actions form {
  display: flex;
  margin: 0;
}
.task-actions .btn {
  white-space: nowrap;
}
.task-done-btn {
  background: #edf5ef !important;
  border-color: #c9ddcf !important;
  color: #315d47 !important;
}
.task-done-btn:hover {
  background: #e2efe6 !important;
  border-color: #a9c7b1 !important;
}
@media (max-width: 760px) {
  .task-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .task-actions {
    grid-column: auto;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .task-actions .btn {
    min-height: 40px;
  }
}
.archive-preservation strong {
  font-size: 28px;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: #202725;
}
.ob-date-wrap {
  position: relative;
  width: 100%;
}
.ob-native-date {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
}
.ob-date-trigger {
  width: 100%;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 14px;
  border: 1px solid #d8d1c5;
  border-radius: 12px;
  background: #fff;
  color: #202725;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease,
    box-shadow 0.15s ease,
    background 0.15s ease;
}
.ob-date-trigger:hover {
  border-color: #c3b69f;
  background: #fffefa;
}
.ob-date-trigger:focus-visible,
.ob-date-wrap.is-open .ob-date-trigger {
  outline: none;
  border-color: #a98437;
  box-shadow: 0 0 0 3px rgba(169, 132, 55, 0.13);
}
.ob-date-trigger.is-empty .ob-date-value {
  color: #80796e;
  font-weight: 650;
}
.ob-date-trigger.is-invalid {
  border-color: #c35c4b;
  box-shadow: 0 0 0 3px rgba(195, 92, 75, 0.12);
}
.ob-date-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  color: #8f6b2e;
}
.ob-date-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ob-datepicker {
  position: fixed;
  z-index: 5000;
  width: min(330px, calc(100vw - 24px));
  padding: 12px;
  border: 1px solid #d8d0c2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(37, 31, 20, 0.18);
  display: none;
}
.ob-datepicker.open {
  display: block;
  animation: obDateIn 0.12s ease-out;
}
@keyframes obDateIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ob-cal-head {
  display: grid;
  grid-template-columns: 38px 1fr 38px;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.ob-cal-title {
  text-align: center;
  font-size: 15px;
  font-weight: 850;
  color: #252522;
}
.ob-cal-nav {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 10px;
  background: #f4f0e7;
  color: #4d4a43;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.ob-cal-nav:hover {
  background: #ebe3d3;
  color: #8f6720;
}
.ob-cal-nav svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ob-cal-weekdays,
.ob-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}
.ob-cal-weekdays {
  padding: 4px 0 5px;
}
.ob-cal-weekdays span {
  text-align: center;
  font-size: 10px;
  font-weight: 850;
  color: #8a8276;
  text-transform: uppercase;
}
.ob-cal-day {
  aspect-ratio: 1;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #2d2d2a;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.ob-cal-day:hover {
  background: #f2ecdf;
  color: #835f1e;
}
.ob-cal-day.other {
  color: #bbb3a7;
}
.ob-cal-day.today {
  box-shadow: inset 0 0 0 1px #cbb482;
  color: #79581b;
}
.ob-cal-day.selected {
  background: #202b29;
  color: #fff;
  box-shadow: none;
}
.ob-cal-day.selected:hover {
  background: #202b29;
  color: #fff;
}
.ob-cal-time[hidden] {
  display: none !important;
}
.ob-cal-time {
  display: flex;
  align-items: end;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee8dd;
}
.ob-cal-time > span {
  padding-bottom: 9px;
  font-size: 11px;
  font-weight: 850;
  color: #7c7468;
}
.ob-cal-time label {
  display: grid;
  gap: 4px;
  margin: 0 !important;
  font-size: 10px !important;
  color: #81786b;
}
.ob-cal-time input {
  width: 64px !important;
  min-height: 38px !important;
  padding: 7px 8px !important;
  border: 1px solid #d8d1c5 !important;
  border-radius: 9px !important;
  text-align: center !important;
  background: #fff !important;
  font: inherit !important;
}
.ob-cal-colon {
  padding-bottom: 8px;
  font-weight: 850;
  color: #7d7467;
}
.ob-cal-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #eee8dd;
}
.ob-cal-actions-left {
  display: flex;
  gap: 5px;
}
.ob-cal-link {
  border: 0;
  background: transparent;
  padding: 8px 9px;
  border-radius: 8px;
  color: #89651f;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.ob-cal-link:hover {
  background: #f5efe3;
}
.ob-cal-apply {
  border: 0;
  border-radius: 10px;
  background: #202b29;
  color: #fff;
  padding: 10px 14px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.ob-cal-apply:hover {
  background: #293735;
}
@media (max-width: 560px) {
  .ob-datepicker {
    left: 12px !important;
    right: 12px !important;
    width: auto;
  }
  .ob-date-trigger {
    min-height: 48px;
  }
  .ob-cal-day {
    font-size: 12px;
  }
}
.cases-page-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.cases-page-head .case-view-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.cases-page-head .case-view-actions .btn {
  padding-left: 16px;
  padding-right: 16px;
  min-height: 48px;
}
.cases-page-head .case-view-actions .btn:last-child {
  margin-left: 4px;
}
.archive-overview {
  display: grid;
  grid-template-columns: minmax(250px, 360px) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin: 18px 0;
}
.archive-overview .archive-stat {
  margin: 0;
  min-height: 148px;
}
.archive-info-strip {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 22px 24px;
  border: 1px solid #ddcfac;
  border-radius: 18px;
  background: #fbf6e9;
  color: #5e5034;
}
.archive-info-strip strong {
  font-size: 15px;
  color: #2a2925;
}
.archive-info-strip span {
  font-size: 13px;
  line-height: 1.55;
  color: #76694f;
}
.archive-preservation {
  display: none !important;
}
.status.archived {
  margin-left: 5px;
  background: #eee8dc;
  color: #665b48;
}
.case-card:has(.status.archived) {
  border-color: #d8c9aa;
}
.case-card:has(.status.archived) .case-icon {
  background: #f0eadc;
}
.ob-datepicker {
  overflow-y: auto;
  overscroll-behavior: contain;
}
.ob-datepicker.open {
  max-height: calc(100vh - 24px);
}
@media (max-width: 1120px) {
  .cases-page-head {
    grid-template-columns: 1fr;
  }
  .cases-page-head .case-view-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .cases-page-head .case-view-actions .btn:last-child {
    margin-left: 0;
  }
}
@media (max-width: 850px) {
  .archive-overview {
    grid-template-columns: 1fr;
  }
  .archive-info-strip {
    padding: 18px;
  }
  .cases-page-head .case-view-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    white-space: normal;
  }
  .cases-page-head .case-view-actions .btn:last-child {
    grid-column: 1/-1;
  }
}
.case-search-note {
  margin: -4px 0 16px;
  font-size: 12px;
  color: #746d61;
}
.case-search-note .status {
  vertical-align: middle;
  margin: 0 2px;
}
input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  min-height: 22px !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #cdbf9f !important;
  border-radius: 7px !important;
  background: #f2ecdf !important;
  background-image: none !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 1px 2px rgba(42, 36, 24, 0.05) !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 22px !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease !important;
}
input[type="checkbox"]:hover {
  border-color: #a98743 !important;
  background: #eee4cf !important;
}
input[type="checkbox"]:focus-visible {
  outline: none !important;
  border-color: #9f7c38 !important;
  box-shadow: 0 0 0 3px rgba(201, 170, 100, 0.24),
    inset 0 0 0 1px rgba(255, 255, 255, 0.72) !important;
}
input[type="checkbox"]:checked {
  border-color: #a27d35 !important;
  background-color: #e9dfc8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.5 10.2 8.2 14 15.6 6.1' fill='none' stroke='%23202b29' stroke-width='2.35' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 17px 17px !important;
}
input[type="checkbox"]:active {
  transform: scale(0.96);
}
input[type="checkbox"]:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}
.check,
.check-line,
.remember-contact,
.delete-linked-option,
.transfer-options label {
  align-items: center !important;
}
.danger-outline,
.btn.ghost.danger-text,
.btn.danger-outline {
  background: #fbfaf7 !important;
  color: #8d493d !important;
  border: 1px solid #d7c8bd !important;
  box-shadow: none !important;
}
.danger-outline:hover,
.btn.ghost.danger-text:hover,
.btn.danger-outline:hover {
  background: #f1ede5 !important;
  color: #753c33 !important;
  border-color: #c6b6aa !important;
  transform: translateY(-1px);
}
.task-actions .danger-outline {
  background: #fbfaf7 !important;
}
.archive-list .danger-outline {
  background: #fbfaf7 !important;
}
.smart-case-suggestions {
  margin: 20px 0;
  padding: 18px;
  border: 1px solid #e1d4b9;
  border-radius: 16px;
  background: #fbf7ec;
}
.smart-case-suggestions .panel-head {
  margin-bottom: 12px;
}
.smart-case-suggestions .panel-head h3 {
  margin: 4px 0;
}
.smart-case-suggestions .panel-head p {
  margin: 4px 0 0;
  color: #766f63;
  font-size: 13px;
  line-height: 1.5;
}
.task-reminder-box {
  margin: 16px 0 18px;
  padding: 16px 18px;
  border: 1px solid #ded4c1;
  border-radius: 16px;
  background: #fbf8f1;
}
.task-reminder-box legend {
  padding: 0 8px;
  font-weight: 850;
  color: #222;
}
.task-reminder-box legend small {
  font-weight: 650;
  color: #8a8174;
}
.task-reminder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 4px 0 10px;
}
.task-reminder-grid .check {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #e5ddcf;
  border-radius: 12px;
  background: #fff;
  color: #3f3b34;
  font-size: 13px;
  font-weight: 700;
}
.task-reminder-grid .check:has(input:checked) {
  border-color: #ccb77e;
  background: #f5efe1;
}
.task-reminder-grid .check input {
  margin-right: 9px !important;
}
.task-reminder-box.compact {
  padding: 12px;
  margin: 4px 0 2px;
}
.task-reminder-box.compact .task-reminder-grid {
  grid-template-columns: 1fr;
  gap: 7px;
}
.task-reminder-box.compact .task-reminder-grid .check {
  padding: 8px 9px;
  font-size: 12px;
}
@media (max-width: 640px) {
  .task-reminder-grid {
    grid-template-columns: 1fr;
  }
}
.file-row[id^="file-"] {
  scroll-margin-top: 96px;
}
.file-type-form select.is-saving {
  opacity: 0.72;
  cursor: progress;
}
.file-type-form select.is-saved {
  border-color: #b9a36d !important;
  box-shadow: 0 0 0 3px #c9aa6418 !important;
  background: #fffdf8 !important;
}
.file-type-form select.is-save-error {
  border-color: #b56a58 !important;
  box-shadow: 0 0 0 3px #b56a5818 !important;
}
.panel,
.case-card,
.stat-card,
.stats > article,
.archive-card,
.system-check,
.address-card,
.demo-window,
.auth-card {
  box-shadow: 0 7px 20px rgba(53, 45, 31, 0.055);
}
.panel:hover,
.case-card:hover,
.stat-card:hover,
.archive-card:hover {
  box-shadow: 0 9px 24px rgba(53, 45, 31, 0.075);
}
.sidebar {
  overflow: hidden !important;
  padding: 18px 14px 12px !important;
}
.sidebar-head {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px !important;
  gap: 10px !important;
  padding: 0 6px 12px !important;
}
.sidebar-head:before {
  display: none !important;
}
.sidebar-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 190px !important;
  justify-self: start !important;
  margin: 0 !important;
}
.sidebar-close {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
}
.side-user {
  flex: 0 0 auto;
  margin: 2px 0 12px !important;
  padding: 12px 11px !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 10px !important;
  border-color: #ffffff0b !important;
  background: #ffffff04 !important;
}
.side-avatar {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
}
.side-user-meta {
  gap: 2px !important;
}
.side-user-meta strong {
  font-size: 13px !important;
}
.side-user-meta span {
  font-size: 10px;
  color: #879793;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side-mail-copy {
  display: none !important;
}
.side-quick-actions {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.side-quick-actions a {
  min-height: 56px;
  padding: 9px 7px;
  border: 1px solid #ffffff10;
  border-radius: 12px;
  background: #ffffff06;
  color: #d7ddda;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  transition: 0.16s ease;
}
.side-quick-actions a:hover {
  color: #182220;
  background: #e4c46d;
  border-color: #e4c46d;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px #0000001a;
}
.side-quick-actions svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex: 0 0 auto;
}
.side-quick-actions span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.side-nav {
  flex: 1 1 auto !important;
  min-height: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: #ffffff22 transparent;
}
.side-nav::-webkit-scrollbar {
  width: 5px;
}
.side-nav::-webkit-scrollbar-track {
  background: transparent;
}
.side-nav::-webkit-scrollbar-thumb {
  background: #ffffff20;
  border-radius: 999px;
}
.side-nav::-webkit-scrollbar-thumb:hover {
  background: #ffffff32;
}
.nav-group {
  padding: 8px 0 9px !important;
}
.nav-label {
  padding-left: 10px !important;
}
.nav-item {
  min-height: 38px !important;
  padding: 8px 10px !important;
  margin: 1px 0 !important;
}
.sidebar-footer {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 10px 0 0 !important;
  margin-top: 8px;
  border-top: 1px solid #ffffff12 !important;
  background: #1d2928;
}
.sidebar-footer-action {
  min-width: 0;
  height: 48px;
  border: 1px solid #ffffff0d;
  border-radius: 11px;
  background: #ffffff04;
  color: #91a19d;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  position: relative;
  transition: 0.15s ease;
}
.sidebar-footer-action svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.sidebar-footer-action span {
  font-size: 8px;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar-footer-action:hover {
  color: #fff;
  background: #ffffff0b;
  border-color: #ffffff17;
}
.sidebar-footer-action.active {
  color: #e4c46d;
  background: #ffffff09;
  border-color: #e4c46d55;
}
.sidebar-footer-action.active:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 25%;
  right: 25%;
  height: 2px;
  border-radius: 2px;
  background: #e4c46d;
}
@media (min-width: 761px) {
  .sidebar-close {
    display: none !important;
  }
}
@media (max-width: 760px) {
  .sidebar {
    overflow: hidden !important;
    padding: calc(16px + env(safe-area-inset-top)) 14px
      calc(12px + env(safe-area-inset-bottom)) !important;
  }
  .sidebar-head {
    grid-template-columns: minmax(0, 1fr) 42px !important;
    padding-bottom: 10px !important;
  }
  .sidebar-brand {
    max-width: 188px !important;
  }
  .side-user {
    display: grid !important;
    margin-bottom: 10px !important;
  }
  .side-quick-actions {
    gap: 7px;
    margin-bottom: 10px;
  }
  .side-quick-actions a {
    min-height: 52px;
    padding: 8px 6px;
  }
  .side-nav {
    display: block !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }
  .side-nav a {
    white-space: normal !important;
    text-align: left !important;
  }
  .sidebar-footer {
    grid-template-columns: repeat(3, 1fr) !important;
    padding-top: 9px !important;
    margin-top: 7px;
  }
  .sidebar-footer-action {
    height: 50px;
  }
}
@media (min-width: 761px) {
  .sidebar-head {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .sidebar-brand {
    grid-column: 1 !important;
    justify-self: center !important;
    margin-inline: auto !important;
  }
}
.categories-page {
  max-width: 1240px;
}
.categories-stats {
  margin: 0 0 18px;
}
.categories-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 18px;
  align-items: start;
}
.categories-list-panel,
.category-create-panel {
  padding: 24px;
}
.categories-panel-head {
  margin-bottom: 8px;
}
.categories-panel-head small {
  color: #827b70;
}
.categories-list-modern {
  display: grid;
}
.category-card-row {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px 2px;
  border-top: 1px solid #eee9df;
  position: relative;
}
.category-card-row:first-child {
  border-top: 0;
}
.category-color-dot {
  width: 14px;
  height: 14px;
  border-radius: 5px;
  background: var(--category-color, #b9913b);
  box-shadow: inset 0 0 0 1px #0000000d;
}
.category-card-main {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.category-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.category-card-title strong {
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-card-main small {
  color: #8a857a;
  font-size: 11px;
}
.category-kind {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1eee7;
  color: #726c61;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 850;
  white-space: nowrap;
}
.category-kind.custom {
  background: #f3ead3;
  color: #8b6925;
}
.category-lock {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: #b0aaa0;
  font-size: 10px;
}
.category-edit-details {
  position: relative;
}
.category-edit-details > summary {
  list-style: none;
  width: 34px;
  height: 34px;
  border: 1px solid #ddd7cb;
  border-radius: 10px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #766f64;
  font-weight: 900;
  letter-spacing: 0.06em;
  background: #fbfaf7;
}
.category-edit-details > summary::-webkit-details-marker {
  display: none;
}
.category-edit-details[open] > summary {
  background: #f1eadb;
  color: #7d6028;
  border-color: #d7c7a4;
}
.category-edit-popover {
  position: absolute;
  right: 0;
  top: 42px;
  width: 280px;
  z-index: 8;
  background: #fff;
  border: 1px solid #dfd8cb;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 18px 42px rgba(45, 38, 26, 0.16);
}
.category-inline-edit {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
}
.category-inline-edit label,
.category-create-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}
.category-inline-edit input[type="text"],
.category-inline-edit input[name="name"],
.category-create-form input[name="name"] {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #d7d2c7;
  border-radius: 10px;
  background: #fff;
  outline: none;
}
.category-color-field {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 10px;
  align-items: center;
}
.category-color-field input[type="color"] {
  width: 54px;
  height: 38px;
  padding: 4px;
  border: 1px solid #d7d2c7;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}
.category-color-field span {
  font-size: 11px;
  color: #847e72;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
.category-create-head h2 {
  margin: 7px 0 6px;
  font-size: 22px;
}
.category-create-head p {
  color: #7e776b;
  line-height: 1.5;
  font-size: 13px;
}
.category-create-form {
  gap: 4px;
}
.category-color-picker {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  padding: 10px;
  border: 1px solid #ddd6c9;
  border-radius: 12px;
  background: #fbfaf7;
}
.category-color-picker input[type="color"] {
  width: 66px;
  height: 52px;
  cursor: pointer;
}
.category-color-picker div {
  gap: 3px;
}
.category-color-picker strong {
  font-size: 12px;
}
.category-color-picker small {
  font-size: 10px;
  color: #8a8377;
  line-height: 1.35;
}
.category-info-box {
  margin-top: 16px;
  padding: 14px 15px;
  border-radius: 12px;
  background: #f7f1e4;
  border: 1px solid #e6d5af;
  color: #715c31;
}
.category-info-box strong {
  font-size: 12px;
}
.category-info-box p {
  margin: 4px 0 0;
  font-size: 11px;
}
@media (max-width: 1000px) {
  .categories-layout {
    grid-template-columns: 1fr;
  }
  .category-create-panel {
    position: static;
  }
  .categories-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .categories-stats {
    grid-template-columns: 1fr 1fr;
  }
  .category-card-row {
    grid-template-columns: 14px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .category-card-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .category-edit-popover {
    position: fixed;
    left: 14px;
    right: 14px;
    top: auto;
    bottom: 14px;
    width: auto;
    z-index: 80;
  }
}
.case-filterbar {
  grid-template-columns: minmax(260px, 1.4fr) minmax(170px, 0.7fr) minmax(190px, 0.8fr)
    minmax(190px, 0.8fr) auto;
  align-items: end;
}
.category-tree {
  display: grid;
  gap: 14px;
}
.category-tree-card {
  border: 1px solid #e3dacb;
  border-radius: 18px;
  background: #fff;
  overflow: visible;
  box-shadow: 0 7px 20px rgba(38, 31, 20, 0.045);
}
.category-tree-head {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 17px 18px;
}
.category-tree-card .category-color-dot {
  width: 12px;
  height: 34px;
  border-radius: 999px;
  background: var(--category-color, #b9913b);
}
.subcategory-list {
  border-top: 1px solid #eee7dc;
  background: #fcfaf6;
  padding: 4px 18px;
}
.subcategory-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid #eee7dc;
}
.subcategory-row:first-child {
  border-top: 0;
}
.subcategory-row strong {
  display: block;
  font-size: 14px;
}
.subcategory-row small {
  display: block;
  margin-top: 2px;
  color: #8a8173;
  font-size: 11px;
}
.subcategory-branch {
  color: #b9913b;
  font-weight: 900;
}
.subcategory-system-mark {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #8f877b;
}
.subcategory-empty {
  padding: 12px 0;
  color: #999084;
  font-size: 13px;
}
.subcategory-create {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  padding: 13px 18px 17px;
  border-top: 1px solid #eee7dc;
}
.subcategory-create input {
  min-height: 42px;
}
.subcategory-actions {
  position: relative;
}
.subcategory-actions summary {
  list-style: none;
  cursor: pointer;
  font-weight: 900;
  color: #8c8274;
  padding: 5px 8px;
}
.subcategory-actions summary::-webkit-details-marker {
  display: none;
}
.subcategory-popover {
  position: absolute;
  z-index: 25;
  right: 0;
  top: 34px;
  width: 290px;
  padding: 12px;
  border: 1px solid #ded4c2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(34, 28, 18, 0.14);
  display: grid;
  gap: 8px;
}
.subcategory-popover form {
  display: flex;
  gap: 7px;
  align-items: center;
}
.subcategory-popover input {
  min-width: 0;
  flex: 1;
  min-height: 38px;
}
.archived-case-suggestions {
  margin: 20px 0;
  padding: 18px;
  border: 1px solid #dfc78e;
  border-radius: 16px;
  background: #fcf7e9;
}
.archived-case-suggestions .panel-head {
  margin-bottom: 12px;
}
.archived-case-suggestions h3 {
  margin: 4px 0;
}
.archived-case-suggestions p {
  margin: 4px 0 0;
  color: #766f63;
  font-size: 13px;
  line-height: 1.5;
}
.match-badge.archived {
  background: #efe6cf;
  color: #755b1f;
}
.archived-candidate {
  border-color: #dfcfa9;
  background: #fffdf9;
}
.archived-candidate-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.archived-candidate-actions form {
  margin: 0;
}
@media (max-width: 1050px) {
  .case-filterbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .case-filterbar .filter-search {
    grid-column: 1/-1;
  }
  .case-filterbar .filter-submit {
    width: 100%;
  }
}
@media (max-width: 700px) {
  .case-filterbar {
    grid-template-columns: 1fr;
  }
  .case-filterbar .filter-search {
    grid-column: auto;
  }
  .subcategory-create {
    grid-template-columns: 1fr;
  }
  .subcategory-create .btn {
    width: 100%;
  }
  .archived-candidate-actions {
    width: 100%;
  }
  .archived-candidate-actions form,
  .archived-candidate-actions .btn {
    width: 100%;
  }
  .subcategory-popover {
    position: fixed;
    left: 16px;
    right: 16px;
    top: auto;
    bottom: 16px;
    width: auto;
  }
}
.subcategory-create {
  align-items: center;
  gap: 12px;
}
.subcategory-create input[type="text"],
.subcategory-create input[name="name"] {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 15px;
  border: 1px solid #d8d1c5;
  border-radius: 12px;
  background: #fffdf9;
  color: #1f2525;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
.subcategory-create input[type="text"]::placeholder,
.subcategory-create input[name="name"]::placeholder {
  color: #91897d;
  opacity: 1;
}
.subcategory-create input[type="text"]:hover,
.subcategory-create input[name="name"]:hover {
  border-color: #cbbfa9;
  background: #fff;
}
.subcategory-create input[type="text"]:focus,
.subcategory-create input[name="name"]:focus {
  border-color: #b28a38;
  box-shadow: 0 0 0 3px rgba(178, 138, 56, 0.12);
  background: #fff;
}
.subcategory-create .btn {
  min-height: 48px;
  border-radius: 12px;
  white-space: nowrap;
  padding-inline: 18px;
}
@media (max-width: 700px) {
  .subcategory-create {
    grid-template-columns: 1fr;
  }
  .subcategory-create .btn {
    width: 100%;
  }
}
.field-label-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.field-label-inline .label-note {
  margin-left: 0;
  font-size: 0.92em;
}
.page-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.page-kicker .back {
  margin-bottom: 0;
}
.page-kicker .eyebrow {
  display: inline-block;
}
@media (max-width: 760px) {
  .page-kicker {
    gap: 8px;
    align-items: flex-start;
    flex-direction: column;
  }
}
.categories-page {
  max-width: 1480px;
}
.categories-head {
  margin-bottom: 18px;
}
.categories-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 18px;
}
.categories-layout-v2 {
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.65fr);
  align-items: start;
}
.categories-list-panel {
  padding: 0;
  overflow: hidden;
}
.categories-panel-head {
  padding: 22px 24px 18px;
  margin: 0;
}
.categories-panel-head small {
  display: block;
  margin-top: 5px;
  color: #827a6f;
  line-height: 1.45;
}
.category-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 24px;
  border-top: 1px solid #eee7dc;
  border-bottom: 1px solid #eee7dc;
  background: #fbf9f4;
}
.category-search {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 520px;
  width: 100%;
  margin: 0 !important;
  padding: 0 14px;
  border: 1px solid #ddd4c6;
  border-radius: 13px;
  background: #fff;
}
.category-search > span {
  font-size: 22px;
  color: #a17b31;
  line-height: 1;
}
.category-search input {
  height: 46px !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.category-legend {
  display: flex;
  gap: 14px;
  color: #766e63;
  font-size: 12px;
  white-space: nowrap;
}
.category-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}
.legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}
.legend-dot.system {
  background: #b9913b;
}
.legend-dot.custom {
  background: #607d73;
}
.category-tree {
  padding: 18px 20px 22px;
}
.category-tree-card {
  transition: border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}
.category-tree-card:hover {
  border-color: #d5c6aa;
  box-shadow: 0 12px 30px rgba(43, 34, 20, 0.075);
  transform: translateY(-1px);
}
.category-tree-card[hidden] {
  display: none !important;
}
.category-card-title strong {
  font-size: 16px;
}
.category-kind {
  font-weight: 800;
}
.category-kind.system {
  background: #f1eadb;
  color: #856527;
}
.category-kind.custom {
  background: #e7efec;
  color: #45675c;
}
.category-create-panel {
  position: sticky;
  top: 94px;
  padding: 24px;
}
.category-create-head h2 {
  margin: 5px 0 8px;
  font-size: 24px;
}
.category-create-head p {
  margin: 0 0 18px;
  color: #756e63;
  line-height: 1.55;
}
.category-create-form {
  display: grid;
  gap: 14px;
}
.category-create-form > label {
  display: grid;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
}
.category-create-form input[type="text"],
.category-create-form input[name="name"] {
  height: 48px;
  border: 1px solid #d8d1c5;
  border-radius: 12px;
  padding: 0 14px;
  background: #fffdf9;
  outline: none;
}
.category-create-form input:focus {
  border-color: #b28a38;
  box-shadow: 0 0 0 3px rgba(178, 138, 56, 0.12);
}
.category-color-picker {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid #ddd4c6;
  border-radius: 13px;
  background: #fffdf9;
}
.category-color-picker input[type="color"] {
  width: 46px;
  height: 38px;
  border: 0;
  padding: 0;
  background: transparent;
}
.category-color-picker div {
  display: grid;
  gap: 2px;
}
.category-color-picker small {
  color: #827a6f;
  font-weight: 500;
}
.category-info-box {
  margin-top: 18px;
  padding: 16px;
  border-radius: 14px;
  border: 1px solid #e3d5b5;
  background: #fcf7e9;
}
.category-info-box p {
  margin: 6px 0 0;
  color: #71695d;
  font-size: 13px;
  line-height: 1.5;
}
.admin-category-page {
  max-width: 1500px;
}
.admin-category-head {
  align-items: flex-end;
}
.admin-category-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-category-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.65fr);
  gap: 18px;
  align-items: start;
}
.admin-category-list-panel {
  padding: 0;
  overflow: hidden;
}
.admin-category-list-head {
  padding: 22px 24px 18px;
  margin: 0;
  border-bottom: 1px solid #eee7dc;
}
.admin-category-list-head small {
  display: block;
  margin-top: 5px;
  color: #827a6f;
}
.admin-category-list {
  display: grid;
  gap: 15px;
  padding: 18px;
}
.admin-system-category {
  border: 1px solid #e3dacb;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 7px 20px rgba(38, 31, 20, 0.045);
}
.admin-system-category-head {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 17px 18px;
}
.admin-category-swatch {
  width: 10px;
  height: 38px;
  border-radius: 999px;
  background: var(--category-color, #b9913b);
}
.admin-system-category-title {
  display: grid;
  gap: 3px;
}
.admin-system-category-title strong {
  font-size: 17px;
}
.admin-system-category-title small {
  color: #827a6f;
  font-size: 12px;
}
.admin-category-editor {
  display: flex;
  align-items: end;
  gap: 10px;
  padding: 14px 18px;
  background: #fbf9f4;
  border-top: 1px solid #eee7dc;
}
.admin-category-edit-form {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 90px auto;
  gap: 10px;
  align-items: end;
  flex: 1;
}
.admin-category-edit-form label,
.admin-category-create-form label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}
.admin-category-edit-form input[type="text"],
.admin-category-edit-form input[name="name"],
.admin-category-create-form input[name="name"],
.admin-subcategory-edit input,
.admin-subcategory-create input {
  height: 43px;
  border: 1px solid #d8d1c5;
  border-radius: 11px;
  background: #fff;
  padding: 0 13px;
  outline: none;
}
.admin-category-edit-form input:focus,
.admin-category-create-form input:focus,
.admin-subcategory-edit input:focus,
.admin-subcategory-create input:focus {
  border-color: #b28a38;
  box-shadow: 0 0 0 3px rgba(178, 138, 56, 0.11);
}
.admin-color-label input[type="color"] {
  width: 100%;
  height: 43px;
  padding: 3px;
  border: 1px solid #d8d1c5;
  border-radius: 11px;
  background: #fff;
}
.admin-subcategory-zone {
  border-top: 1px solid #eee7dc;
}
.admin-subcategory-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px 18px;
  background: #fcfaf6;
}
.admin-subcategory-head small {
  color: #8b8377;
}
.admin-subcategory-list {
  padding: 0 18px;
}
.admin-subcategory-row {
  display: grid;
  grid-template-columns: 22px minmax(150px, 0.7fr) minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid #eee7dc;
}
.admin-subcategory-row:first-child {
  border-top: 0;
}
.admin-subcategory-name {
  display: grid;
  gap: 2px;
}
.admin-subcategory-name small {
  font-size: 11px;
  color: #8b8377;
}
.admin-subcategory-edit {
  display: flex;
  gap: 8px;
  align-items: center;
}
.admin-subcategory-edit input {
  min-width: 0;
  flex: 1;
}
.admin-subcategory-create {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 13px 18px 17px;
  border-top: 1px solid #eee7dc;
}
.icon-danger-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid #dfc2b8;
  background: #fffaf8;
  color: #a14a38;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.icon-danger-btn:hover {
  background: #f7eee9;
  border-color: #cf9e90;
}
.icon-danger-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.admin-category-create-panel {
  position: sticky;
  top: 94px;
  padding: 24px;
}
.admin-category-create-panel h2 {
  font-size: 25px;
  margin: 6px 0 8px;
}
.admin-category-create-panel > p {
  color: #756e63;
  line-height: 1.55;
}
.admin-category-create-form {
  display: grid;
  gap: 15px;
  margin-top: 18px;
}
.admin-category-color-picker {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #ddd4c6;
  border-radius: 13px;
  background: #fffdf9;
}
.admin-category-color-picker input[type="color"] {
  width: 52px;
  height: 40px;
  border: 0;
  padding: 0;
  background: transparent;
}
.admin-category-color-picker div {
  display: grid;
  gap: 2px;
}
.admin-category-color-picker small {
  font-weight: 500;
  color: #827a6f;
}
.admin-warning-box {
  margin-top: 20px;
}
@media (max-width: 1100px) {
  .categories-layout-v2,
  .admin-category-layout {
    grid-template-columns: 1fr;
  }
  .category-create-panel,
  .admin-category-create-panel {
    position: static;
  }
  .admin-category-edit-form {
    grid-template-columns: minmax(0, 1fr) 90px auto;
  }
  .admin-category-stats,
  .categories-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .category-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .category-legend {
    white-space: normal;
  }
  .admin-category-editor {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-category-edit-form {
    grid-template-columns: 1fr;
  }
  .admin-category-editor > form:last-child,
  .admin-category-editor > form:last-child .btn {
    width: 100%;
  }
  .admin-subcategory-row {
    grid-template-columns: 20px 1fr auto;
  }
  .admin-subcategory-edit {
    grid-column: 2/-1;
  }
  .admin-subcategory-create {
    grid-template-columns: 1fr;
  }
  .admin-subcategory-create .btn {
    width: 100%;
  }
  .admin-category-stats,
  .categories-stats {
    grid-template-columns: 1fr 1fr;
  }
}
.category-search {
  max-width: 640px !important;
  flex: 1 1 520px !important;
  min-width: 280px !important;
}
.category-search input[type="search"] {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  font-size: 15px !important;
  color: #27231d !important;
}
.category-search input[type="search"]::placeholder {
  color: #8a8277 !important;
  opacity: 1;
}
.category-edit-popover,
.subcategory-popover {
  overflow: hidden;
}
.category-inline-edit input[type="text"],
.category-inline-edit input[name="name"],
.subcategory-popover input[type="text"],
.subcategory-popover input[name="name"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid #d8d1c5 !important;
  border-radius: 11px !important;
  background: #fffdf9 !important;
  color: #25221d !important;
  outline: none !important;
  box-shadow: none !important;
}
.category-inline-edit input:focus,
.subcategory-popover input:focus {
  border-color: #b28a38 !important;
  box-shadow: 0 0 0 3px rgba(178, 138, 56, 0.12) !important;
}
.subcategory-popover form:first-child {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 9px !important;
  align-items: center !important;
}
.subcategory-popover form:first-child .btn {
  height: 40px !important;
  white-space: nowrap !important;
}
.subcategory-popover form:last-child .btn {
  width: auto !important;
}
.admin-category-editor {
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) 108px auto auto !important;
  gap: 10px !important;
  align-items: end !important;
}
.admin-category-edit-form {
  display: contents !important;
}
.admin-category-edit-form > label {
  min-width: 0 !important;
  margin: 0 !important;
}
.admin-category-edit-form > button {
  height: 43px !important;
  white-space: nowrap !important;
  align-self: end !important;
}
.admin-category-editor > form:last-child {
  margin: 0 !important;
  align-self: end !important;
}
.admin-category-editor > form:last-child .btn {
  height: 43px !important;
  white-space: nowrap !important;
}
.admin-color-label input[type="color"] {
  min-width: 0 !important;
}
@media (max-width: 900px) {
  .admin-category-editor {
    grid-template-columns: minmax(0, 1fr) 100px auto auto !important;
  }
}
@media (max-width: 720px) {
  .category-search {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
    flex-basis: auto !important;
  }
  .admin-category-editor {
    display: flex !important;
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .admin-category-edit-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .admin-category-editor > form:last-child,
  .admin-category-editor > form:last-child .btn {
    width: 100% !important;
  }
}
.invoice-category-grid [data-invoice-subcategory-wrap][hidden] {
  display: none !important;
}
@media (max-width: 1250px) {
  .invoice-filterbar {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  .invoice-filterbar .filter-search {
    grid-column: 1/-1;
  }
  .invoice-filterbar .filter-submit {
    grid-column: auto;
  }
}
@media (max-width: 1100px) {
  .invoice-filterbar {
    grid-template-columns: 1fr 1fr !important;
  }
  .invoice-filterbar .filter-search {
    grid-column: 1/-1;
  }
  .invoice-filterbar .filter-submit {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .invoice-filterbar {
    grid-template-columns: 1fr !important;
  }
  .invoice-filterbar .filter-search,
  .invoice-filterbar .filter-submit {
    grid-column: auto;
  }
}
.category-icon-badge {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--category-color, #8d6b2c) 13%, #fff);
  color: var(--category-color, #8d6b2c);
  border: 1px solid
    color-mix(in srgb, var(--category-color, #8d6b2c) 22%, #e7dfd0);
}
.category-icon-badge .category-svg,
.case-icon .category-svg,
.category-folder-icon .category-svg {
  width: 21px;
  height: 21px;
  display: block;
}
.admin-category-icon {
  width: 46px;
  height: 46px;
  flex-basis: 46px;
}
.case-icon {
  background: color-mix(
    in srgb,
    var(--category-color, #8d6b2c) 13%,
    #fff
  ) !important;
  color: var(--category-color, #8d6b2c) !important;
}
.category-folder-icon {
  display: inline-grid;
  place-items: center;
  color: var(--category-color, #8d6b2c);
  width: 24px;
  height: 24px;
}
.category-folder-icon .category-svg {
  width: 18px;
  height: 18px;
}
.analytics-category-central .panel-head {
  align-items: center;
}
.analytics-category-note {
  margin: 0;
  color: #746d62;
  line-height: 1.6;
}
.btn-line-icon {
  width: 18px;
  height: 18px;
  display: block;
  flex: 0 0 18px;
}
.invoice-row:not(.shared-case-card) {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.8fr);
}
.invoice-row-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: 18px;
  align-items: start;
}
.invoice-date,
.invoice-money,
.invoice-due {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.invoice-date small,
.invoice-money small,
.invoice-due small {
  color: var(--muted, #7b7469);
  font-size: 0.78rem;
}
.invoice-date strong {
  font-size: 0.95rem;
}
.invoice-row-facts strong {
  white-space: nowrap;
}
.deadline-kind.task {
  background: #e9f1ed;
  color: #315d47;
}
.deadline-kind.followup {
  background: #f5ecd9;
  color: #86631f;
}
@media (max-width: 980px) {
  .invoice-row:not(.shared-case-card) {
    grid-template-columns: 1fr;
  }
  .invoice-row-facts {
    grid-template-columns: repeat(3, 1fr);
    padding-top: 10px;
    border-top: 1px solid var(--line, #e7e2d8);
  }
}
@media (max-width: 760px) {
  .invoice-list {
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 10px;
    overflow: visible;
  }
  .invoice-row:not(.shared-case-card) {
    background: #fff;
    border: 1px solid var(--line, #e7e2d8);
    border-radius: 15px;
    padding: 15px 16px;
    box-shadow: 0 7px 20px rgba(49, 42, 28, 0.045);
  }
  .invoice-row:not(.shared-case-card) + .invoice-row {
    border-top: 1px solid var(--line, #e7e2d8);
  }
  .invoice-main h3 {
    font-size: 1rem;
    margin-top: 5px;
  }
  .invoice-main p {
    line-height: 1.45;
  }
  .invoice-row-facts {
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
    padding-top: 12px;
  }
  .invoice-row-facts .invoice-money {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 6px 10px;
    padding-top: 10px;
    border-top: 1px solid var(--line, #e7e2d8);
  }
  .invoice-row-facts .invoice-money strong {
    justify-self: end;
  }
  .invoice-row-facts .invoice-money span {
    grid-column: 3;
    white-space: nowrap;
  }
  .invoice-row-facts .invoice-date,
  .invoice-row-facts .invoice-due {
    display: grid;
    gap: 3px;
  }
  .invoice-row-facts .invoice-date strong,
  .invoice-row-facts .invoice-due strong {
    justify-self: start;
  }
  .invoice-page-actions .btn {
    justify-content: flex-start;
  }
}
@media (max-width: 430px) {
  .invoice-row-facts {
    grid-template-columns: 1fr 1fr;
  }
  .invoice-row-facts .invoice-money {
    grid-template-columns: 1fr auto;
  }
  .invoice-row-facts .invoice-money span {
    grid-column: 1/-1;
  }
}
.home-folder-demo {
  padding: 20px;
}
.home-demo-folder,
.home-demo-register {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 13px;
  border: 1px solid #e7e0d4;
  background: #fff;
  border-radius: 16px;
  padding: 15px 16px;
  margin-top: 12px;
}
.home-demo-register {
  margin-left: 28px;
  background: #faf7ef;
}
.home-demo-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #efe6cf;
  color: #957023;
  font-weight: 900;
}
.home-demo-folder small,
.home-demo-register small {
  display: block;
  font-size: 9px;
  letter-spacing: 0.14em;
  color: #9a7530;
  font-weight: 900;
}
.home-demo-folder strong,
.home-demo-register strong {
  display: block;
  margin-top: 3px;
  font-size: 17px;
}
.home-demo-folder > b,
.home-demo-register > b {
  font-size: 11px;
  color: #81796e;
}
.home-demo-case {
  margin: 12px 0 0 56px;
  border-left: 3px solid #b9903b;
  background: #f6f2e8;
  border-radius: 0 14px 14px 0;
  padding: 14px 16px;
  display: grid;
  gap: 4px;
}
.home-demo-case > span {
  font-size: 9px;
  letter-spacing: 0.14em;
  font-weight: 900;
  color: #997326;
}
.home-demo-case strong {
  font-size: 16px;
}
.home-demo-case small {
  color: #81796e;
}
.home-structure-section {
  max-width: 1220px;
  margin: 100px auto;
  padding: 0 26px;
}
.home-structure-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: stretch;
}
.home-structure-flow article {
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 12px 34px #3a332509;
}
.home-structure-flow article small {
  display: block;
  margin-top: 28px;
  font-size: 10px;
  letter-spacing: 0.15em;
  color: #9a7530;
  font-weight: 900;
}
.home-structure-flow h3 {
  margin: 6px 0 7px;
  font-size: 21px;
}
.home-structure-flow p {
  margin: 0;
  color: #7c766c;
  line-height: 1.5;
}
.home-structure-no {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #f1ead8;
  color: #8e6925;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
}
.home-structure-arrow {
  display: grid;
  place-items: center;
  color: #b08a3b;
  font-size: 24px;
  font-weight: 800;
}
.home-feature-grid .feature-card {
  min-height: 260px;
}
.folder-quick-filter {
  margin: 0 0 22px;
  padding: 20px;
  border: 1px solid #e2ddd3;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 30px #3e37270a;
}
.folder-quick-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.folder-quick-head h2 {
  margin: 3px 0 0;
  font-size: 20px;
}
.folder-quick-all {
  font-size: 12px;
  font-weight: 800;
  color: #796f5d;
  border: 1px solid #ddd4c4;
  border-radius: 999px;
  padding: 8px 11px;
  background: #fbfaf7;
}
.folder-quick-all.is-active {
  background: #1f2a2a;
  border-color: #1f2a2a;
  color: #fff;
}
.folder-quick-grid {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 7px;
  scrollbar-width: thin;
}
.folder-quick-card {
  flex: 0 0 190px;
  min-width: 0;
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid #e2ddd3;
  border-radius: 15px;
  background: #fbfaf7;
  transition: 0.15s ease;
}
.folder-quick-card:hover {
  border-color: #cdb77e;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px #3a33250d;
}
.folder-quick-card.is-active {
  border-color: var(--category-color, #b08a3b);
  box-shadow: 0 0 0 2px
    color-mix(in srgb, var(--category-color, #b08a3b) 16%, transparent);
  background: #fff;
}
.folder-quick-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--category-color, #8d6b2c) 12%, #fff);
  color: var(--category-color, #8d6b2c);
  border: 1px solid color-mix(in srgb, var(--category-color, #8d6b2c) 22%, #ddd);
}
.folder-quick-icon svg {
  width: 20px;
  height: 20px;
}
.folder-quick-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.folder-quick-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.folder-quick-copy small {
  font-size: 11px;
  color: #8c8579;
}
@media (max-width: 950px) {
  .home-structure-flow {
    grid-template-columns: 1fr 1fr;
  }
  .home-structure-arrow {
    display: none;
  }
  .folder-quick-card {
    flex-basis: 170px;
  }
}
@media (max-width: 760px) {
  .home-structure-section {
    margin: 70px auto;
    padding: 0 18px;
  }
  .home-structure-flow {
    grid-template-columns: 1fr;
  }
  .home-demo-register {
    margin-left: 14px;
  }
  .home-demo-case {
    margin-left: 28px;
  }
  .folder-quick-filter {
    padding: 16px;
    margin-bottom: 18px;
  }
  .folder-quick-head {
    align-items: flex-start;
  }
  .folder-quick-grid {
    margin-right: -16px;
    padding-right: 16px;
  }
  .folder-quick-card {
    flex-basis: 158px;
    grid-template-columns: 38px 1fr;
    padding: 10px;
  }
  .folder-quick-icon {
    width: 38px;
    height: 38px;
  }
  .cases-page-head h1 {
    font-size: 34px;
  }
}
.folder-shelf-filter {
  margin: 0 0 24px;
  padding: 20px 20px 0;
  border: 1px solid #e2ddd3;
  border-radius: 20px;
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
  box-shadow: 0 10px 30px #3e37270a;
  overflow: hidden;
}
.folder-shelf-filter .folder-quick-head {
  margin-bottom: 14px;
  align-items: flex-start;
}
.folder-shelf-filter .folder-quick-head p {
  margin: 5px 0 0;
  color: #81796e;
  font-size: 13px;
  line-height: 1.45;
}
.folder-shelf-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 4px 0;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.folder-shelf {
  display: flex;
  align-items: flex-end;
  min-width: max-content;
  padding: 4px 8px 0;
}
.folder-spine {
  --folder-color: #8d6b2c;
  position: relative;
  flex: 0 0 76px;
  height: 194px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 8px 14px;
  color: #17201f;
  border: 1px solid color-mix(in srgb, var(--folder-color) 68%, #2f2a22);
  border-bottom: 0;
  border-radius: 7px 7px 2px 2px;
  background: linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.18),
      transparent 18%,
      transparent 82%,
      rgba(0, 0, 0, 0.08)
    ),
    color-mix(in srgb, var(--folder-color) 88%, #fff);
  box-shadow: 5px 5px 12px rgba(49, 42, 28, 0.12),
    inset 1px 0 rgba(255, 255, 255, 0.25),
    inset -1px 0 rgba(0, 0, 0, 0.08);
  transition: transform 0.16s ease,
    box-shadow 0.16s ease,
    filter 0.16s ease;
  isolation: isolate;
}
.folder-spine::before {
  content: "";
  position: absolute;
  inset: 6px 5px auto;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
}
.folder-spine:hover {
  transform: translateY(-6px);
  box-shadow: 7px 10px 20px rgba(49, 42, 28, 0.17),
    inset 1px 0 rgba(255, 255, 255, 0.28),
    inset -1px 0 rgba(0, 0, 0, 0.08);
  filter: saturate(1.05);
}
.folder-spine.is-active {
  transform: translateY(-9px);
  box-shadow: 0 0 0 3px #fff,
    0 0 0 5px color-mix(in srgb, var(--folder-color) 66%, #9b792f),
    8px 13px 24px rgba(49, 42, 28, 0.19);
  z-index: 2;
}
.folder-spine-topmark {
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--folder-color) 82%, #111);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.06);
  font-size: 16px;
  font-weight: 900;
}
.folder-spine-topmark svg {
  display: block;
}
.folder-spine-label {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  margin: 9px 0 7px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(72, 64, 49, 0.16);
  border-radius: 3px;
  background: rgba(255, 253, 248, 0.88);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}
.folder-spine-label::before {
  content: "";
  position: absolute;
  inset: 8px 7px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0 17px,
    rgba(87, 78, 61, 0.1) 17px 18px
  );
  pointer-events: none;
}
.folder-spine-label strong {
  position: relative;
  z-index: 1;
  max-height: 112px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-orientation: mixed;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0.015em;
  color: #25221d;
}
.folder-spine-meta {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: color-mix(in srgb, var(--folder-color) 72%, #17201f);
  background: rgba(255, 255, 255, 0.68);
  border-radius: 999px;
  padding: 3px 4px;
}
.folder-spine-hole {
  flex: 0 0 20px;
  border-radius: 50%;
  border: 2px solid rgba(250, 248, 242, 0.88);
  background: #252826;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.38),
    0 1px 2px rgba(0, 0, 0, 0.15);
}
.folder-spine-all {
  --folder-color: #53615e;
}
.folder-spine-all .folder-spine-label strong {
  font-size: 12px;
}
.folder-shelf-board {
  position: sticky;
  left: 0;
  min-width: 100%;
  height: 15px;
  margin-top: 0;
  border-top: 1px solid #bcae93;
  background: linear-gradient(180deg, #ddd2bb 0%, #c9b998 48%, #a99876 100%);
  box-shadow: 0 -3px 8px rgba(61, 51, 34, 0.1),
    0 5px 10px rgba(61, 51, 34, 0.11);
}
@media (max-width: 760px) {
  .folder-shelf-filter {
    padding: 16px 14px 0;
    margin-bottom: 18px;
  }
  .folder-shelf-filter .folder-quick-head {
    margin-bottom: 10px;
  }
  .folder-shelf-scroll {
    margin-right: -14px;
    padding-right: 14px;
  }
  .folder-shelf {
    gap: 7px;
    padding-left: 4px;
  }
  .folder-spine {
    flex-basis: 66px;
    width: 66px;
    height: 166px;
    padding: 10px 6px 11px;
  }
  .folder-spine-topmark {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .folder-spine-topmark svg {
    width: 16px;
    height: 16px;
  }
  .folder-spine-label {
    width: 38px;
    margin: 7px 0 6px;
  }
  .folder-spine-label strong {
    max-height: 91px;
    font-size: 10.5px;
  }
  .folder-spine-meta {
    font-size: 7px;
    padding: 3px 2px;
  }
  .folder-spine-hole {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
    margin-top: 6px;
  }
  .folder-spine:hover {
    transform: none;
  }
  .folder-spine.is-active {
    transform: translateY(-5px);
  }
}
.folder-spine {
  flex-basis: 90px;
  width: 90px;
  height: 242px;
  padding: 13px 9px 15px;
}
.folder-spine-topmark {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-radius: 9px;
}
.folder-spine-topmark svg {
  width: 21px;
  height: 21px;
}
.folder-spine-label {
  width: 54px;
}
.folder-spine-label strong {
  max-height: 160px;
  font-size: 12.5px;
}
.folder-spine-meta {
  font-size: 8.5px;
  padding: 4px 4px;
}
.folder-spine-hole {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
  margin-top: 9px;
}
.folder-shelf {
  gap: 9px;
}
.folder-shelf-filter.is-filtering .folder-spine {
  pointer-events: none;
}
.folder-shelf-filter.is-filtering .folder-spine:not(.is-active) {
  opacity: 0.72;
}
[data-case-results] {
  scroll-margin-top: 96px;
  transition: opacity 0.15s ease;
}
[data-case-results].is-loading {
  opacity: 0.42;
  pointer-events: none;
}
@media (max-width: 760px) {
  .folder-spine {
    flex-basis: 76px;
    width: 76px;
    height: 202px;
    padding: 10px 7px 12px;
  }
  .folder-spine-topmark {
    width: 31px;
    height: 31px;
    flex-basis: 31px;
  }
  .folder-spine-topmark svg {
    width: 17px;
    height: 17px;
  }
  .folder-spine-label {
    width: 44px;
    margin: 8px 0 6px;
  }
  .folder-spine-label strong {
    max-height: 125px;
    font-size: 11px;
  }
  .folder-spine-meta {
    font-size: 7.3px;
  }
  .folder-spine-hole {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
    margin-top: 6px;
  }
}
.folder-shelf-filter .folder-shelf-note {
  margin-top: 8px !important;
  color: #6f685d !important;
}
.folder-shelf-filter .folder-shelf-note strong {
  font-weight: 850;
  color: #403b33;
}
.folder-spine {
  flex-basis: 76px;
  width: 76px;
  height: 286px;
  padding: 13px 8px 15px;
}
.folder-spine-topmark {
  width: 32px;
  height: 32px;
  flex-basis: 32px;
  border-radius: 8px;
}
.folder-spine-topmark svg {
  width: 18px;
  height: 18px;
}
.folder-spine-label {
  width: 44px;
  margin: 10px 0 8px;
}
.folder-spine-label strong {
  max-height: 205px;
  font-size: 12px;
  letter-spacing: 0.01em;
}
.folder-spine-meta {
  font-size: 8px;
  padding: 3px 3px;
}
.folder-spine-hole {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
  margin-top: 8px;
}
.folder-shelf {
  gap: 8px;
}
@media (max-width: 760px) {
  .folder-spine {
    flex-basis: 66px;
    width: 66px;
    height: 236px;
    padding: 10px 6px 12px;
  }
  .folder-spine-topmark {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .folder-spine-topmark svg {
    width: 16px;
    height: 16px;
  }
  .folder-spine-label {
    width: 38px;
    margin: 8px 0 6px;
  }
  .folder-spine-label strong {
    max-height: 158px;
    font-size: 10.5px;
  }
  .folder-spine-meta {
    font-size: 7px;
    padding: 3px 2px;
  }
  .folder-spine-hole {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
    margin-top: 6px;
  }
}
.cases-page-head {
  grid-template-rows: auto auto;
}
.cases-page-title {
  min-width: 0;
}
.cases-page-subtitle {
  grid-column: 1/-1;
  margin: 2px 0 0 !important;
  max-width: none !important;
  width: 100%;
  color: #777;
}
.folder-shelf-filter .folder-quick-head p {
  display: block;
}
.folder-shelf-filter .folder-shelf-note {
  display: inline !important;
  margin: 0 0 0 4px !important;
  color: #403b33 !important;
  font-weight: 850;
}
.folder-shelf-scroll {
  padding-top: 15px;
}
.folder-shelf {
  padding-top: 5px;
}
@media (max-width: 1120px) {
  .cases-page-subtitle {
    white-space: normal;
  }
}
.home-folder-shelf-section {
  max-width: 1220px;
  margin: 90px auto;
  padding: 0 26px;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
  gap: 58px;
  align-items: center;
}
.home-folder-shelf-copy h2 {
  font-size: 44px;
  letter-spacing: -0.035em;
  margin: 10px 0 16px;
}
.home-folder-shelf-copy > p {
  font-size: 18px;
  line-height: 1.7;
  color: #666;
  margin: 0;
  max-width: 620px;
}
.home-folder-shelf-points {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  color: #56625f;
  font-size: 14px;
}
.home-folder-showcase {
  position: relative;
  background: #fbfaf7;
  border: 1px solid #ddd6c9;
  border-radius: 24px;
  padding: 30px 24px 22px;
  box-shadow: 0 22px 55px #433b2d14;
  overflow: hidden;
}
.home-public-folder-shelf {
  justify-content: center;
  gap: 7px;
  padding: 12px 8px 0;
}
.home-folder-spine {
  pointer-events: none;
  cursor: default;
  flex-basis: 70px;
  width: 70px;
  height: 270px;
  padding: 12px 7px 14px;
}
.home-folder-spine:hover {
  transform: none;
}
.home-folder-spine.is-active {
  transform: translateY(-7px);
  box-shadow: 0 15px 22px #302b221f;
}
.home-folder-spine .folder-spine-topmark {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
}
.home-folder-spine .folder-spine-topmark svg {
  width: 17px;
  height: 17px;
}
.home-folder-spine .folder-spine-label {
  width: 40px;
  margin: 9px 0 7px;
}
.home-folder-spine .folder-spine-label strong {
  max-height: 187px;
  font-size: 10.5px;
}
.home-folder-spine .folder-spine-meta {
  font-size: 7px;
}
.home-folder-spine .folder-spine-hole {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
  margin-top: 7px;
}
.home-folder-shelf-board {
  margin: 0 2px;
}
.home-folder-showcase-note {
  display: block;
  text-align: center;
  color: #8b8377;
  margin-top: 14px;
  font-size: 11px;
}
@media (max-width: 980px) {
  .home-folder-shelf-section {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .home-folder-showcase {
    max-width: 720px;
    width: 100%;
  }
}
@media (max-width: 620px) {
  .home-folder-shelf-section {
    margin: 65px auto;
    padding: 0 18px;
  }
  .home-folder-shelf-copy h2 {
    font-size: 34px;
  }
  .home-folder-shelf-copy > p {
    font-size: 16px;
  }
  .home-folder-showcase {
    padding: 24px 12px 18px;
    overflow-x: auto;
  }
  .home-public-folder-shelf {
    justify-content: flex-start;
    min-width: max-content;
  }
  .home-folder-spine {
    flex-basis: 62px;
    width: 62px;
    height: 230px;
    padding: 10px 6px 12px;
  }
  .home-folder-spine .folder-spine-label {
    width: 36px;
  }
  .home-folder-spine .folder-spine-label strong {
    max-height: 151px;
    font-size: 9.5px;
  }
}
.task-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px;
  border: 1px solid #ded7ca;
  background: #f7f3ea;
  border-radius: 14px;
  margin: 0 0 18px;
}
.task-view-tab {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 850;
  color: #5e5a52;
  transition: 0.16s ease;
}
.task-view-tab b {
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #e9e2d3;
  color: #6d5a31;
  font-size: 11px;
}
.task-view-tab:hover {
  background: #fff;
}
.task-view-tab.active {
  background: #1f2a2a;
  color: #fff;
  box-shadow: 0 5px 14px #1f2a2a1a;
}
.task-view-tab.active b {
  background: #e6c66e;
  color: #1f2a2a;
}
.task-row.is-completed {
  opacity: 0.88;
}
.task-row.is-completed .task-main > strong {
  color: #45423d;
}
.status.task-completed {
  background: #e8f1ea;
  color: #41654d;
}
.task-row.is-completed .task-done-btn {
  background: #f5f1e8;
  color: #5f594e;
  border: 1px solid #d9d0bf;
}
@media (max-width: 760px) {
  .task-view-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .task-view-tab {
    justify-content: center;
  }
  .task-page-head .btn {
    width: 100%;
  }
}
.taxonomy-links {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.taxonomy-link {
  position: relative;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid #ded5c5;
  background: #f6f1e7;
  color: #7d6125;
  font-weight: 800;
  font-size: 11px;
  line-height: 1.25;
  transition: 0.16s;
}
.taxonomy-link:hover {
  background: #eee3cb;
  border-color: #c8ac70;
  transform: translateY(-1px);
}
.taxonomy-sep {
  color: #a49a8a;
  font-weight: 800;
}
.taxonomy-hint {
  margin-top: 7px;
}
.taxonomy-hint .taxonomy-links {
  font-size: 11px;
}
.linked-row {
  position: relative;
}
.row-primary-link {
  font-weight: inherit;
}
.row-primary-link:hover {
  color: #8b6828;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.folder-detail-head {
  align-items: flex-end;
}
.folder-detail-title-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
}
.folder-detail-title-row h1 {
  margin: 0;
}
.folder-detail-title-row small {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9a7530;
  font-weight: 850;
  margin-bottom: 4px;
}
.folder-detail-title-row p {
  margin-top: 7px;
}
.folder-detail-icon {
  width: 64px;
  height: 64px;
  border-radius: 17px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--category-color) 17%, #fff);
  color: var(--category-color);
  border: 1px solid color-mix(in srgb, var(--category-color) 35%, #ddd);
}
.folder-detail-icon svg {
  width: 31px;
  height: 31px;
}
.folder-detail-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.folder-register-panel {
  margin: 20px 0;
}
.folder-register-panel .panel-head p {
  margin: 4px 0 0;
  color: #81796e;
}
.folder-register-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.folder-register-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid #e5ded2;
  border-radius: 14px;
  padding: 14px 15px;
  background: #fbfaf7;
  transition: 0.16s;
}
.folder-register-card:hover {
  transform: translateY(-2px);
  border-color: #cdbb91;
  box-shadow: 0 8px 20px #40362112;
}
.folder-register-card strong,
.folder-register-card small {
  display: block;
}
.folder-register-card small {
  color: #8b8378;
  margin-top: 3px;
}
.folder-register-mark {
  color: #ae8230;
  font-weight: 900;
}
.folder-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.folder-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 15px;
  border: 1px solid #dcd4c6;
  border-radius: 12px;
  background: #fbfaf7;
  font-weight: 800;
}
.folder-tabs a span {
  min-width: 22px;
  text-align: center;
  border-radius: 999px;
  background: #eee8dc;
  padding: 2px 6px;
  font-size: 11px;
}
.folder-tabs a.active {
  background: #1f2a2a;
  color: #fff;
  border-color: #1f2a2a;
}
.folder-tabs a.active span {
  background: #ffffff20;
}
.folder-content-section {
  margin: 16px 0;
}
.folder-content-section .panel-head p {
  margin: 4px 0 0;
  color: #81796e;
}
.folder-item-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 15px 4px;
  border-top: 1px solid #ece6dc;
}
.folder-item-row:first-child {
  border-top: 0;
}
.folder-item-row > div:first-child {
  display: grid;
  gap: 5px;
}
.folder-item-row strong {
  font-size: 15px;
}
.folder-item-row small {
  color: #847c70;
}
.folder-item-row:hover > div:first-child > strong {
  color: #8b6828;
}
@media (max-width: 1000px) {
  .folder-detail-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .folder-register-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .folder-detail-title-row {
    align-items: flex-start;
  }
  .folder-detail-icon {
    width: 52px;
    height: 52px;
  }
  .folder-detail-stats {
    grid-template-columns: 1fr 1fr;
  }
  .folder-register-grid {
    grid-template-columns: 1fr;
  }
  .folder-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .folder-tabs a {
    white-space: nowrap;
  }
  .folder-item-row {
    grid-template-columns: 1fr;
  }
  .folder-item-value {
    text-align: left;
    grid-auto-flow: column;
    justify-content: start;
    gap: 8px;
  }
}
.folder-tab-content {
  scroll-margin-top: 96px;
  transition: opacity 0.14s ease;
}
.folder-tab-content.is-loading {
  opacity: 0.48;
  pointer-events: none;
}
.folder-tabs.is-loading {
  pointer-events: none;
  opacity: 0.75;
}
.folder-tabs a {
  transition: background 0.14s ease,
    color 0.14s ease,
    border-color 0.14s ease,
    transform 0.14s ease;
}
.folder-tabs a:hover {
  transform: translateY(-1px);
}
.structured-form {
  display: grid;
  gap: 18px;
  padding: 20px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.structured-form > .form-section {
  margin: 0;
  background: #fff;
  box-shadow: 0 10px 26px rgba(52, 45, 34, 0.055);
  padding: 24px 24px 22px;
  position: relative;
  overflow: hidden;
}
.form-section-numbered {
  padding-left: 76px !important;
}
.form-section-numbered::before {
  content: attr(data-section-no);
  position: absolute;
  left: 22px;
  top: 23px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f1eadb;
  border: 1px solid #dfd1b4;
  color: #9b752b;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.04em;
}
.structured-form .form-section-head {
  padding-bottom: 14px;
  margin-bottom: 12px;
  border-bottom: 1px solid #eee7dc;
}
.structured-form .form-section-head h2 {
  font-size: 19px;
}
.structured-form .form-section-head p {
  line-height: 1.5;
}
.structured-form .form-section > label:first-of-type {
  margin-top: 12px;
}
.structured-form .form-grid {
  gap: 16px;
}
.structured-form .sticky-form-actions {
  position: sticky;
  bottom: 12px;
  z-index: 5;
  background: rgba(251, 250, 247, 0.94);
  backdrop-filter: blur(10px);
  border: 1px solid #e4ddd0;
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: 0 12px 30px rgba(44, 38, 28, 0.08);
  margin-top: 2px;
}
.structured-form .task-reminder-box {
  margin: 16px 0 0;
}
@media (max-width: 760px) {
  .structured-form {
    padding: 0;
    gap: 14px;
  }
  .structured-form > .form-section {
    border-radius: 16px;
    padding: 20px 16px;
  }
  .form-section-numbered {
    padding-left: 16px !important;
    padding-top: 68px !important;
  }
  .form-section-numbered::before {
    left: 16px;
    top: 16px;
  }
  .structured-form .sticky-form-actions {
    bottom: 8px;
    display: grid;
    grid-template-columns: 1fr;
  }
  .structured-form .sticky-form-actions .btn {
    width: 100%;
  }
}
.folder-item-list {
  display: grid;
  gap: 10px;
}
.folder-item-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto 34px;
  gap: 14px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid #e7e0d4 !important;
  border-radius: 14px;
  background: #fcfbf8;
  transition: transform 0.16s ease,
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease;
}
.folder-item-row:first-child {
  border-top: 1px solid #e7e0d4;
}
.folder-item-row:hover {
  transform: translateY(-1px);
  border-color: #ccb98f !important;
  background: #fff;
  box-shadow: 0 8px 20px rgba(55, 46, 31, 0.07);
}
.folder-item-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.folder-item-topline {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.folder-item-topline .status {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  justify-self: start;
  padding: 4px 8px;
  line-height: 1;
}
.folder-item-main > strong {
  font-size: 16px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
}
.folder-item-main > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #847c70;
}
.folder-item-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  border: 1px solid #ddd5c8;
  background: #f2eee6;
  color: #7e704f;
}
.folder-item-icon svg {
  width: 21px;
  height: 21px;
}
.folder-item-invoice .folder-item-icon {
  background: #eef3ef;
  color: #52705e;
  border-color: #d7e3da;
}
.folder-item-contract .folder-item-icon {
  background: #f2eee5;
  color: #896d36;
  border-color: #e4d8c0;
}
.folder-item-case .folder-item-icon {
  background: #edf1f2;
  color: #5f7480;
  border-color: #d6dfe2;
}
.folder-item-value {
  text-align: right;
  display: grid;
  gap: 3px;
  min-width: 110px;
}
.folder-item-value > strong {
  font-size: 16px;
  white-space: nowrap;
}
.folder-item-value > small {
  white-space: nowrap;
}
.folder-item-chevron {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f0ece3;
  color: #7c704f;
  font-size: 20px;
  line-height: 1;
  transition: 0.16s;
}
.folder-item-row:hover .folder-item-chevron {
  background: #1f2a2a;
  color: #fff;
  transform: translateX(2px);
}
.folder-item-row:hover .folder-item-main > strong {
  color: #8b6828;
}
@media (max-width: 680px) {
  .folder-item-row {
    grid-template-columns: 40px minmax(0, 1fr) 28px;
    gap: 11px;
    padding: 13px;
  }
  .folder-item-icon {
    width: 38px;
    height: 38px;
  }
  .folder-item-value {
    grid-column: 2/3;
    text-align: left;
    min-width: 0;
    grid-auto-flow: column;
    justify-content: start;
    align-items: baseline;
    gap: 8px;
  }
  .folder-item-chevron {
    grid-column: 3;
    grid-row: 1/3;
    align-self: center;
    width: 28px;
    height: 28px;
  }
  .folder-item-main > small {
    white-space: normal;
  }
}
.sidebar-global-search {
  position: relative;
  flex: 0 0 auto;
  margin: 0 0 11px;
  z-index: 7;
}
.sidebar-search-form {
  height: 44px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 0 8px 0 11px;
  border: 1px solid #ffffff12;
  border-radius: 12px;
  background: #ffffff07;
  transition: 0.16s ease;
}
.sidebar-search-form:focus-within {
  background: #ffffff0c;
  border-color: #e4c46d88;
  box-shadow: 0 0 0 3px #e4c46d14;
}
.sidebar-search-icon {
  display: grid;
  place-items: center;
  color: #94a39f;
}
.sidebar-search-icon svg {
  width: 17px;
  height: 17px;
}
.sidebar-search-form input {
  min-width: 0;
  width: 100%;
  height: 100%;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #f3f5f4 !important;
  padding: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 650;
}
.sidebar-search-form input::placeholder {
  color: #7f908c;
}
.sidebar-search-shortcut {
  height: 28px;
  min-width: 47px;
  padding: 0 7px;
  border: 1px solid #ffffff10;
  border-radius: 8px;
  background: #ffffff07;
  color: #8fa09c;
  cursor: pointer;
}
.sidebar-search-shortcut:hover {
  color: #f5d77d;
  border-color: #e4c46d44;
  background: #ffffff0d;
}
.sidebar-search-shortcut kbd {
  font: 700 8px/1 var(--ob-font-ui);
  white-space: nowrap;
}
.sidebar-search-live {
  position: absolute;
  left: 0;
  right: 0;
  top: 50px;
  max-height: min(56vh, 520px);
  overflow: auto;
  border: 1px solid #394745;
  border-radius: 13px;
  background: #172220;
  color: #e8edeb;
  box-shadow: 0 18px 45px #0007;
  padding: 7px;
  z-index: 30;
}
.global-search-live {
  display: grid;
  gap: 6px;
}
.global-search-live[hidden] {
  display: none !important;
}
.search-live-group {
  display: grid;
  gap: 2px;
}
.search-live-group + .search-live-group {
  border-top: 1px solid #ffffff0c;
  padding-top: 6px;
}
.search-live-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 7px;
  color: #84948f;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.search-live-group-head span {
  font-size: 8px;
  border-radius: 999px;
  padding: 2px 6px;
  background: #ffffff08;
}
.search-live-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border-radius: 9px;
  color: inherit;
  transition: 0.12s ease;
}
.search-live-result:hover {
  background: #ffffff0b;
}
.search-live-result > span {
  font-size: 19px;
  color: #7c8b87;
}
.search-live-title {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.search-live-title strong {
  font-size: 11px;
  color: #f7f9f8;
  line-height: 1.25;
}
.search-live-result small {
  display: block;
  margin-top: 2px;
  color: #8d9b98;
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-live-result p {
  margin: 3px 0 0;
  color: #aeb8b5;
  font-size: 9px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.search-live-badge {
  font-size: 7px;
  padding: 2px 5px;
  border-radius: 999px;
  background: #e5c56d22;
  color: #e8cb7c;
  border: 1px solid #e5c56d2b;
}
.search-live-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
  padding: 9px 8px;
  border-top: 1px solid #ffffff0d;
  color: #e4c46d;
  font-size: 10px;
  font-weight: 800;
}
.global-search-live-empty,
.global-search-live-loading {
  padding: 18px 12px;
  text-align: center;
  color: #8e9d99;
  font-size: 10px;
  line-height: 1.45;
}
.global-search-modal {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: grid;
  place-items: start center;
  padding: 10vh 18px 30px;
  opacity: 0;
  visibility: hidden;
  transition: 0.16s ease;
}
.global-search-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.global-search-modal-backdrop {
  position: absolute;
  inset: 0;
  background: #101917ba;
  backdrop-filter: blur(5px);
}
.global-search-modal-card {
  position: relative;
  width: min(760px, 100%);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  border: 1px solid #ded7c9;
  border-radius: 22px;
  background: #fbfaf7;
  box-shadow: 0 35px 100px #0006;
  overflow: hidden;
  transform: translateY(-8px) scale(0.985);
  transition: 0.16s ease;
}
.global-search-modal.is-open .global-search-modal-card {
  transform: none;
}
.global-search-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 22px 24px 14px;
}
.global-search-modal-head h2 {
  margin: 3px 0 0;
  font-size: 26px;
  letter-spacing: -0.03em;
}
.global-search-modal-close {
  width: 38px;
  height: 38px;
  border: 1px solid #dfd8cb;
  border-radius: 11px;
  background: #fff;
  color: #6f685c;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.global-search-modal-close:hover {
  background: #f2ede3;
  color: #1f2929;
}
.global-search-modal-form {
  margin: 0 24px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  height: 62px;
  padding: 0 15px;
  border: 1px solid #d5ccbb;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 18px #5b4d3410;
}
.global-search-modal-form:focus-within {
  border-color: #b68c38;
  box-shadow: 0 0 0 4px #c8a85c1c;
}
.global-search-modal-icon {
  display: grid;
  color: #9b762c;
}
.global-search-modal-icon svg {
  width: 21px;
  height: 21px;
}
.global-search-modal-form input {
  height: 100%;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: 17px !important;
  color: #192120;
}
.global-search-modal-key kbd {
  display: inline-flex;
  padding: 5px 7px;
  border: 1px solid #ded7ca;
  border-bottom-width: 2px;
  border-radius: 7px;
  background: #f6f2e9;
  color: #857d70;
  font-size: 9px;
  font-weight: 800;
}
.global-search-modal-hint {
  padding: 9px 26px 12px;
  color: #8a8276;
  font-size: 10px;
}
.modal-search-live {
  overflow: auto;
  padding: 0 18px 18px;
  gap: 8px;
}
.modal-search-live .search-live-group {
  background: #fff;
  border: 1px solid #ebe5da;
  border-radius: 13px;
  padding: 5px;
}
.modal-search-live .search-live-group + .search-live-group {
  border-top: 1px solid #ebe5da;
  padding-top: 5px;
}
.modal-search-live .search-live-group-head {
  color: #8b806d;
  padding: 7px 9px;
}
.modal-search-live .search-live-result {
  padding: 10px;
  color: #1d2524;
}
.modal-search-live .search-live-result:hover {
  background: #f7f3ea;
}
.modal-search-live .search-live-title strong {
  font-size: 13px;
  color: #1a2221;
}
.modal-search-live .search-live-result small {
  font-size: 10px;
  color: #887f72;
}
.modal-search-live .search-live-result p {
  font-size: 10px;
  color: #6f685e;
}
.modal-search-live .search-live-badge {
  background: #f3ead4;
  color: #7a5a1e;
  border-color: #eadbb9;
}
.modal-search-live .search-live-all {
  color: #8b6928;
  border-color: #ebe5da;
  font-size: 11px;
  padding: 11px;
}
.modal-search-live .global-search-live-empty,
.modal-search-live .global-search-live-loading {
  font-size: 12px;
  color: #81796d;
  padding: 28px;
}
.search-modal-open {
  overflow: hidden;
}
.global-search-page {
  max-width: 1280px;
}
.search-page-head {
  align-items: flex-start;
}
.global-search-main {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 13px 12px 18px;
  margin-bottom: 18px;
}
.global-search-main-icon {
  display: grid;
  color: #9a7530;
}
.global-search-main-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.global-search-main input {
  height: 50px;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 650;
}
.global-search-main .btn {
  height: 48px;
}
.global-search-summary {
  display: flex;
  gap: 8px;
  align-items: baseline;
  margin: 4px 2px 15px;
}
.global-search-summary strong {
  font-size: 16px;
}
.global-search-summary span {
  color: #827b70;
  font-size: 12px;
}
.global-search-groups {
  display: grid;
  gap: 16px;
}
.global-search-group {
  padding: 0;
  overflow: hidden;
}
.global-search-group-head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 18px 20px;
  background: #fbfaf7;
  border-bottom: 1px solid #ebe5da;
}
.global-search-group-icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #eee8dc;
  color: #8d6d2c;
  display: grid;
  place-items: center;
}
.global-search-group-icon svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.global-search-group-head h2 {
  font-size: 18px;
  margin: 0;
}
.global-search-group-head small {
  display: block;
  margin-top: 2px;
  color: #8d8579;
}
.global-search-result-list {
  display: grid;
}
.global-search-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  padding: 15px 20px;
  border-top: 1px solid #eee9df;
  transition: 0.12s ease;
}
.global-search-result:first-child {
  border-top: 0;
}
.global-search-result:hover {
  background: #fbf7ef;
}
.global-search-result-titleline {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}
.global-search-result-titleline strong {
  font-size: 14px;
}
.global-search-result-body > small {
  display: block;
  margin-top: 4px;
  color: #827a6f;
  font-size: 11px;
}
.global-search-result-body > p {
  margin: 5px 0 0;
  color: #69645b;
  font-size: 11px;
  line-height: 1.45;
}
.search-result-badge {
  padding: 3px 7px;
  border-radius: 999px;
  background: #f1ead9;
  color: #806126;
  font-size: 8px;
  font-weight: 800;
}
.global-search-result-arrow {
  font-size: 24px;
  color: #ad9e85;
}
.global-search-empty {
  text-align: center;
  padding: 40px 20px;
}
.global-search-empty strong {
  font-size: 18px;
}
.global-search-empty p {
  color: #7b746a;
}
.global-search-empty kbd {
  padding: 3px 6px;
  border: 1px solid #ddd4c4;
  border-bottom-width: 2px;
  border-radius: 6px;
  background: #f6f2e9;
  font-size: 10px;
}
@media (max-width: 760px) {
  .sidebar-global-search {
    margin-bottom: 10px;
  }
  .sidebar-search-form {
    height: 45px;
  }
  .sidebar-search-shortcut {
    min-width: 50px;
  }
  .global-search-modal {
    padding: 8vh 10px 18px;
  }
  .global-search-modal-card {
    max-height: 86vh;
    border-radius: 18px;
  }
  .global-search-modal-head {
    padding: 18px 17px 12px;
  }
  .global-search-modal-head h2 {
    font-size: 22px;
  }
  .global-search-modal-form {
    margin: 0 15px;
    height: 58px;
    padding: 0 12px;
  }
  .global-search-modal-form input {
    font-size: 14px !important;
  }
  .global-search-modal-key {
    display: none;
  }
  .global-search-modal-hint {
    padding: 8px 17px 10px;
  }
  .modal-search-live {
    padding: 0 10px 12px;
  }
  .global-search-main {
    grid-template-columns: 22px minmax(0, 1fr);
    padding: 10px 14px;
  }
  .global-search-main .btn {
    grid-column: 1/-1;
    width: 100%;
  }
  .global-search-summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .global-search-result {
    padding: 13px 14px;
  }
  .global-search-result-titleline {
    align-items: flex-start;
  }
  .global-search-result-body > p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.invoice-paid-note {
  color: #3f7457 !important;
  font-weight: 750;
}
@media (max-width: 760px) {
  .content {
    padding: 18px 14px;
  }
  .page-head h1,
  .welcome h1,
  .case-detail-header h1 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.02;
    overflow-wrap: anywhere;
  }
  .page-head p,
  .case-detail-title > p {
    font-size: 14px;
    line-height: 1.45;
  }
  .contract-list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid;
    gap: 10px;
    overflow: visible !important;
  }
  .contract-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 12px !important;
    padding: 16px !important;
    border: 1px solid var(--line, #e3ddd2) !important;
    border-radius: 15px !important;
    background: #fff;
    box-shadow: 0 7px 20px rgba(49, 42, 28, 0.045);
  }
  .contract-row > div:first-child {
    grid-column: 1/-1;
    padding-bottom: 12px;
  }
  .contract-row > div:nth-child(2),
  .contract-row > div:nth-child(3) {
    padding-top: 11px;
    border-top: 1px solid var(--line, #e7e2d8);
    min-width: 0;
  }
  .contract-row > div:nth-child(3) {
    text-align: right;
  }
  .contract-row h3 {
    font-size: 17px;
    margin-top: 7px;
  }
  .contract-row p {
    font-size: 13px;
    overflow-wrap: anywhere;
  }
  .contract-row .taxonomy-hint {
    margin-top: 8px;
  }
  .contract-row > div:nth-child(2) strong,
  .contract-row > div:nth-child(3) strong {
    font-size: 15px;
  }
  .contract-detail-grid {
    gap: 12px !important;
  }
  .contract-detail-grid > .panel {
    padding: 17px !important;
    border-radius: 15px;
  }
  .contract-detail-grid .invoice-facts {
    grid-template-columns: minmax(105px, 0.42fr) minmax(0, 1fr) !important;
    gap: 0 12px !important;
  }
  .contract-detail-grid .invoice-facts dt,
  .contract-detail-grid .invoice-facts dd {
    padding: 8px 0;
    border-bottom: 1px solid #eee8de;
    margin: 0 !important;
  }
  .contract-detail-grid .invoice-facts dd {
    text-align: right;
    overflow-wrap: anywhere;
  }
  .contract-detail-grid .contract-file .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .contract-detail-grid .contract-file .btn {
    width: 100%;
  }
  .case-detail-header-modern {
    gap: 14px !important;
    margin-bottom: 16px;
  }
  .case-detail-header-modern .case-meta-chips {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }
  .case-detail-header-modern .case-meta-chip {
    min-width: 0 !important;
    padding: 11px 12px !important;
  }
  .case-detail-header-modern .case-meta-chip span {
    font-size: 9px !important;
  }
  .case-detail-header-modern .case-meta-chip strong {
    font-size: 13px !important;
    overflow-wrap: anywhere;
  }
  .case-icon-actions {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
  .case-action-icon {
    height: 46px !important;
  }
  .case-layout {
    gap: 12px !important;
  }
  .case-info > h3 {
    padding: 15px 16px !important;
  }
  .case-info > dl {
    padding: 4px 16px 14px !important;
  }
  .case-info .case-contact {
    padding: 15px 16px !important;
  }
  .case-info .status-form {
    padding: 14px 16px 16px !important;
  }
  .combined-deadline-list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid;
    gap: 10px;
    overflow: visible !important;
  }
  .combined-deadline-list .deadline-row {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 14px !important;
    border: 1px solid var(--line, #e3ddd2) !important;
    border-radius: 15px !important;
    background: #fff;
    box-shadow: 0 7px 20px rgba(49, 42, 28, 0.045);
  }
  .combined-deadline-list .deadline-row + .deadline-row {
    border-top: 1px solid var(--line, #e3ddd2) !important;
  }
  .combined-deadline-list .deadline-date {
    width: 52px;
    height: 52px;
    border-radius: 12px;
  }
  .combined-deadline-list .deadline-date b {
    font-size: 19px;
  }
  .combined-deadline-list .deadline-row > div:nth-child(2) {
    min-width: 0;
  }
  .combined-deadline-list .deadline-row strong {
    display: block;
    font-size: 15px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
  .combined-deadline-list .deadline-row small {
    font-size: 11px;
    line-height: 1.4;
  }
  .combined-deadline-list .deadline-status {
    grid-column: 2 !important;
    justify-self: start;
    margin-top: -3px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f5f0e5;
    font-size: 11px;
  }
  .combined-deadline-list .deadline-status.danger {
    background: #fbe8e5;
  }
  .combined-deadline-list .deadline-status.warning {
    background: #fff2d0;
  }
  .invoice-list.panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid;
    gap: 10px;
    overflow: visible !important;
  }
  .invoice-row:not(.shared-case-card) {
    margin: 0 !important;
  }
  .invoice-main h3 {
    font-size: 17px;
  }
  .invoice-main p {
    font-size: 12px !important;
    overflow-wrap: anywhere;
  }
  .invoice-row-facts {
    gap: 10px 12px !important;
  }
  .invoice-row-facts > div {
    min-width: 0;
  }
  .invoice-row-facts small {
    font-size: 10px !important;
  }
  .invoice-row-facts strong {
    font-size: 13px !important;
  }
  .invoice-detail-header .case-detail-toolbar {
    width: 100%;
  }
  .invoice-detail-header .case-detail-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .invoice-detail-header .case-detail-actions .inline-form {
    grid-column: 1/-1;
  }
  .invoice-detail-header .case-detail-actions .btn {
    width: 100%;
    min-height: 46px;
  }
  .invoice-layout {
    gap: 12px !important;
  }
  .invoice-side-column {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .invoice-side-column > .panel,
  .invoice-main-column > .panel {
    padding: 17px !important;
    border-radius: 15px;
  }
  .invoice-summary-card dl,
  .invoice-data-card .invoice-facts-full {
    display: grid !important;
    grid-template-columns: minmax(105px, 0.42fr) minmax(0, 1fr) !important;
    gap: 0 12px !important;
  }
  .invoice-summary-card dt,
  .invoice-summary-card dd,
  .invoice-data-card .invoice-facts-full dt,
  .invoice-data-card .invoice-facts-full dd {
    padding: 7px 0 !important;
    border-bottom: 1px solid #eee8de;
    margin: 0 !important;
  }
  .invoice-summary-card dd,
  .invoice-data-card .invoice-facts-full dd {
    text-align: right;
    overflow-wrap: anywhere;
  }
  .invoice-original .form-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .invoice-original .btn {
    width: 100%;
  }
  .invoice-payment-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .payment-row {
    align-items: flex-start !important;
  }
}
@media (max-width: 390px) {
  .case-detail-header-modern .case-meta-chips {
    grid-template-columns: 1fr !important;
  }
  .contract-row {
    grid-template-columns: 1fr !important;
  }
  .contract-row > div:nth-child(2),
  .contract-row > div:nth-child(3) {
    grid-column: 1/-1;
    text-align: left;
  }
}
.category-tree-head {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.folder-structure-trigger {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 3px;
  border-radius: 14px;
  cursor: pointer;
  outline: none;
}
.folder-structure-trigger:hover,
.folder-structure-trigger:focus-visible {
  background: #f8f4eb;
}
.folder-structure-trigger:focus-visible {
  box-shadow: 0 0 0 3px rgba(178, 138, 56, 0.14);
}
.subcategory-row {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.folder-register-trigger {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 5px 7px;
  margin: -5px -7px;
  border-radius: 10px;
  cursor: pointer;
  outline: none;
}
.folder-register-trigger:hover,
.folder-register-trigger:focus-visible {
  background: #f8f4eb;
}
.folder-structure-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% - 6px);
  left: 72px;
  width: min(310px, calc(100vw - 48px));
  padding: 8px;
  border: 1px solid #ddd4c5;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(42, 35, 23, 0.16);
}
.folder-structure-menu.register-menu {
  left: 42px;
  top: calc(100% - 2px);
}
.folder-structure-menu[hidden] {
  display: none !important;
}
.folder-structure-menu a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 10px 11px;
  border-radius: 10px;
  color: #1f2929;
}
.folder-structure-menu a:hover {
  background: #f5f0e5;
  color: #7b5d22;
}
.folder-structure-menu a > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f2ede3;
  color: #98722c;
  font-weight: 900;
}
.folder-structure-menu a div {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.folder-structure-menu a strong {
  font-size: 13px;
}
.folder-structure-menu a small {
  font-size: 10px;
  color: #847c70;
  font-weight: 500;
}
.folder-structure-menu-divider {
  height: 1px;
  background: #eee7db;
  margin: 5px 4px;
}
.case-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.case-combobox {
  position: relative;
  width: 100%;
  min-width: 0;
}
.case-combobox-control {
  width: 100%;
  min-height: var(--field-h, 54px);
  padding: 0 15px;
  border: 1px solid var(--field-border, #d7d2c7);
  border-radius: var(--field-radius, 12px);
  background: #fff;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  font-weight: 750;
  cursor: pointer;
  outline: none;
}
.case-combobox-control:hover {
  border-color: #c7bda9;
}
.case-combobox-control:focus-visible,
.case-combobox.is-open .case-combobox-control {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.case-combobox-value {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.case-combobox-chevron {
  flex: none;
  color: #756d61;
  transition: 0.18s;
}
.case-combobox.is-open .case-combobox-chevron {
  transform: rotate(180deg);
}
.case-combobox-dropdown {
  position: absolute;
  z-index: 120;
  left: 0;
  right: 0;
  top: calc(100% + 7px);
  padding: 9px;
  border: 1px solid #d9d1c3;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(42, 35, 23, 0.17);
}
.case-combobox-dropdown[hidden] {
  display: none !important;
}
.case-combobox-search {
  width: 100%;
  height: 42px !important;
  margin: 0 0 8px !important;
  padding: 0 12px !important;
  border: 1px solid #d8d1c5 !important;
  border-radius: 10px !important;
  background: #fbfaf7 !important;
  font-weight: 600 !important;
  outline: none;
}
.case-combobox-search:focus {
  border-color: #9f7c38 !important;
  box-shadow: 0 0 0 3px #c9aa6425 !important;
}
.case-combobox-options {
  display: grid;
  gap: 3px;
  max-height: 270px;
  overflow: auto;
  padding-right: 2px;
}
.case-combobox-option {
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #222;
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 2px;
  font-weight: 700;
}
.case-combobox-option:hover,
.case-combobox-option.is-current {
  background: #f3eee3;
  color: #74561e;
}
.case-combobox-option small {
  color: #8b8377;
  font-size: 10px;
  font-weight: 500;
}
.case-combobox-empty {
  padding: 14px 11px;
  color: #8c857a;
  text-align: center;
  font-size: 12px;
}
.case-combobox.is-invalid .case-combobox-control {
  border-color: #b85d49;
  box-shadow: 0 0 0 3px rgba(184, 93, 73, 0.1);
}
.combined-deadline-list .deadline-kind {
  margin-right: 9px;
}
@media (max-width: 760px) {
  .folder-structure-menu,
  .folder-structure-menu.register-menu {
    left: 8px;
    right: 8px;
    width: auto;
    top: calc(100% + 2px);
  }
  .case-combobox-dropdown {
    position: fixed;
    left: 14px;
    right: 14px;
    top: auto;
    bottom: 18px;
    max-height: min(70vh, 520px);
    z-index: 300;
  }
  .case-combobox-options {
    max-height: min(52vh, 390px);
  }
}
.bi-icon,
.nav-bi-icon {
  width: 1.1em;
  height: 1.1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: -0.12em;
  flex: 0 0 auto;
  font-size: 1.1em;
  line-height: 1;
}
.nav-bi-icon {
  width: 19px;
  height: 19px;
  font-size: 19px;
}
.btn > .bi-icon {
  width: 18px;
  height: 18px;
  font-size: 18px;
}
.sidebar-search-icon .nav-bi-icon,
.global-search-modal-icon .nav-bi-icon {
  width: 18px;
  height: 18px;
  font-size: 18px;
}
.dashboard-recent-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}
.dashboard-recent-panel {
  padding: 20px;
  min-width: 0;
}
.dashboard-recent-panel .panel-head {
  align-items: flex-start;
}
.dashboard-recent-panel .panel-head small,
.dashboard-due-panel .panel-head small,
.dashboard-activity-panel .panel-head small {
  display: block;
  color: #8b8378;
  margin-top: 3px;
  font-size: 12px;
}
.dashboard-recent-list {
  display: grid;
  gap: 9px;
}
.dashboard-recent-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  gap: 11px;
  align-items: center;
  padding: 12px;
  border: 1px solid #ebe4d8;
  border-radius: 14px;
  background: #fbfaf7;
  color: inherit;
  text-decoration: none;
  transition: 0.15s ease;
}
.dashboard-recent-item:hover {
  border-color: #cbb684;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(65, 54, 32, 0.06);
}
.dashboard-recent-icon {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #efe8d8;
  color: #846627;
  display: grid;
  place-items: center;
}
.dashboard-recent-icon .bi-icon {
  width: 19px;
  height: 19px;
  font-size: 19px;
}
.dashboard-recent-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.dashboard-recent-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.dashboard-recent-top strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-recent-copy small {
  color: #7f786d;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-recent-copy b {
  font-size: 12px;
  color: #665f54;
}
.dashboard-recent-copy em {
  font-style: normal;
  color: #9a6d21;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.dashboard-row-arrow {
  width: 15px;
  height: 15px;
  color: #9e8d70;
}
.dashboard-bottom-grid {
  align-items: start;
}
.dashboard-due-panel,
.dashboard-activity-panel {
  min-height: 0;
}
.dashboard-due-row {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 12px 0 !important;
}
.dashboard-due-icon,
.dashboard-activity-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #f0eadc;
  color: #8f6b26;
  display: grid;
  place-items: center;
}
.dashboard-due-icon .bi-icon,
.dashboard-activity-icon .bi-icon {
  width: 16px;
  height: 16px;
  font-size: 16px;
}
.dashboard-due-row time {
  font-size: 11px;
  color: #7f786d;
}
.dashboard-activity {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 10px !important;
}
.dashboard-activity > span {
  color: inherit !important;
}
.dashboard-contact-request-icon .bi-icon {
  width: 24px;
  height: 24px;
  font-size: 24px;
}
.dashboard-contact-request-action .bi-icon {
  width: 18px;
  height: 18px;
  font-size: 18px;
}
.work-icon .bi-icon {
  width: 20px;
  height: 20px;
  font-size: 20px;
}
@media (max-width: 1180px) {
  .dashboard-recent-grid {
    grid-template-columns: 1fr 1fr;
  }
  .dashboard-recent-panel:last-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .dashboard-recent-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-recent-panel:last-child {
    grid-column: auto;
  }
  .dashboard-recent-panel {
    padding: 15px;
  }
  .dashboard-recent-item {
    grid-template-columns: 34px minmax(0, 1fr) 14px;
    padding: 10px;
  }
  .dashboard-recent-icon {
    width: 32px;
    height: 32px;
  }
  .dashboard-recent-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .dashboard-recent-copy small {
    white-space: normal;
  }
  .dashboard-bottom-grid {
    grid-template-columns: 1fr !important;
  }
  .dashboard-due-row {
    grid-template-columns: 30px minmax(0, 1fr) !important;
  }
  .dashboard-due-row time {
    grid-column: 2;
  }
  .dashboard-page .mailbox-banner {
    margin-top: 16px;
  }
}
.bi-icon,
.btn .bi,
.back .bi,
.case-action-icon .bi,
.folder-item-icon .bi,
.share-file-icon .bi,
.subcategory-branch .bi,
.folder-register-mark .bi {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex: 0 0 auto;
}
.btn > .bi,
.back > .bi {
  font-size: 1em;
}
.case-action-icon .bi {
  font-size: 20px;
}
.folder-item-icon .bi {
  font-size: 21px;
}
.folder-detail-icon .bi,
.category-svg.bi {
  font-size: 22px;
}
.category-search .bi {
  font-size: 18px;
}
.btn-line-icon.bi {
  width: auto;
  height: auto;
  font-size: 18px;
}
.timeline-entry-body a .bi {
  margin-left: 4px;
}
.invoice-purchase-hint .bi,
.invoice-title-sub .bi {
  margin-right: 4px;
}
.ob-cal-nav .bi {
  font-size: 18px;
}
.ob-date-icon .bi {
  font-size: 18px;
}
.global-search-result-arrow .bi,
.folder-item-chevron .bi {
  font-size: 15px;
}
.analysis-field-done .bi,
.analysis-deadline-done .bi {
  margin-right: 4px;
}
.taxonomy-sep .bi,
.folder-detail-title-row p > .bi {
  font-size: 0.72em;
  margin: 0 3px;
}
.share-file .bi {
  font-size: 18px;
}
.icon-danger-btn .bi {
  font-size: 14px;
}
.scanner-status .bi {
  margin-right: 4px;
}
.folder-register-card > span:last-child .bi {
  font-size: 14px;
}
.trust-row .bi,
.home-folder-shelf-points .bi,
.security-points .bi,
.tools-family-points .bi {
  margin-right: 5px;
}
.feature-icon .bi {
  font-size: 22px;
}
.analysis-drop-icon .bi {
  font-size: 24px;
}
.analysis-badge .bi,
.portal-contact-badge .bi,
.system-check .bi {
  margin-right: 4px;
}
.case-share-hint .bi {
  margin-right: 4px;
}
.case-combobox-chevron .bi {
  font-size: 14px;
}
.icon-only-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.icon-only-btn .bi {
  pointer-events: none;
}
.icon-only-btn:focus-visible {
  outline: 3px solid rgba(190, 145, 45, 0.28);
  outline-offset: 2px;
}
.mail-chip .bi {
  font-size: 1rem;
  margin-right: 6px;
  vertical-align: -0.08em;
}
.home-demo-icon .bi,
.feature-icon .bi {
  font-size: 1.35em;
}
.home-structure-arrow .bi {
  font-size: 1.15em;
}
.folder-spine-topmark .bi {
  font-size: 1rem;
}
.case-icon .bi {
  font-size: 1.15rem;
}
.stat-card small .bi {
  font-size: 0.78em;
  margin-left: 3px;
  vertical-align: -0.05em;
}
.analysis-photo-tip .bi {
  margin-right: 6px;
}
.panel-head-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.panel-text-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #9a7229;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  background: transparent;
  border: 0;
  padding: 3px 0;
  cursor: pointer;
}
.panel-text-action:hover {
  color: #6f511b;
}
.panel-text-action .bi {
  font-size: 14px;
}
.panel-linker {
  position: relative;
}
.panel-linker > summary {
  list-style: none;
}
.panel-linker > summary::-webkit-details-marker {
  display: none;
}
.panel-linker-popover {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 30;
  width: min(420px, 80vw);
  padding: 15px;
  background: #fff;
  border: 1px solid #e2d9ca;
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(42, 36, 26, 0.14);
}
.panel-linker-popover form {
  display: grid;
  gap: 11px;
}
.panel-linker-popover label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}
.panel-linker-popover select {
  width: 100%;
  padding: 11px 12px;
  border: 1px solid #d9d1c4;
  border-radius: 10px;
  background: #fff;
}
.panel-linker-popover .btn {
  justify-self: end;
}
.whole-row-link {
  cursor: pointer;
}
.whole-row-link:focus-visible {
  outline: 3px solid rgba(183, 142, 56, 0.28);
  outline-offset: 2px;
}
.whole-row-link:hover {
  border-color: #d6c8a9;
}
.whole-row-link .taxonomy-link,
.whole-row-link a {
  cursor: pointer;
}
.structured-form .remember-contact {
  margin-top: 16px;
}
.structured-form .form-hint {
  display: block;
  margin-top: 10px;
  color: #81796e;
  line-height: 1.5;
}
@media (max-width: 760px) {
  .panel-head-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .panel-linker-popover {
    position: fixed;
    left: 14px;
    right: 14px;
    top: auto;
    bottom: 16px;
    width: auto;
    max-height: 70vh;
    overflow: auto;
  }
  .panel-linker-popover .btn {
    width: 100%;
  }
}
.case-linked-resource-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.case-linked-resource-row .resource-main-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.case-linked-resource-row .resource-main-link > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.case-linked-resource-row .resource-main-link > b {
  white-space: nowrap;
}
.case-linked-resource-row form {
  margin: 0;
}
.resource-unlink {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
}
@media (max-width: 760px) {
  .case-linked-resource-row {
    grid-template-columns: 1fr auto;
  }
  .case-linked-resource-row .resource-main-link {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .case-linked-resource-row .resource-main-link > b {
    white-space: normal;
  }
  .resource-unlink {
    margin-top: 2px;
  }
}
.case-invoices .panel-head a.panel-text-action,
.case-contracts .panel-head a.panel-text-action,
.case-invoices .panel-head .panel-text-action,
.case-contracts .panel-head .panel-text-action {
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
}
.case-invoices .panel-head,
.case-contracts .panel-head {
  min-width: 0;
}
.case-invoices .panel-head-actions,
.case-contracts .panel-head-actions {
  margin-left: auto;
  flex-shrink: 0;
}
.invoice-create-case {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  justify-content: center;
  text-decoration: none;
}
.invoice-create-case-inline {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 8px;
  font-weight: 750;
  font-size: 0.88em;
  color: #94702d;
}
.case-combobox-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10018;
  background: rgba(14, 27, 26, 0.4);
}
.case-combobox-dropdown.case-combobox-mobile-sheet {
  position: fixed !important;
  z-index: 10019 !important;
  left: 12px !important;
  right: 12px !important;
  top: 12px;
  bottom: auto !important;
  width: auto !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  padding: 14px;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(14, 27, 26, 0.26);
}
.case-combobox-mobile-sheet .case-combobox-search {
  flex: none;
  font-size: 16px !important;
  min-height: 48px !important;
}
.case-combobox-mobile-sheet .case-combobox-options {
  flex: 1;
  min-height: 0;
  max-height: none !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.dashboard-appointments {
  margin: 20px 0;
  padding: 20px 24px;
}
.dashboard-appointment-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr));
  gap: 12px;
  margin-top: 16px;
}
.dashboard-appointment {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e5d9c7;
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.dashboard-appointment:hover {
  border-color: #ba974f;
  box-shadow: 0 6px 17px rgba(35, 34, 27, 0.07);
}
.dashboard-appointment-date {
  background: #f2ead7;
  border-radius: 10px;
  padding: 8px 10px;
  text-align: center;
  display: grid;
  flex: none;
  color: #6e551e;
}
.dashboard-appointment-date b {
  font-size: 20px;
}
.dashboard-appointment-date small {
  font-size: 11px;
}
.dashboard-appointment-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
.dashboard-appointment-copy strong {
  overflow-wrap: anywhere;
}
.dashboard-appointment-copy small {
  color: #777067;
}
.dashboard-invoice-date {
  display: block;
  color: #777067;
  font-size: 12px;
  margin: 2px 0;
}
@media (max-width: 760px) {
  .case-invoices > .panel-head,
  .case-contracts > .panel-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  .case-invoices > .panel-head > div:first-child,
  .case-contracts > .panel-head > div:first-child {
    min-width: 0;
  }
  .case-invoices .panel-head-actions,
  .case-contracts .panel-head-actions {
    display: flex;
    width: 100%;
    margin: 0 !important;
    align-items: center;
    justify-content: flex-end !important;
    gap: 14px;
    flex-wrap: wrap;
  }
  .case-invoices .panel-head-actions .panel-text-action,
  .case-contracts .panel-head-actions .panel-text-action {
    font-size: 14px !important;
    white-space: nowrap;
  }
  .case-invoices .panel-linker,
  .case-contracts .panel-linker {
    min-width: 0;
  }
  .case-invoices .panel-linker[open],
  .case-contracts .panel-linker[open] {
    flex-basis: 100%;
    width: 100%;
    order: 3;
  }
  .case-invoices .panel-linker-popover,
  .case-contracts .panel-linker-popover {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-height: min(55dvh, 420px);
    overflow-y: auto;
    box-shadow: none;
    margin-top: 10px;
    padding: 14px;
  }
  .case-invoices .panel-linker-popover .btn,
  .case-contracts .panel-linker-popover .btn {
    width: 100%;
  }
  .invoice-inbox-assign {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0;
  }
  .invoice-inbox-assign > label {
    min-width: 0;
  }
  .invoice-inbox-assign .btn,
  .invoice-create-case {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
  .dashboard-appointments {
    padding: 16px;
    margin: 14px 0;
  }
  .dashboard-appointment-list {
    grid-template-columns: 1fr;
  }
}
.task-create-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .task-create-actions {
    width: 100%;
    justify-content: stretch;
  }
  .task-create-actions .btn {
    flex: 1;
    justify-content: center;
    white-space: normal;
  }
}
.structured-form > .form-section:has(.case-combobox.is-open) {
  overflow: visible;
  z-index: auto;
}
.structured-form
  > .form-section:has(.case-combobox.is-open)
  .case-combobox-dropdown {
  z-index: 120;
}
@media (max-width: 760px) {
  .case-combobox-dropdown.case-combobox-mobile-sheet {
    z-index: 10019 !important;
  }
}
.invoice-case-create-note {
  display: block;
  margin-top: 8px;
  line-height: 1.5;
  color: #766e62;
}
.invoice-case-create-note a {
  color: #8b6727;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.invoice-case-create-note a:hover {
  color: #1f2929;
}
.structured-form .sticky-form-actions:has(#invoice-save-create-case) {
  flex-wrap: wrap;
}
.case-contracts > .panel-head,
.case-invoices > .panel-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 14px;
  row-gap: 5px;
  align-items: center !important;
}
.case-contracts .case-resource-heading,
.case-invoices .case-resource-heading {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}
.case-contracts .panel-head-actions,
.case-invoices .panel-head-actions {
  grid-column: 2;
  grid-row: 1;
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  width: auto !important;
  margin: 0 !important;
  min-width: 0;
}
.case-contracts .case-resource-subtitle,
.case-invoices .case-resource-subtitle {
  grid-column: 1/-1;
  grid-row: 2;
  display: block;
  min-width: 0;
  font-size: 14px;
  color: #777067;
  line-height: 1.5;
}
.case-contracts .panel-head-actions > .panel-text-action,
.case-invoices .panel-head-actions > .panel-text-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap !important;
  flex-shrink: 0;
  font-size: 14px !important;
  line-height: 1.25 !important;
}
.case-link-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(440px, calc(100vw - 28px));
  max-width: calc(100vw - 28px);
  max-height: min(80dvh, 680px);
  padding: 0;
  overflow: auto;
  border: 1px solid #ddcfbb;
  border-radius: 18px;
  background: #fff;
  color: #1f2929;
  box-shadow: 0 24px 70px rgba(20, 27, 25, 0.27);
}
.case-link-dialog::backdrop {
  background: rgba(15, 25, 24, 0.52);
}
.case-link-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid #eee6da;
}
.case-link-dialog-head h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
}
.case-link-dialog-close {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  background: #f6f1e7;
  color: #1f2929;
  border: 1px solid #dfd6c8;
  border-radius: 10px;
  cursor: pointer;
}
.case-link-dialog-body {
  padding: 20px;
  min-width: 0;
}
.case-link-dialog-body form {
  display: grid;
  gap: 14px;
}
.case-link-dialog-body label {
  display: grid;
  gap: 8px;
  font-size: 13px;
  font-weight: 750;
}
.case-link-dialog-body select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #d7d0c4;
  border-radius: 12px;
  background: white;
  color: #1f2929;
}
.case-link-dialog-body .btn {
  width: 100%;
  min-height: 46px;
}
.case-link-dialog-close:focus-visible,
.case-link-open:focus-visible {
  outline: 3px solid #c9aa64;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .case-contracts > .panel-head,
  .case-invoices > .panel-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 5px 8px !important;
  }
  .case-contracts .panel-head-actions,
  .case-invoices .panel-head-actions {
    gap: 10px !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
  }
  .case-contracts .panel-head-actions > .panel-text-action,
  .case-invoices .panel-head-actions > .panel-text-action {
    font-size: 13px !important;
    gap: 4px;
  }
  .case-contracts .case-resource-heading,
  .case-invoices .case-resource-heading {
    font-size: 19px !important;
  }
  .case-link-dialog {
    max-height: calc(100dvh - 32px);
    border-radius: 16px;
  }
  .case-link-dialog-body {
    padding: 16px;
  }
}
@media (max-width: 360px) {
  .case-contracts .panel-head-actions,
  .case-invoices .panel-head-actions {
    gap: 7px !important;
  }
  .case-contracts .panel-head-actions > .panel-text-action,
  .case-invoices .panel-head-actions > .panel-text-action {
    font-size: 12px !important;
  }
  .case-contracts .panel-head-actions > .panel-text-action .bi,
  .case-invoices .panel-head-actions > .panel-text-action .bi {
    display: none;
  }
  .case-contracts .case-resource-heading,
  .case-invoices .case-resource-heading {
    font-size: 17px !important;
  }
}
.categories-page .category-tree-head > .folder-structure-trigger {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  align-items: center !important;
  min-width: 0 !important;
  width: 100%;
}
.categories-page .folder-structure-trigger > .category-icon-badge,
.admin-category-page .admin-system-category-head > .category-icon-badge {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  flex: 0 0 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: start;
  align-self: center;
  overflow: visible;
}
.admin-category-page .admin-system-category-head {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  column-gap: 14px !important;
  align-items: center !important;
}
.admin-category-page .admin-system-category-head > .admin-category-icon {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  flex-basis: 46px !important;
}
.categories-page .folder-structure-trigger > .category-card-main,
.admin-category-page
  .admin-system-category-head
  > .admin-system-category-title {
  min-width: 0 !important;
  width: 100%;
  overflow-wrap: anywhere;
}
.category-icon-badge > .category-svg.bi {
  display: inline-flex !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  overflow: visible;
}
.category-icon-badge > .category-svg.bi::before {
  display: block;
  width: auto;
  height: auto;
  line-height: 1;
}
@media (max-width: 620px) {
  .categories-page .category-tree-head > .folder-structure-trigger {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
  .admin-category-page .admin-system-category-head {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    column-gap: 11px !important;
  }
  .admin-category-page .admin-system-category-head > .admin-category-icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex-basis: 42px !important;
  }
}
html,
body {
  font-family: var(--ob-font-ui);
}
button,
input,
select,
textarea,
option,
optgroup,
summary,
input::file-selector-button,
button::file-selector-button,
.sidebar-search-shortcut kbd {
  font-family: var(--ob-font-ui);
}
input::placeholder,
textarea::placeholder {
  font-family: var(--ob-font-ui);
}
pre,
code,
kbd,
samp {
  font-family: var(--ob-font-code);
}
.sidebar-search-shortcut kbd {
  font-family: var(--ob-font-ui);
}
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.stats.task-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.stats.task-stats .stat-card {
  min-width: 0;
}
.stats.task-stats .stat-card span {
  overflow-wrap: anywhere;
}
@media (min-width: 761px) and (max-width: 980px) {
  .stats.task-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .stats.task-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.invoice-create-case-option {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin: 14px 0 22px;
  padding: 18px 20px;
  border: 1px solid #e3d5bc;
  border-radius: 16px;
  background: #fdf9f0;
}
.invoice-create-case-option strong {
  font-size: 15px;
}
.invoice-create-case-option p {
  margin: 6px 0 0;
  line-height: 1.55;
  font-size: 14px;
  color: #655b4d;
}
.invoice-create-case-option .btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
@media (max-width: 760px) {
  .invoice-create-case-option {
    padding: 14px;
  }
  .invoice-create-case-option .btn {
    width: 100%;
  }
}
.invoice-list .invoice-row.whole-row-link {
  cursor: pointer;
}
.invoice-list .invoice-row.whole-row-link:hover {
  background: var(--surface-hover, #fbf8f2);
}
.invoice-list .invoice-row.whole-row-link:focus-visible {
  outline: 3px solid var(--gold, #a57d30);
  outline-offset: -3px;
}
.bulk-list-form {
  position: relative;
}
.bulk-list-toolbar {
  padding: 10px 16px;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.72);
}
.bulk-select-all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  color: var(--text, #1b1b1b);
  cursor: pointer;
}
.bulk-select-all input[type="checkbox"],
.bulk-select-cell input[type="checkbox"] {
  margin-right: 0 !important;
}
.bulk-select-cell {
  display: grid;
  place-items: center;
  align-self: stretch;
  min-width: 30px;
  cursor: pointer;
}
.invoice-row.bulk-select-row:not(.shared-case-card) {
  grid-template-columns: 34px minmax(0, 1fr) minmax(420px, 0.8fr);
}
.contract-row.bulk-select-row {
  grid-template-columns: 34px minmax(0, 1fr) 160px 180px;
}
.bulk-current-case {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
  color: var(--muted, #7b7469);
}
.bulk-action-bar {
  position: fixed;
  left: calc(var(--sidebar-width, 0px) + 24px);
  right: 24px;
  bottom: 18px;
  z-index: 145;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid #d9cfbf;
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.97);
  box-shadow: 0 18px 46px rgba(32, 36, 34, 0.18);
  backdrop-filter: blur(12px);
}
.bulk-action-bar[hidden] {
  display: none !important;
}
.bulk-action-summary {
  display: grid;
  gap: 2px;
  min-width: 180px;
}
.bulk-action-summary strong {
  font-size: 1rem;
}
.bulk-action-summary small {
  color: var(--muted, #7b7469);
}
.bulk-action-controls {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}
.bulk-case-field {
  display: grid;
  gap: 5px;
  min-width: 300px;
}
.bulk-case-field > span {
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--muted, #7b7469);
}
.bulk-case-field select {
  min-height: 46px;
}
.bulk-action-bar .case-combobox {
  min-width: 300px;
}
.bulk-action-bar .case-combobox-control {
  min-height: 46px;
}
.bulk-action-bar .case-combobox-dropdown {
  bottom: calc(100% + 8px);
  top: auto;
}
.bulk-list-form.has-selection
  .bulk-select-row:has([data-bulk-checkbox]:checked) {
  background: #fffaf0;
  box-shadow: inset 3px 0 0 #c79d49;
}
.delete-blocked-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid #e2d8c9;
  border-radius: 10px;
  background: #f8f5ef;
  color: #796f62;
  font-size: 0.82rem;
  line-height: 1.4;
}
.delete-blocked-note.compact {
  padding: 7px 9px;
  font-size: 0.76rem;
}
@media (max-width: 1100px) {
  .invoice-row.bulk-select-row:not(.shared-case-card) {
    grid-template-columns: 34px 1fr;
  }
  .invoice-row.bulk-select-row .invoice-row-facts {
    grid-column: 2;
  }
  .contract-row.bulk-select-row {
    grid-template-columns: 34px minmax(0, 1fr) 130px 150px;
  }
  .bulk-action-bar {
    left: 18px;
    right: 18px;
  }
}
@media (max-width: 760px) {
  .bulk-list-toolbar {
    padding: 10px 12px;
  }
  .invoice-row.bulk-select-row:not(.shared-case-card) {
    grid-template-columns: 30px minmax(0, 1fr);
  }
  .invoice-row.bulk-select-row .invoice-row-facts {
    grid-column: 2;
  }
  .contract-row.bulk-select-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }
  .contract-row.bulk-select-row > div:nth-of-type(2),
  .contract-row.bulk-select-row > div:nth-of-type(3) {
    grid-column: 2;
  }
  .bulk-action-bar {
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    max-height: calc(100dvh - 110px);
    overflow: visible;
  }
  .bulk-action-summary {
    min-width: 0;
  }
  .bulk-action-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
  .bulk-case-field {
    min-width: 0;
    grid-column: 1/-1;
  }
  .bulk-action-bar .case-combobox {
    min-width: 0;
    width: 100%;
  }
  .bulk-action-controls .btn {
    width: 100%;
    justify-content: center;
  }
  body.has-bulk-action-bar {
    padding-bottom: 190px;
  }
}
@media (min-width: 1051px) {
  .bulk-action-bar {
    left: 302px;
  }
}
@media (min-width: 761px) and (max-width: 1050px) {
  .bulk-action-bar {
    left: 264px;
    right: 18px;
  }
}
@media (max-width: 760px) {
  .invoice-list .invoice-row.bulk-select-row:not(.shared-case-card),
  .contract-list .contract-row.bulk-select-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 0 12px !important;
    align-items: start;
    min-width: 0;
    max-width: 100%;
  }
  .invoice-row.bulk-select-row > .bulk-select-cell,
  .contract-row.bulk-select-row > .bulk-select-cell {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start;
    justify-self: center;
    padding-top: 9px;
    min-width: 0;
  }
  .invoice-row.bulk-select-row > .invoice-main,
  .contract-row.bulk-select-row > div:nth-of-type(1) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
    width: 100%;
    padding: 0 0 12px !important;
    border-top: 0 !important;
    text-align: left !important;
  }
  .invoice-row.bulk-select-row > .invoice-row-facts {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-width: 0;
    width: 100%;
  }
  .contract-row.bulk-select-row > div:nth-of-type(2),
  .contract-row.bulk-select-row > div:nth-of-type(3) {
    grid-column: 2 !important;
    min-width: 0;
    width: 100%;
    padding: 11px 0 0 !important;
    border-top: 1px solid var(--line, #e7e2d8);
    text-align: left !important;
  }
  .contract-row.bulk-select-row > div:nth-of-type(2) {
    grid-row: 2 !important;
  }
  .contract-row.bulk-select-row > div:nth-of-type(3) {
    grid-row: 3 !important;
  }
  .invoice-row.bulk-select-row .invoice-main *,
  .contract-row.bulk-select-row > div:nth-of-type(1) * {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
.case-combobox-dropdown.case-combobox-mobile-sheet .case-combobox-options {
  align-content: start !important;
  grid-auto-rows: max-content;
  gap: 4px;
}
.case-combobox-dropdown.case-combobox-mobile-sheet .case-combobox-option {
  min-height: 0;
  height: auto;
  padding: 11px 12px;
  align-self: start;
}
.invoice-relation-grid {
  align-items: start;
}
.bulk-current-contract {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.35rem;
  color: var(--muted, #81796c);
}
.bulk-current-contract a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.bulk-current-contract a:hover {
  text-decoration: underline;
}
.bulk-action-controls-relations {
  flex-wrap: wrap;
}
.bulk-action-controls-relations .bulk-case-field,
.bulk-action-controls-relations .bulk-contract-field {
  min-width: 230px;
}
.module-folder-shelf {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
[data-invoice-results].is-loading,
[data-contract-results].is-loading {
  opacity: 0.55;
  pointer-events: none;
}
.contract-invoices {
  margin-top: 1.25rem;
}
@media (max-width: 760px) {
  .bulk-action-controls-relations .bulk-case-field,
  .bulk-action-controls-relations .bulk-contract-field {
    width: 100%;
    min-width: 0;
  }
  .bulk-action-controls-relations .btn {
    flex: 1 1 auto;
  }
}
.contract-list .contract-row.bulk-select-row {
  grid-template-columns: 38px minmax(0, 1fr) minmax(210px, 260px) !important;
  align-items: center;
  gap: 14px;
}
.contract-list .contract-row.bulk-select-row > .bulk-select-cell {
  grid-column: 1;
}
.contract-list .contract-row.bulk-select-row > .contract-main {
  grid-column: 2;
  min-width: 0;
}
.contract-list .contract-row.bulk-select-row > .contract-side {
  grid-column: 3;
  min-width: 0;
  display: grid;
  gap: 12px;
  justify-items: start;
  text-align: left;
}
.contract-list .contract-row.bulk-select-row > .contract-side > div {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 6px;
}
.contract-list .contract-row.bulk-select-row > .contract-side > div > small {
  flex-basis: 100%;
}
.contract-list .contract-row.bulk-select-row > .contract-side strong,
.contract-list .contract-row.bulk-select-row > .contract-side span {
  white-space: normal;
  overflow-wrap: normal;
}
.contract-list .contract-row.bulk-select-row .contract-main > .status {
  width: fit-content !important;
  max-width: 100%;
  justify-self: start;
  align-self: start;
}
.bulk-action-bar:has(.bulk-action-controls-relations) {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) minmax(0, 2fr);
  align-items: center;
  gap: 12px 18px;
}
.bulk-action-controls.bulk-action-controls-relations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  align-items: end;
  gap: 10px;
  min-width: 0;
}
.bulk-relation-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
  min-width: 0;
}
.bulk-relation-group .bulk-case-field,
.bulk-relation-group .bulk-contract-field {
  display: grid;
  gap: 5px;
  min-width: 0;
  width: 100%;
}
.bulk-relation-group label > span {
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--muted, #7b7469);
}
.bulk-relation-group select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
}
.bulk-relation-group .case-combobox {
  min-width: 0;
}
.bulk-relation-group .btn,
.bulk-action-delete {
  min-height: 46px;
  white-space: nowrap;
}
@media (max-width: 1360px) {
  .bulk-action-bar:has(.bulk-action-controls-relations) {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1000px) {
  .bulk-action-controls.bulk-action-controls-relations {
    grid-template-columns: 1fr;
  }
  .bulk-relation-group {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .bulk-action-delete {
    justify-self: end;
  }
}
@media (max-width: 760px) {
  .contract-list .contract-row.bulk-select-row {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    align-items: start;
    gap: 0 12px;
  }
  .contract-list .contract-row.bulk-select-row > .bulk-select-cell {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  .contract-list .contract-row.bulk-select-row > .contract-main {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100%;
    border-top: 1px solid var(--line, #e7e2d8);
    padding-top: 12px !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    justify-items: stretch;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side > div {
    display: grid;
    gap: 3px;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side > div > small {
    flex-basis: auto;
  }
  .bulk-action-bar:has(.bulk-action-controls-relations) {
    display: flex;
  }
  .bulk-action-controls.bulk-action-controls-relations {
    grid-template-columns: minmax(0, 1fr);
  }
  .bulk-relation-group {
    grid-template-columns: minmax(0, 1fr);
  }
  .bulk-relation-group .btn,
  .bulk-action-delete {
    width: 100%;
    justify-content: center;
  }
  .bulk-action-delete {
    justify-self: stretch;
  }
  body.has-bulk-action-bar {
    padding-bottom: 250px;
  }
}
.contact-detail-list {
  display: grid;
  gap: 10px;
}
.contact-detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 15px;
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.contact-detail-item:hover,
.contact-detail-item:focus-visible {
  background: #fbf8f2;
}
.contact-detail-item > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.contact-detail-item small {
  display: block;
  color: var(--muted, #81796c);
  margin-top: 4px;
}
.contact-row .contact-name-link {
  color: inherit;
  text-decoration: none;
  font-weight: 800;
}
.contact-row .contact-name-link:hover {
  text-decoration: underline;
}
.contract-batch-panel {
  margin-top: 18px;
}
.contract-batch-panel .upload-box {
  margin: 14px 0;
}
.contract-batch-results {
  display: grid;
  gap: 9px;
  margin: 14px 0;
}
.contract-batch-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 12px;
  overflow-wrap: anywhere;
}
.contract-batch-result.is-error {
  border-color: #d8ada4;
  background: #fff7f5;
}
.contract-batch-result > span {
  min-width: 0;
}
@media (max-width: 760px) {
  .contract-batch-result {
    flex-wrap: wrap;
  }
  .contract-batch-result .btn {
    width: 100%;
    justify-content: center;
  }
}
.contact-record-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #8d6727;
  font-size: 0.84rem;
  font-weight: 750;
  text-decoration: none;
  margin: 0.35rem 0;
}
.contact-record-link:hover,
.contact-record-link:focus-visible {
  text-decoration: underline;
}
.contract-list .contract-row.bulk-select-row .status.contract-active {
  color: #35634a;
  background: #e8f3ed;
}
.contract-list .contract-row.bulk-select-row .status.contract-cancelled {
  color: #7c5a14;
  background: #fff0cf;
}
.contract-list .contract-row.bulk-select-row .status.contract-ended {
  color: #666;
  background: #eee;
}
.bulk-action-bar:has(.bulk-action-controls-relations) {
  grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr);
  max-width: calc(100vw - 36px);
}
.bulk-action-controls.bulk-action-controls-relations {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  width: 100%;
}
.bulk-action-controls-relations .bulk-relation-group {
  min-width: 0;
}
.bulk-action-controls-relations .bulk-relation-group > label {
  min-width: 0;
  margin: 0;
}
.bulk-action-controls-relations .bulk-relation-group .case-combobox {
  min-width: 0;
  width: 100%;
}
.bulk-action-controls-relations .bulk-relation-group .case-combobox-control {
  width: 100%;
  min-width: 0;
  min-height: 46px;
}
.bulk-action-controls-relations .bulk-relation-group .case-combobox-dropdown {
  top: auto;
  bottom: calc(100% + 8px);
  z-index: 180;
  width: max(100%, 250px);
  max-width: min(420px, calc(100vw - 36px));
}
.bulk-action-controls-relations .bulk-relation-group .case-combobox-options {
  max-height: 230px;
}
@media (max-width: 1400px) {
  .bulk-action-bar:has(.bulk-action-controls-relations) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 980px) {
  .bulk-action-controls.bulk-action-controls-relations {
    grid-template-columns: minmax(0, 1fr);
  }
  .bulk-action-controls-relations .bulk-relation-group {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
@media (max-width: 760px) {
  .bulk-action-bar:has(.bulk-action-controls-relations) {
    max-height: min(65vh, 460px);
    overflow-y: auto;
  }
  .bulk-action-controls-relations .bulk-relation-group {
    grid-template-columns: minmax(0, 1fr);
  }
  .bulk-action-controls-relations .bulk-relation-group .btn {
    width: 100%;
  }
}
.contact-overview .contact-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  flex-wrap: wrap;
}
.contact-overview .contact-header .back {
  display: inline-flex;
  margin-bottom: 12px;
}
.contact-overview .contact-header h1 {
  overflow-wrap: anywhere;
}
.contact-overview .contact-header .btn {
  white-space: nowrap;
}
.contact-overview .contact-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}
.contact-overview .contact-stat {
  display: grid;
  gap: 5px;
  padding: 18px;
  background: white;
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
}
.contact-overview .contact-stat small {
  color: var(--muted, #81796c);
}
.contact-overview .contact-stat strong {
  font-size: 1.75rem;
  line-height: 1.1;
}
.contact-overview .contact-section {
  margin-bottom: 20px;
  min-width: 0;
}
.contact-overview .contact-section-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.contact-overview .contact-section-head .bi {
  color: var(--gold, #a6813b);
  font-size: 1.2rem;
}
.contact-overview .contact-section-head h2 {
  margin: 0;
}
.contact-overview .contact-section-head .count {
  margin-left: auto;
  background: #f4ecdc;
  padding: 4px 10px;
  border-radius: 30px;
  font-size: 0.78rem;
  font-weight: 800;
}
.contact-overview .contact-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.contact-overview .contact-info-item {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line, #e7e2d8);
  border-radius: 12px;
  overflow-wrap: anywhere;
}
.contact-overview .contact-info-item small {
  color: var(--muted, #81796c);
}
.contact-overview .contact-info-item strong {
  font-size: 0.98rem;
}
.contact-overview .contact-detail-item > span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
@media (max-width: 820px) {
  .contact-overview .contact-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  .contact-overview .contact-info-grid {
    grid-template-columns: 1fr;
  }
  .contact-overview .contact-header .btn {
    width: 100%;
    justify-content: center;
  }
  .contact-overview .contact-detail-item {
    align-items: flex-start;
  }
}
.help-intro {
  max-width: 920px;
}
.help-steps {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
.help-step {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.help-step-no {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f4ecdc;
  color: #8b671c;
  font-weight: 800;
}
.help-step h2 {
  margin: 0 0 8px;
}
.help-step p {
  color: var(--muted, #81796c);
}
.help-step .btn {
  margin-top: 12px;
}
.help-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.help-examples .panel {
  margin: 0;
}
@media (max-width: 760px) {
  .help-examples {
    grid-template-columns: 1fr;
  }
}
.ob-date-wrap.ob-date-editable {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items: stretch;
  border: 1px solid #d8d1c5;
  border-radius: 12px;
  background: #fff;
  min-width: 0;
}
.ob-date-editable:focus-within {
  border-color: #a98437;
  box-shadow: 0 0 0 3px rgba(169, 132, 55, 0.13);
}
.ob-date-editable .ob-date-manual {
  display: block !important;
  width: 100% !important;
  min-width: 0;
  min-height: 50px;
  padding: 0 14px;
  border: 0 !important;
  border-radius: 12px 0 0 12px;
  background: transparent;
  box-shadow: none !important;
  font: inherit;
  font-weight: 700;
  color: #202725;
}
.ob-date-editable .ob-date-manual:focus {
  outline: 0;
  box-shadow: none !important;
}
.ob-date-editable .ob-date-manual.is-invalid {
  color: #ad3d2e;
}
.ob-date-editable .ob-date-trigger {
  display: flex;
  justify-content: center;
  min-width: 0;
  width: 52px;
  min-height: 50px;
  padding: 0;
  border: 0;
  border-left: 1px solid #ede5d9;
  border-radius: 0 12px 12px 0;
  box-shadow: none !important;
}
.ob-date-editable .ob-date-trigger:focus-visible {
  outline: 2px solid #a98437;
  outline-offset: -3px;
}
@media (max-width: 560px) {
  .ob-date-editable .ob-date-trigger,
  .ob-date-editable .ob-date-manual {
    min-height: 48px;
  }
}
.case-combobox-option .case-combobox-check {
  margin-left: auto;
  align-self: center;
  color: #8d6b2c;
  font-size: 16px;
  line-height: 1;
}
select[multiple][data-searchable-contract]
  + .case-combobox
  .case-combobox-option {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
select[multiple][data-searchable-contract]
  + .case-combobox
  .case-combobox-option
  small {
  grid-column: 1 / -1;
}
.case-combobox-done {
  width: 100%;
  margin-top: 8px;
  border: 0;
  border-radius: 10px;
  padding: 11px 14px;
  background: #1d2b2a;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.case-combobox-done:hover {
  background: #263936;
}
.contract-list .contract-row.bulk-select-row > .contract-side {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .contract-list .contract-row.bulk-select-row > .contract-side {
    grid-template-columns: 1fr !important;
  }
}
.document-page .page-head {
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.document-filter {
  padding: 22px;
  margin-bottom: 22px;
}
.document-filter-actions,
.document-detail-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.document-list {
  display: flex;
  flex-direction: column;
}
.document-list-row {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px 12px;
  border-top: 1px solid var(--border, #e5ded2);
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.document-list-row:hover {
  background: rgba(160, 128, 75, 0.06);
}
.document-file-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  height: 42px;
  background: #f1ecdf;
  border-radius: 12px;
  color: #85632b;
  font-size: 21px;
}
.document-list-copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.document-list-copy strong,
.document-list-copy small {
  overflow-wrap: anywhere;
}
.document-list-copy small,
.document-list-date {
  color: var(--muted, #727272);
  font-size: 13px;
}
.document-link-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e9e4d9;
  padding: 14px 0;
}
.document-link-form {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
}
.document-link-form label {
  flex: 1;
  min-width: 220px;
}
.document-links-panel {
  padding: 24px;
  margin-top: 20px;
}
@media (max-width: 600px) {
  .document-list-date {
    display: none;
  }
  .document-link-form button {
    width: 100%;
  }
  .document-links-panel {
    padding: 16px;
  }
}
.document-page .document-filter {
  padding: 22px 24px;
  margin-bottom: 24px;
}
.document-page .document-filter-grid {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(170px, 1fr));
  gap: 14px;
  align-items: end;
}
.document-page .field,
.document-page .form-panel label,
.document-page .document-link-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  font-weight: 700;
  font-size: 13px;
  color: #263331;
}
.document-page .field input,
.document-page .field select,
.document-page .form-panel input:not([type="checkbox"]):not([type="radio"]),
.document-page .form-panel select,
.document-page .form-panel textarea,
.document-page .document-link-form select {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  display: block;
  border: 1px solid #d8d2c6;
  border-radius: 12px;
  padding: 13px 14px;
  background: #fff;
  color: #1f2929;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  outline: none;
  min-height: 46px;
}
.document-page .field input:focus,
.document-page .field select:focus,
.document-page .form-panel :is(input, select, textarea):focus,
.document-page .document-link-form select:focus {
  border-color: #94723b;
  box-shadow: 0 0 0 3px #b99a5b24;
}
.document-page .document-filter-actions {
  margin-top: 16px;
  justify-content: flex-start;
}
.document-page .document-filter-actions .btn {
  min-height: 44px;
}
.document-page .form-panel {
  padding: 26px 30px;
}
.document-page .form-panel h2 {
  margin: 0 0 20px;
  font-size: 21px;
}
.document-page .form-panel label {
  margin: 0 0 19px;
}
.document-page .form-panel .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.document-page .form-panel label small {
  color: #79766e;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
}
.document-page .form-panel textarea {
  min-height: 110px;
  resize: vertical;
}
.document-page .form-panel .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.document-page .document-links-panel {
  padding: 26px 30px;
}
.document-page .document-links-panel .panel-head {
  margin-bottom: 10px;
}
.document-page .document-link-row a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  overflow-wrap: anywhere;
  text-decoration: none;
  color: #253230;
  font-weight: 650;
}
.document-page .document-link-row a:hover {
  color: #86652b;
}
.document-page .document-link-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin-top: 24px;
}
.document-page .document-link-form label {
  margin: 0;
  min-width: 0;
}
.document-page .document-link-form button {
  min-height: 46px;
}
.document-page .document-list-row {
  gap: 16px;
}
.document-page .document-list-copy strong {
  font-size: 15px;
  color: #202b2a;
}
.document-page .document-list-date {
  white-space: nowrap;
}
.document-page [data-document-results].is-loading {
  opacity: 0.55;
  pointer-events: none;
}
@media (max-width: 780px) {
  .document-page .document-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .document-page .document-filter-grid .field:first-child {
    grid-column: 1/-1;
  }
}
@media (max-width: 600px) {
  .document-page .document-filter-grid,
  .document-page .form-panel .form-grid,
  .document-page .document-link-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .document-page .document-filter,
  .document-page .form-panel,
  .document-page .document-links-panel {
    padding: 18px;
  }
  .document-page .document-link-form button {
    width: 100%;
  }
  .document-page .document-filter-actions .btn {
    flex: 1;
    justify-content: center;
  }
}
.document-overview {
  margin: 0 0 24px;
}
.document-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.document-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid #e2dcd1;
  border-radius: 19px;
  box-shadow: 0 8px 24px rgba(35, 39, 35, 0.035);
  min-width: 0;
}
.document-stat-icon {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 10px;
  background: #f3eee2;
  color: #89692e;
  font-size: 17px;
}
.document-stat strong {
  font-size: 31px;
  line-height: 1.15;
  color: #202b29;
  font-variant-numeric: tabular-nums;
}
.document-stat > span:last-child {
  font-size: 13px;
  color: #6b6d6a;
  line-height: 1.35;
}
.document-page .document-recent {
  padding: 23px 26px;
  margin: 0 0 22px;
}
.document-recent-row {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 13px 0;
  border-top: 1px solid #e9e3d8;
  color: #24302e;
  text-decoration: none;
}
.document-recent-row:hover {
  background: #f9f7f1;
}
.document-recent-row .document-list-copy strong {
  font-size: 14px;
}
.document-recent-date {
  color: #7b7c79;
  white-space: nowrap;
  font-size: 12px;
}
.document-page select[data-document-register]:disabled {
  color: #818581;
  background: #f5f4f0;
  cursor: not-allowed;
}
@media (max-width: 900px) {
  .document-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 500px) {
  .document-stat {
    padding: 15px;
  }
  .document-recent-date {
    display: none;
  }
  .document-page .document-recent {
    padding: 17px;
  }
}
.dashboard-documents-entry {
  align-items: center;
  justify-content: space-between;
  margin: 20px 0;
  padding: 22px 26px;
}
.dashboard-documents-entry h2 {
  font-size: 1.15rem;
  margin: 5px 0 8px;
}
.dashboard-documents-entry p {
  margin: 0;
  color: var(--muted, #687078);
  max-width: 720px;
}
.dashboard-documents-actions {
  gap: 10px;
  flex-shrink: 0;
}
.inbox-document-attachment {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 0;
}
.inbox-document-attachment > a:first-child {
  flex: 1;
  min-width: 180px;
}
.inbox-document-attachment form {
  margin: 0;
}
.inbox-document-attachment .btn {
  white-space: nowrap;
}
@media (max-width: 900px) {
  .dashboard-documents-entry {
    flex-direction: column;
    align-items: stretch;
  }
  .dashboard-documents-actions {
    flex-direction: column;
  }
  .dashboard-documents-actions .btn {
    justify-content: center;
  }
}
.invoice-main-column > .related-documents-panel {
  margin-top: 20px;
  min-width: 0;
}
.invoice-main-column > .related-documents-panel .panel-head {
  gap: 12px;
  flex-wrap: wrap;
}
.contract-detail-grid ~ .related-documents-panel {
  margin-top: 20px;
}
@media (min-width: 1201px) {
  .contract-list .contract-row.bulk-select-row {
    grid-template-columns: 32px minmax(180px, 1fr) minmax(525px, 600px) !important;
    gap: 12px;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side {
    width: 100%;
    grid-template-columns: minmax(105px, 0.85fr) minmax(225px, 1.75fr) minmax(
        115px,
        1fr
      ) !important;
    gap: 14px;
    justify-items: stretch;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side > div {
    display: grid;
    gap: 4px;
    align-content: center;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side > div > small {
    flex-basis: auto;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side strong {
    white-space: nowrap;
    overflow-wrap: normal;
    font-size: 0.93rem;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side span {
    white-space: nowrap;
  }
  .contract-list .contract-row.bulk-select-row .contract-term-range {
    display: flex;
    gap: 5px;
    align-items: center;
    white-space: nowrap;
  }
}
@media (min-width: 761px) and (max-width: 1200px) {
  .contract-list .contract-row.bulk-select-row {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }
  .contract-list .contract-row.bulk-select-row > .contract-main {
    grid-column: 2;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side {
    grid-column: 2;
    width: 100%;
    grid-template-columns: minmax(95px, 0.8fr) minmax(235px, 1.8fr) minmax(
        115px,
        1fr
      ) !important;
    gap: 12px;
    border-top: 1px solid var(--line, #e7e2d8);
    padding-top: 12px;
  }
  .contract-list .contract-row.bulk-select-row > .contract-side > div {
    display: grid;
    gap: 4px;
  }
  .contract-list .contract-term-range {
    white-space: nowrap;
    display: flex;
    gap: 5px;
  }
}
.contract-list .contract-row.bulk-select-row .contract-main > .status {
  display: inline-flex !important;
  width: max-content !important;
  max-width: max-content;
  min-height: 0;
  padding: 4px 9px !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.065em;
  flex: none;
}
@media (max-width: 760px) {
  .contract-list
    .contract-row.bulk-select-row
    > .contract-side
    .contract-term-range {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
  }
}
.invoice-main-column .invoice-payment-form .form-grid,
.invoice-main-column .installment-create .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px;
}
.invoice-main-column .invoice-payment-form .form-grid > label,
.invoice-main-column .installment-create .form-grid > label {
  min-width: 0;
  width: 100%;
}
.invoice-main-column .invoice-payment-form .form-grid input,
.invoice-main-column .installment-create .form-grid input,
.invoice-main-column .invoice-payment-form .form-grid .money-field {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .invoice-main-column .invoice-payment-form .form-grid,
  .invoice-main-column .installment-create .form-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.invoice-main-column .invoice-payment-form .form-grid > label > .money-field,
.invoice-main-column .invoice-payment-form .form-grid > label > input,
.invoice-main-column .installment-create .form-grid > label > input {
  height: 60px !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
}
.invoice-main-column .invoice-payment-form .form-grid .money-field > input {
  height: 100% !important;
  min-height: 0 !important;
}
.invoice-main-column
  .invoice-payment-form
  .form-grid
  > label
  > :is(.date-input-wrapper, .date-picker-wrapper, .date-input, .date-field),
.invoice-main-column
  .installment-create
  .form-grid
  > label
  > :is(.date-input-wrapper, .date-picker-wrapper, .date-input, .date-field) {
  height: 60px !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
}
.invoice-main-column
  .invoice-payment-form
  .form-grid
  > label
  > :is(.date-input-wrapper, .date-picker-wrapper, .date-input, .date-field)
  input,
.invoice-main-column
  .installment-create
  .form-grid
  > label
  > :is(.date-input-wrapper, .date-picker-wrapper, .date-input, .date-field)
  input {
  height: 100% !important;
  min-height: 0 !important;
}
.contract-invoices .case-linked-resource-row .resource-main-link .status {
  display: inline-flex !important;
  justify-self: start !important;
  align-self: start !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 4px 9px !important;
  line-height: 1.2 !important;
}
.inbox-type-choice {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
  align-items: center;
}
.inbox-type-choice form {
  margin: 0;
}
.inbox-type-choice .btn {
  white-space: normal;
  text-align: center;
}
.inbox-hint {
  margin: 12px 0;
  padding: 12px 15px;
  border: 1px solid #e8dac0;
  border-radius: 12px;
  background: #fff9ef;
  color: #584b32;
}
.scanner-import-card {
  gap: 14px;
  flex-wrap: wrap;
}
.scanner-import-card .actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 650px) {
  .inbox-type-choice,
  .scanner-import-card .actions {
    flex-direction: column;
    align-items: stretch;
  }
  .inbox-type-choice > * {
    width: 100%;
  }
  .inbox-type-choice .btn {
    width: 100%;
    justify-content: center;
  }
}
.invoice-main-column
  .invoice-payment-form
  .form-grid
  > label
  > .ob-date-wrap.ob-date-editable,
.invoice-main-column
  .installment-create
  .form-grid
  > label
  > .ob-date-wrap.ob-date-editable {
  height: 60px !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
}
.invoice-main-column
  .invoice-payment-form
  .form-grid
  .ob-date-wrap
  .ob-date-manual,
.invoice-main-column
  .installment-create
  .form-grid
  .ob-date-wrap
  .ob-date-manual,
.invoice-main-column
  .invoice-payment-form
  .form-grid
  .ob-date-wrap
  .ob-date-trigger,
.invoice-main-column
  .installment-create
  .form-grid
  .ob-date-wrap
  .ob-date-trigger {
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
.inbox-import-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.inbox-import-steps > div {
  padding: 16px;
  border: 1px solid #e4dbcd;
  border-radius: 14px;
  background: #fffdf9;
  display: grid;
  align-content: start;
  gap: 7px;
}
.inbox-import-steps strong {
  font-size: 14px;
  color: #28322f;
}
.inbox-import-steps small {
  font-size: 13px;
  line-height: 1.5;
  color: #6d706f;
}
.scanner-workflow-help {
  margin-top: 14px;
}
@media (max-width: 750px) {
  .inbox-import-steps {
    grid-template-columns: 1fr;
  }
}
.password-feedback {
  margin: -5px 0 13px;
}
.password-meter {
  width: 100%;
  height: 8px;
  border-radius: 50px;
  background: #e8e3d9;
  overflow: hidden;
  margin: 5px 0 8px;
}
.password-meter span {
  display: block;
  height: 100%;
  width: 0;
  transition: width 0.18s;
  background: #b3483c;
}
.password-meter span[data-score="1"] {
  background: #c68a35;
}
.password-meter span[data-score="2"] {
  background: #648d63;
}
.password-meter span[data-score="3"] {
  background: #247c5b;
}
.password-feedback small,
#password-match-text {
  display: block;
  color: #656c6c;
  line-height: 1.5;
}
.two-factor-summary {
  margin-bottom: 18px;
}
.two-factor-summary .btn {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
}
.two-factor-secret {
  display: block;
  overflow-wrap: anywhere;
  background: #f4efe5;
  border: 1px solid #dfd3bb;
  padding: 17px;
  border-radius: 12px;
  letter-spacing: 2px;
  font-weight: 700;
  margin: 12px 0;
}
.recovery-code-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 15px 0;
}
.recovery-code-grid code {
  background: #f4efe5;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  letter-spacing: 1px;
}
@media (max-width: 550px) {
  .recovery-code-grid {
    grid-template-columns: 1fr;
  }
}
.two-factor-page .two-factor-setup-grid {
  display: grid;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin: 24px 0;
}
.two-factor-page .two-factor-qr-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 18px;
  background: #faf7f1;
  border: 1px solid #e6dac6;
  border-radius: 16px;
  text-align: center;
}
.two-factor-page .two-factor-qr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 264px);
  aspect-ratio: 1;
  background: #fff;
  border-radius: 10px;
  padding: 4px;
  color: #52615d;
  font-size: 13px;
}
.two-factor-page .two-factor-qr svg {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}
.two-factor-page .two-factor-manual {
  min-width: 0;
}
.two-factor-page .two-factor-manual h3 {
  margin: 0 0 10px;
  font-size: 18px;
}
.two-factor-page .two-factor-secret {
  font-size: 13px;
  letter-spacing: 1px;
  user-select: all;
}
.two-factor-page .two-factor-security-note {
  font-size: 13px;
  line-height: 1.5;
  color: #715435;
  margin-top: 12px;
}
.two-factor-page .two-factor-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}
.two-factor-page .two-factor-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  min-height: 50px;
  white-space: normal;
  text-align: center;
}
.two-factor-page #two-factor-confirm-form,
.two-factor-page #two-factor-cancel-form {
  margin: 0;
}
@media (max-width: 690px) {
  .two-factor-page .two-factor-setup-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .two-factor-page .two-factor-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .two-factor-page .two-factor-actions .btn {
    width: 100% !important;
  }
}
.two-factor-page > .panel + .panel,
.two-factor-page > .panel + form.panel,
.two-factor-page > form.panel + .panel {
  margin-top: 24px;
}
.two-factor-page .recovery-panel {
  margin-bottom: 24px;
}
.two-factor-page .recovery-code-grid {
  margin-block: 20px;
}
.two-factor-page .recovery-panel > .muted {
  margin-top: 20px;
  line-height: 1.55;
}
.two-factor-page > .panel {
  min-width: 0;
}
.two-factor-summary .two-factor-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
}
.two-factor-summary .two-factor-summary-head h2 {
  margin: 0;
}
.two-factor-summary .two-factor-status {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 750;
  white-space: nowrap;
}
.two-factor-summary .two-factor-status.is-enabled {
  background: #e8f4ed;
  color: #235d42;
}
.two-factor-summary .two-factor-status.is-disabled {
  background: #f0ede7;
  color: #646059;
}
.structured-form > .related-documents-panel {
  margin: 0;
  min-width: 0;
  padding: 24px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(52, 45, 34, 0.055);
}
.structured-form > .related-documents-panel .panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.structured-form > .related-documents-panel .panel-head h2 {
  margin: 0;
}
.structured-form > .related-documents-panel .muted {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .two-factor-page > .panel + .panel,
  .two-factor-page > .panel + form.panel {
    margin-top: 18px;
  }
  .two-factor-page .recovery-panel {
    margin-bottom: 18px;
  }
  .structured-form > .related-documents-panel {
    padding: 20px 16px;
  }
}
.task-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
  margin-top: 22px;
}
.task-category-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e4dacd;
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(38, 33, 24, 0.055);
}
.task-category-header {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 96px;
  padding: 22px 18px;
  border-bottom: 1px solid #ede5d9;
}
.task-category-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: #f3ead8;
  color: #886322;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.task-category-heading {
  min-width: 0;
  flex: 1;
}
.task-category-heading h2 {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.task-category-heading p {
  margin: 4px 0 0;
  color: #786f63;
  font-size: 12px;
  line-height: 1.4;
}
.task-category-count {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  padding: 0 7px;
  border-radius: 100px;
  background: #f2e9d9;
  color: #6f531c;
  font-size: 13px;
  font-weight: 800;
}
.task-category-items {
  padding: 0 18px;
}
.task-category-item {
  min-width: 0;
  padding: 20px 0;
  border-bottom: 1px solid #eee6db;
}
.task-category-item:last-child {
  border-bottom: 0;
}
.task-category-item.is-overdue {
  background: #fff8f6;
  margin-inline: -18px;
  padding-inline: 18px;
}
.task-category-item.is-completed {
  opacity: 0.8;
}
.task-category-badges {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}
.task-category-item h3 {
  margin: 0 0 9px;
  font-size: 17px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.task-category-item h3 a {
  color: #222c2b;
  text-decoration: none;
}
.task-category-item h3 a:hover {
  color: #946a29;
  text-decoration: underline;
}
.task-category-due {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 12px;
  color: #82652f;
  line-height: 1.5;
  margin: 0 0 7px;
  overflow-wrap: anywhere;
}
.task-category-due svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.task-category-description {
  margin: 0 0 14px;
  font-size: 13px;
  color: #716b63;
  min-height: 20px;
  overflow-wrap: anywhere;
}
.task-category-case {
  display: block;
  color: #85611f;
  font-size: 11px;
  margin: -3px 0 12px;
  overflow-wrap: anywhere;
}
.task-category-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  align-items: stretch;
}
.task-category-actions form {
  display: flex;
  flex: 1 1 0;
  margin: 0;
  min-width: 0;
}
.task-category-actions > a {
  flex: 1 1 0;
  min-width: 0;
}
.task-category-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  width: 100%;
  min-height: 39px;
  padding: 8px 7px;
  font-size: 11px;
  white-space: nowrap;
}
.task-category-actions .btn svg {
  flex-shrink: 0;
}
.task-category-empty {
  padding: 30px 0;
  color: #81786a;
  font-size: 13px;
  line-height: 1.5;
}
@media (max-width: 1290px) and (min-width: 851px) {
  .task-category-actions .btn span {
    display: none;
  }
  .task-category-actions .btn {
    font-size: 15px;
  }
}
@media (max-width: 1050px) {
  .task-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 850px) and (min-width: 651px) {
  .task-category-actions .btn span {
    display: inline;
  }
}
@media (max-width: 650px) {
  .task-category-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .task-category-header {
    min-height: 80px;
  }
  .task-category-actions .btn {
    font-size: 12px;
  }
}
@media (max-width: 380px) {
  .task-category-actions .btn span {
    display: none;
  }
  .task-category-actions .btn {
    font-size: 16px;
  }
}
.auth-two-factor-login .auth-card .auth-cancel-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin-top: 12px;
  padding: 9px 14px;
  border: 1px solid #d8d0c3;
  border-radius: 12px;
  background: #fff;
  color: #35403c;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background 0.15s,
    border-color 0.15s;
}
.auth-two-factor-login .auth-card .auth-cancel-link:hover {
  background: #f8f4ec;
  border-color: #bca77b;
}
.auth-two-factor-login .auth-card .auth-cancel-link:focus-visible {
  outline: 3px solid #c8a659;
  outline-offset: 2px;
}
.auth-two-factor-login .auth-card > small {
  line-height: 1.5;
  margin: 18px 0 0;
}
.dashboard-page .welcome {
  align-items: center;
}
.dashboard-page .welcome > :first-child {
  min-width: 0;
  flex: 1 1 auto;
}
.dashboard-page .welcome-actions {
  flex: 0 1 440px;
  width: min(440px, 100%);
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  justify-content: stretch;
}
.dashboard-page .welcome-actions .btn,
.dashboard-page .welcome-actions .btn:first-child {
  grid-column: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
  min-height: 48px;
  height: 100%;
  padding: 10px 12px;
  gap: 7px;
  line-height: 1.25;
  font-size: 13px;
  text-align: center;
  white-space: normal;
}
.dashboard-page .welcome-actions .btn svg {
  flex: 0 0 auto;
}
@media (max-width: 1190px) {
  .dashboard-page .welcome {
    flex-direction: column;
    align-items: stretch;
  }
  .dashboard-page .welcome-actions {
    flex: none;
    width: 100%;
    max-width: 650px;
  }
}
@media (max-width: 760px) {
  .dashboard-page .welcome-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .dashboard-page .welcome-actions .btn,
  .dashboard-page .welcome-actions .btn:first-child {
    grid-column: auto !important;
    min-height: 46px;
    font-size: 12px;
    padding: 9px 7px;
  }
}
@media (max-width: 370px) {
  .dashboard-page .welcome-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 760px) {
  .dashboard-page .welcome-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
  .dashboard-page .welcome-actions .btn,
  .dashboard-page .welcome-actions .btn:first-child {
    grid-column: auto !important;
    min-height: 48px;
  }
  .dashboard-work > .panel-head,
  .dashboard-appointments .panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 6px 12px;
  }
  .dashboard-work > .panel-head > div,
  .dashboard-appointments .panel-head > div {
    display: contents;
  }
  .dashboard-work > .panel-head h2,
  .dashboard-appointments .panel-head h2 {
    grid-column: 1;
    margin: 0;
  }
  .dashboard-work > .panel-head small,
  .dashboard-appointments .panel-head small {
    grid-column: 1 / -1;
    margin-top: 0;
  }
  .dashboard-work > .panel-head > a,
  .dashboard-appointments .panel-head > a {
    grid-column: 2;
    align-self: start;
    white-space: nowrap;
  }
  .dashboard-recent-item {
    align-items: flex-start;
  }
  .dashboard-recent-top strong {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: anywhere;
  }
  .dashboard-recent-copy b {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.sidebar .side-quick-actions {
  gap: 6px;
  margin-bottom: 9px;
}
.sidebar .side-quick-actions a {
  min-height: 34px;
  height: 34px;
  padding: 4px 6px;
  gap: 6px;
  border-radius: 9px;
}
.sidebar .side-quick-actions svg {
  width: 15px;
  height: 15px;
}
.sidebar .side-quick-actions span {
  font-size: 10px;
  line-height: 1.2;
}
@media (max-width: 760px) {
  .sidebar .side-quick-actions a {
    min-height: 36px;
    height: 36px;
    padding: 5px 6px;
  }
}
.case-invoices .case-linked-resource-row .resource-main-link > div,
.case-contracts .case-linked-resource-row .resource-main-link > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.case-invoices .case-linked-resource-row .status,
.case-contracts .case-linked-resource-row .status {
  display: inline-flex !important;
  align-self: flex-start !important;
  width: max-content !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  padding: 4px 9px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  font-size: 11px !important;
}
.case-files-panel {
  min-width: 0;
}
.case-files-panel > .file-panel-head {
  gap: 16px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.case-files-panel .file-panel-tools {
  min-width: 0;
}
.case-files-panel .file-row.case-file-entry {
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: start !important;
  padding: 20px 0 !important;
  border-top: 1px solid #e9e1d5 !important;
}
.case-files-panel .case-file-entry > .file-row-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 42px;
  border-radius: 11px;
  background: #f4eee2;
  color: #997128;
  font-size: 21px;
}
.case-files-panel .case-file-entry > .file-row-meta {
  display: grid;
  gap: 9px;
}
.case-files-panel .case-file-entry > .file-row-meta > strong {
  font-size: 16px;
  overflow-wrap: anywhere;
}
.case-files-panel .case-file-entry > .file-row-meta > small {
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.case-files-panel .case-file-entry .file-type-form {
  width: min(100%, 350px);
  margin: 2px 0 0;
}
.case-files-panel .case-file-entry .file-type-form label {
  display: grid;
  gap: 6px;
}
.case-files-panel .case-file-entry .file-type-form select {
  min-width: 0;
}
.case-files-panel .case-file-entry > .file-row-actions {
  grid-column: 2 !important;
  display: flex;
  justify-content: flex-start !important;
  width: 100%;
}
.case-files-panel .case-file-entry > .file-row-actions .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 12px !important;
  line-height: 1.3 !important;
  white-space: normal;
  text-align: center;
}
.case-files-panel .case-file-entry .file-analysis-result {
  padding: 15px !important;
  margin-top: 5px !important;
  line-height: 1.55 !important;
}
.case-files-panel .case-file-entry .file-analysis-result-head {
  display: grid;
  gap: 4px;
  margin-bottom: 13px;
}
.case-files-panel .case-file-entry .file-analysis-facts {
  display: grid;
  gap: 0;
}
.case-files-panel .case-file-entry .analysis-fact-row {
  padding: 11px 0;
  border-top: 1px solid #dce8e1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.case-files-panel .case-file-entry .analysis-fact-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.case-files-panel .case-file-entry .analysis-fact-row b {
  display: block;
  margin-bottom: 3px;
}
.case-linked-documents {
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid #e5dbca;
  min-width: 0;
}
.case-linked-documents-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px 20px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.case-linked-documents-head > div {
  min-width: 0;
  flex: 1 1 240px;
}
.case-linked-documents-head h3 {
  font-size: 19px;
  line-height: 1.35;
  margin: 0 0 5px;
  display: flex;
  align-items: center;
  gap: 9px;
}
.case-linked-documents-head p {
  color: #716b61;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
.case-linked-documents-head button {
  flex: 0 0 auto;
  white-space: nowrap;
}
.case-linked-documents-empty {
  padding: 17px;
  border: 1px dashed #ded3bf;
  border-radius: 12px;
  background: #fcfaf6;
  color: #716b61;
  font-size: 13px;
  margin: 0;
}
.case-linked-document-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #e9e1d5;
  min-width: 0;
}
.case-linked-document-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.case-linked-document-link > span:nth-child(2) {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}
.case-linked-document-link strong {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.case-linked-document-link small {
  font-size: 12px;
  color: #716b61;
}
.case-linked-document-row form {
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .case-files-panel > .file-panel-head .file-panel-tools,
  .case-files-panel > .file-panel-head select {
    max-width: 100%;
  }
  .case-files-panel .file-row.case-file-entry {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 18px 0 !important;
  }
  .case-files-panel .case-file-entry > .file-row-icon {
    width: 32px;
    height: 36px;
  }
  .case-files-panel .case-file-entry > .file-row-actions {
    grid-column: 1/-1 !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 7px;
  }
  .case-files-panel .case-file-entry > .file-row-actions > a,
  .case-files-panel .case-file-entry > .file-row-actions > form {
    width: auto !important;
    flex: 1 1 130px;
    min-width: 0;
    grid-column: auto !important;
  }
  .case-files-panel .case-file-entry > .file-row-actions form button {
    width: 100%;
  }
  .case-linked-documents-head button {
    width: 100%;
  }
}
.document-delete-panel {
  margin-top: 24px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.document-delete-panel h2 {
  margin: 0 0 8px;
}
.document-delete-panel p {
  margin: 0;
  max-width: 720px;
  color: var(--muted, #6d6a65);
  line-height: 1.5;
}
.document-delete-panel form {
  margin: 0;
}
.document-link-row form {
  flex-shrink: 0;
  margin: 0;
}
.document-link-row {
  gap: 16px;
  flex-wrap: wrap;
}
.document-link-row > a {
  flex: 1;
  min-width: 220px;
  overflow-wrap: anywhere;
}
@media (max-width: 680px) {
  .document-delete-panel {
    padding: 22px 18px;
  }
  .document-delete-panel form,
  .document-delete-panel button {
    width: 100%;
  }
}
.document-page .document-delete-panel {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px 22px;
  padding: 26px 30px;
  margin-top: 26px;
  border-color: #e6d6c3;
  background: #fffdfa;
}
.document-page .document-delete-icon {
  width: 52px;
  height: 52px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: #f7ede5;
  color: #975436;
  font-size: 23px;
}
.document-page .document-delete-copy {
  min-width: 0;
}
.document-page .document-delete-copy .eyebrow {
  display: block;
  margin: 0 0 5px;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #987344;
  font-weight: 800;
}
.document-page .document-delete-copy h2 {
  font-size: 19px;
  line-height: 1.3;
  margin: 0 0 6px;
}
.document-page .document-delete-copy p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0;
  max-width: 690px;
  color: #706b63;
}
.document-page .document-delete-copy a {
  color: #8f6629;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.document-page .document-delete-panel form {
  margin: 0;
  align-self: center;
}
.document-page .document-trash-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  justify-content: center;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #d7bba4;
  border-radius: 12px;
  background: #fff9f4;
  color: #84462d;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}
.document-page .document-trash-button:hover {
  background: #f8e9dc;
  border-color: #bd9072;
}
.document-trash-list {
  margin-top: 26px;
}
.document-trash-list > .panel-head {
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.document-trash-list > .panel-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 5px;
}
.document-trash-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  padding: 3px 8px;
  border-radius: 99px;
  font-size: 12px;
  background: #efe7d7;
  color: #735529;
}
.document-trash-item .case-main {
  min-width: 0;
}
.document-trash-item .case-main h3,
.document-trash-item .case-main p {
  overflow-wrap: anywhere;
}
@media (max-width: 1050px) {
  .document-page .document-delete-panel {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .document-page .document-delete-panel form {
    grid-column: 2;
  }
}
@media (max-width: 600px) {
  .document-page .document-delete-panel {
    grid-template-columns: 1fr;
    padding: 22px 18px;
    gap: 12px;
  }
  .document-page .document-delete-panel form {
    grid-column: 1;
  }
  .document-page .document-delete-panel form,
  .document-page .document-trash-button {
    width: 100%;
  }
}
.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;
}
.sidebar-footer-button {
  appearance: none;
  background: transparent;
  width: 100%;
  border: 0;
  font: inherit;
  cursor: pointer;
}
.lock-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 34px 20px;
  background: radial-gradient(circle at top, rgba(201, 170, 100, 0.2), transparent 38%),
    linear-gradient(180deg, #243231 0%, #1b2323 55%, #161d1d 100%);
}
.lock-screen-shell {
  width: min(760px, 100%);
}
.lock-brand-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.lock-brand img {
  max-width: 260px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 14px 34px rgba(0, 0, 0, 0.25));
}
.lock-card {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08),
    rgba(255, 255, 255, 0.04)
  );
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(12px);
  color: #f8f5ef;
  border-radius: 28px;
  padding: 36px 38px;
  text-align: center;
}
.lock-icon {
  width: 82px;
  height: 82px;
  border-radius: 24px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  font-size: 36px;
  color: #1f2929;
  background: linear-gradient(135deg, #f0d188 0%, #c89a45 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35),
    0 16px 34px rgba(200, 154, 69, 0.24);
}
.lock-clock {
  font-size: clamp(48px, 9vw, 82px);
  line-height: 0.95;
  font-weight: 850;
  letter-spacing: -0.06em;
}
.lock-date {
  margin-top: 8px;
  color: rgba(248, 245, 239, 0.82);
  font-size: 20px;
}
.lock-card h1 {
  margin: 26px 0 10px;
  font-size: clamp(28px, 5vw, 44px);
  letter-spacing: -0.04em;
}
.lock-card > p {
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
  color: rgba(248, 245, 239, 0.76);
}
.lock-user-meta {
  margin: 28px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(240, 209, 136, 0.35);
  display: grid;
  gap: 4px;
}
.lock-user-meta span {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  color: rgba(240, 209, 136, 0.84);
}
.lock-user-meta strong {
  font-size: 24px;
  font-weight: 800;
}
.lock-form {
  margin-top: 28px;
}
.lock-input-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: stretch;
}
.lock-input-row input {
  min-height: 60px;
  padding: 0 18px;
  border-radius: 16px;
  border: 1px solid rgba(240, 209, 136, 0.3);
  background: rgba(11, 18, 18, 0.42);
  color: #fff;
  font-size: 20px;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.lock-input-row input::placeholder {
  color: rgba(248, 245, 239, 0.5);
}
.lock-input-row input:focus {
  border-color: #e4bf6c;
  box-shadow: 0 0 0 4px rgba(200, 154, 69, 0.18);
}
.lock-input-row .btn {
  min-width: 185px;
  min-height: 60px;
  border-radius: 16px;
  font-size: 20px;
  box-shadow: 0 16px 30px rgba(12, 20, 20, 0.24);
}
.lock-input-row .btn[disabled] {
  opacity: 0.7;
  cursor: wait;
}
.lock-error {
  min-height: 24px;
  margin-top: 12px;
  color: #ffdbdb;
  font-size: 14px;
  font-weight: 650;
}
.lock-actions {
  margin-top: 18px;
  display: grid;
  gap: 10px;
  justify-items: center;
}
.lock-hint {
  color: rgba(248, 245, 239, 0.6);
  font-size: 14px;
}
.lock-logout-link {
  color: #f0d188;
  font-weight: 700;
  text-decoration: none;
}
.lock-logout-link:hover,
.lock-logout-link:focus-visible {
  color: #fff0c7;
}
@media (max-width: 740px) {
  .lock-card {
    padding: 28px 20px;
    border-radius: 22px;
  }
  .lock-date {
    font-size: 16px;
  }
  .lock-user-meta strong {
    font-size: 20px;
  }
  .lock-input-row {
    grid-template-columns: 1fr;
  }
  .lock-input-row .btn {
    min-width: 0;
    width: 100%;
  }
}
.sidebar-footer > .sidebar-footer-button[data-system-lock] {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 9px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  color: #c8d5d0 !important;
  cursor: pointer;
}
.sidebar-footer > .sidebar-footer-button[data-system-lock] .nav-bi-icon,
.sidebar-footer > .sidebar-footer-button[data-system-lock] i {
  font-size: 14px !important;
  width: auto !important;
  height: auto !important;
}
.sidebar-footer > .sidebar-footer-button[data-system-lock] span {
  display: inline !important;
  width: auto !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}
.sidebar-footer > .sidebar-footer-button[data-system-lock]:hover,
.sidebar-footer > .sidebar-footer-button[data-system-lock]:focus-visible {
  color: #f1d38c !important;
  border-color: rgba(241, 211, 140, 0.35) !important;
}
.lock-page {
  min-height: 100svh;
  min-height: 100dvh;
  padding: 12px 14px;
  box-sizing: border-box;
  align-content: center;
}
.lock-screen-shell {
  width: min(540px, 100%);
}
.lock-brand-wrap {
  margin-bottom: 9px;
}
.lock-brand img {
  max-width: 260px;
  max-height: 82px;
  object-fit: contain;
}
.lock-card {
  padding: 20px 24px;
  border-radius: 20px;
}
.lock-icon {
  width: 45px;
  height: 45px;
  border-radius: 13px;
  margin-bottom: 9px;
  font-size: 23px;
}
.lock-clock {
  font-size: clamp(40px, 7vh, 56px);
  letter-spacing: -0.045em;
}
.lock-date {
  margin-top: 2px;
  font-size: 14px;
}
.lock-card h1 {
  margin: 12px 0 6px;
  font-size: clamp(23px, 3.8vw, 30px);
}
.lock-card > p {
  font-size: 13px;
  line-height: 1.45;
}
.lock-user-meta {
  margin-top: 13px;
  padding-top: 10px;
  gap: 2px;
}
.lock-user-meta span {
  font-size: 9px;
}
.lock-user-meta strong {
  font-size: 17px;
}
.lock-form {
  margin-top: 14px;
}
.lock-input-row {
  gap: 8px;
}
.lock-input-row input {
  min-height: 44px;
  font-size: 15px;
  border-radius: 11px;
  padding: 0 13px;
}
.lock-input-row .btn {
  min-height: 44px;
  min-width: 128px;
  border-radius: 11px;
  font-size: 15px;
  padding: 8px 14px;
}
.lock-error {
  min-height: 0;
  margin-top: 5px;
  font-size: 12px;
}
.lock-error:empty {
  display: none;
}
.lock-actions {
  margin-top: 11px;
  gap: 0;
}
.lock-logout-link {
  font-size: 12px;
}
.lock-method-toggle {
  display: flex;
  gap: 5px;
  justify-content: center;
  padding: 4px;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.18);
  margin-bottom: 11px;
}
.lock-method-toggle button {
  flex: 1;
  min-height: 33px;
  padding: 5px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #e7dfd0;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
}
.lock-method-toggle button.is-active {
  background: #e7c579;
  color: #1f2929;
}
.lock-method-toggle button:focus-visible {
  outline: 2px solid #e7c579;
  outline-offset: 2px;
}
@media (max-width: 740px) {
  .lock-page {
    padding: 10px;
  }
  .lock-brand img {
    max-width: 210px;
    max-height: 66px;
  }
  .lock-card {
    padding: 17px 15px;
    border-radius: 17px;
  }
  .lock-input-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }
  .lock-input-row .btn {
    min-height: 42px;
    width: 100%;
  }
  .lock-card h1 {
    font-size: 23px;
  }
}
@media (max-height: 630px) and (min-width: 741px) {
  .lock-brand-wrap {
    display: none;
  }
  .lock-icon {
    width: 38px;
    height: 38px;
    font-size: 20px;
    margin-bottom: 5px;
  }
  .lock-card {
    padding: 12px 20px;
  }
  .lock-clock {
    font-size: 40px;
  }
  .lock-card h1 {
    margin-top: 8px;
  }
  .lock-user-meta {
    margin-top: 7px;
    padding-top: 6px;
  }
  .lock-form {
    margin-top: 8px;
  }
  .lock-method-toggle {
    margin-bottom: 5px;
  }
  .lock-actions {
    margin-top: 5px;
  }
}
.screen-lock-settings {
  margin-top: 14px;
  margin-bottom: 22px;
}
.screen-lock-settings-card {
  margin-bottom: 18px;
}
.screen-lock-settings-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.screen-lock-settings-head h2 {
  margin: 0 0 6px;
}
.screen-lock-settings-head p {
  margin: 0;
  line-height: 1.55;
}
.screen-lock-settings-icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: #f3ebd8;
  color: #9a762e;
  display: grid;
  place-items: center;
  font-size: 23px;
}
.screen-lock-settings-note {
  font-size: 13px;
  line-height: 1.55;
}
.screen-lock-settings-note kbd {
  border: 1px solid #d9d0c0;
  border-radius: 5px;
  background: #f9f6ef;
  padding: 2px 5px;
}
.screen-lock-pin-status {
  margin-top: 12px;
}
@media (max-width: 600px) {
  .screen-lock-settings-head {
    gap: 10px;
  }
  .screen-lock-settings-icon {
    width: 37px;
    height: 37px;
    flex-basis: 37px;
  }
}
.office-page {
  max-width: 1540px;
}
.office-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 26px;
}
.office-heading h1 {
  font-size: clamp(30px, 3.5vw, 44px);
  margin: 6px 0;
  line-height: 1.12;
}
.office-heading p {
  margin: 0;
  color: #6c6a65;
  line-height: 1.5;
}
.office-heading-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.office-calendar-nav {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 15px 18px;
  margin-bottom: 16px;
}
.office-calendar-nav h2 {
  margin: 0 auto;
  min-width: 170px;
  text-align: center;
  font-size: 22px;
  text-transform: capitalize;
}
.office-calendar-nav a {
  flex-shrink: 0;
}
.office-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  margin: 14px 0;
  font-size: 12px;
  font-weight: 650;
  color: #635e53;
}
.office-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.office-dot {
  width: 10px;
  height: 10px;
  border-radius: 100%;
  flex: 0 0 10px;
  display: inline-block;
  background: #637a75;
}
.office-dot.task,
.office-dot.followup {
  background: #547d72;
}
.office-dot.appointment {
  background: #5779b7;
}
.office-dot.deadline {
  background: #bb6f45;
}
.office-dot.invoice,
.office-dot.installment {
  background: #ad8038;
}
.office-dot.contract {
  background: #856da7;
}
.office-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border: 1px solid #e5ded2;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 42px #423b2810;
}
.office-calendar-weekday {
  background: #f7f3eb;
  color: #706754;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  padding: 13px 2px;
  border-bottom: 1px solid #e5ded2;
}
.office-calendar-day {
  min-width: 0;
  min-height: 125px;
  padding: 9px;
  border-right: 1px solid #ece5da;
  border-bottom: 1px solid #ece5da;
}
.office-calendar-day:nth-child(7n) {
  border-right: 0;
}
.office-calendar-day.outside {
  background: #faf9f5;
  opacity: 0.6;
}
.office-calendar-day.today {
  background: #fff9e8;
}
.office-calendar-day-number {
  font-size: 14px;
  font-weight: 850;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  margin-bottom: 7px;
}
.office-calendar-day.today .office-calendar-day-number {
  background: #202d2b;
  color: #fff;
}
.office-calendar-event {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 6px 7px;
  margin: 3px 0;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  color: #345c51;
  background: #e9f2ee;
}
.office-calendar-event.appointment {
  color: #31598d;
  background: #e8eef8;
}
.office-calendar-event.deadline {
  color: #965030;
  background: #fff0e7;
}
.office-calendar-event.invoice,
.office-calendar-event.installment {
  color: #855b20;
  background: #fcf0d8;
}
.office-calendar-event.contract {
  color: #655084;
  background: #f1ebf7;
}
.office-calendar-event:hover {
  filter: brightness(0.95);
}
.office-calendar-more {
  font-size: 11px;
  font-weight: 750;
  color: #8c6828;
  text-decoration: none;
}
.office-agenda {
  margin-top: 22px;
  padding: 25px;
}
.office-agenda-day {
  margin-top: 18px;
  scroll-margin-top: 95px;
}
.office-agenda-day h3 {
  font-size: 14px;
  font-weight: 850;
  color: #8c6828;
  margin: 0 0 8px;
}
.office-agenda-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 2px;
  border-bottom: 1px solid #eee5d9;
  text-decoration: none;
  color: inherit;
}
.office-agenda-row:last-child {
  border-bottom: 0;
}
.office-agenda-copy {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}
.office-agenda-copy strong {
  font-size: 14px;
  overflow-wrap: anywhere;
}
.office-agenda-copy small {
  font-size: 12px;
  color: #817b71;
}
.office-agenda-row:hover strong {
  color: #9e7429;
}
.office-cockpit {
  margin: 20px 0;
  padding: 26px;
}
.office-cockpit .panel-head {
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.office-cockpit .panel-head h2 {
  margin: 4px 0;
}
.office-cockpit-links {
  gap: 10px;
}
.office-cockpit-links a {
  font-size: 13px;
  font-weight: 800;
  color: #866322;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.office-cockpit-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.office-cockpit-stats a {
  display: grid;
  gap: 5px;
  align-content: start;
  min-width: 0;
  border: 1px solid #e8e0d4;
  border-radius: 16px;
  padding: 17px;
  text-decoration: none;
  background: #fcfaf5;
  color: #1f2929;
}
.office-cockpit-stats a:hover {
  border-color: #c7a864;
}
.office-cockpit-stats b {
  font-size: 28px;
  line-height: 1.1;
}
.office-cockpit-stats small {
  font-size: 12px;
  color: #70695f;
  line-height: 1.35;
}
.office-cockpit-icon {
  color: #9c722a;
  font-size: 21px;
}
.office-cockpit-next {
  display: grid;
  grid-template-columns: minmax(170px, 0.35fr) 1fr;
  gap: 18px;
  border-top: 1px solid #ece4d8;
  padding-top: 19px;
}
.office-cockpit-next h3 {
  font-size: 18px;
  margin: 0 0 7px;
}
.office-cockpit-next small {
  color: #777066;
  line-height: 1.4;
}
.office-cockpit-next-items {
  min-width: 0;
}
.office-cockpit-next-items a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid #f0e9dc;
  color: inherit;
  text-decoration: none;
}
.office-cockpit-next-items a:last-child {
  border: 0;
}
.office-cockpit-next-items a span {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.office-cockpit-next-items a strong {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.office-cockpit-next-items a small {
  font-size: 11px;
}
.office-cockpit-next-items a:hover strong {
  color: #916c2d;
}
.office-empty {
  display: block;
  color: #80796e;
  padding: 10px 0;
  font-size: 13px;
}
.office-workflow-intro {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 20px;
  margin-bottom: 20px;
  background: #f6f9f6;
}
.office-workflow-intro > i {
  font-size: 25px;
  color: #426d54;
}
.office-workflow-intro strong {
  display: block;
  font-size: 16px;
}
.office-workflow-intro p {
  margin: 5px 0 0;
  color: #5f6962;
  font-size: 13px;
  line-height: 1.5;
}
.office-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.office-rule {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: 22px;
  min-width: 0;
}
.office-rule-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.office-rule-icon {
  width: 43px;
  height: 43px;
  border-radius: 12px;
  background: #f7f0e3;
  display: grid;
  place-items: center;
  font-size: 20px;
  color: #9f762e;
}
.office-rule-state {
  font-size: 11px;
  font-weight: 850;
  padding: 5px 11px;
  border-radius: 50px;
  color: #68655c;
  background: #f0eee9;
}
.office-rule-state.active {
  background: #e4f1e8;
  color: #315c43;
}
.office-rule h2 {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
}
.office-rule p {
  margin: 0;
  font-size: 13px;
  color: #777066;
  line-height: 1.55;
  flex: 1;
}
.office-rule .btn {
  min-height: 42px;
}
.office-workflow-run {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding: 23px;
}
.office-workflow-run h2 {
  margin: 0 0 5px;
  font-size: 19px;
}
.office-workflow-run p {
  color: #777066;
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}
.office-workflow-run form {
  flex-shrink: 0;
}
.office-inbox-proposals {
  border: 1px solid #dcd9c7;
  background: #fbfaf5;
  border-radius: 16px;
  padding: 20px;
  margin: 18px 0;
}
.office-inbox-proposals-head h2 {
  font-size: 20px;
  margin: 4px 0;
}
.office-inbox-proposals-head p {
  color: #737067;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
.office-proposal-list {
  margin-top: 15px;
}
.office-proposal {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px 0;
  border-top: 1px solid #e5ded0;
  flex-wrap: wrap;
}
.office-proposal-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  background: #eee5d2;
  color: #906b2e;
  border-radius: 10px;
}
.office-proposal > div {
  flex: 1 1 220px;
  min-width: 0;
  display: grid;
  gap: 4px;
}
.office-proposal strong {
  font-size: 14px;
}
.office-proposal small {
  color: #797268;
  font-size: 12px;
  line-height: 1.4;
}
.office-proposal-task-form {
  margin: 0;
}
.office-proposal .btn {
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .office-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .office-cockpit-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .office-calendar-nav {
    gap: 5px;
    padding: 10px 6px;
  }
  .office-calendar-nav h2 {
    min-width: 0;
    font-size: 17px;
  }
  .office-calendar-nav .btn {
    font-size: 12px;
    padding: 8px;
  }
  .office-calendar-weekday {
    font-size: 10px;
    padding: 9px 0;
  }
  .office-calendar-day {
    min-height: 74px;
    padding: 4px 3px;
  }
  .office-calendar-day-number {
    font-size: 12px;
    width: 24px;
    height: 24px;
    margin: 0 auto 4px;
  }
  .office-calendar-event {
    width: 8px;
    height: 8px;
    font-size: 0;
    border-radius: 50%;
    padding: 0;
    margin: 3px auto;
  }
  .office-calendar-more {
    display: block;
    text-align: center;
    font-size: 9px;
  }
  .office-agenda {
    padding: 15px;
  }
  .office-cockpit {
    padding: 16px;
  }
  .office-cockpit-next {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .office-rule-grid {
    grid-template-columns: 1fr;
  }
  .office-workflow-run {
    flex-direction: column;
    align-items: stretch;
  }
  .office-heading-actions .btn {
    font-size: 12px;
  }
  .office-proposal {
    align-items: flex-start;
  }
  .office-proposal-task-form {
    width: 100%;
  }
  .office-proposal .btn {
    width: 100%;
  }
}
.office-proposal-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.office-proposal-actions form {
  margin: 0;
}
.office-proposal-actions > small {
  max-width: 190px;
  color: #81796d;
  font-size: 11px;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .office-proposal-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .office-proposal-actions form {
    width: 100%;
  }
  .office-proposal-actions .btn {
    width: 100%;
  }
}
.office-help-panel {
  padding: 24px;
}
.office-help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.office-help-grid > div {
  border: 1px solid #e7dfd2;
  background: #fcfaf6;
  border-radius: 14px;
  padding: 17px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}
.office-help-grid h3 {
  margin: 0;
  font-size: 16px;
}
.office-help-grid p {
  margin: 0;
  font-size: 13px;
  color: #797167;
  line-height: 1.5;
  flex: 1;
}
@media (max-width: 690px) {
  .office-help-grid {
    grid-template-columns: 1fr;
  }
}
.office-task-origin {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #e5d8c1;
  border-radius: 13px;
  background: #fcf8ef;
  padding: 14px 18px;
  margin: 16px 0;
}
.office-task-origin > div {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 4px;
}
.office-task-origin small {
  color: #907332;
  font-weight: 750;
}
.office-task-origin strong {
  overflow-wrap: anywhere;
  font-size: 14px;
}
@media (max-width: 600px) {
  .office-task-origin {
    flex-direction: column;
    align-items: stretch;
  }
}
.document-expiring-panel,
.document-meta-panel,
.document-version-panel,
.finance-series-panel,
.finance-categories-panel {
  margin-top: 20px;
}
.document-expiring-list,
.document-version-links,
.finance-category-list {
  display: grid;
  gap: 12px;
}
.document-expiring-item,
.document-version-links a,
.finance-category-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  text-decoration: none;
  color: inherit;
}
.document-expiring-item strong,
.document-version-links a strong {
  display: block;
}
.document-expiry-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  background: #efe7d8;
  color: #8d6b2c;
  white-space: nowrap;
}
.document-expiry-chip.soon {
  background: #f6efdd;
  color: #9b6a0b;
}
.document-expiry-chip.overdue {
  background: #fce6e2;
  color: #b2432b;
}
.document-row-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.document-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}
.document-meta-card,
.document-version-block {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.document-meta-card small,
.document-version-block small {
  display: block;
  color: var(--muted);
  margin-bottom: 6px;
}
.document-meta-card strong,
.document-version-block strong {
  display: block;
  font-size: 18px;
}
.document-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.document-version-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.document-version-block a {
  font-weight: 700;
  text-decoration: none;
  color: var(--text);
}
.document-version-block span,
.document-version-links a span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-top: 4px;
}
.related-documents-panel-inline .related-documents-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.related-documents-panel-inline .related-documents-empty {
  padding: 8px 0 2px;
}
.finance-stats {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.finance-grid {
  margin-top: 20px;
}
.finance-series-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 16px;
  align-items: end;
}
.finance-series-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.finance-series-bar {
  height: 160px;
  width: 100%;
  max-width: 54px;
  border-radius: 18px;
  background: #efe9de;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 8px;
  margin: 0 auto;
}
.finance-series-bar span {
  display: block;
  width: 100%;
  border-radius: 12px;
  background: linear-gradient(180deg, #bc9a56 0%, #8d6b2c 100%);
}
.finance-category-row span {
  font-weight: 600;
}
.dashboard-due-row b {
  white-space: nowrap;
}
.office-cockpit-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.office-cockpit-links a {
  font-weight: 700;
  color: #8d6b2c;
  text-decoration: none;
}
.contact-overview .related-documents-panel {
  margin-top: 20px;
}
.contact-overview .related-documents-panel .panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.contact-overview .related-documents-panel .panel-head h2 {
  margin: 0;
}
.contact-overview .related-documents-panel .panel-head small {
  display: block;
  margin-top: 6px;
}
.finance-page .page-head {
  align-items: flex-start;
  gap: 18px;
}
.finance-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex: 0 0 auto;
  flex-wrap: nowrap;
}
.finance-actions .btn {
  white-space: nowrap;
  min-height: 48px;
  padding: 10px 16px;
}
.finance-contract-row {
  align-items: center;
}
.finance-contract-meta {
  margin-left: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  text-align: right;
  min-width: 120px;
}
.finance-contract-meta time {
  font-size: 14px;
  color: var(--muted, #81796c);
}
.finance-contract-meta b {
  white-space: nowrap;
}
.finance-category-row:hover,
.finance-category-row:focus-visible {
  background: #fbf8f2;
  border-color: #d9cfbf;
}
@media (max-width: 1100px) {
  .finance-page .page-head {
    flex-direction: column;
  }
  .finance-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
@media (max-width: 900px) {
  .finance-series-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.panel-with-footer {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.panel-with-footer > .panel-footer-actions {
  margin-top: auto;
}
.panel-footer-actions {
  margin: 24px -20px -20px;
  padding: 14px 20px 16px;
  background: #f4f2ed;
  border-top: 1px solid #ece3d5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.panel-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 0;
  border-radius: 10px;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 600;
  color: #7c7469;
  white-space: nowrap;
}
.panel-footer-link.is-primary {
  justify-content: flex-start;
  color: #8d6b2c;
}
.panel-footer-link:not(.is-primary) {
  justify-content: flex-end;
  margin-left: auto;
}
.panel-footer-link:hover,
.panel-footer-link:focus-visible {
  background: transparent;
  color: #5f584e;
}
.panel-footer-link.is-primary:hover,
.panel-footer-link.is-primary:focus-visible {
  color: #7e6129;
}
.panel-footer-link svg {
  width: 13px;
  height: 13px;
  flex: none;
}
.panel-with-footer .dashboard-work-grid,
.panel-with-footer .dashboard-appointment-list,
.panel-with-footer .dashboard-recent-list,
.panel-with-footer .finance-series-list,
.panel-with-footer .finance-category-list,
.panel-with-footer .contact-detail-list,
.panel-with-footer .related-documents-list,
.panel-with-footer .empty.compact,
.panel-with-footer .empty-state,
.panel-with-footer .list-grid,
.panel-with-footer .list-stack {
  margin-bottom: 6px;
}
@media (max-width: 700px) {
  .panel-footer-actions {
    margin: 20px -18px -18px;
    padding: 12px 16px 14px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .panel-footer-link,
  .panel-footer-link:not(.is-primary) {
    width: 100%;
    margin-left: 0;
    padding: 6px 0;
    font-size: 14px;
    white-space: normal;
  }
  .panel-footer-link.is-primary {
    order: 1;
    justify-content: flex-start;
  }
  .panel-footer-link:not(.is-primary) {
    order: 2;
    justify-content: flex-end;
  }
}
@media (max-width: 700px) {
  .document-version-list,
  .document-meta-grid {
    grid-template-columns: 1fr;
  }
  .document-expiring-item {
    align-items: flex-start;
    flex-direction: column;
  }
  .finance-series-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
  }
  .finance-series-bar {
    height: 118px;
    max-width: 42px;
    padding: 6px;
    border-radius: 14px;
  }
  .finance-series-bar span {
    border-radius: 10px;
  }
  .finance-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
  }
  .finance-actions .btn {
    width: 100%;
    justify-content: center;
  }
  .finance-actions .btn:last-child {
    grid-column: 1/-1;
    order: -1;
  }
  .finance-contract-row {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: flex-start;
  }
  .finance-contract-row > div {
    min-width: 0;
  }
  .finance-contract-row strong,
  .finance-contract-row small,
  .finance-contract-row b {
    overflow-wrap: anywhere;
  }
  .finance-contract-meta {
    grid-column: 2;
    margin: 4px 0 0;
    min-width: 0;
    align-items: flex-start;
    text-align: left;
    gap: 3px;
  }
  .finance-category-list {
    gap: 10px;
  }
  .finance-category-row {
    align-items: center;
    flex-direction: row;
    padding: 15px 16px;
    gap: 12px;
  }
  .finance-category-row span {
    font-size: 16px;
  }
  .finance-category-row strong {
    margin-left: auto;
    white-space: nowrap;
    font-size: 24px;
    line-height: 1.1;
  }
}
.contact-overview > .two-col {
  margin-bottom: 22px;
  row-gap: 22px;
}
.dashboard-appointments.panel-with-footer > .panel-footer-actions {
  margin-left: -24px;
  margin-right: -24px;
  margin-bottom: -20px;
  padding-left: 24px;
  padding-right: 24px;
}
.dashboard-appointments.panel-with-footer > .dashboard-appointment-list,
.dashboard-work.panel-with-footer > .dashboard-work-grid {
  margin-bottom: 12px;
}
.content .page-head .back,
.content .case-detail-title .back,
.content .page-kicker .back,
.contact-overview .contact-header .back {
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 7px 12px;
  border: 1px solid #e4daca;
  border-radius: 11px;
  background: #fffdf9;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  text-decoration: none;
  color: #826936;
}
.content .page-head .back:hover,
.content .case-detail-title .back:hover,
.content .page-kicker .back:hover {
  background: #f5efe3;
  border-color: #d7c7a9;
}
.content .page-head .back + .eyebrow,
.content .contact-header .back + .eyebrow,
.content .page-kicker .back + .eyebrow {
  display: block;
  width: fit-content;
  margin-bottom: 6px;
}
.content .case-detail-header:not(.case-detail-header-modern) > .actions,
.content .invoice-detail-header .case-detail-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}
.content .case-detail-header:not(.case-detail-header-modern) > .actions .btn,
.content .invoice-detail-header .case-detail-actions .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  height: auto;
  padding: 10px 15px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
  white-space: nowrap;
}
.content .case-detail-header:not(.case-detail-header-modern) > .actions form,
.content .invoice-detail-header .case-detail-actions form {
  display: flex;
  margin: 0;
}
.content
  .case-detail-header:not(.case-detail-header-modern)
  > .actions
  .danger-outline,
.content .invoice-detail-header .case-detail-actions .danger-outline {
  border-color: #e5c8be;
  color: #994f3d;
  background: #fffdfa;
}
@media (max-width: 760px) {
  .contact-overview > .two-col {
    margin-bottom: 20px;
  }
  .dashboard-appointments.panel-with-footer > .panel-footer-actions {
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
    padding-right: 24px;
  }
  .content .case-detail-header:not(.case-detail-header-modern) > .actions,
  .content .invoice-detail-header .case-detail-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 9px;
  }
  .content .case-detail-header:not(.case-detail-header-modern) > .actions form,
  .content .invoice-detail-header .case-detail-actions form {
    grid-column: auto;
    min-width: 0;
  }
  .content .case-detail-header:not(.case-detail-header-modern) > .actions .btn,
  .content .invoice-detail-header .case-detail-actions .btn {
    width: 100%;
    min-height: 44px;
    padding: 10px;
  }
}
.workspace-manager,
.workspace-recipient-list,
.workspace-page > .panel,
.workspace-page .workspace-collections {
  margin-top: 24px;
}
.workspace-share-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 14px 0 24px;
}
.workspace-share-form label,
.workspace-upload label,
.workspace-edit label {
  display: grid;
  gap: 7px;
  font-weight: 700;
  min-width: 0;
}
.workspace-share-form input,
.workspace-share-form select,
.workspace-share-controls select,
.workspace-upload input,
.workspace-edit input,
.workspace-edit select,
.workspace-edit textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  background: #fff;
  color: #1f2929;
  border: 1px solid #dcd1bf;
  border-radius: 13px;
  padding: 12px 14px;
}
.workspace-share-form > .btn {
  justify-self: start;
  align-self: end;
  min-height: 48px;
}
.workspace-shares-list,
.workspace-audit-entries,
.workspace-collection {
  display: grid;
  gap: 14px;
}
.workspace-share-entry {
  padding: 17px 0;
  border-top: 1px solid #e9dfd1;
}
.workspace-share-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.workspace-share-heading strong,
.workspace-share-heading small,
.workspace-folder-tile strong,
.workspace-folder-tile small {
  display: block;
}
.workspace-share-heading small,
.workspace-folder-tile small {
  color: #777166;
  font-size: 13px;
  margin-top: 4px;
}
.workspace-share-controls {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.workspace-share-controls form {
  display: flex;
  align-items: end;
  gap: 10px;
  flex: 1;
  min-width: 240px;
  flex-wrap: wrap;
}
.workspace-share-controls form label {
  min-width: 180px;
  flex: 1;
  display: grid;
  gap: 6px;
}
.workspace-audit {
  margin-top: 14px;
  border-top: 1px solid #eee5d9;
  padding-top: 12px;
}
.workspace-audit summary {
  cursor: pointer;
  color: #8d6b2c;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 9px;
}
.workspace-audit-entries {
  gap: 0;
  margin-top: 10px;
  max-height: 420px;
  overflow-y: auto;
}
.workspace-audit-entries > div {
  padding: 10px 0;
  border-bottom: 1px solid #eee8df;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
}
.workspace-audit-entries > div strong {
  font-size: 13px;
  color: #24312f;
}
.workspace-audit-entries > div span,
.workspace-audit-entries > div small {
  font-size: 12px;
  color: #777166;
}
.workspace-audit-entries > div small {
  flex-basis: 100%;
  overflow-wrap: anywhere;
}
.workspace-case-share-management {
  padding: 12px 0;
  border-top: 1px solid #eee8df;
}
.workspace-history {
  margin-top: 18px;
}
.workspace-folder-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.workspace-folder-tile {
  display: grid;
  gap: 4px;
  padding: 18px;
  border: 1px solid #e9ddcb;
  border-radius: 17px;
  text-decoration: none;
  color: #1f2929;
  background: #fcfaf6;
}
.workspace-folder-tile > span {
  color: #a47d37;
  font-size: 24px;
}
.workspace-folder-tile:hover,
.workspace-folder-tile:focus-visible {
  background: #f4eee3;
  border-color: #bc9f69;
}
.workspace-stats {
  margin-top: 22px;
}
.workspace-collections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.workspace-collection .folder-item-row {
  border-top: 1px solid #eee6d9;
}
.workspace-static-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 0;
  border-top: 1px solid #eee6d9;
}
.workspace-static-row > span:first-child {
  min-width: 0;
}
.workspace-static-row strong {
  overflow-wrap: anywhere;
}
.workspace-static-row small {
  display: block;
  margin-top: 5px;
  color: #777166;
}
.workspace-file-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.workspace-upload form,
.workspace-edit form {
  display: grid;
  gap: 16px;
}
.workspace-upload .btn,
.workspace-edit .btn {
  justify-self: start;
}
@media (max-width: 760px) {
  .workspace-share-form,
  .workspace-collections {
    grid-template-columns: 1fr;
  }
  .workspace-share-controls form {
    min-width: 100%;
  }
  .workspace-share-heading {
    align-items: flex-start;
  }
  .workspace-static-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .workspace-file-actions {
    width: 100%;
    justify-content: flex-start;
  }
}
.finance-page .finance-series-list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(4px, 0.8vw, 12px);
  align-items: end;
  width: 100%;
}
.finance-page .finance-series-item {
  min-width: 0;
  gap: 7px;
}
.finance-page .finance-series-item .finance-series-bar {
  width: min(100%, 38px);
  max-width: 38px;
  height: 138px;
  border-radius: 13px;
  padding: 5px;
}
.finance-page .finance-series-item .finance-series-bar span {
  border-radius: 9px;
}
.finance-page .finance-series-item strong {
  font-size: clamp(10px, 0.85vw, 13px);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.finance-page .finance-series-item small {
  font-size: clamp(10px, 0.82vw, 12px);
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .finance-page .finance-series-list {
    overflow-x: auto;
    grid-template-columns: repeat(12, 64px);
    justify-content: start;
    padding-bottom: 10px;
    scrollbar-width: thin;
  }
  .finance-page .finance-series-item strong,
  .finance-page .finance-series-item small {
    font-size: 11px;
  }
  .finance-page .finance-series-item .finance-series-bar {
    height: 110px;
    width: 32px;
  }
}
.share-overview-page .page-head {
  gap: 16px;
  align-items: center;
}
.share-overview-switch {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin: 24px 0 16px;
  padding: 6px;
  width: max-content;
  max-width: 100%;
  border: 1px solid #e6ded1;
  background: #faf7f1;
  border-radius: 16px;
}
.share-overview-switch a {
  padding: 11px 17px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #625c52;
  font-size: 14px;
  font-weight: 700;
  border-radius: 12px;
}
.share-overview-switch a.is-active {
  background: #1f2929;
  color: white;
}
.share-overview-summary {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 24px;
}
.share-overview-counter {
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 180px;
  padding: 16px 20px;
  background: white;
  border: 1px solid #e7dfd3;
  border-radius: 18px;
  color: #625d55;
  text-decoration: none;
}
.share-overview-counter strong {
  margin-left: auto;
  font-size: 26px;
  color: #1f2929;
  font-variant-numeric: tabular-nums;
}
.share-overview-counter.is-active {
  border-color: #bea369;
  background: #fdfaf3;
}
.share-overview-all {
  margin: auto 0 auto auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  text-decoration: none;
  color: #8d6b2c;
  font-weight: 650;
}
.share-overview-all.is-active {
  text-decoration: underline;
}
.share-overview-section {
  margin-top: 22px;
  overflow: hidden;
}
.share-overview-section .panel-head {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
}
.share-overview-section .panel-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.share-overview-count {
  border-radius: 99px;
  padding: 6px 12px;
  background: #f5ecdc;
  font-size: 14px;
  font-weight: 700;
}
.share-overview-list {
  display: grid;
  gap: 0;
}
.share-overview-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid #efe7dc;
}
.share-overview-row-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f4eddf;
  display: grid;
  place-items: center;
  color: #99702f;
  font-size: 21px;
}
.share-overview-row-main {
  min-width: 0;
}
.share-overview-row-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.share-overview-row-title strong {
  overflow-wrap: anywhere;
  font-size: 17px;
}
.share-overview-subtitle {
  display: block;
  color: #756e64;
  margin-top: 4px;
}
.share-overview-badge {
  border-radius: 99px;
  font-weight: 650;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 5px 9px;
  white-space: nowrap;
}
.share-overview-badge.is-active {
  background: #e6f3ee;
  color: #2a6150;
}
.share-overview-badge.is-ended {
  background: #efeae5;
  color: #746a62;
}
.share-overview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 8px;
  color: #756e64;
  font-size: 13px;
}
.share-overview-meta span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  overflow-wrap: anywhere;
}
.share-overview-row-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.share-overview-empty {
  padding: 30px 0;
  color: #857b70;
}
.share-overview-footer-note {
  font-size: 13px;
  color: #81776a;
}
@media (max-width: 780px) {
  .share-overview-page .page-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .share-overview-switch {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .share-overview-switch a {
    justify-content: center;
    padding: 10px 5px;
    font-size: 12px;
  }
  .share-overview-counter {
    flex: 1;
    min-width: 135px;
    padding: 12px;
  }
  .share-overview-row {
    grid-template-columns: 35px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }
  .share-overview-row-icon {
    width: 35px;
    height: 35px;
    font-size: 17px;
  }
  .share-overview-row-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
  .share-overview-row-actions .btn {
    min-height: 35px;
  }
  .share-overview-page .panel-footer-actions {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
  .share-overview-footer-note {
    display: none;
  }
  .share-overview-page .panel-footer-link {
    width: auto !important;
    margin-left: auto !important;
  }
}
.help-update-panel {
  margin: 22px 0;
}
.help-update-panel .panel-head {
  margin-bottom: 16px;
}
.help-update-panel > p {
  max-width: 950px;
  line-height: 1.7;
  color: var(--text);
}
.help-update-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.help-update-grid > div {
  background: #fbf8f2;
  border: 1px solid #ece3d5;
  border-radius: 16px;
  padding: 18px;
}
.help-update-grid h3 {
  font-size: 17px;
  margin: 0 0 10px;
}
.help-update-grid p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: #6c655e;
}
.help-update-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
@media (max-width: 850px) {
  .help-update-grid {
    grid-template-columns: 1fr;
  }
}
.home-structure-base {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 16px;
  max-width: 850px;
  margin: 0 auto;
  align-items: stretch;
}
.home-structure-base article,
.home-structure-options article {
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 12px 34px #3a332509;
  min-width: 0;
}
.home-structure-base article small,
.home-structure-options article small {
  display: block;
  margin-top: 20px;
  font-size: 10px;
  letter-spacing: 0.15em;
  color: #9a7530;
  font-weight: 900;
}
.home-structure-base h3,
.home-structure-options h3 {
  margin: 6px 0 7px;
  font-size: 21px;
}
.home-structure-base p,
.home-structure-options p {
  margin: 0;
  color: #7c766c;
  line-height: 1.5;
}
.home-structure-base > .home-structure-arrow {
  display: grid;
  place-items: center;
  color: #b08a3b;
  font-size: 24px;
}
.home-structure-branch-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin: 24px 0 20px;
  text-align: center;
  color: #8d6b2c;
}
.home-structure-branch-intro strong {
  font-size: 18px;
  color: #252525;
}
.home-structure-branch-intro small {
  font-size: 14px;
  color: #7c766c;
}
.home-structure-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.home-structure-option-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #f1ead8;
  color: #8e6925;
  font-size: 19px;
}
.home-structure-optional-case {
  border-color: #d7bf89 !important;
  background: #fffcf5 !important;
}
.home-structure-note {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 22px auto 0;
  color: #686157;
  line-height: 1.6;
  text-align: center;
  max-width: 830px;
}
@media (max-width: 950px) {
  .home-structure-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .home-structure-base {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .home-structure-base > .home-structure-arrow {
    transform: rotate(90deg);
  }
  .home-structure-options {
    grid-template-columns: 1fr;
  }
  .home-structure-base article,
  .home-structure-options article {
    padding: 20px;
  }
  .home-structure-note {
    align-items: flex-start;
    text-align: left;
  }
}
@media (max-width: 700px) {
  .panel-with-footer > .panel-footer-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 11px 12px 13px;
  }
  .panel-with-footer > .panel-footer-actions > .panel-footer-link,
  .panel-with-footer
    > .panel-footer-actions
    > .panel-footer-link:not(.is-primary) {
    display: inline-flex;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 50%;
    margin: 0;
    padding: 6px 0;
    font-size: clamp(10px, 3.1vw, 13px);
    line-height: 1.2;
    font-weight: 600;
    white-space: nowrap;
    flex-wrap: nowrap;
  }
  .panel-with-footer > .panel-footer-actions > .panel-footer-link.is-primary {
    order: 0;
    justify-content: flex-start;
  }
  .panel-with-footer
    > .panel-footer-actions
    > .panel-footer-link:not(.is-primary) {
    order: 0;
    margin-left: auto;
    justify-content: flex-end;
    text-align: right;
  }
  .panel-with-footer > .panel-footer-actions > .panel-footer-link svg,
  .panel-with-footer > .panel-footer-actions > .panel-footer-link i {
    flex: none;
    width: 12px;
    height: 12px;
  }
}
.scanner-entry-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 20px;
  padding: 14px 18px;
  border: 1px solid #e8ddc7;
  border-radius: 18px;
  background: #f7f2e8;
}
.scanner-entry-banner span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 650;
}
.scanner-page-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ob-scanner .page-head {
  margin-bottom: 22px;
}
.scanner-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.scanner-layout > .panel {
  min-width: 0;
  margin: 0;
}
.scanner-camera {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 320px;
  aspect-ratio: 4/3;
  border-radius: 18px;
  overflow: hidden;
  background: #1e2b29;
  color: white;
}
.scanner-camera video {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.scanner-guide {
  position: absolute;
  inset: 8%;
  border: 2px dashed rgba(245, 210, 132, 0.8);
  border-radius: 12px;
  pointer-events: none;
}
.scanner-camera-hint {
  position: relative;
  text-align: center;
  padding: 14px;
  background: rgba(24, 32, 30, 0.7);
  border-radius: 10px;
  max-width: 85%;
}
.scanner-actions,
.scanner-edit-actions,
.scanner-save-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}
.scanner-actions .btn,
.scanner-save-actions .btn {
  flex: 1 1 140px;
}
.scanner-file-label {
  position: relative;
  cursor: pointer;
  text-align: center;
}
.scanner-file-label input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.scanner-note {
  color: #716d66;
  font-size: 13px;
  line-height: 1.55;
  margin-top: 12px;
}
.scanner-status {
  min-height: 20px;
  font-size: 14px;
  color: #3d7058;
  margin-top: 10px;
}
.scanner-status.is-error {
  color: #aa3d31;
}
.scanner-edit-panel[hidden] {
  display: none !important;
}
.scanner-stage {
  position: relative;
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #202a29;
  touch-action: none;
}
.scanner-stage canvas {
  display: block;
  width: 100%;
  height: auto;
}
.scanner-crop-box {
  position: absolute;
  box-sizing: border-box;
  border: 2px solid #f1cc72;
  box-shadow: 0 0 0 9999px rgba(10, 20, 20, 0.28);
  cursor: move;
  touch-action: none;
}
.scanner-handle {
  position: absolute;
  width: 22px;
  height: 22px;
  background: #f0c46d;
  border: 2px solid #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: grab;
  touch-action: none;
}
.scanner-handle[data-corner="nw"] {
  left: 0;
  top: 0;
}
.scanner-handle[data-corner="ne"] {
  left: 100%;
  top: 0;
}
.scanner-handle[data-corner="sw"] {
  left: 0;
  top: 100%;
}
.scanner-handle[data-corner="se"] {
  left: 100%;
  top: 100%;
}
.scanner-sliders {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 15px;
}
.scanner-sliders label {
  display: grid;
  gap: 5px;
}
.scanner-sliders input {
  width: 100%;
}
.scanner-pages-list {
  display: grid;
  gap: 10px;
}
.scanner-page-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #e8dfd0;
  border-radius: 14px;
  min-width: 0;
}
.scanner-page-row img {
  height: 78px;
  width: 60px;
  object-fit: contain;
  background: #f0ede6;
  border-radius: 6px;
}
.scanner-page-info {
  flex: 1;
  display: grid;
  gap: 4px;
  min-width: 0;
}
.scanner-page-info small {
  color: #847c6c;
}
.scanner-page-move {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: end;
}
.scanner-page-move .btn {
  font-size: 12px;
  min-height: 32px;
  padding: 5px 8px;
}
.scanner-output-input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}
.scanner-save-actions {
  margin-top: 22px;
}
@media (max-width: 880px) {
  .scanner-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .scanner-camera {
    min-height: 240px;
    aspect-ratio: 4/3;
  }
  .scanner-stage canvas {
    height: auto;
  }
  .scanner-page-move .btn {
    font-size: 12px;
  }
}
@media (max-width: 440px) {
  .scanner-actions .btn {
    flex: 1 1 100%;
  }
  .scanner-page-row {
    gap: 8px;
  }
  .scanner-page-row img {
    height: 64px;
    width: 45px;
  }
  .scanner-page-move {
    max-width: 95px;
  }
}
.dashboard-focus-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin: 22px 0;
}
.dashboard-focus-grid > .panel {
  min-width: 0;
  margin: 0;
  height: 100%;
}
.dashboard-focus-grid .dashboard-work-grid,
.dashboard-focus-grid .dashboard-appointment-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}
.dashboard-focus-grid .panel-head h2 {
  font-size: clamp(18px, 1.55vw, 23px);
}
.dashboard-focus-grid .work-card,
.dashboard-focus-grid .dashboard-appointment,
.dashboard-recent-grid .dashboard-recent-item {
  background: #fbfaf7;
  border: 1px solid #ebe4d8;
  transition: background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease;
}
.dashboard-focus-grid .work-card:hover,
.dashboard-focus-grid .work-card:focus-visible,
.dashboard-focus-grid .dashboard-appointment:hover,
.dashboard-focus-grid .dashboard-appointment:focus-visible,
.dashboard-recent-grid .dashboard-recent-item:hover,
.dashboard-recent-grid .dashboard-recent-item:focus-visible {
  background: #fffdf8;
  border-color: #cbb684;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(65, 54, 32, 0.08);
}
.dashboard-focus-grid .dashboard-activity {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #eee7dc;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  transition: none;
}
.dashboard-focus-grid .dashboard-activity:last-child {
  border-bottom: 0;
}
.dashboard-focus-grid .dashboard-activity:hover,
.dashboard-focus-grid .dashboard-activity:focus-within {
  background: transparent;
  border-color: #eee7dc;
  transform: none;
  box-shadow: none;
}
.dashboard-activity-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}
.dashboard-activity-copy strong {
  font-size: 14px;
  line-height: 1.3;
}
.dashboard-activity-target {
  font-size: 13px;
  line-height: 1.35;
  color: #8d6b2c;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.dashboard-activity-target:not(.is-plain):hover,
.dashboard-activity-target:not(.is-plain):focus-visible {
  text-decoration: underline;
}
.dashboard-activity-target.is-plain {
  color: #6f6a62;
  cursor: default;
}
.dashboard-activity-copy small {
  font-size: 12px;
  line-height: 1.3;
  color: #817a70;
}
.dashboard-focus-grid .work-card strong {
  white-space: normal;
  overflow-wrap: anywhere;
}
.dashboard-focus-grid .dashboard-appointment-copy strong {
  overflow-wrap: anywhere;
}
.dashboard-focus-grid .panel-footer-actions {
  margin-top: auto;
}
@media (max-width: 1150px) {
  .dashboard-focus-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-focus-grid .dashboard-activity-panel {
    grid-column: 1/-1;
  }
}
@media (max-width: 760px) {
  .dashboard-focus-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .dashboard-focus-grid .dashboard-activity-panel {
    grid-column: auto;
  }
}
.dashboard-activity-panel.panel-with-footer {
  min-width: 0;
}
.dashboard-activity-panel .panel-footer-actions-single {
  justify-content: flex-end;
}
.dashboard-activity-panel .panel-footer-actions-single .panel-footer-link {
  margin-left: auto;
}
.activities-page .page-head {
  align-items: center;
}
.activities-panel {
  overflow: hidden;
}
.activities-list {
  display: grid;
  gap: 0;
}
.activities-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 4px;
  border-bottom: 1px solid #eee7dc;
}
.activities-row:last-child {
  border-bottom: 0;
}
.activities-row .dashboard-activity-icon {
  width: 36px;
  height: 36px;
}
.activities-row .dashboard-activity-copy {
  min-width: 0;
  gap: 5px;
}
.activities-row .dashboard-activity-copy strong {
  font-size: 15px;
}
.activities-row time {
  font-size: 13px;
  color: #817a70;
}
.activities-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 0 0;
  margin-top: 12px;
  border-top: 1px solid #eee7dc;
}
.activities-pagination a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #8d6b2c;
  text-decoration: none;
  font-weight: 600;
}
.activities-pagination a:hover,
.activities-pagination a:focus-visible {
  text-decoration: underline;
}
.activities-pagination span {
  font-size: 13px;
  color: #817a70;
  text-align: center;
}
@media (max-width: 600px) {
  .activities-page .page-head {
    align-items: flex-start;
  }
  .activities-row {
    padding: 13px 0;
    gap: 10px;
    grid-template-columns: 32px minmax(0, 1fr);
  }
  .activities-row .dashboard-activity-icon {
    width: 32px;
    height: 32px;
  }
  .activities-pagination {
    flex-wrap: wrap;
  }
}
.dashboard-documents-entry {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 20px;
}
.dashboard-documents-entry > div:first-child {
  width: 100%;
  min-width: 0;
}
.dashboard-documents-entry h2 {
  max-width: none;
  width: 100%;
}
.dashboard-documents-entry p {
  max-width: none;
  width: 100%;
  line-height: 1.55;
}
.dashboard-documents-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.dashboard-documents-actions .btn {
  flex: 0 1 auto;
  justify-content: center;
  white-space: nowrap;
}
.scanner-camera {
  aspect-ratio: 3 / 4;
  min-height: 0;
  width: 100%;
  max-width: 440px;
  margin-inline: auto;
}
.scanner-camera video {
  object-fit: contain;
}
.scanner-guide {
  inset: 5% 8%;
  aspect-ratio: 1 / 1.414;
  max-height: 90%;
  margin: auto;
}
.scanner-save-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.scanner-save-actions > .btn {
  width: 100%;
  flex: 0 0 auto;
  min-width: 0;
  justify-content: center;
}
@media (max-width: 900px) {
  .dashboard-documents-entry {
    align-items: stretch;
  }
  .dashboard-documents-actions {
    flex-direction: row;
    justify-content: center;
  }
  .scanner-page-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .scanner-page-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 600px) {
  .dashboard-documents-entry {
    padding: 20px;
  }
  .dashboard-documents-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .dashboard-documents-actions .btn {
    width: 100%;
  }
  .scanner-camera {
    aspect-ratio: 3 / 4;
    min-height: 0;
    max-width: 100%;
  }
}
.ob-scanner .scanner-camera {
  aspect-ratio: 3/4;
  max-width: 440px;
  min-height: 0;
  width: 100%;
  margin-inline: auto;
}
.ob-scanner .scanner-camera video {
  object-fit: cover;
  object-position: center center;
}
.ob-scanner .scanner-guide {
  inset: 5%;
  width: auto;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  margin: 0;
}
.ob-scanner .scanner-stage {
  aspect-ratio: 3/4;
  max-width: 520px;
  margin-inline: auto;
}
.ob-scanner .scanner-stage canvas {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.ob-scanner .scanner-edit-actions {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: 14px;
}
.ob-scanner .scanner-edit-actions > .btn {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  justify-content: center;
  white-space: normal;
}
.ob-scanner .scanner-edit-tools {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ob-scanner .scanner-edit-tools [data-scanner-reset] {
  grid-column: 1/-1;
}
.ob-scanner .scanner-edit-confirm {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 600px) {
  .ob-scanner .scanner-edit-confirm {
    grid-template-columns: minmax(0, 1fr);
  }
  .ob-scanner .scanner-edit-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ob-scanner .scanner-edit-tools [data-scanner-reset] {
    grid-column: 1/-1;
  }
}
.ob-scanner,
.ob-scanner .scanner-layout,
.ob-scanner .scanner-layout > .panel {
  min-width: 0;
  max-width: 100%;
}
.ob-scanner .scanner-capture-panel {
  overflow: hidden;
}
.ob-scanner .scanner-status {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
  line-height: 1.5;
}
.ob-scanner .scanner-crop-box {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: default;
  pointer-events: none;
}
.ob-scanner .scanner-selection-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.ob-scanner .scanner-selection-svg polygon {
  fill: rgba(234, 194, 112, 0.06);
  stroke: #f1cc72;
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
  pointer-events: all;
  cursor: move;
}
.ob-scanner .scanner-handle {
  left: 0;
  top: 0;
  pointer-events: all;
  z-index: 3;
  width: 23px;
  height: 23px;
  cursor: grab;
}
.ob-scanner .scanner-handle[data-corner="nw"],
.ob-scanner .scanner-handle[data-corner="ne"],
.ob-scanner .scanner-handle[data-corner="sw"],
.ob-scanner .scanner-handle[data-corner="se"] {
  left: 0;
  top: 0;
}
.ob-trash-page {
  min-width: 0;
}
.ob-trash-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 20px;
  row-gap: 10px;
  align-items: center;
}
.ob-trash-head .ob-trash-heading {
  min-width: 0;
}
.ob-trash-head h1 {
  margin: 5px 0;
  font-size: clamp(30px, 4vw, 44px);
}
.ob-trash-head > form {
  margin: 0;
  grid-column: 2;
  grid-row: 1;
}
.ob-trash-head > p {
  grid-column: 1/-1;
  margin: 0;
  max-width: 100%;
  line-height: 1.5;
  color: var(--muted, #777);
}
.ob-trash-empty-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  white-space: nowrap;
}
.ob-trash-group {
  margin: 24px 0 0;
}
.ob-trash-group-head {
  margin: 0 0 14px;
  min-width: 0;
}
.ob-trash-group-head h2 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 23px;
  margin: 0 0 4px;
}
.ob-trash-group-head p {
  margin: 0;
  color: var(--muted, #777);
  line-height: 1.4;
}
.ob-trash-list {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.ob-trash-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid #e7ded0;
  border-radius: 22px;
  box-shadow: 0 9px 25px rgba(32, 39, 37, 0.035);
  min-width: 0;
}
.ob-trash-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: #f2ecdf;
  color: #986f2b;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ob-trash-item-body {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ob-trash-item-body h3 {
  margin: 5px 0 4px;
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.ob-trash-item-body p {
  margin: 0 0 3px;
  color: #666;
  overflow-wrap: anywhere;
}
.ob-trash-item-body small {
  color: #777;
}
.ob-trash-label {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 9px;
  background: #f5ecdd;
  color: #80612e;
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.ob-trash-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  min-width: 0;
}
.ob-trash-actions form {
  margin: 0;
  min-width: 0;
}
.ob-trash-actions .btn {
  font-size: 13px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
  padding: 10px 13px;
}
.ob-trash-actions .danger-btn {
  background: #a94b3c;
  color: #fff !important;
  border-color: #a94b3c;
}
.ob-trash-empty {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  min-height: 130px;
}
@media (max-width: 900px) {
  .ob-trash-item {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px 13px;
    padding: 16px;
  }
  .ob-trash-item-icon {
    width: 42px;
    height: 42px;
  }
  .ob-trash-actions {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .ob-trash-actions form,
  .ob-trash-actions .btn {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 520px) {
  .ob-trash-page {
    padding: 16px !important;
  }
  .ob-trash-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  .ob-trash-head > form {
    grid-column: 1;
    grid-row: 2;
  }
  .ob-trash-head > p {
    grid-column: 1;
    grid-row: 3;
  }
  .ob-trash-empty-btn {
    width: 100%;
  }
  .ob-trash-item-body h3 {
    font-size: 16px;
  }
  .ob-trash-item-body p {
    font-size: 13px;
  }
  .ob-trash-item-body small {
    font-size: 12px;
  }
  .ob-trash-actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .ob-trash-actions .btn {
    font-size: 13px;
    padding: 10px 12px;
    white-space: nowrap;
  }
  .ob-trash-actions .btn svg {
    width: 14px;
    height: 14px;
    flex: none;
  }
  .ob-trash-group-head h2 {
    font-size: 20px;
  }
}
.ob-back-to-top {
  position: fixed;
  right: max(22px, env(safe-area-inset-right, 0px));
  bottom: max(24px, env(safe-area-inset-bottom, 0px));
  z-index: 140;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 10px 15px;
  border: 1px solid #b99a5d;
  border-radius: 999px;
  background: #1f2a2a;
  color: #f9f6ef;
  box-shadow: 0 7px 24px rgba(24, 35, 34, 0.22);
  font-size: 13px;
  line-height: 1;
  font-weight: 650;
  cursor: pointer;
  transition: background-color 0.2s,
    box-shadow 0.2s,
    transform 0.2s;
}
.ob-back-to-top[hidden] {
  display: none !important;
}
.ob-back-to-top:hover {
  background: #33423f;
  box-shadow: 0 10px 27px rgba(24, 35, 34, 0.27);
  transform: translateY(-2px);
}
.ob-back-to-top:focus-visible {
  outline: 3px solid #caa85f;
  outline-offset: 3px;
}
.ob-back-to-top-icon {
  color: #e4c176;
  font-size: 17px;
}
@media (max-width: 760px) {
  .ob-back-to-top {
    right: max(14px, env(safe-area-inset-right, 0px));
    bottom: max(18px, env(safe-area-inset-bottom, 0px));
    width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0;
  }
  .ob-back-to-top span {
    display: none;
  }
  .ob-back-to-top-icon {
    font-size: 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ob-back-to-top {
    transition: none;
  }
}
.office-cockpit-next.has-actions {
  grid-template-columns: 1fr;
  gap: 14px;
  border-top: 1px solid #e8ddcb;
  padding-top: 20px;
}
.office-cockpit-next-heading {
  min-width: 0;
}
.office-cockpit-next-title {
  display: flex;
  align-items: center;
  gap: 11px;
  flex-wrap: wrap;
}
.office-cockpit-next-title h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
}
.office-cockpit-action-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 27px;
  padding: 0 8px;
  border-radius: 999px;
  background: #e9d7b2;
  color: #63471c;
  font-size: 13px;
  font-weight: 800;
}
.office-cockpit-next-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.office-cockpit-next-items a.office-cockpit-action {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  min-height: 84px;
  padding: 15px 16px;
  border: 1px solid #e3d4b9;
  border-left: 4px solid #b58b43;
  border-radius: 16px;
  background: #fffbf3;
  color: #26302e;
  text-decoration: none;
  box-shadow: 0 3px 11px rgba(46, 38, 22, 0.035);
  transition: border-color 0.18s,
    background-color 0.18s,
    box-shadow 0.18s,
    transform 0.18s;
}
.office-cockpit-next-items a.office-cockpit-action:last-child {
  border: 1px solid #e3d4b9;
  border-left: 4px solid #b58b43;
}
.office-cockpit-next-items .office-cockpit-action-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #f1e5cf;
  color: #886222;
  font-size: 19px;
}
.office-cockpit-next-items .office-cockpit-action-copy {
  display: grid;
  gap: 5px;
  flex: 1;
  min-width: 0;
}
.office-cockpit-next-items a.office-cockpit-action strong {
  font-size: 15px;
  line-height: 1.35;
  font-weight: 750;
  color: #26302e;
}
.office-cockpit-next-items a.office-cockpit-action small {
  font-size: 12px;
  line-height: 1.4;
  color: #746b60;
}
.office-cockpit-next-items .office-cockpit-action-arrow {
  flex: 0 0 auto;
  color: #97702e;
  font-size: 18px;
}
.office-cockpit-next-items a.office-cockpit-action:hover {
  background: #faf0dc;
  border-color: #c6a262;
  border-left-color: #94671f;
  box-shadow: 0 8px 19px rgba(46, 38, 22, 0.1);
  transform: translateY(-2px);
}
.office-cockpit-next-items a.office-cockpit-action:focus-visible {
  outline: 3px solid #a57b31;
  outline-offset: 3px;
}
.office-cockpit-next-items a.office-cockpit-action:hover strong {
  color: #26302e;
}
.office-cockpit-next.is-empty .office-cockpit-next-items {
  display: block;
}
@media (max-width: 900px) {
  .office-cockpit-next-items {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .office-cockpit-next.has-actions {
    gap: 12px;
    padding-top: 16px;
  }
  .office-cockpit-next-items a.office-cockpit-action {
    padding: 12px;
    min-height: 76px;
    gap: 10px;
  }
  .office-cockpit-next-items .office-cockpit-action-icon {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }
  .office-cockpit-next-items a.office-cockpit-action strong {
    font-size: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .office-cockpit-next-items a.office-cockpit-action {
    transition: none;
  }
  .office-cockpit-next-items a.office-cockpit-action:hover {
    transform: none;
  }
}
.invoice-reanalysis-page {
  max-width: 1020px;
  margin-inline: auto;
}
.invoice-reanalysis-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 20px;
}
.invoice-reanalysis-intro .panel-head {
  width: 100%;
  margin-bottom: 0;
}
.invoice-reanalysis-intro .panel-head small {
  display: block;
  color: #716b62;
  overflow-wrap: anywhere;
  margin-top: 6px;
}
.invoice-reanalysis-intro p {
  color: #645f56;
  line-height: 1.5;
  margin: 0;
}
.invoice-reanalysis-start {
  display: flex;
  max-width: 100%;
}
.invoice-reanalysis-info {
  display: grid;
  gap: 4px;
  border-left: 3px solid #b08a48;
  padding: 8px 14px;
  background: #faf6ed;
  border-radius: 0 10px 10px 0;
  width: 100%;
}
.invoice-reanalysis-info small {
  color: #645f56;
  line-height: 1.5;
}
.invoice-reanalysis-warnings,
.invoice-reanalysis-payment {
  padding: 18px 20px;
  border: 1px solid #e4d4b4;
  background: #fffbf3;
  border-radius: 16px;
  margin-bottom: 18px;
}
.invoice-reanalysis-warnings p,
.invoice-reanalysis-payment p {
  margin: 8px 0 0;
  line-height: 1.5;
  color: #5f594d;
  overflow-wrap: anywhere;
}
.invoice-reanalysis-payment {
  background: #f3f8f5;
  border-color: #d0e2d8;
}
.invoice-reanalysis-payment strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.invoice-reanalysis-result .panel-head {
  margin-bottom: 24px;
}
.invoice-reanalysis-result .panel-head small {
  display: block;
  color: #746e64;
  margin-top: 6px;
  line-height: 1.45;
}
.invoice-reanalysis-rows {
  display: grid;
  gap: 12px;
}
.invoice-reanalysis-row {
  border: 1px solid #e8e0d5;
  border-radius: 16px;
  padding: 16px;
  background: #fff;
  min-width: 0;
}
.invoice-reanalysis-row.is-different {
  background: #fdfbf6;
  border-color: #d8c6a8;
}
.invoice-reanalysis-row-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.invoice-reanalysis-select {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  cursor: pointer;
}
.invoice-reanalysis-select input {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  accent-color: #a17b39;
  cursor: pointer;
}
.invoice-reanalysis-unchanged {
  font-size: 12px;
  color: #777168;
  background: #f0eee9;
  border-radius: 99px;
  padding: 4px 10px;
}
.invoice-reanalysis-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.invoice-reanalysis-values > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f7f5f1;
}
.invoice-reanalysis-row.is-different
  .invoice-reanalysis-values
  > div:last-child {
  background: #f1eadc;
}
.invoice-reanalysis-values small {
  font-size: 11px;
  letter-spacing: 0.07em;
  color: #7b7468;
  font-weight: 800;
}
.invoice-reanalysis-values span {
  overflow-wrap: anywhere;
  white-space: normal;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
}
.invoice-reanalysis-note {
  display: block;
  margin-top: 10px;
  color: #8c6730;
  line-height: 1.4;
}
.invoice-reanalysis-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  flex-wrap: wrap;
}
.invoice-reanalysis-actions .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
@media (max-width: 650px) {
  .invoice-reanalysis-page .page-head h1 {
    overflow-wrap: anywhere;
  }
  .invoice-reanalysis-intro .btn,
  .invoice-reanalysis-start,
  .invoice-reanalysis-start .btn {
    width: 100%;
    justify-content: center;
  }
  .invoice-reanalysis-row {
    padding: 12px;
  }
  .invoice-reanalysis-values {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .invoice-reanalysis-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .invoice-reanalysis-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
.structured-form
  > .related-documents-panel.panel-with-footer
  > .panel-footer-actions {
  margin: 20px -24px -24px;
  padding: 14px 24px 16px;
  width: auto;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .structured-form
    > .related-documents-panel.panel-with-footer
    > .panel-footer-actions {
    margin: 20px -16px -16px;
    padding: 12px 16px 14px;
  }
}
.invoice-layout,
.invoice-layout > *,
.invoice-main-column,
.invoice-main-column > .panel,
.invoice-side-column,
.invoice-side-column > .panel {
  min-width: 0;
  max-width: 100%;
}
.invoice-layout p,
.invoice-layout dd,
.invoice-layout .invoice-notes,
.invoice-layout .invoice-notes *,
.invoice-layout .invoice-detail-notes,
.invoice-layout .invoice-detail-notes * {
  overflow-wrap: anywhere;
  word-break: normal;
}
.license-page {
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 36px;
}
.license-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.license-heading h1 {
  margin: 12px 0 6px;
  overflow-wrap: anywhere;
}
.license-heading p {
  color: #746f68;
  margin: 0;
}
.license-heading .back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.license-page > .panel,
.license-page > .license-detail-grid {
  margin-bottom: 24px;
}
.license-page .panel {
  min-width: 0;
}
.license-page .panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.license-page .panel-head h2 {
  margin: 0;
}
.license-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
}
.license-list-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  padding: 15px 0;
  border-bottom: 1px solid #ece3d8;
  transition: background 0.18s ease,
    transform 0.18s ease;
}
.license-list-row:last-child {
  border-bottom: 0;
}
.license-list-row:hover {
  background: #fbf8f2;
  transform: translateY(-1px);
}
.license-row-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  flex: none;
  background: #f3ead7;
  color: #987021;
}
.license-row-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.license-row-text strong,
.license-row-text small {
  overflow-wrap: anywhere;
}
.license-row-text small {
  color: #79746d;
}
.license-pill {
  display: inline-flex;
  align-items: center;
  flex: none;
  border-radius: 100px;
  background: #e9f3ed;
  color: #2b5f47;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
}
.license-pill.is-soon {
  background: #fff0ce;
  color: #8e620c;
}
.license-pill.is-expired {
  background: #fce4e1;
  color: #a33f34;
}
.license-count {
  border-radius: 100px;
  background: #f5e9ce;
  padding: 4px 12px;
  font-weight: 700;
}
.license-alert {
  border-color: #e4c688 !important;
}
.license-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.license-details {
  display: grid;
  grid-template-columns: minmax(95px, 40%) minmax(0, 1fr);
  gap: 14px;
  margin: 0;
}
.license-details dt {
  color: #716c66;
}
.license-details dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 600;
}
.license-note {
  border-top: 1px solid #ece3d8;
  margin-top: 22px;
  padding-top: 15px;
}
.license-note p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.license-secret {
  padding: 18px;
  border: 1px solid #e1d4bd;
  border-radius: 14px;
  background: #f9f5ec;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-family: ui-monospace, monospace;
  line-height: 1.6;
}
.license-reveal {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.license-reveal label {
  flex: 1;
  min-width: 180px;
}
.license-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.license-form label,
.license-link-forms label,
.license-reveal label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: 600;
}
.license-form label > small,
.license-link-forms small {
  font-weight: 400;
  color: #777;
}
.license-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.license-form input,
.license-form select,
.license-form textarea,
.license-link-forms select,
.license-reveal input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.license-form textarea {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.license-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.license-links {
  display: flex;
  flex-direction: column;
}
.license-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #ece3d8;
  padding: 12px 0;
}
.license-link > a {
  min-width: 0;
  overflow-wrap: anywhere;
}
.license-link-forms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 20px 0;
}
.license-link-forms form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-width: 0;
}
.license-link-forms label {
  flex: 1;
  min-width: 0;
}
.license-delete {
  border-color: #eaccc7 !important;
}
.license-related-panel {
  margin-top: 22px;
  min-width: 0;
}
.license-dashboard {
  margin: 24px 0;
}
.license-dashboard .license-list {
  padding: 0 2px;
}
.license-dashboard .empty {
  padding: 20px 0;
}
.license-page .panel-with-footer .panel-footer-actions,
.license-dashboard .panel-footer-actions,
.license-related-panel .panel-footer-actions {
  margin-top: auto;
}
@media (max-width: 700px) {
  .license-detail-grid,
  .license-form-grid,
  .license-link-forms {
    grid-template-columns: minmax(0, 1fr);
  }
  .license-heading > .btn {
    width: 100%;
    justify-content: center;
  }
  .license-pill {
    max-width: 100%;
    font-size: 11px;
  }
  .license-list-row {
    gap: 8px;
  }
  .license-list-row > .license-pill {
    max-width: 100px;
    text-align: center;
    white-space: normal;
  }
  .license-row-icon {
    width: 36px;
    height: 36px;
  }
  .license-link-forms form {
    flex-direction: column;
    align-items: stretch;
  }
  .license-link-forms form > .btn {
    width: 100%;
    justify-content: center;
  }
  .license-form-actions {
    flex-direction: column;
  }
  .license-form-actions > * {
    width: 100%;
    justify-content: center;
  }
  .license-reveal {
    flex-direction: column;
    align-items: stretch;
  }
  .license-reveal > * {
    width: 100%;
  }
}
.license-prefill {
  background: #f6f0e2;
  border: 1px solid #e3d1ad;
  border-radius: 12px;
  padding: 12px 16px;
  color: #71531b;
}
.license-page,
.license-page > *,
.license-detail-grid > *,
.license-page .panel,
.license-form-grid > *,
.license-link-forms > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.license-page .license-heading {
  align-items: center;
}
.license-page .license-heading h1 {
  font-size: clamp(28px, 3vw, 43px);
  line-height: 1.14;
  letter-spacing: -0.035em;
}
.license-page .license-heading .back {
  display: inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid #e2d5c1;
  border-radius: 12px;
  background: #fff;
  color: #856426;
  text-decoration: none;
  font-weight: 600;
}
.license-page .license-heading .back:hover {
  background: #faf5e9;
}
.license-page .panel {
  padding: 24px;
}
.license-page .panel-head {
  min-width: 0;
}
.license-page .panel-head h2 {
  display: flex;
  align-items: center;
  gap: 9px;
  line-height: 1.35;
}
.license-page .panel-head h2 svg {
  flex: none;
}
.license-page .license-form {
  display: flex;
  flex-direction: column;
  gap: 23px;
}
.license-page .license-form-grid {
  gap: 20px 22px;
}
.license-page .license-form label,
.license-page .license-link-forms label,
.license-page .license-reveal label {
  min-width: 0;
  color: #202929;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
.license-page .license-form input:not([type="hidden"]),
.license-page .license-form select,
.license-page .license-form textarea,
.license-page .license-link-forms select,
.license-page .license-reveal input {
  appearance: auto;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 51px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid #dacdbc;
  border-radius: 13px;
  background: #fff;
  color: #202929;
  font: inherit;
  font-weight: 500;
  line-height: 1.5;
  box-shadow: none;
}
.license-page .license-form textarea {
  min-height: 128px;
  resize: vertical;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.license-page .license-form input:focus-visible,
.license-page .license-form select:focus-visible,
.license-page .license-form textarea:focus-visible,
.license-page .license-link-forms select:focus-visible,
.license-page .license-reveal input:focus-visible {
  outline: 2px solid #b88b38;
  outline-offset: 2px;
}
.license-page .license-form label > small,
.license-page .license-link-forms label > small {
  display: block;
  margin-top: 0;
  color: #746f68;
  line-height: 1.45;
  font-weight: 400;
}
.license-page .license-form-actions {
  padding-top: 18px;
  border-top: 1px solid #ece3d8;
  align-items: center;
}
.license-page .license-form-actions .btn {
  min-height: 48px;
}
.license-page .license-detail-grid {
  align-items: stretch;
}
.license-page .license-secret {
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.license-page .license-reveal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}
.license-page .license-reveal label {
  min-width: 0;
}
.license-page .license-reveal .btn {
  min-height: 51px;
  white-space: nowrap;
}
.license-page .license-link-forms form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  min-width: 0;
}
.license-page .license-link-forms label {
  min-width: 0;
}
.license-page .license-link-forms form > .btn {
  min-height: 51px;
  white-space: nowrap;
}
.license-page .license-relations.panel-with-footer {
  overflow: hidden;
  padding-bottom: 24px;
}
.license-page .license-relations.panel-with-footer > .panel-footer-actions {
  box-sizing: border-box;
  width: calc(100% + 48px);
  max-width: none;
  margin: 24px -24px -24px;
  padding: 15px 24px 17px;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #f7f5f1;
  border-top: 1px solid #ece3d8;
}
.license-page .license-relations .panel-footer-link {
  display: inline-flex;
  width: auto;
  max-width: 50%;
  min-width: 0;
  margin: 0;
  padding: 5px 0;
  flex: 0 1 auto;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}
.license-page .license-relations .panel-footer-link:not(.is-primary) {
  margin-left: auto;
  justify-content: flex-end;
}
@media (max-width: 1150px) {
  .license-page .license-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  .license-page {
    padding-left: 16px;
    padding-right: 16px;
  }
  .license-page .panel {
    padding: 18px;
  }
  .license-page .license-form-grid,
  .license-page .license-link-forms {
    grid-template-columns: minmax(0, 1fr);
  }
  .license-page .license-reveal,
  .license-page .license-link-forms form {
    grid-template-columns: minmax(0, 1fr);
  }
  .license-page .license-reveal .btn,
  .license-page .license-link-forms form > .btn {
    width: 100%;
    justify-content: center;
  }
  .license-page .license-form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .license-page .license-form-actions > * {
    width: 100%;
    justify-content: center;
  }
  .license-page .license-relations.panel-with-footer > .panel-footer-actions {
    width: calc(100% + 36px);
    margin: 20px -18px -18px;
    padding: 12px 13px 14px;
  }
  .license-page .license-relations .panel-footer-link {
    font-size: clamp(10px, 3vw, 13px);
  }
}
.license-page .license-list-panel.panel-with-footer,
.license-page .license-relations.panel-with-footer {
  box-sizing: border-box;
  overflow: hidden;
}
.license-page .license-list-panel.panel-with-footer > .panel-footer-actions,
.license-page .license-relations.panel-with-footer > .panel-footer-actions {
  box-sizing: border-box;
  width: calc(100% + 48px);
  max-width: none;
  margin: 24px -24px -24px;
  padding: 15px 24px 17px;
  flex: 0 0 auto;
  align-self: stretch;
  background: #f7f5f1;
  border-top: 1px solid #ece3d8;
}
.license-page .license-list-panel.panel-with-footer > .panel-footer-actions {
  justify-content: flex-end;
}
.invoice-main-column > .license-related-panel {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  overflow: hidden;
}
.invoice-main-column > .license-related-panel > .panel-footer-actions {
  box-sizing: border-box;
  width: calc(100% + 40px);
  max-width: none;
  margin: 24px -20px -20px;
  padding: 14px 20px 16px;
  align-self: stretch;
  flex: 0 0 auto;
}
@media (max-width: 700px) {
  .license-page .license-list-panel.panel-with-footer > .panel-footer-actions,
  .license-page .license-relations.panel-with-footer > .panel-footer-actions {
    width: calc(100% + 36px);
    margin: 20px -18px -18px;
    padding: 12px 13px 14px;
  }
  .invoice-main-column > .license-related-panel > .panel-footer-actions {
    width: calc(100% + 34px);
    margin: 20px -17px -17px;
    padding: 12px 13px 14px;
  }
}
.license-page .license-relations {
  overflow: hidden;
  padding-bottom: 24px;
}
.license-page .license-relations .license-links {
  gap: 10px;
  margin: 16px 0 22px;
}
.license-page .license-relations .license-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 0;
  border: 1px solid #e7dccb;
  border-radius: 15px;
  background: #fffdf9;
  transition: border-color 0.15s ease,
    background 0.15s ease;
}
.license-page .license-relations .license-link:hover {
  border-color: #bf9b59;
  background: #fbf6ec;
}
.license-page .license-relations .license-linked-target {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  flex: 1;
  padding: 13px 15px;
  color: #202c2b;
  text-decoration: none;
}
.license-page
  .license-relations
  .license-linked-target:hover
  .license-linked-copy
  strong {
  text-decoration: underline;
  text-decoration-color: #ad8644;
  text-underline-offset: 3px;
}
.license-page .license-relations .license-linked-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  background: #f3ead7;
  color: #946c26;
  border-radius: 12px;
}
.license-page .license-relations .license-linked-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.license-page .license-relations .license-linked-copy small {
  color: #8b6c32;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.license-page .license-relations .license-linked-copy strong {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.license-page .license-relations .license-linked-arrow {
  margin-left: auto;
  flex: none;
  color: #97733e;
}
.license-page .license-relations .license-link form {
  padding-right: 12px;
  flex: none;
}
.license-page .license-relations .license-link form .btn {
  min-height: 39px;
  min-width: 39px;
  padding: 8px;
  display: grid;
  place-items: center;
}
@media (max-width: 600px) {
  .license-page .license-relations .license-linked-target {
    padding: 11px;
    gap: 9px;
  }
  .license-page .license-relations .license-linked-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
  .license-page .license-relations .license-linked-copy strong {
    font-size: 13px;
  }
  .license-page .license-relations .license-link form {
    padding-right: 8px;
  }
}
.settings-hub,
.account-sessions-page {
  max-width: 1100px;
  margin-inline: auto;
  min-width: 0;
}
.settings-quicknav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 28px;
}
.settings-quicknav a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  padding: 14px 10px;
  border: 1px solid #e5d8c8;
  border-radius: 14px;
  background: #fff;
  color: #263330;
  text-decoration: none;
  font-weight: 650;
  transition: border-color 0.2s,
    background 0.2s;
}
.settings-quicknav a:hover {
  background: #fbf7ed;
  border-color: #c6a15d;
}
.settings-group-title {
  margin: 28px 0 16px;
  scroll-margin-top: 110px;
}
.settings-group-title span {
  display: block;
  font-size: 12px;
  letter-spacing: 0.12em;
  font-weight: 800;
  color: #946d26;
}
.settings-group-title h2 {
  font-size: clamp(23px, 3vw, 29px);
  margin: 5px 0;
}
.settings-profile-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.settings-hub .settings-profile-form > .settings-group-title {
  margin-bottom: 0;
}
.settings-hub .settings-subpanel,
.settings-hub .settings-password-section {
  min-width: 0;
  margin: 0;
}
.settings-hub .settings-subpanel h2 {
  margin: 0 0 15px;
}
.settings-hub .settings-security-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}
.settings-hub .settings-security-grid > .panel {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-width: 0;
}
.settings-hub .settings-security-grid > .panel .btn {
  align-self: flex-start;
  margin-top: auto;
}
.settings-hub .settings-security-grid .two-factor-summary-head {
  min-width: 0;
  gap: 12px;
  flex-wrap: wrap;
}
.settings-hub .settings-security-grid .two-factor-summary-head h2 {
  min-width: 0;
}
.settings-hub .settings-subpanel input,
.settings-hub .settings-subpanel select,
.settings-hub .settings-subpanel textarea {
  min-width: 0;
  max-width: 100%;
}
.account-sessions-page > .panel {
  margin-bottom: 20px;
  min-width: 0;
}
.sessions-list-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}
.session-entry {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid #eee3d5;
  min-width: 0;
}
.session-entry-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #f3ead8;
  color: #92681f;
  border-radius: 13px;
  flex: none;
}
.session-entry-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  flex: 1;
}
.session-entry-info strong {
  overflow-wrap: anywhere;
  font-size: 16px;
}
.session-entry-info small {
  color: #716c64;
  overflow-wrap: anywhere;
}
.session-entry-info .two-factor-status {
  align-self: flex-start;
}
.session-revoke-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
  min-width: 220px;
  max-width: 300px;
}
.session-revoke-form label,
.sessions-all label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 13px;
}
.session-revoke-form input,
.sessions-all input {
  width: 100%;
  min-width: 0;
}
.session-revoke-form .btn {
  white-space: normal;
}
.sessions-all form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 14px;
}
.sessions-all form label {
  flex: 1;
  min-width: 200px;
  max-width: 380px;
}
@media (max-width: 760px) {
  .settings-quicknav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .settings-hub .settings-security-grid {
    grid-template-columns: 1fr;
  }
  .session-entry {
    flex-wrap: wrap;
  }
  .session-revoke-form {
    flex-basis: 100%;
    max-width: none;
    min-width: 0;
  }
  .session-revoke-form .btn,
  .sessions-all .btn {
    width: 100%;
  }
  .sessions-all form label {
    max-width: none;
    flex-basis: 100%;
  }
}
@media (max-width: 380px) {
  .settings-quicknav a {
    font-size: 12px;
    padding: 11px 5px;
    gap: 5px;
  }
}
.settings-hub .settings-password-section {
  padding: 26px !important;
  margin: 0 !important;
}
.settings-hub .settings-password-section > h2 {
  margin: 0 0 10px;
  line-height: 1.3;
}
.settings-hub .settings-password-section > p {
  margin: 0 0 22px;
  line-height: 1.55;
}
.settings-hub .settings-password-section > .form-grid {
  margin-bottom: 18px;
}
.settings-hub .settings-password-section > .btn {
  margin-top: 20px;
}
.settings-hub .scanner-workflow-help {
  margin-top: 20px;
  padding: 22px;
  border: 1px solid #e4d7c4;
  border-radius: 17px;
  background: #fbf8f2;
  min-width: 0;
}
.settings-hub .scanner-workflow-help h3 {
  margin: 0 0 8px;
  font-size: 19px;
  line-height: 1.4;
  color: #202b2a;
}
.settings-hub .scanner-workflow-intro {
  margin: 0 0 12px;
  color: #6b6e6c;
  line-height: 1.55;
  font-weight: 400;
}
.settings-hub .scanner-workflow-address {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  max-width: 100%;
  min-width: 0;
  padding: 12px 15px;
  color: #26332f;
  background: white;
  border: 1px solid #e4d7c4;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
}
.settings-hub .scanner-workflow-address span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.settings-hub .scanner-workflow-address:hover {
  border-color: #bd985c;
  background: #fffdf9;
}
.settings-hub .scanner-workflow-address svg:last-child {
  margin-left: auto;
  flex: none;
}
.settings-hub .scanner-workflow-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.settings-hub .scanner-workflow-option {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
  padding: 17px 14px;
  border: 1px solid #e9dfd1;
  border-radius: 13px;
  background: #fff;
}
.settings-hub .scanner-workflow-marker {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f5eddf;
  color: #92702f;
}
.settings-hub .scanner-workflow-option > div {
  min-width: 0;
}
.settings-hub .scanner-workflow-option strong {
  display: block;
  margin: 0 0 6px;
  font-size: 14px;
  color: #222d2a;
  line-height: 1.4;
}
.settings-hub .scanner-workflow-option p {
  margin: 0;
  color: #6a6c69;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.account-sessions-page .sessions-all form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 16px;
  max-width: 900px;
}
.account-sessions-page .sessions-all form label {
  min-width: 0;
  max-width: none;
  width: 100%;
  margin: 0;
}
.account-sessions-page .sessions-all form input {
  height: 64px;
  min-height: 64px;
  box-sizing: border-box;
}
.account-sessions-page .sessions-all form > .btn {
  height: 64px;
  min-height: 64px;
  box-sizing: border-box;
  white-space: nowrap;
  margin: 0;
  align-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 900px) {
  .settings-hub .scanner-workflow-options {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .settings-hub .settings-password-section {
    padding: 20px !important;
  }
  .settings-hub .scanner-workflow-help {
    padding: 16px;
  }
  .settings-hub .scanner-workflow-address {
    width: 100%;
    font-size: 12px;
  }
  .account-sessions-page .sessions-all form {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .account-sessions-page .sessions-all form > .btn {
    width: 100%;
    white-space: normal;
  }
}
.storage-section {
  padding: 26px 28px;
}
.storage-actions.storage-section {
  display: block;
}
.storage-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.storage-section-heading h2 {
  margin: 4px 0 7px;
}
.storage-section-heading p {
  max-width: 850px;
  margin: 0;
  line-height: 1.5;
}
.storage-number {
  display: inline-grid;
  place-items: center;
  background: #f8f1e5;
  color: #755b26;
  min-width: 42px;
  height: 42px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 19px;
  flex-shrink: 0;
}
.storage-cleanup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.storage-cleanup-option {
  min-width: 0;
  border: 1px solid #e9dfd0;
  border-radius: 17px;
  background: #fffcf8;
  padding: 19px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.storage-cleanup-icon,
.storage-record-icon {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #8b671f;
  background: #f7eddc;
  font-size: 20px;
}
.storage-cleanup-copy {
  flex: 1;
}
.storage-cleanup-copy h3 {
  font-size: 17px;
  margin: 0 0 8px;
}
.storage-cleanup-copy p {
  margin: 0 0 12px;
  color: #746f67;
  font-size: 13px;
  line-height: 1.5;
}
.storage-cleanup-count {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 750;
  background: #f5efe5;
  color: #6b5937;
  font-size: 12px;
}
.storage-cleanup-option form,
.storage-cleanup-option .btn {
  width: 100%;
}
.storage-cleanup-option .btn {
  white-space: normal;
  min-height: 45px;
  line-height: 1.3;
}
.storage-cleanup-option .btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}
.storage-record-list {
  border: 1px solid #e8dfd2;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
}
.storage-record-list .storage-record {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 16px 18px;
  border-bottom: 1px solid #eee7dd;
}
.storage-record-list .storage-record:last-child {
  border-bottom: 0;
}
.storage-record-main {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.storage-record-main strong {
  font-size: 14px;
  overflow-wrap: anywhere;
  line-height: 1.45;
}
.storage-record-main code {
  color: #80776a;
  font-size: 11px;
  overflow-wrap: anywhere;
  white-space: normal;
}
.storage-record-meta {
  display: grid;
  justify-items: end;
  gap: 8px;
  text-align: right;
  font-size: 12px;
}
.storage-size {
  color: #4b4740;
  font-weight: 750;
}
.storage-expiry {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #83632e;
}
.storage-expiry.is-expired {
  color: #a44935;
}
.storage-linked-details {
  border: 1px solid #e8dfd2;
  border-radius: 15px;
  overflow: hidden;
}
.storage-linked-details > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding: 18px 20px;
  color: #3b342b;
  background: #fcf9f4;
}
.storage-linked-details > summary::-webkit-details-marker {
  display: none;
}
.storage-linked-details > summary > span:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.storage-linked-details > summary > span:first-child:before {
  content: "▸";
  color: #977331;
  transition: transform 0.2s;
}
.storage-linked-details[open] > summary > span:first-child:before {
  transform: rotate(90deg);
}
.storage-details-count {
  color: #84786b;
  font-size: 12px;
  font-weight: 500;
}
.storage-linked-badge {
  color: #39735a;
  background: #edf7f0;
  padding: 5px 9px;
  border-radius: 999px;
  font-weight: 700;
}
.storage-linked .linked-list {
  border: 0;
  border-top: 1px solid #e8dfd2;
  border-radius: 0;
  margin: 0;
  max-height: 480px;
  overflow: auto;
}
@media (max-width: 1000px) {
  .storage-cleanup-grid {
    grid-template-columns: 1fr;
  }
  .storage-cleanup-option {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
  }
  .storage-cleanup-option form {
    min-width: 180px;
  }
}
@media (max-width: 650px) {
  .storage-section {
    padding: 20px 16px;
  }
  .storage-cleanup-option {
    display: flex;
    align-items: stretch;
  }
  .storage-record-list .storage-record {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 14px 12px;
  }
  .storage-record-icon {
    width: 34px;
    height: 34px;
  }
  .storage-record-meta {
    grid-column: 2;
    justify-items: start;
    text-align: left;
  }
  .storage-linked-details > summary {
    padding: 15px;
  }
}
.storage-audit-grid ~ section.panel ~ section.panel {
  margin-top: 24px;
}
@media (max-width: 650px) {
  .storage-audit-grid ~ section.panel ~ section.panel {
    margin-top: 18px;
  }
}
.content .case-detail-header-modern {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  column-gap: 24px;
  row-gap: 18px;
}
.content .case-detail-header-modern > .case-detail-title {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.content .case-detail-header-modern > .case-detail-title h1 {
  max-width: none;
  width: 100%;
  overflow-wrap: break-word;
}
.content .case-detail-header-modern > .case-meta-chips {
  grid-column: 1;
  min-width: 0;
  margin-top: 0;
}
.content .case-detail-header-modern > .case-icon-actions {
  grid-column: 2;
  justify-self: end;
}
@media (max-width: 1050px) {
  .content .case-detail-header-modern {
    grid-template-columns: minmax(0, 1fr);
  }
  .content .case-detail-header-modern > .case-meta-chips,
  .content .case-detail-header-modern > .case-icon-actions {
    grid-column: 1;
    justify-self: stretch;
  }
}
.delivery.delivered {
  background: #e7f3ed;
  color: #215b41;
  border-color: #c7e0d2;
}
.delivery.read {
  background: #e8f0fb;
  color: #254d86;
  border-color: #cbdcf5;
}
.mail-status-explainer {
  padding: 16px 18px;
  margin: 16px 0;
  border: 1px solid #e6dccb;
  border-radius: 14px;
  background: #fcfaf5;
}
.mail-status-explainer p {
  margin: 6px 0;
  line-height: 1.55;
  color: #625f59;
}
.mail-status-explainer small {
  display: block;
  margin-top: 8px;
  color: #4b5f53;
}
.timeline-entry .delivery {
  font-size: 12px;
  white-space: normal;
  margin-left: 4px;
}
.mail-status-description {
  font-size: 13px;
  color: #666155;
}
.outbox-message-detail .message-head > div {
  align-items: flex-start;
  min-width: 0;
}
.outbox-message-head-copy {
  min-width: 0;
  overflow-wrap: anywhere;
}
.outbox-message-head-copy p {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.outbox-case-reference {
  display: flex;
  align-items: flex-start;
  gap: 8px 20px;
  flex-wrap: wrap;
  margin-top: 18px;
  padding: 14px 18px;
  background: #faf8f3;
  border: 1px solid #eadfce;
  border-radius: 13px;
}
.outbox-case-reference > span {
  font-size: 13px;
  font-weight: 700;
  color: #77613b;
  white-space: nowrap;
}
.outbox-case-reference a {
  font-weight: 700;
  overflow-wrap: anywhere;
}
.outbox-status-compact {
  display: flex;
  align-items: center;
  gap: 9px 12px;
  flex-wrap: wrap;
  padding: 12px 16px;
  margin: 16px 0 0;
  border: 1px solid #e7e1d6;
  border-radius: 12px;
  background: #fbfaf7;
  font-size: 13px;
  color: #486c56;
}
.outbox-status-compact > .bi {
  flex-shrink: 0;
}
.outbox-status-details {
  margin-left: auto;
  color: #655b4b;
  min-width: 0;
}
.outbox-status-details summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
}
.outbox-status-details[open] {
  flex-basis: 100%;
  margin-left: 0;
  border-top: 1px solid #e7e1d6;
  padding-top: 8px;
}
.outbox-status-details p {
  margin: 5px 0;
  overflow-wrap: anywhere;
  line-height: 1.55;
}
.outbox-attachment-panel {
  margin: 18px 0 24px;
  padding: 18px;
  border: 1px solid #e8ddcc;
  border-radius: 14px;
  background: #fffdfa;
}
.outbox-attachment-panel h2 {
  font-size: 17px;
  margin: 0 0 13px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.outbox-attachment-panel h2 span {
  font-size: 13px;
  color: #80776a;
}
.outbox-attachment-list {
  display: grid;
  gap: 9px;
}
.outbox-attachment-link {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid #e9e0d4;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  background: #fff;
}
.outbox-attachment-link:hover {
  background: #fbf8f1;
  border-color: #cdb895;
}
.outbox-attachment-link > span {
  flex: 1;
  min-width: 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.outbox-attachment-link small {
  display: block;
  color: #777;
  font-size: 12px;
  margin-top: 3px;
  font-weight: 400;
}
.timeline-entry summary {
  grid-template-columns: 100px minmax(0, 1fr) auto minmax(104px, max-content)
    18px;
  gap: 12px;
  padding: 16px 18px;
}
.timeline-entry.in summary {
  grid-template-columns: 100px minmax(0, 1fr) minmax(104px, max-content) 18px;
}
.timeline-entry summary > .delivery {
  white-space: nowrap;
  justify-self: start;
}
.timeline-entry summary > time {
  font-size: 12px;
  white-space: nowrap;
  justify-self: end;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.timeline-entry summary > .timeline-subject {
  min-width: 0;
  line-height: 1.4;
}
.timeline-entry-body {
  padding: 14px 18px 19px;
}
.timeline-entry-body > small {
  margin: 0 0 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.timeline-entry-body .timeline-message-text {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.75;
  margin: 12px 0 18px;
  padding: 0;
  max-height: none;
  overflow: visible;
}
.timeline-entry-body > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 5px 14px 0 0;
}
@media (max-width: 980px) {
  .timeline-entry summary {
    grid-template-columns: minmax(0, 1fr) auto 18px;
    gap: 7px 12px;
  }
  .timeline-entry summary > .timeline-kind {
    grid-column: 1;
    grid-row: 1;
  }
  .timeline-entry summary > .timeline-subject {
    grid-column: 1/-2;
    grid-row: 2;
    white-space: normal;
    overflow: visible;
  }
  .timeline-entry summary > .delivery {
    grid-column: 1;
    grid-row: 3;
  }
  .timeline-entry summary > time {
    grid-column: 2;
    grid-row: 3;
  }
  .timeline-entry summary > .timeline-chevron {
    grid-column: 3;
    grid-row: 1/4;
  }
}
@media (max-width: 560px) {
  .outbox-message-detail {
    padding: 18px;
  }
  .outbox-message-head-copy h1 {
    font-size: 22px;
  }
  .outbox-case-reference {
    display: block;
  }
  .outbox-case-reference a {
    display: block;
    margin-top: 6px;
  }
  .outbox-status-details {
    margin-left: 0;
    flex-basis: 100%;
  }
  .timeline-entry summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
  }
  .timeline-entry summary > .timeline-kind {
    grid-column: 1;
    grid-row: 1;
  }
  .timeline-entry summary > .timeline-subject {
    grid-column: 1;
    grid-row: 2;
  }
  .timeline-entry summary > .delivery {
    grid-column: 1;
    grid-row: 3;
  }
  .timeline-entry summary > time {
    grid-column: 1;
    grid-row: 4;
    justify-self: start;
  }
  .timeline-entry summary > .timeline-chevron {
    grid-column: 2;
    grid-row: 1/5;
  }
  .timeline-entry-body {
    padding: 14px;
  }
}
@media (max-width: 980px) {
  .timeline-entry.in summary {
    grid-template-columns: minmax(0, 1fr) auto 18px;
  }
}
@media (max-width: 560px) {
  .timeline-entry.in summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
.outbox-status-expandable.outbox-status-compact {
  display: block;
  padding: 0;
  overflow: hidden;
}
.outbox-status-expandable > .outbox-status-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 12px;
  min-width: 0;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
}
.outbox-status-expandable > .outbox-status-heading::-webkit-details-marker {
  display: none;
}
.outbox-status-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.outbox-status-main > .bi {
  flex-shrink: 0;
}
.outbox-status-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  white-space: nowrap;
  color: #77613b;
  font-size: 12px;
  font-weight: 650;
}
.outbox-status-toggle:before {
  content: "▸";
  display: inline-block;
  transition: transform 0.18s ease;
}
.outbox-status-expandable[open] .outbox-status-toggle:before {
  transform: rotate(90deg);
}
.outbox-status-content {
  margin: 0 16px;
  padding: 10px 0 14px;
  border-top: 1px solid #e7e1d6;
  color: #655b4b;
}
.outbox-status-content p {
  margin: 5px 0;
  overflow-wrap: anywhere;
  line-height: 1.55;
}
@media (max-width: 480px) {
  .outbox-status-expandable > .outbox-status-heading {
    align-items: flex-start;
    padding: 12px;
    gap: 8px;
  }
  .outbox-status-main {
    font-size: 12px;
  }
  .outbox-status-toggle {
    font-size: 11px;
  }
  .outbox-status-content {
    margin: 0 12px;
  }
}
.automation-dashboard,
.automation-case-settings,
.automation-document-settings,
.automation-settings-form > .panel {
  margin-top: 24px;
}
.automation-dashboard .panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.automation-decision-list {
  display: grid;
  gap: 14px;
}
.automation-decision {
  border: 1px solid #e8d9c7;
  border-radius: 18px;
  background: #fffdf9;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: center;
  flex-wrap: wrap;
  box-shadow: 0 5px 20px rgba(35, 43, 39, 0.035);
}
.automation-decision-main {
  min-width: 0;
  flex: 1 1 320px;
}
.automation-decision-main h3 {
  font-size: 1.12rem;
  overflow-wrap: anywhere;
  margin: 7px 0;
}
.automation-decision-main p {
  line-height: 1.55;
  margin: 8px 0 0;
}
.automation-decision-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.automation-decision-actions form {
  margin: 0;
}
.automation-decision-actions .btn {
  white-space: nowrap;
}
.automation-case-settings {
  padding: 20px;
}
.automation-case-settings > summary {
  font-weight: 700;
  cursor: pointer;
}
.automation-case-settings form {
  margin-top: 20px;
  display: flex;
  gap: 15px;
  align-items: flex-end;
  flex-wrap: wrap;
}
.automation-case-settings label {
  flex: 1 1 320px;
}
.automation-document-settings form {
  display: grid;
  gap: 18px;
}
.automation-document-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0;
}
.automation-settings-form {
  display: grid;
  gap: 4px;
}
.automation-settings-footer {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 22px 0 36px;
}
@media (max-width: 650px) {
  .automation-decision {
    padding: 16px;
  }
  .automation-decision-actions {
    width: 100%;
  }
  .automation-decision-actions .btn {
    font-size: 0.9rem;
  }
  .automation-dashboard,
  .automation-case-settings,
  .automation-document-settings {
    margin-top: 18px;
  }
}
.content > .automation-case-settings.panel {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  margin: 24px 0 26px;
  overflow: hidden;
  border: 1px solid #e7ddce;
  border-radius: 22px;
  background: #fff;
}
.content > .automation-case-settings > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 20px 26px;
  box-sizing: border-box;
  color: #775923;
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}
.content > .automation-case-settings > summary::-webkit-details-marker {
  display: none;
}
.content > .automation-case-settings > summary::after {
  content: "⌄";
  margin-left: auto;
  font-size: 1.3rem;
  line-height: 1;
  transition: transform 0.18s ease;
}
.content > .automation-case-settings[open] > summary::after {
  transform: rotate(180deg);
}
.content > .automation-case-settings > summary .bi {
  flex: none;
}
.content > .automation-case-settings[open] > summary {
  border-bottom: 1px solid #eee6dc;
}
.content > .automation-case-settings .automation-case-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  margin: 0;
  padding: 22px 26px 26px;
}
.content > .automation-case-settings .automation-case-field {
  display: grid;
  gap: 9px;
  min-width: 0;
}
.content > .automation-case-settings .automation-case-field label {
  display: block;
  margin: 0;
  color: #4a443b;
  font-size: 0.91rem;
  font-weight: 700;
}
.content > .automation-case-settings .automation-case-field select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 0 42px 0 15px;
  box-sizing: border-box;
  border: 1px solid #dfd3c1;
  border-radius: 13px;
  background-color: #fff;
  color: #292c29;
  font: inherit;
}
.content
  > .automation-case-settings
  .automation-case-field
  select:focus-visible {
  outline: 2px solid #9a7c43;
  outline-offset: 2px;
}
.content > .automation-case-settings .automation-case-form > .btn {
  margin: 0;
  min-height: 50px;
  padding: 0 22px;
  white-space: nowrap;
  justify-content: center;
  border-radius: 13px;
}
.content > .automation-case-settings + .case-layout {
  margin-top: 0;
}
@media (max-width: 700px) {
  .content > .automation-case-settings.panel {
    margin: 18px 0 22px;
    border-radius: 18px;
  }
  .content > .automation-case-settings > summary {
    padding: 17px 18px;
    min-height: 58px;
  }
  .content > .automation-case-settings .automation-case-form {
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
    gap: 14px;
  }
  .content > .automation-case-settings .automation-case-form > .btn {
    width: 100%;
  }
}
.settings-quicknav > a[href="/settings/automation"] {
  grid-column: span 2;
  white-space: nowrap;
  justify-content: center;
}
.settings-quicknav > a[href="/settings/automation"] svg {
  flex-shrink: 0;
}
@media (max-width: 760px) {
  .settings-quicknav > a[href="/settings/automation"] {
    grid-column: 1 / -1;
  }
}
@media (max-width: 380px) {
  .settings-quicknav > a[href="/settings/automation"] {
    font-size: 13px;
  }
}
.storage-provenance-list {
  min-width: 0;
}
.storage-provenance-list > .storage-provenance-entry {
  display: block;
  padding: 20px 22px;
  min-width: 0;
  background: #fff;
}
.storage-provenance-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px 24px;
  min-width: 0;
}
.storage-provenance-head code {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.storage-provenance-head .storage-provenance-meta {
  margin-left: auto;
  flex-shrink: 0;
  text-align: right;
  white-space: nowrap;
  font-size: 13px;
}
.storage-provenance-title {
  display: block;
  margin-top: 13px;
  line-height: 1.4;
}
.storage-provenance-desc {
  margin-top: 7px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.storage-orphan-note {
  margin: 0 0 16px;
  line-height: 1.55;
}
@media (max-width: 650px) {
  .storage-provenance-list > .storage-provenance-entry {
    padding: 16px;
  }
  .storage-provenance-head .storage-provenance-meta {
    margin-left: 0;
    text-align: left;
    white-space: normal;
  }
}
.assistant-workflow {
  display: grid;
  gap: 22px;
  margin-top: 26px;
  margin-bottom: 26px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid #e8dac6;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(32, 39, 36, 0.045);
}
.assistant-workflow-header {
  display: grid;
  gap: 7px;
}
.assistant-workflow-header h2 {
  margin: 0;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.3;
}
.assistant-workflow-header p {
  margin: 0;
  color: #686d6b;
  line-height: 1.55;
}
.assistant-facts {
  display: grid;
  gap: 9px;
  padding: 19px 21px;
  background: #faf7f0;
  border: 1px solid #ebdfca;
  border-radius: 15px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.assistant-facts strong {
  color: #25312d;
}
.assistant-facts span {
  color: #4d5550;
}
.assistant-facts .assistant-warning {
  color: #8c4c25;
}
.assistant-action-options {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  display: grid;
  gap: 11px;
}
.assistant-action-options legend {
  padding: 0 0 12px;
  font-weight: 700;
}
.assistant-action-options label {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px;
  border: 1px solid #e8dac6;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  min-width: 0;
}
.assistant-action-options label:has(input:checked) {
  border-color: #4a8672;
  background: #f5faf7;
}
.assistant-action-options input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: #36765e;
}
.assistant-action-options label span {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.assistant-action-options label small {
  font-weight: 400;
  line-height: 1.5;
  color: #646f6a;
}
.assistant-task-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 14px;
  align-items: end;
}
.assistant-task-fields[hidden] {
  display: none !important;
}
.assistant-task-fields label {
  display: grid;
  gap: 8px;
  font-weight: 600;
  min-width: 0;
}
.assistant-task-fields input {
  width: 100%;
  min-width: 0;
}
.assistant-task-fields p {
  grid-column: 1/-1;
  color: #686d6b;
  font-size: 14px;
  margin: 0;
}
.assistant-compose-notice {
  border: 1px solid #d3e4da;
  background: #f4faf6;
  border-radius: 14px;
  padding: 17px 20px;
  margin: 14px 0;
}
.assistant-compose-notice p {
  margin: 6px 0 0;
  color: #5d6862;
  line-height: 1.5;
}
@media (max-width: 680px) {
  .assistant-workflow {
    padding: 18px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .assistant-task-fields {
    grid-template-columns: minmax(0, 1fr);
  }
  .assistant-action-options label {
    padding: 13px;
  }
  .assistant-facts {
    padding: 15px;
  }
}
.assistant-review-panel {
  display: grid;
  gap: 15px;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid #e4d9c8;
  border-radius: 17px;
  background: #fff;
  min-width: 0;
  overflow-wrap: anywhere;
}
.assistant-review-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
.assistant-review-head strong {
  font-size: 19px;
}
.assistant-review-head span,
.assistant-review-type,
.assistant-sources p {
  color: #666f69;
  font-size: 14px;
}
.assistant-review-type {
  margin: 0;
}
.assistant-summary {
  padding: 15px 18px;
  border-radius: 13px;
  background: #f8f6f1;
  display: grid;
  gap: 8px;
}
.assistant-summary p {
  margin: 0;
  line-height: 1.65;
  white-space: normal;
}
.assistant-summary small {
  font-size: 12px;
  color: #6c746e;
}
.assistant-sources {
  border: 1px solid #eadfce;
  border-radius: 13px;
  padding: 13px 16px;
}
.assistant-sources summary {
  cursor: pointer;
  font-weight: 650;
}
.assistant-sources ul {
  margin: 13px 0;
  padding-left: 21px;
  display: grid;
  gap: 12px;
}
.assistant-sources li {
  line-height: 1.55;
}
.assistant-sources p {
  margin: 9px 0 0;
}
.assistant-checks-title {
  font-size: 15px;
}
.assistant-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}
.assistant-checklist li {
  padding: 12px 15px;
  border: 1px solid #ece2d4;
  border-radius: 12px;
  display: grid;
  gap: 4px;
  line-height: 1.45;
}
.assistant-checklist li span {
  color: #656f69;
  font-size: 14px;
}
@media (max-width: 680px) {
  .assistant-review-panel {
    padding: 15px;
  }
  .assistant-review-head {
    align-items: flex-start;
  }
  .assistant-summary {
    padding: 13px;
  }
}
.document-compare-page .panel {
  margin-bottom: 24px;
}
.compare-documents-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}
.compare-documents-grid > * {
  min-width: 0;
  margin: 0;
}
.compare-document {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 19px;
  border: 1px solid #e7d8c6;
  border-radius: 17px;
  background: #fcfaf6;
  overflow-wrap: anywhere;
}
.compare-document small,
.compare-document span {
  color: #726e65;
}
.compare-document strong {
  font-size: 1.05rem;
  color: #1e2926;
}
.compare-documents-grid label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-weight: 700;
}
.compare-documents-grid select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.compare-notice {
  margin: 16px 0 0;
  line-height: 1.55;
}
.compare-warning {
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid #dfbf8e;
  border-radius: 16px;
  background: #fff9ec;
  color: #805321;
  line-height: 1.55;
}
.compare-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0 23px;
}
.compare-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fcfaf6;
  padding: 18px;
  border: 1px solid #e7d8c6;
  border-radius: 15px;
}
.compare-stat span {
  font-size: 0.9rem;
  color: #665f57;
}
.compare-stat strong {
  font-size: 1.7rem;
}
.compare-add-text {
  color: #28704d;
}
.compare-remove-text {
  color: #a34237;
}
.compare-diff {
  border: 1px solid #e7d8c6;
  border-radius: 16px;
  overflow: hidden;
}
.compare-line {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 15px;
  line-height: 1.6;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  border-bottom: 1px solid rgba(85, 80, 70, 0.1);
}
.compare-line:last-child {
  border-bottom: 0;
}
.compare-line-mark {
  font-weight: 800;
}
.compare-added {
  background: #eef9f0;
  color: #205b3e;
}
.compare-removed {
  background: #fff1ee;
  color: #8b3c33;
}
.compare-skipped {
  background: #f7f5f0;
  text-align: center;
  color: #6c655d;
  font-size: 0.83rem;
  padding: 9px;
}
.compare-identical {
  background: #edf8f0;
  border: 1px solid #c4e3ce;
  border-radius: 12px;
  padding: 18px;
  color: #285d41;
}
.compare-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
@media (max-width: 720px) {
  .compare-documents-grid,
  .compare-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .compare-line {
    padding: 11px 10px;
    grid-template-columns: 20px minmax(0, 1fr);
  }
  .compare-links > .btn {
    width: 100%;
  }
}
.compare-facts-panel {
  margin-bottom: 24px;
  min-width: 0;
}
.compare-facts-list {
  display: grid;
  gap: 13px;
  margin-top: 19px;
}
.compare-fact {
  padding: 17px 19px;
  border: 1px solid #e8ddce;
  border-radius: 15px;
  background: #fff;
  min-width: 0;
}
.compare-fact-changed {
  border-left: 4px solid #b88b45;
}
.compare-fact-label {
  display: flex;
  gap: 9px 15px;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 12px;
  overflow-wrap: anywhere;
}
.compare-fact-label span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #806a4d;
  font-weight: 700;
}
.compare-fact-label strong {
  color: #222b28;
}
.compare-fact-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.compare-fact-columns > div {
  min-width: 0;
  padding: 13px 15px;
  background: #faf8f4;
  border-radius: 11px;
  overflow-wrap: anywhere;
  display: grid;
  align-content: start;
  gap: 7px;
}
.compare-fact-columns small {
  color: #686b64;
}
.compare-fact-columns strong {
  font-size: 17px;
}
.compare-fact-columns details {
  min-width: 0;
  font-size: 13px;
}
.compare-fact-columns summary {
  cursor: pointer;
  color: #705428;
  font-weight: 600;
}
.compare-fact-columns details p {
  margin: 9px 0 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.compare-fact-warning {
  margin: 15px 0 0;
}
@media (max-width: 650px) {
  .compare-fact {
    padding: 14px;
  }
  .compare-fact-columns {
    grid-template-columns: minmax(0, 1fr);
  }
  .compare-fact-columns > div {
    padding: 12px;
  }
}
.emergency-page {
  display: grid;
  gap: 24px;
}
.emergency-page .page-head {
  margin-bottom: 0;
}
.emergency-intro {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  border-left: 4px solid #3b866c;
}
.emergency-intro p,
.emergency-notice p {
  margin: 8px 0 0;
  line-height: 1.65;
}
.emergency-intro-icon {
  font-size: 2rem;
  color: #348365;
}
.emergency-add-form {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
  gap: 14px;
}
.emergency-add-form label,
.emergency-detail-form label {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.emergency-add-form select,
.emergency-detail-form select {
  width: 100%;
  min-width: 0;
}
.emergency-helper {
  margin: 12px 0 0;
}
.emergency-collections {
  display: grid;
  gap: 18px;
}
.emergency-collection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.emergency-collection-head h2 {
  margin: 0;
}
.emergency-group .panel-head {
  margin-bottom: 12px;
}
.emergency-file-list {
  display: grid;
  gap: 10px;
}
.emergency-file {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px;
  border: 1px solid var(--border, #e2e6e2);
  border-radius: 12px;
  min-width: 0;
}
.emergency-file-icon {
  font-size: 1.6rem;
  color: #368467;
}
.emergency-file-copy {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 4px;
  overflow-wrap: anywhere;
}
.emergency-file-copy small {
  color: var(--muted, #65716c);
}
.emergency-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.emergency-file-actions form {
  margin: 0;
}
.emergency-notice {
  margin-top: 0;
}
.emergency-document-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 22px 0;
}
.emergency-document-action h2 {
  margin: 0 0 6px;
}
.emergency-document-action p {
  margin: 0;
}
.emergency-detail-form {
  display: flex;
  gap: 10px;
  align-items: end;
  flex-wrap: wrap;
}
.emergency-detail-form label {
  min-width: 190px;
}
@media (max-width: 850px) {
  .emergency-add-form {
    grid-template-columns: 1fr;
  }
  .emergency-add-form button {
    width: 100%;
  }
  .emergency-file {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .emergency-file-actions {
    width: 100%;
    padding-left: 0;
  }
  .emergency-document-action {
    flex-direction: column;
    align-items: stretch;
  }
  .emergency-detail-form {
    display: grid;
    grid-template-columns: 1fr;
  }
  .emergency-detail-form label {
    min-width: 0;
  }
}
.emergency-page .panel {
  min-width: 0;
}
.emergency-add-form {
  grid-template-columns: minmax(0, 1.6fr) minmax(220px, 1fr) auto;
  align-items: end;
}
.emergency-add-form label,
.emergency-share-form label {
  font-weight: 650;
  line-height: 1.4;
  min-width: 0;
}
.emergency-add-form select,
.emergency-share-form select,
.emergency-share-form input[type="email"] {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #d9cdbb;
  border-radius: 12px;
  background: #fff;
  color: #1e2927;
  font: inherit;
  margin-top: 8px;
  box-sizing: border-box;
}
.emergency-add-form .btn {
  min-height: 46px;
  white-space: nowrap;
}
.emergency-add-form select:focus-visible,
.emergency-share-form input:focus-visible,
.emergency-share-form select:focus-visible {
  outline: 2px solid #3c8065;
  outline-offset: 2px;
}
.emergency-add,
.emergency-group,
.emergency-share-panel,
.emergency-notice {
  margin: 0;
}
.emergency-page .panel-head h2 {
  margin: 0;
}
.emergency-page .panel-head small {
  display: block;
  margin-top: 5px;
  line-height: 1.45;
  color: #6d716e;
}
.emergency-collections {
  gap: 24px;
}
.emergency-collection-head {
  padding: 0 2px;
}
.emergency-collection-head h2 {
  line-height: 1.3;
}
.emergency-share-form {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr);
  gap: 16px;
  margin-top: 18px;
}
.emergency-share-choices {
  grid-column: 1/-1;
  display: grid;
  gap: 8px;
  min-width: 0;
  border: 1px solid #e4daca;
  border-radius: 14px;
  padding: 14px 16px;
}
.emergency-share-choices legend {
  padding: 0 7px;
  font-weight: 700;
}
.emergency-share-choice {
  display: flex !important;
  gap: 10px;
  align-items: center;
  font-weight: 500 !important;
  overflow-wrap: anywhere;
}
.emergency-share-choice input {
  width: 18px;
  height: 18px;
  flex: none;
  accent-color: #327b5b;
}
.emergency-share-form > p {
  grid-column: 1/-1;
  margin: 0;
  line-height: 1.55;
}
.emergency-share-submit {
  grid-column: 1/-1;
  justify-self: start;
  min-height: 44px;
}
.emergency-share-history {
  margin-top: 26px;
  border-top: 1px solid #e5d9ca;
  padding-top: 18px;
  display: grid;
  gap: 10px;
}
.emergency-share-history h3 {
  margin: 0 0 5px;
}
.emergency-share-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  border: 1px solid #e7ddcf;
  border-radius: 12px;
  padding: 14px;
  min-width: 0;
}
.emergency-share-row > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.emergency-share-row small {
  display: block;
  color: #66716e;
  margin-top: 5px;
  line-height: 1.5;
}
.emergency-share-row form {
  margin: 0;
  flex: none;
}
@media (max-width: 900px) {
  .emergency-add-form {
    grid-template-columns: 1fr 1fr;
  }
  .emergency-add-form label:first-child {
    grid-column: 1/-1;
  }
  .emergency-add-form .btn {
    width: 100%;
  }
}
@media (max-width: 650px) {
  .emergency-add-form,
  .emergency-share-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .emergency-add-form label:first-child,
  .emergency-share-choices,
  .emergency-share-form > p,
  .emergency-share-submit {
    grid-column: 1;
  }
  .emergency-add-form .btn,
  .emergency-share-submit {
    width: 100%;
  }
  .emergency-share-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .emergency-share-row form,
  .emergency-share-row .btn {
    width: 100%;
  }
  .emergency-collection-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.document-page .emergency-document-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  align-items: center;
  gap: 26px;
  padding: 28px 32px;
  margin: 24px 0 30px;
}
.document-page .emergency-document-action > div {
  min-width: 0;
}
.document-page .emergency-document-action h2 {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.document-page .emergency-document-action p {
  line-height: 1.6;
  color: var(--muted, #64716c);
  max-width: 54ch;
}
.document-page .emergency-detail-form {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto;
  gap: 14px;
  align-items: end;
  min-width: 0;
}
.document-page .emergency-detail-form label {
  display: grid;
  gap: 8px;
  min-width: 0;
  font-weight: 650;
}
.document-page .emergency-detail-form select {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid #d9cdbb;
  background: #fff;
  padding: 10px 13px;
  font: inherit;
  color: #202b29;
}
.document-page .emergency-detail-form .btn {
  min-height: 48px;
  white-space: nowrap;
}
.document-page .emergency-document-action select:focus-visible {
  outline: 2px solid #3b866c;
  outline-offset: 2px;
}
.emergency-recipient {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.emergency-recipient small {
  color: #69716c;
  line-height: 1.45;
}
.emergency-share-form .emergency-recipient label {
  display: grid;
  gap: 4px;
}
.emergency-share-form .emergency-recipient select,
.emergency-share-form .emergency-recipient input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .document-page .emergency-document-action {
    grid-template-columns: 1fr;
  }
  .document-page .emergency-detail-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
@media (max-width: 600px) {
  .document-page .emergency-document-action {
    padding: 22px 18px;
  }
  .document-page .emergency-detail-form {
    grid-template-columns: 1fr;
  }
  .document-page .emergency-detail-form .btn {
    width: 100%;
  }
}
.life-events-page {
  display: grid;
  gap: 26px;
}
.life-events-page .page-head {
  margin-bottom: 0;
}
.life-template-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.life-template {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 30px;
}
.life-template h2,
.life-panel h2 {
  margin: 0;
}
.life-template p {
  color: #68716d;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.life-template-icon {
  font-size: 28px;
  color: #8d6527;
}
.life-template form {
  margin: 0;
}
.life-template .btn {
  width: 100%;
}
.life-meta {
  color: #68716d;
  font-size: 0.9rem;
}
.life-panel {
  padding: 30px;
}
.life-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.life-panel-head span {
  color: #69716e;
}
.life-status {
  display: inline-flex;
  white-space: nowrap;
  border-radius: 100px;
  padding: 7px 12px;
  background: #f6eee1;
  color: #785a2c;
  font-size: 0.85rem;
  font-weight: 700;
}
.life-status.is-done {
  background: #e5f5ec;
  color: #246346;
}
.life-step-list,
.life-event-list {
  display: grid;
  gap: 10px;
}
.life-step {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e3d8c9;
  border-radius: 12px;
  margin: 0;
  min-width: 0;
}
.life-step button {
  border: 0;
  background: transparent;
  color: #8c6427;
  cursor: pointer;
  padding: 6px;
  flex: none;
  font-size: 1.3rem;
}
.life-step button:disabled {
  cursor: default;
  opacity: 0.5;
}
.life-step.is-done span {
  text-decoration: line-through;
  color: #68716d;
}
.life-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}
.life-actions form {
  margin: 0;
}
.life-notice {
  color: #69716d;
  line-height: 1.6;
}
.life-event-link {
  display: flex;
  align-items: center;
  gap: 16px;
  border: 1px solid #e3d8c9;
  border-radius: 12px;
  padding: 16px;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}
.life-event-link > span:first-child {
  flex: 1;
  min-width: 0;
}
.life-event-link strong,
.life-event-link small {
  display: block;
}
.life-event-link small {
  color: #69716d;
  margin-top: 5px;
}
.life-event-link:hover {
  border-color: #a98c5a;
  background: #fffaf2;
}
@media (max-width: 950px) {
  .life-template-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .life-template-grid {
    grid-template-columns: 1fr;
  }
  .life-template,
  .life-panel {
    padding: 22px 18px;
  }
  .life-actions,
  .life-actions form,
  .life-actions .btn {
    width: 100%;
  }
  .life-event-link {
    flex-wrap: wrap;
  }
}
.life-add-step {
  display: flex;
  gap: 12px;
  align-items: end;
  margin-top: 22px;
}
.life-add-step label {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 7px;
  font-weight: 650;
}
.life-add-step input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d9cdbb;
  border-radius: 12px;
  padding: 10px 13px;
  background: #fff;
  color: #202b29;
  font: inherit;
  box-sizing: border-box;
}
.life-add-step .btn {
  min-height: 46px;
}
@media (max-width: 600px) {
  .life-add-step {
    flex-direction: column;
    align-items: stretch;
  }
}
.emergency-add-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}
.emergency-picker {
  display: grid;
  gap: 9px;
  min-width: 0;
}
.emergency-picker > label {
  font-weight: 650;
}
.emergency-document-search {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 15px;
  border: 1px solid #d9cdbb;
  border-radius: 12px;
  background: #fff;
  color: #1e2927;
  font: inherit;
}
.emergency-document-search:focus-visible {
  outline: 2px solid #3c8065;
  outline-offset: 2px;
}
.emergency-picker-count {
  margin: 0;
  font-size: 0.9rem;
}
.emergency-document-list {
  display: grid;
  gap: 9px;
  max-height: 370px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 3px 7px 3px 2px;
  min-width: 0;
}
.emergency-document-option {
  align-items: center;
  gap: 13px;
  cursor: pointer;
  padding: 13px 15px;
  border: 1px solid #e6d9c9;
  border-radius: 13px;
  background: #fff;
  min-width: 0;
  font-weight: 400 !important;
  transition: border-color 0.15s,
    background 0.15s;
}
.emergency-document-option:hover {
  border-color: #ad9674;
  background: #fbf8f2;
}
.emergency-document-option:has(input:checked) {
  border-color: #378368;
  background: #f0f8f3;
}
.emergency-document-option[hidden] {
  display: none !important;
}
.emergency-document-option > input {
  flex: 0 0 auto;
  accent-color: #368467;
  width: 18px;
  height: 18px;
  margin: 0;
}
.emergency-document-option-copy {
  gap: 4px;
  line-height: 1.4;
}
.emergency-document-option-copy strong {
  color: #1e2927;
}
.emergency-document-option-copy small {
  font-weight: 400;
  color: #626c69;
  font-size: 0.87rem;
}
.emergency-document-option-copy svg {
  vertical-align: -0.12em;
  margin-right: 4px;
}
.emergency-document-option-check {
  color: #348365;
  visibility: hidden;
}
.emergency-document-option:has(input:checked) .emergency-document-option-check {
  visibility: visible;
}
.emergency-no-results {
  padding: 16px;
  margin: 0;
  border: 1px dashed #d9cdbb;
  border-radius: 12px;
}
.emergency-add-controls {
  display: flex;
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
}
.emergency-add-controls > label {
  flex: 1 1 240px;
}
.emergency-add-controls > .btn {
  flex: 0 0 auto;
}
@media (max-width: 650px) {
  .emergency-document-list {
    max-height: 390px;
  }
  .emergency-document-option {
    padding: 12px;
    gap: 10px;
  }
  .emergency-add-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .emergency-add-controls > .btn {
    width: 100%;
  }
}
.emergency-document-option {
  display: flex !important;
  align-items: stretch;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
}
.emergency-document-select {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  flex: 1 1 360px;
  min-width: 0;
  cursor: pointer;
  margin: 0 !important;
}
.emergency-document-select > input {
  flex: 0 0 auto;
  accent-color: #368467;
  width: 19px;
  height: 19px;
  margin: 5px 0 0;
}
.emergency-document-option-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
  flex: 1;
  overflow-wrap: anywhere;
}
.emergency-document-option-copy strong {
  font-size: 1rem;
  line-height: 1.35;
}
.emergency-document-context {
  color: #66512d;
  font-size: 0.88rem;
  line-height: 1.45;
}
.emergency-document-context svg {
  vertical-align: -0.13em;
  margin-right: 5px;
}
.emergency-document-notes {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #293c35;
  background: #f8f6f0;
  border-radius: 8px;
  padding: 7px 9px;
  white-space: pre-line;
}
.emergency-document-missing {
  font-size: 0.86rem;
  color: #8a6231;
}
.emergency-document-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.emergency-document-tags span {
  display: inline-block;
  border-radius: 999px;
  background: #f6f1e8;
  padding: 3px 8px;
  color: #66512d;
  font-size: 0.79rem;
}
.emergency-document-meta {
  font-size: 0.8rem;
  color: #727973;
  overflow-wrap: anywhere;
}
.emergency-document-inspect {
  align-self: center;
  white-space: nowrap;
  flex: 0 0 auto;
  text-decoration: none !important;
}
.emergency-document-inspect:hover {
  background: #f1f5ef;
}
.emergency-document-option:has(.emergency-document-select > input:checked) {
  border-color: #378368;
  background: #f0f8f3;
}
.emergency-document-option:focus-within {
  outline: 2px solid #3c8065;
  outline-offset: 2px;
}
.emergency-document-option:has(.emergency-document-select > input:checked)
  .emergency-document-option-check {
  visibility: visible;
}
@media (max-width: 700px) {
  .emergency-document-select {
    flex-basis: 100%;
  }
  .emergency-document-inspect {
    margin-left: 31px;
  }
  .emergency-document-option {
    gap: 9px;
  }
}
.emergency-document-relation {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 9px;
  padding: 8px 10px;
  border-radius: 9px;
  background: #f3f7f3;
  color: #234c3e;
  font-size: 0.88rem;
  line-height: 1.45;
}
.emergency-document-relation-invoice {
  background: #f8f4ed;
  color: #654b2a;
}
.emergency-document-relation-label {
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.emergency-document-relation-info {
  min-width: 0;
  overflow-wrap: anywhere;
}
.emergency-document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 0;
}
.emergency-document-links:empty {
  display: none;
}
.emergency-document-links .btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
@media (max-width: 700px) {
  .emergency-document-links {
    width: 100%;
    padding-left: 31px;
  }
  .emergency-document-links .btn {
    flex: 1 1 auto;
  }
}
.emergency-document-relation {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  column-gap: 12px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.emergency-document-relation-label {
  flex: 0 0 auto;
  white-space: nowrap;
}
.emergency-document-relation-info {
  flex: 0 0 auto;
  min-width: max-content;
  white-space: nowrap;
  overflow-wrap: normal;
}
.emergency-dashboard-shortcut {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 24px;
  margin: 0 0 24px;
  border: 1px solid #bcd7c7;
  border-left: 5px solid #398568;
  border-radius: 18px;
  background: #f1faf4;
  color: #20322b;
  text-decoration: none;
  box-shadow: 0 7px 22px rgba(26, 42, 33, 0.06);
}
.emergency-dashboard-shortcut:hover,
.emergency-dashboard-shortcut:focus-visible {
  background: #e8f5ed;
  box-shadow: 0 9px 26px rgba(26, 42, 33, 0.11);
}
.emergency-dashboard-shortcut-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 13px;
  background: #d8eee0;
  color: #236c46;
  font-size: 1.4rem;
}
.emergency-dashboard-shortcut-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
.emergency-dashboard-shortcut-copy strong {
  font-size: 1.05rem;
}
.emergency-dashboard-shortcut-copy small {
  color: #53645a;
}
.emergency-dashboard-shortcut-action {
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-weight: 700;
  color: #246946;
}
.emergency-shared-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 680px) {
  .emergency-dashboard-shortcut {
    flex-wrap: wrap;
    padding: 16px;
    gap: 12px;
  }
  .emergency-dashboard-shortcut-action {
    width: 100%;
    padding-left: 60px;
  }
  .emergency-shared-actions {
    width: 100%;
  }
  .emergency-shared-actions .btn {
    flex: 1;
    justify-content: center;
  }
}
.emergency-own-collection {
  display: block;
  min-width: 0;
  border: 1px solid #e7ddcf;
  border-radius: 20px;
  padding: 18px 22px;
  background: #fff;
}
.emergency-own-collection > .emergency-collection-head {
  cursor: pointer;
  list-style: none;
  min-height: 42px;
  gap: 14px;
}
.emergency-own-collection > .emergency-collection-head::-webkit-details-marker {
  display: none;
}
.emergency-collection-heading {
  font-size: 1.35rem;
  font-weight: 750;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.emergency-collection-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.emergency-own-chevron {
  display: inline-flex;
  transition: transform 0.2s ease;
  color: #87662d;
}
.emergency-own-collection[open] .emergency-own-chevron {
  transform: rotate(180deg);
}
.emergency-collection-explain {
  margin: 12px 0 18px;
  line-height: 1.5;
}
.emergency-own-collection .emergency-group + .emergency-group {
  margin-top: 18px;
}
.emergency-own-collection > .emergency-collection-head:focus-visible {
  outline: 2px solid #348365;
  outline-offset: 5px;
  border-radius: 8px;
}
@media (max-width: 650px) {
  .emergency-own-collection {
    padding: 16px;
  }
  .emergency-collection-heading {
    font-size: 1.1rem;
  }
  .emergency-collection-meta {
    gap: 6px;
  }
}
.emergency-grant-details {
  margin: -4px 0 10px;
  border: 1px solid #e7ddcf;
  border-top: 0;
  border-radius: 0 0 13px 13px;
  background: #fff;
  min-width: 0;
}
.emergency-grant-details summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 15px;
  color: #6c542d;
  font-weight: 700;
  list-style: none;
}
.emergency-grant-details summary::-webkit-details-marker {
  display: none;
}
.emergency-grant-details summary:focus-visible {
  outline: 2px solid #368467;
  outline-offset: -3px;
  border-radius: 9px;
}
.emergency-grant-details[open] summary {
  border-bottom: 1px solid #e7ddcf;
}
.emergency-grant-files {
  padding: 8px 15px;
  display: grid;
  gap: 0;
}
.emergency-grant-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px 0;
}
.emergency-grant-file + .emergency-grant-file {
  border-top: 1px solid #eee6db;
}
.emergency-grant-file-name {
  display: grid;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.emergency-grant-file-name small {
  color: #68716d;
  font-weight: 400;
}
.emergency-grant-file .btn {
  flex: none;
}
@media (max-width: 650px) {
  .emergency-grant-file {
    align-items: flex-start;
    flex-direction: column;
  }
  .emergency-grant-file .btn {
    width: 100%;
  }
}
.emergency-document-option .emergency-document-relation {
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  overflow: visible;
  min-width: 0;
}
.emergency-document-option .emergency-document-relation-label {
  width: 100px;
  min-width: 100px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.emergency-document-option .emergency-document-relation-info {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.emergency-document-link-menu {
  min-width: 0;
  position: relative;
  flex: 0 1 auto;
}
.emergency-document-link-menu > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}
.emergency-document-link-menu > summary::-webkit-details-marker {
  display: none;
}
.emergency-document-link-menu > summary:focus-visible {
  outline: 2px solid #368467;
  outline-offset: 2px;
}
.emergency-document-link-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 23px;
  height: 23px;
  padding: 0 5px;
  background: #f1f5ed;
  border-radius: 999px;
  font-size: 0.78rem;
  color: #345b49;
}
.emergency-document-link-menu[open] {
  flex: 1 1 100%;
  order: 2;
}
.emergency-document-link-menu[open] > .emergency-document-link-menu-items {
  margin-top: 8px;
}
.emergency-document-link-menu-items {
  display: grid;
  gap: 4px;
  padding: 7px;
  background: #fbf8f3;
  border: 1px solid #e5d8c8;
  border-radius: 12px;
  max-height: 230px;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-width: 0;
}
.emergency-document-link-menu-items a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-radius: 8px;
  padding: 9px 11px;
  color: #22342f;
  text-decoration: none;
  min-width: 0;
}
.emergency-document-link-menu-items a:hover,
.emergency-document-link-menu-items a:focus-visible {
  background: #ebf4ed;
  outline: 2px solid transparent;
}
.emergency-document-link-menu-items a > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.emergency-document-link-menu-items a small {
  font-size: 0.8rem;
  color: #68736d;
}
@media (max-width: 700px) {
  .emergency-document-option .emergency-document-relation {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 8px;
  }
  .emergency-document-option .emergency-document-relation-label {
    width: 86px;
    min-width: 86px;
  }
  .emergency-document-link-menu {
    flex: 1 1 auto;
  }
  .emergency-document-link-menu > summary {
    width: 100%;
  }
  .emergency-document-links .emergency-document-link-menu .btn {
    white-space: nowrap;
  }
}
.emergency-document-list .emergency-document-option {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 12px;
  row-gap: 12px;
  padding: 15px;
  min-width: 0;
}
.emergency-document-list .emergency-document-select {
  grid-column: 1 / -1;
  flex: none;
  display: flex !important;
  width: 100%;
  min-width: 0;
}
.emergency-document-list .emergency-document-option-copy {
  width: 100%;
  min-width: 0;
  flex: 1;
}
.emergency-document-list .emergency-document-relation {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 12px;
  overflow: hidden;
  box-sizing: border-box;
}
.emergency-document-list .emergency-document-relation-label {
  width: auto;
  min-width: 0;
}
.emergency-document-list .emergency-document-relation-info {
  display: block;
  flex: 1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.emergency-document-list .emergency-document-links {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0 0 0 31px;
  min-width: 0;
  width: auto;
}
.emergency-document-list .emergency-document-links:empty {
  display: none;
}
.emergency-document-list .emergency-document-inspect {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  align-self: center;
  justify-self: end;
}
.emergency-document-list .emergency-document-links .btn {
  white-space: nowrap;
  flex: none;
}
.emergency-choose-related {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.emergency-related-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  box-sizing: border-box;
  width: min(540px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: min(80vh, 680px);
  padding: 0;
  border: 1px solid #dfd3c3;
  border-radius: 20px;
  background: #fff;
  color: #1e2927;
  box-shadow: 0 22px 80px rgba(20, 31, 28, 0.25);
  overflow: hidden;
}
.emergency-related-dialog::backdrop {
  background: rgba(13, 26, 23, 0.56);
}
.emergency-related-dialog[open] {
  display: flex;
  flex-direction: column;
}
.emergency-related-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 25px 17px;
  border-bottom: 1px solid #eee4d8;
}
.emergency-related-dialog-head h3 {
  font-size: 1.45rem;
  margin: 5px 0;
}
.emergency-related-dialog-head p {
  margin: 0;
  color: #626c69;
  font-size: 0.91rem;
  overflow-wrap: anywhere;
}
.emergency-dialog-close {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid #e6d9c9;
  background: #fff;
  color: #26332e;
  cursor: pointer;
}
.emergency-dialog-close:hover,
.emergency-dialog-close:focus-visible {
  background: #f4f7f2;
  outline: 2px solid #3b866c;
  outline-offset: 1px;
}
.emergency-related-dialog-items {
  padding: 12px 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  min-height: 0;
  display: grid;
  gap: 7px;
}
.emergency-related-dialog-items a {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-decoration: none;
  color: #20332a;
  border: 1px solid #e8e0d4;
  border-radius: 12px;
  padding: 13px 15px;
  min-width: 0;
  background: #fff;
}
.emergency-related-dialog-items a:hover,
.emergency-related-dialog-items a:focus-visible {
  background: #eef7f1;
  border-color: #a8ceaf;
  outline: 2px solid transparent;
}
.emergency-related-dialog-items a > svg {
  flex: none;
  margin-top: 3px;
}
.emergency-related-dialog-items a > span {
  display: grid;
  gap: 4px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.emergency-related-dialog-items strong {
  font-size: 0.97rem;
}
.emergency-related-dialog-items small {
  font-size: 0.85rem;
  color: #64716a;
}
.emergency-related-dialog-foot {
  display: flex;
  justify-content: flex-end;
  padding: 14px 22px;
  border-top: 1px solid #eee4d8;
  background: #fcfaf6;
}
@media (max-width: 700px) {
  .emergency-document-list .emergency-document-option {
    grid-template-columns: minmax(0, 1fr);
    padding: 12px;
  }
  .emergency-document-list .emergency-document-links {
    grid-column: 1;
    grid-row: auto;
    padding-left: 31px;
    width: auto;
  }
  .emergency-document-list .emergency-document-inspect {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-left: 31px;
  }
  .emergency-document-list .emergency-document-relation {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 7px;
  }
  .emergency-document-list .emergency-document-relation-label {
    font-size: 0.82rem;
  }
  .emergency-document-list .emergency-document-links .btn {
    flex: none;
    width: auto;
  }
  .emergency-related-dialog-head {
    padding: 18px 17px 14px;
  }
  .emergency-related-dialog-items {
    padding: 9px 12px;
  }
}
#emergency-document-list > .emergency-document-option[hidden] {
  display: none !important;
}
@media (min-width: 1101px) {
  #emergency-document-list > .emergency-document-option:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 365px 145px;
    grid-template-rows: auto;
    align-items: center;
    column-gap: 10px;
    row-gap: 0;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-select {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    width: 100%;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-links {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
    align-content: center;
    padding: 0;
    width: 100%;
    margin: 0;
    gap: 7px;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-inspect {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    margin: 0;
  }
  #emergency-document-list
    > .emergency-document-option
    .emergency-document-option-copy {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 1100px) {
  #emergency-document-list > .emergency-document-option:not([hidden]) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-select {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-links {
    grid-column: 1;
    grid-row: 2;
    padding-left: 31px;
    margin: 0;
    width: auto;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-inspect {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    justify-self: end;
  }
}
@media (max-width: 650px) {
  #emergency-document-list > .emergency-document-option:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-links {
    grid-column: 1;
    grid-row: 2;
    padding-left: 31px;
  }
  #emergency-document-list
    > .emergency-document-option
    > .emergency-document-inspect {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    margin-left: 31px;
  }
}
.life-events-page .life-panel {
  min-width: 0;
}
.life-custom-create {
  display: grid;
  gap: 12px;
}
.life-priority-group {
  border: 1px solid #e5d9c9;
  border-radius: 18px;
  padding: 20px;
  margin: 20px 0;
  background: #fff;
  min-width: 0;
}
.life-group-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eae1d5;
  margin-bottom: 12px;
}
.life-group-header h3 {
  margin: 0;
  font-size: 1.2rem;
  color: #222e2b;
}
.life-group-header small {
  color: #69716e;
}
.life-group-edit {
  max-width: 100%;
}
.life-group-edit summary,
.life-add-group summary {
  cursor: pointer;
  color: #856027;
  font-weight: 700;
  list-style: none;
}
.life-group-edit summary::-webkit-details-marker,
.life-add-group summary::-webkit-details-marker {
  display: none;
}
.life-inline-form {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  margin-top: 10px;
}
.life-inline-form input,
.life-inline-form select,
.life-add-step input {
  min-width: 0;
  width: 100%;
  min-height: 43px;
  border: 1px solid #d9cdbb;
  border-radius: 11px;
  padding: 10px 12px;
  background: #fff;
  color: #202b29;
  font: inherit;
}
.life-inline-form select {
  flex: 1;
}
.life-inline-form .btn {
  flex: none;
}
.life-step-card {
  padding: 14px 16px;
  border: 1px solid #e6ddcf;
  border-radius: 13px;
  min-width: 0;
  background: #fff;
}
.life-step-primary {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.life-check-form,
.life-step-order form {
  margin: 0;
}
.life-check-form button,
.life-step-order button {
  background: #fff;
  border: 1px solid #e4d8c7;
  border-radius: 10px;
  min-width: 36px;
  min-height: 36px;
  cursor: pointer;
  color: #8b682d;
}
.life-step-order {
  display: flex;
  gap: 4px;
  flex: none;
  margin-left: auto;
}
.life-step-order button:disabled {
  opacity: 0.25;
  cursor: default;
}
.life-step-main {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.life-step-main strong {
  font-weight: 650;
}
.life-step-card.is-done .life-step-main strong {
  text-decoration: line-through;
  color: #77817d;
}
.life-linked-contract {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  color: #246c50;
  font-size: 0.87rem;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.life-contract-suggestions {
  background: #f4f9f5;
  border: 1px solid #d5e8dd;
  border-radius: 11px;
  margin: 12px 0 0 48px;
  padding: 12px;
  min-width: 0;
}
.life-contract-suggestions > span {
  display: block;
  color: #325c49;
  font-size: 0.86rem;
  font-weight: 650;
}
.life-unlink {
  margin: 8px 0 0 48px;
}
.life-unlink button {
  border: 0;
  background: none;
  color: #796348;
  cursor: pointer;
  text-decoration: underline;
  font-size: 0.8rem;
}
.life-empty-group {
  padding: 8px 0;
}
.life-add-step {
  margin-top: 18px;
}
.life-add-group {
  border: 1px dashed #cbb99c;
  border-radius: 14px;
  padding: 16px 20px;
  margin: 20px 0;
}
.life-delete-panel {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-top: 2px;
}
.life-delete-panel p {
  color: #69716e;
  margin: 6px 0 0;
}
.life-delete-panel form {
  margin: 0;
  flex: none;
}
.life-delete-panel .danger-btn {
  color: #ae4639;
  border-color: #eac8c2;
}
.life-events-page .life-actions {
  margin-top: 24px;
}
.life-template-grid {
  align-items: stretch;
}
.life-template form {
  margin-top: auto;
}
.life-events-page .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;
}
@media (max-width: 760px) {
  .life-delete-panel {
    align-items: stretch;
    flex-direction: column;
  }
  .life-delete-panel form,
  .life-delete-panel .btn {
    width: 100%;
  }
  .life-group-header {
    flex-wrap: wrap;
  }
  .life-inline-form {
    flex-wrap: wrap;
  }
  .life-inline-form select,
  .life-inline-form input {
    flex-basis: 100%;
  }
  .life-priority-group {
    padding: 16px 12px;
  }
  .life-contract-suggestions {
    margin-left: 0;
  }
  .life-step-card {
    padding: 12px;
  }
  .life-step-primary {
    gap: 9px;
  }
  .life-step-order {
    gap: 2px;
  }
  .life-step-order button {
    min-width: 31px;
  }
  .life-events-page .life-panel-head {
    flex-wrap: wrap;
  }
}
.life-move-group {
  margin: 8px 0 0 48px;
  font-size: 0.83rem;
}
.life-move-group summary {
  cursor: pointer;
  color: #80653d;
  font-weight: 600;
}
.life-move-group .life-inline-form {
  max-width: 520px;
}
.life-move-group select {
  min-height: 38px;
}
.life-move-group .btn {
  min-height: 38px;
}
@media (max-width: 760px) {
  .life-move-group {
    margin-left: 0;
  }
}
.life-events-page .life-delete-panel .btn.life-delete-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: #a34838;
  border: 1px solid #a34838;
  color: #fff !important;
  font-weight: 750;
  opacity: 1;
  visibility: visible;
  transition: background-color 0.15s ease,
    border-color 0.15s ease;
}
.life-events-page .life-delete-panel .btn.life-delete-button:hover,
.life-events-page .life-delete-panel .btn.life-delete-button:focus-visible {
  background: #85382c;
  border-color: #85382c;
  color: #fff !important;
}
.life-events-page .life-delete-panel .btn.life-delete-button:focus-visible {
  outline: 3px solid #e6b5a7;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .life-events-page .life-delete-panel .btn.life-delete-button {
    width: 100%;
  }
}
.ob-discover {
  margin: 36px auto 54px;
  max-width: 1320px;
  padding: 0 22px;
}
.ob-discover .section-head {
  max-width: 850px;
  margin-bottom: 24px;
}
.ob-discover-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.ob-discover-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
  padding: 25px;
  border: 1px solid #e8dbc9;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(35, 39, 33, 0.045);
}
.ob-discover-card h3 {
  margin: 0;
  font-size: clamp(19px, 1.6vw, 24px);
  line-height: 1.24;
  color: #202929;
}
.ob-discover-card p {
  margin: 0;
  color: #66645f;
  line-height: 1.68;
  flex: 1;
}
.ob-discover-card .feature-kicker {
  font-size: 11px;
  letter-spacing: 0.09em;
  color: #886b33;
  font-weight: 800;
}
.ob-discover-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #f7f0e6;
  color: #916b29;
  font-size: 22px;
}
.ob-discover-lead {
  background: #eff7f1;
  border-color: #bddbc8;
}
.ob-discover-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 750;
  color: #274d40;
  text-decoration: none;
  margin-top: 5px;
}
.ob-discover-link:hover {
  text-decoration: underline;
}
.ob-discover-fineprint {
  font-size: 13px;
  color: #776e62;
  line-height: 1.6;
  margin: 17px 0 0;
}
.ob-help-jump {
  margin: 0 0 25px;
  padding: 24px;
}
.ob-help-jump h2 {
  margin: 0 0 5px;
}
.ob-help-jump p {
  margin: 0 0 17px;
  color: #777068;
}
.ob-help-jump-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.ob-help-jump-grid a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 14px 13px;
  border: 1px solid #e8dac7;
  border-radius: 13px;
  background: #fcfaf6;
  text-decoration: none;
  color: #293633;
  font-weight: 700;
  line-height: 1.35;
}
.ob-help-jump-grid a:hover,
.ob-help-jump-grid a:focus-visible {
  background: #eef6ef;
  border-color: #9bc8ab;
}
.ob-help-new {
  margin: 36px 0;
}
.ob-help-new .section-head {
  margin-bottom: 20px;
}
.ob-help-new .help-update-panel {
  scroll-margin-top: 100px;
}
.ob-help-ordered {
  padding-left: 24px;
  line-height: 1.7;
  color: #353935;
}
.ob-help-ordered li {
  margin: 0 0 9px;
  padding-left: 4px;
}
#grundlagen {
  scroll-margin-top: 100px;
}
@media (max-width: 1100px) {
  .ob-discover-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ob-help-jump-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 660px) {
  .ob-discover {
    padding: 0 16px;
    margin: 25px auto 40px;
  }
  .ob-discover-grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .ob-discover-card {
    padding: 20px;
  }
  .ob-help-jump-grid {
    grid-template-columns: 1fr;
  }
  .ob-help-jump {
    padding: 18px;
  }
}
.dashboard-page .office-cockpit {
  padding: clamp(20px, 2.2vw, 32px);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(36, 43, 35, 0.045);
}
.dashboard-page .office-cockpit .panel-head {
  align-items: center;
  gap: 20px;
}
.dashboard-page .office-cockpit-links {
  gap: 9px;
}
.dashboard-page .office-cockpit-links a {
  background: #fbf8f3;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 11px 15px;
  font-size: 13px;
  transition: background 0.18s,
    border-color 0.18s;
}
.dashboard-page .office-cockpit-links a:hover,
.dashboard-page .office-cockpit-links a:focus-visible {
  background: #f5eee2;
  border-color: #e8d8bf;
}
.dashboard-page .office-cockpit-stats {
  gap: 16px;
  margin: 24px 0 28px;
  align-items: stretch;
}
.dashboard-page .office-cockpit-stats a.office-kpi {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  min-height: 252px;
  padding: 22px 21px 18px;
  border: 1px solid #eaddc9;
  border-radius: 20px;
  background: linear-gradient(160deg, #fff 10%, #fefbf7 100%);
  box-shadow: 0 6px 18px rgba(48, 40, 29, 0.018);
  color: #202b2d;
  transition: transform 0.18s,
    border-color 0.18s,
    box-shadow 0.18s;
}
.dashboard-page .office-cockpit-stats a.office-kpi:hover {
  transform: translateY(-3px);
  border-color: #d1b78b;
  box-shadow: 0 15px 30px rgba(48, 40, 29, 0.07);
}
.dashboard-page .office-cockpit-stats a.office-kpi:focus-visible {
  outline: 3px solid #39785e;
  outline-offset: 3px;
}
.dashboard-page .office-cockpit-stats a.office-kpi-alert {
  background: linear-gradient(160deg, #fff8f7, #fffafa);
  border-color: #f0d6d1;
}
.dashboard-page .office-kpi-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 65px;
  margin-bottom: 14px;
}
.dashboard-page .office-cockpit-stats .office-cockpit-icon {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f7efe1;
  color: #987028;
  font-size: 27px;
  line-height: 1;
}
.dashboard-page .office-cockpit-stats .office-kpi-alert .office-cockpit-icon {
  background: #fbe8e4;
  color: #b94e45;
}
.dashboard-page .office-cockpit-stats .office-kpi-top b {
  font-size: clamp(29px, 2.6vw, 41px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  min-width: 0;
}
.dashboard-page .office-cockpit-stats .office-kpi-top b.office-kpi-money {
  font-size: clamp(25px, 2.15vw, 37px);
}
.dashboard-page .office-cockpit-stats .office-kpi-title {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 7px;
  overflow-wrap: break-word;
}
.dashboard-page .office-cockpit-stats .office-kpi-description {
  display: block;
  color: #78746e;
  font-size: 13px;
  line-height: 1.45;
  min-height: 37px;
  margin-bottom: 18px;
}
.dashboard-page .office-cockpit-stats .office-kpi-bottom {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid #ece5dc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  color: #796f61;
  font-size: 12px;
  line-height: 1.4;
}
.dashboard-page .office-kpi-arrow {
  flex: 0 0 33px;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #89652c;
  background: #fff;
  border: 1px solid #e7d4bb;
  font-size: 15px;
}
.dashboard-page .office-kpi-alert .office-kpi-arrow {
  border-color: #f1cbc4;
  color: #ae5349;
}
@media (max-width: 1230px) {
  .dashboard-page .office-cockpit-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-page .office-cockpit-stats a.office-kpi {
    min-height: 220px;
  }
}
@media (max-width: 640px) {
  .dashboard-page .office-cockpit {
    padding: 18px;
  }
  .dashboard-page .office-cockpit-stats {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 18px 0 22px;
  }
  .dashboard-page .office-cockpit-stats a.office-kpi {
    min-height: 190px;
    padding: 17px 18px;
  }
  .dashboard-page .office-cockpit-stats .office-cockpit-icon {
    width: 53px;
    height: 53px;
    flex-basis: 53px;
    font-size: 23px;
  }
  .dashboard-page .office-kpi-top {
    min-height: 53px;
    margin-bottom: 11px;
  }
  .dashboard-page .office-cockpit-links a {
    padding: 9px 11px;
  }
  .dashboard-page .office-cockpit-stats .office-kpi-description {
    min-height: 0;
    margin-bottom: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-page .office-cockpit-stats a.office-kpi,
  .dashboard-page .office-cockpit-links a {
    transition: none;
  }
  .dashboard-page .office-cockpit-stats a.office-kpi:hover {
    transform: none;
  }
}
.dashboard-page .office-cockpit-stats a.office-kpi {
  min-height: 272px;
}
.dashboard-page .office-kpi-indicator {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: #eee9e4;
  overflow: hidden;
  margin-top: auto;
  margin-bottom: 0;
  flex: 0 0 auto;
}
.dashboard-page .office-kpi-indicator-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #c05d56;
  max-width: 100%;
}
.dashboard-page .office-kpi-indicator-ok .office-kpi-indicator-fill {
  background: #83ab91;
}
.dashboard-page .office-kpi-indicator-warn .office-kpi-indicator-fill {
  background: #c49a51;
}
.dashboard-page .office-kpi-indicator-expiry .office-kpi-indicator-fill {
  background: #c05d56;
}
.dashboard-page .office-kpi-mini-bars {
  display: flex;
  align-items: end;
  gap: 5px;
  height: 27px;
  margin-top: auto;
  flex: 0 0 27px;
}
.dashboard-page .office-kpi-mini-bars i {
  display: block;
  flex: 0 1 10px;
  height: 45%;
  border-radius: 3px 3px 1px 1px;
  background: linear-gradient(to top, #b68c44 0 35%, #efdfbf 35% 100%);
}
.dashboard-page .office-kpi-mini-bars i:nth-child(2),
.dashboard-page .office-kpi-mini-bars i:nth-child(5) {
  height: 72%;
}
.dashboard-page .office-kpi-mini-bars i:nth-child(3),
.dashboard-page .office-kpi-mini-bars i:nth-child(7) {
  height: 95%;
}
.dashboard-page .office-kpi-mini-bars i:nth-child(4) {
  height: 62%;
}
.dashboard-page .office-kpi-mini-bars i:nth-child(6),
.dashboard-page .office-kpi-mini-bars i:nth-child(8) {
  height: 36%;
}
.dashboard-page .office-cockpit-stats .office-kpi-bottom {
  margin-top: 10px;
  padding-top: 0;
  border-top: 0;
  min-height: 35px;
}
.dashboard-page .office-cockpit-next {
  border-top: 1px solid #eee5d8;
  padding-top: 26px;
}
.dashboard-page .office-cockpit-next.is-empty {
  display: grid;
  grid-template-columns: minmax(210px, 0.9fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 32px;
}
.dashboard-page .office-cockpit-next-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.dashboard-page .office-cockpit-next-title .eyebrow {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #9b722f;
  font-weight: 800;
}
.dashboard-page .office-cockpit-next-title h3 {
  font-size: clamp(21px, 2vw, 28px);
  letter-spacing: -0.025em;
  line-height: 1.18;
  margin: 0;
}
.dashboard-page .office-cockpit-next-title p {
  color: #77736f;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  max-width: 45ch;
}
.dashboard-page .office-cockpit-next.is-empty .office-cockpit-next-items {
  display: block;
  min-width: 0;
}
.dashboard-page .office-cockpit-empty-state {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  background: linear-gradient(115deg, #fff, #fafbf6);
  border-radius: 18px;
  padding: 18px 20px;
}
.dashboard-page .office-cockpit-empty-icon {
  flex: 0 0 66px;
  width: 66px;
  height: 66px;
  border-radius: 19px;
  display: grid;
  place-items: center;
  background: #f1f6eb;
  color: #64855b;
  font-size: 31px;
}
.dashboard-page .office-cockpit-empty-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #26302e;
}
.dashboard-page .office-cockpit-empty-copy strong {
  font-size: 15px;
  line-height: 1.35;
}
.dashboard-page .office-cockpit-empty-copy small {
  font-size: 12px;
  line-height: 1.55;
  color: #77736f;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title {
  flex-direction: row;
  align-items: baseline;
  flex-wrap: wrap;
}
.dashboard-page
  .office-cockpit-next.has-actions
  .office-cockpit-next-title
  .eyebrow {
  flex: 0 0 100%;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title p {
  flex: 0 0 100%;
}
@media (max-width: 900px) {
  .dashboard-page .office-cockpit-next.is-empty {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
@media (max-width: 640px) {
  .dashboard-page .office-cockpit-stats a.office-kpi {
    min-height: 214px;
  }
  .dashboard-page .office-cockpit-empty-state {
    padding: 14px;
    gap: 12px;
  }
  .dashboard-page .office-cockpit-empty-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    font-size: 24px;
  }
  .dashboard-page .office-cockpit-next {
    padding-top: 20px;
  }
}
.dashboard-page .stats.dashboard-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.dashboard-page .dashboard-summary > .dashboard-summary-card {
  --summary-accent: #9d792f;
  --summary-tint: #f7f0e3;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  min-height: 208px;
  padding: 19px 19px 16px;
  border: 1px solid #e7dac9;
  border-radius: 20px;
  background: linear-gradient(160deg, #fff 30%, #fffdfa 100%);
  box-shadow: 0 7px 22px rgba(45, 39, 29, 0.045);
  text-decoration: none;
  color: #202b2a;
  transition: transform 0.17s ease,
    box-shadow 0.17s ease,
    border-color 0.17s ease;
}
.dashboard-page .dashboard-summary > .dashboard-summary-card:hover,
.dashboard-page .dashboard-summary > .dashboard-summary-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--summary-accent);
  box-shadow: 0 13px 28px rgba(45, 39, 29, 0.1);
}
.dashboard-page .dashboard-summary > .dashboard-summary-card:focus-visible {
  outline: 2px solid var(--summary-accent);
  outline-offset: 2px;
}
.dashboard-page .dashboard-summary-mail {
  --summary-accent: #517c91;
  --summary-tint: #eaf3f7;
}
.dashboard-page .dashboard-summary-urgent.hot {
  --summary-accent: #ac5849;
  --summary-tint: #fae8e3;
  background: linear-gradient(150deg, #fff9f7, #fff);
}
.dashboard-page .dashboard-summary-waiting {
  --summary-accent: #697b9a;
  --summary-tint: #edf1f9;
}
.dashboard-page .dashboard-summary-invoices {
  --summary-accent: #96742f;
  --summary-tint: #f7f0e3;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 17px;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-icon {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--summary-tint);
  color: var(--summary-accent);
  font-size: 22px;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-value {
  display: block;
  margin-left: auto;
  color: #202c2d;
  font-size: clamp(29px, 2.55vw, 40px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.045em;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-label {
  display: block;
  color: #202c2d;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-description {
  display: block;
  margin-top: 7px;
  color: #6a706f;
  font-size: 12px;
  line-height: 1.45;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: auto;
  padding-top: 16px;
  color: var(--summary-accent);
}
.dashboard-page .dashboard-summary-card .dashboard-summary-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: 0 0 6px;
}
.dashboard-page .dashboard-summary-card .dashboard-summary-arrow {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid #e7dac9;
  background: #fff;
  color: var(--summary-accent);
  font-size: 14px;
}
@media (max-width: 1250px) {
  .dashboard-page .stats.dashboard-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 850px) {
  .dashboard-page .stats.dashboard-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .dashboard-page .dashboard-summary > .dashboard-summary-card:nth-child(2) {
    grid-column: auto;
    order: 0;
    min-height: 208px;
  }
}
@media (max-width: 520px) {
  .dashboard-page .stats.dashboard-summary {
    gap: 10px;
  }
  .dashboard-page .dashboard-summary > .dashboard-summary-card {
    padding: 14px 12px;
    min-height: 190px;
  }
  .dashboard-page .dashboard-summary-card .dashboard-summary-icon {
    width: 39px;
    height: 39px;
    flex-basis: 39px;
    font-size: 18px;
    border-radius: 12px;
  }
  .dashboard-page .dashboard-summary-card .dashboard-summary-value,
  .dashboard-page .dashboard-summary > .dashboard-summary-card:nth-child(2) b {
    font-size: 29px;
  }
  .dashboard-page .dashboard-summary-card .dashboard-summary-label {
    font-size: 13px;
  }
  .dashboard-page .dashboard-summary-card .dashboard-summary-description {
    font-size: 11px;
  }
  .dashboard-page .dashboard-summary-card .dashboard-summary-status {
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dashboard-page .dashboard-summary > .dashboard-summary-card {
    transition: none;
  }
  .dashboard-page .dashboard-summary > .dashboard-summary-card:hover {
    transform: none;
  }
}
.categories-page .categories-list-panel {
  overflow: visible !important;
}
.categories-page .category-tree,
.categories-page .subcategory-list {
  overflow: visible;
}
.categories-page .category-tree-card {
  position: relative;
  z-index: 0;
}
.categories-page .category-tree-card:hover {
  z-index: 1;
}
.categories-page .category-tree-card.is-folder-menu-open {
  z-index: 110 !important;
}
.categories-page .category-tree-head,
.categories-page .subcategory-row {
  position: relative;
}
.categories-page .category-tree-head.is-folder-menu-open,
.categories-page .subcategory-row.is-folder-menu-open {
  z-index: 120;
}
.categories-page .folder-structure-menu:not([hidden]) {
  z-index: 130;
  background: #fff;
  opacity: 1;
  isolation: isolate;
  box-shadow: 0 20px 48px rgba(28, 32, 30, 0.22);
}
.mail-followup-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding: 22px;
  margin: 20px 0;
  border: 1px solid #e8d9c7;
  border-radius: 18px;
  background: #fffcf7;
}
.mail-followup-controls > div {
  flex: 1 1 250px;
}
.mail-followup-controls h2 {
  font-size: 1.13rem;
  margin: 0 0 6px;
}
.mail-followup-controls p {
  margin: 0;
  color: #6b6c69;
}
.mail-followup-controls form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}
.mail-followup-controls select,
.mail-followup-reminder select {
  width: auto;
  max-width: 100%;
  min-width: 115px;
  border: 1px solid #dccfbf;
  border-radius: 12px;
  padding: 11px;
  background: #fff;
  color: #22312f;
}
.mail-followup-case-link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-inline-start: 16px;
  font-weight: 700;
}
.mail-followup-reminder {
  padding: 17px 20px;
  background: #fbf7ee;
  border: 1px solid #e8d9c7;
  border-radius: 16px;
  margin: 18px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.mail-followup-reminder label {
  margin: 0;
  font-weight: 700;
}
.mail-followup-reminder small {
  flex-basis: 100%;
  color: #6f716c;
}
.mail-followup-original {
  padding: 18px;
  border: 1px solid #e5d8c7;
  border-radius: 16px;
  background: #fdfaf5;
  margin: 20px 0;
}
.mail-followup-original summary {
  font-weight: 700;
  cursor: pointer;
}
.mail-followup-original pre {
  max-height: 350px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: inherit;
  line-height: 1.6;
  padding-top: 12px;
}
.mail-followup-attachments {
  margin: 12px 0 20px;
  padding: 18px;
  background: #f8f6f2;
  border-radius: 14px;
}
.mail-followup-attachments p {
  margin: 8px 0;
  color: #6c706b;
}
@media (max-width: 700px) {
  .mail-followup-controls {
    align-items: stretch;
  }
  .mail-followup-controls form {
    width: 100%;
  }
  .mail-followup-controls form button {
    width: 100%;
  }
  .mail-followup-reminder {
    display: block;
  }
  .mail-followup-reminder select {
    width: 100%;
    margin: 8px 0;
  }
  .mail-followup-case-link {
    margin-inline-start: 0;
    margin-top: 8px;
  }
  .mail-followup-page .form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
}
.case-files-panel > .file-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e9dfd2;
}
.case-files-panel > .file-panel-head h2 {
  margin: 0 0 5px;
}
.case-files-panel > .file-panel-head small {
  line-height: 1.45;
  color: #797166;
}
.case-files-panel .file-panel-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.case-files-panel .file-panel-tools .muted {
  white-space: nowrap;
  font-size: 13px;
}
.case-files-panel .file-panel-tools select {
  min-width: 190px;
  max-width: 100%;
  border-radius: 11px;
}
.case-files-panel .file-row.case-file-entry {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px 16px !important;
  margin-top: 12px;
  padding: 16px !important;
  border: 1px solid #e8ddcd !important;
  border-radius: 15px;
  background: #fffdfa;
  min-width: 0;
}
.case-files-panel .case-file-entry > .file-row-icon {
  width: 44px;
  height: 46px;
  align-self: start;
}
.case-files-panel .case-file-entry > .file-row-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.case-files-panel .case-file-entry > .file-row-meta > strong {
  font-size: 15px;
  line-height: 1.4;
}
.case-files-panel .case-file-entry > .file-row-meta > small {
  font-size: 12px;
  color: #777168;
  margin: 0;
}
.case-files-panel .case-file-entry .file-type-form {
  width: auto;
  max-width: 100%;
  margin: 3px 0 0;
}
.case-files-panel .case-file-entry .file-type-form label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  line-height: 1.4;
}
.case-files-panel .case-file-entry .file-type-form select {
  width: min(280px, 100%);
  min-width: 145px;
  max-width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  font-size: 12px;
  border-radius: 10px;
}
.case-files-panel .case-file-entry > .file-row-actions {
  grid-column: 3 !important;
  grid-row: 1;
  justify-content: flex-end !important;
  align-self: center;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  width: auto !important;
  margin: 0 !important;
}
.case-files-panel .case-file-entry > .file-row-actions .btn {
  min-height: 38px;
  padding: 9px 12px;
  white-space: nowrap !important;
}
.case-files-panel .case-file-entry > .file-row-actions form {
  margin: 0;
}
.timeline-entry-body .case-mail-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid #eee4d5;
}
.timeline-entry-body .case-mail-actions .case-mail-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #e0d3bf;
  border-radius: 10px;
  background: #fff;
  color: #65502d;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  white-space: normal;
  text-align: center;
  transition: background 0.16s,
    border-color 0.16s;
}
.timeline-entry-body .case-mail-actions .case-mail-action:hover {
  background: #f8f2e8;
  border-color: #bda479;
}
.timeline-entry-body .case-mail-actions .case-mail-action:focus-visible {
  outline: 2px solid #317a64;
  outline-offset: 2px;
}
.timeline-entry-body .case-mail-actions .case-mail-action-primary {
  background: #202e2c;
  border-color: #202e2c;
  color: #fff;
}
.timeline-entry-body .case-mail-actions .case-mail-action-primary:hover {
  background: #334943;
  color: #fff;
}
.outbox-message-detail .outbox-case-reference {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
  row-gap: 8px;
  margin-top: 18px;
  padding: 15px 18px;
}
.outbox-message-detail .outbox-case-reference > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-weight: 750;
}
.outbox-message-detail .outbox-case-reference > a {
  min-width: 0;
  margin: 0;
  font-weight: 700;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.outbox-message-detail .mail-followup-controls {
  display: block;
  padding: 22px 24px;
  margin: 24px 0;
  border-radius: 18px;
}
.outbox-message-detail .mail-followup-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  min-width: 0;
}
.outbox-message-detail .mail-followup-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.outbox-message-detail .mail-followup-copy h2 {
  margin: 0 0 6px;
  font-size: 19px;
  line-height: 1.3;
}
.outbox-message-detail .mail-followup-copy p {
  margin: 0;
  line-height: 1.5;
  color: #746b5f;
}
.outbox-message-detail .mail-followup-primary {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 45px;
  padding: 11px 18px;
  white-space: nowrap;
}
.outbox-message-detail .mail-followup-remind-form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #ede1d2;
}
.outbox-message-detail .mail-followup-remind-form label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 650;
  white-space: normal;
}
.outbox-message-detail .mail-followup-remind-form select {
  min-height: 41px;
}
.outbox-message-detail .mail-followup-remind-form button {
  min-height: 41px;
}
@media (max-width: 1100px) {
  .case-files-panel .file-row.case-file-entry {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }
  .case-files-panel .case-file-entry > .file-row-actions {
    grid-column: 2 !important;
    grid-row: auto;
    justify-content: flex-start !important;
    flex-wrap: wrap;
  }
}
@media (max-width: 650px) {
  .case-files-panel > .file-panel-head {
    align-items: stretch;
  }
  .case-files-panel .file-panel-tools {
    justify-content: flex-start;
    width: 100%;
  }
  .case-files-panel .file-row.case-file-entry {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    padding: 13px !important;
  }
  .case-files-panel .case-file-entry > .file-row-icon {
    width: 34px;
    height: 38px;
  }
  .case-files-panel .case-file-entry > .file-row-actions {
    grid-column: 1/-1 !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }
  .case-files-panel .case-file-entry > .file-row-actions .btn {
    white-space: normal !important;
  }
  .case-files-panel .case-file-entry .file-type-form {
    width: 100%;
  }
  .case-files-panel .case-file-entry .file-type-form label {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .case-files-panel .case-file-entry .file-type-form select {
    flex: 1 1 170px;
  }
  .outbox-message-detail .outbox-case-reference {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  .outbox-message-detail .outbox-case-reference > a {
    display: block;
    margin: 0;
  }
  .outbox-message-detail .mail-followup-heading {
    flex-direction: column;
    align-items: stretch;
  }
  .outbox-message-detail .mail-followup-primary {
    width: 100%;
  }
  .outbox-message-detail .mail-followup-remind-form {
    align-items: stretch;
  }
  .outbox-message-detail .mail-followup-remind-form label {
    flex: 1 1 100%;
  }
  .outbox-message-detail .mail-followup-remind-form select {
    flex: 1 1 100px;
  }
  .outbox-message-detail .mail-followup-remind-form button {
    flex: 1 1 180px;
    width: auto;
  }
}
.user-reminder-settings .reminder-settings-panel {
  display: grid;
  gap: 24px;
}
.user-reminder-settings .reminder-settings-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.user-reminder-settings .reminder-settings-fieldset legend {
  font-weight: 750;
  margin-bottom: 15px;
}
.user-reminder-settings .reminder-settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}
.user-reminder-settings .reminder-settings-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e5d6c4;
  border-radius: 15px;
  background: #fff;
  min-width: 0;
  cursor: pointer;
  font-weight: 650;
}
.user-reminder-settings .reminder-settings-option:has(input:checked) {
  background: #faf6ed;
  border-color: #b58c48;
}
.user-reminder-settings .reminder-settings-option input {
  width: 19px;
  height: 19px;
  flex: none;
  accent-color: #9a783c;
}
.user-reminder-settings .reminder-settings-option:focus-within {
  outline: 2px solid #b58c48;
  outline-offset: 2px;
}
@media (max-width: 600px) {
  .user-reminder-settings .reminder-settings-grid {
    grid-template-columns: 1fr;
  }
  .user-reminder-settings .reminder-settings-panel {
    gap: 18px;
  }
}
.settings-hub .settings-quicknav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.settings-hub .settings-quicknav > a {
  grid-column: auto;
  min-width: 0;
  white-space: nowrap;
  justify-content: center;
}
.settings-hub .settings-quicknav > a.settings-quicknav-feature {
  grid-column: span 2;
}
.settings-hub .settings-quicknav > a svg {
  flex: 0 0 auto;
}
.reminder-picker .reminder-options {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  column-gap: 10px;
  row-gap: 10px;
  margin: 8px 0 0;
}
.reminder-picker .reminder-options > label {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  min-height: 46px;
}
@media (max-width: 760px) {
  .settings-hub .settings-quicknav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .settings-hub .settings-quicknav > a.settings-quicknav-feature {
    grid-column: span 1;
  }
  .settings-hub .settings-quicknav > a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .reminder-picker .reminder-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .reminder-picker .reminder-options > label:last-child {
    grid-column: auto;
  }
}
@media (max-width: 480px) {
  .settings-hub .settings-quicknav {
    grid-template-columns: minmax(0, 1fr);
  }
  .settings-hub .settings-quicknav > a.settings-quicknav-feature {
    grid-column: auto;
  }
}
.pulse-panel {
  margin: 20px 0 24px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(159, 116, 32, 0.2);
  background: linear-gradient(135deg, #fff 0%, #fbf8f1 100%);
}
.pulse-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--line, #e9dfcf);
}
.pulse-title {
  display: flex;
  align-items: center;
  gap: 13px;
}
.pulse-orb {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(
    circle at 35% 30%,
    #f7d978,
    #c9982d 55%,
    #765417 100%
  );
  box-shadow: 0 0 0 7px rgba(201, 152, 45, 0.09),
    0 8px 24px rgba(83, 59, 18, 0.18);
  color: #162b2a;
}
.pulse-title h2 {
  margin: 0;
  font-size: 20px;
}
.pulse-title small {
  display: block;
  margin-top: 3px;
  color: var(--muted, #756f65);
}
.pulse-all-good {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 22px;
  color: #2f6d57;
  font-weight: 700;
}
.pulse-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  background: var(--line, #e9dfcf);
}
.pulse-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 17px 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  min-height: 112px;
}
.pulse-item:hover {
  background: #fffaf0;
}
.pulse-item-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f4eee1;
  color: #9b6b12;
}
.pulse-item-danger .pulse-item-icon {
  background: #fbe9e5;
  color: #b54b3c;
}
.pulse-item-warning .pulse-item-icon {
  background: #fff2d7;
  color: #9b6912;
}
.pulse-item-info .pulse-item-icon {
  background: #eaf4f0;
  color: #286b5d;
}
.pulse-item strong {
  display: block;
  line-height: 1.2;
}
.pulse-item small {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  color: var(--muted, #756f65);
}
.atlas-nav-icon {
  filter: drop-shadow(0 0 8px rgba(216, 166, 58, 0.25));
}
.atlas-head {
  align-items: flex-end;
}
.atlas-head-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.atlas-shell {
  padding: 0;
  overflow: hidden;
  position: relative;
}
.atlas-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid var(--line, #e6ddcf);
  background: rgba(255, 255, 255, 0.92);
  position: relative;
  z-index: 4;
}
.atlas-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line, #dfd3c0);
  border-radius: 14px;
  padding: 0 12px;
  min-width: 240px;
  background: #fff;
}
.atlas-search input {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 10px 0 !important;
}
.atlas-filters {
  display: flex;
  gap: 7px;
  flex: 1;
  overflow: auto;
}
.atlas-filter {
  white-space: nowrap;
  border: 1px solid #e8dfd2;
  background: #fff;
  border-radius: 999px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  font-size: 12px;
  color: #453f37;
}
.atlas-filter:not(.is-active) {
  opacity: 0.42;
}
.atlas-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.atlas-dot-contact {
  background: #6d7eaa;
}
.atlas-dot-case {
  background: #bf8c2d;
}
.atlas-dot-contract {
  background: #36806b;
}
.atlas-dot-invoice {
  background: #a66b55;
}
.atlas-dot-document {
  background: #7f6f9f;
}
.atlas-dot-message {
  background: #4f8496;
}
.atlas-zoom {
  display: flex;
  border: 1px solid #e2d7c8;
  border-radius: 12px;
  overflow: hidden;
}
.atlas-zoom button {
  border: 0;
  background: #fff;
  width: 38px;
  height: 38px;
  font-size: 20px;
}
.atlas-stage {
  height: min(68vh, 720px);
  min-height: 520px;
  position: relative;
  overflow: hidden;
  background: radial-gradient(
      circle at 50% 45%,
      rgba(225, 196, 124, 0.12),
      transparent 34%
    ),
    linear-gradient(#fbfaf7 1px, transparent 1px),
    linear-gradient(90deg, #fbfaf7 1px, transparent 1px), #f5f2eb;
  background-size: auto,
    28px 28px,
    28px 28px;
}
.atlas-world,
.atlas-lines {
  position: absolute;
  inset: 0;
  transform-origin: 0 0;
}
.atlas-lines {
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.atlas-line {
  stroke: #c9bea9;
  stroke-width: 1.1;
  opacity: 0.55;
}
.atlas-node {
  position: absolute;
  width: 178px;
  min-height: 72px;
  border: 1px solid rgba(115, 91, 49, 0.18);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 26px rgba(56, 45, 28, 0.08);
  padding: 11px 12px;
  cursor: pointer;
  transition: 0.18s transform,
    0.18s box-shadow,
    0.18s opacity;
}
.atlas-node:hover,
.atlas-node.is-selected {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 34px rgba(56, 45, 28, 0.16);
  z-index: 3;
}
.atlas-node.is-dimmed {
  opacity: 0.11;
  pointer-events: none;
}
.atlas-node-type {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8c7752;
}
.atlas-node-title {
  display: block;
  margin-top: 7px;
  font-weight: 800;
  line-height: 1.17;
}
.atlas-node-meta {
  display: block;
  margin-top: 4px;
  color: #7d7569;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.atlas-node-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.03);
}
.atlas-node-contact .atlas-node-dot {
  background: #6d7eaa;
}
.atlas-node-case .atlas-node-dot {
  background: #bf8c2d;
}
.atlas-node-contract .atlas-node-dot {
  background: #36806b;
}
.atlas-node-invoice .atlas-node-dot {
  background: #a66b55;
}
.atlas-node-document .atlas-node-dot {
  background: #7f6f9f;
}
.atlas-node-message .atlas-node-dot {
  background: #4f8496;
}
.atlas-inspector {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: min(360px, calc(100% - 36px));
  background: rgba(28, 47, 45, 0.96);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
  padding: 18px;
  z-index: 5;
  box-shadow: 0 18px 45px rgba(11, 25, 24, 0.25);
  backdrop-filter: blur(14px);
}
.atlas-inspector .eyebrow {
  color: #dfbd69;
}
.atlas-inspector h2 {
  margin: 6px 0 5px;
}
.atlas-inspector p {
  color: #cad3cf;
  margin: 0;
}
.atlas-inspector-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 13px;
}
.atlas-inspector a {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 8px 10px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
}
.atlas-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #80776b;
  font-weight: 700;
}
.command-answer {
  margin: 10px 0 4px;
  padding: 12px 14px;
  border-radius: 13px;
  background: #f5efe3;
  border: 1px solid #eadbc2;
  font-weight: 700;
}
.command-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 0 4px;
}
.command-action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 10px;
  background: #1b302e;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
}
.global-search-modal-hint strong {
  color: #8d651b;
}
@media (max-width: 900px) {
  .atlas-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .atlas-search {
    width: 100%;
  }
  .atlas-filters {
    order: 3;
    width: 100%;
  }
  .atlas-stage {
    height: 65vh;
  }
  .pulse-items {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 620px) {
  .pulse-head {
    align-items: flex-start;
  }
  .pulse-items {
    grid-template-columns: 1fr;
  }
  .atlas-head-actions {
    width: 100%;
  }
  .atlas-head-actions .btn {
    flex: 1;
  }
  .atlas-stage {
    min-height: 520px;
  }
  .atlas-inspector {
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
  }
  .atlas-node {
    width: 155px;
  }
  .atlas-toolbar {
    padding: 10px;
  }
}
.atlas-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  min-height: 0;
  background: #f5f2eb;
}
.atlas-stage {
  height: clamp(500px, calc(100vh - 330px), 680px);
  min-height: 500px;
  z-index: 1;
}
.atlas-world {
  z-index: 2;
  pointer-events: auto;
}
.atlas-lines {
  z-index: 1;
}
.atlas-node {
  z-index: 2;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}
.atlas-node * {
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}
.atlas-node.is-selected {
  z-index: 6;
  outline: 2px solid rgba(191, 140, 45, 0.5);
  outline-offset: 2px;
}
.atlas-node.is-related {
  z-index: 4;
  box-shadow: 0 14px 34px rgba(56, 45, 28, 0.16);
}
.atlas-node.is-unrelated {
  opacity: 0.28;
}
.atlas-node.is-filtered-out {
  display: none !important;
}
.atlas-line.is-filtered-out {
  display: none;
}
.atlas-line.is-highlighted {
  stroke: #b8892f;
  stroke-width: 2.4;
  opacity: 0.9;
}
.atlas-empty[hidden] {
  display: none !important;
}
.atlas-empty {
  z-index: 3;
  pointer-events: none;
  padding: 30px;
  text-align: center;
  background: rgba(245, 242, 235, 0.68);
}
.atlas-inspector {
  position: relative;
  right: auto;
  bottom: auto;
  width: auto;
  min-width: 0;
  border-radius: 0;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
  padding: 22px 20px;
  z-index: 3;
  align-self: stretch;
  overflow: auto;
  max-height: clamp(500px, calc(100vh - 330px), 680px);
}
.atlas-inspector h2 {
  font-size: 22px;
  line-height: 1.18;
}
.atlas-inspector-links {
  align-items: flex-start;
}
.atlas-inspector a {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.atlas-inspector a.atlas-inspector-primary {
  background: #fff;
  color: #1c2f2d !important;
  border-color: #fff;
  text-align: center;
}
@media (max-width: 1100px) {
  .atlas-body {
    grid-template-columns: 1fr;
  }
  .atlas-stage {
    height: clamp(480px, 60vh, 620px);
    min-height: 480px;
  }
  .atlas-inspector {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    max-height: none;
    min-height: 150px;
  }
  .atlas-inspector-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .atlas-inspector a {
    width: auto;
  }
}
@media (max-width: 620px) {
  .atlas-stage {
    height: 58vh;
    min-height: 430px;
  }
  .atlas-inspector {
    padding: 16px;
  }
  .atlas-inspector-links {
    grid-template-columns: 1fr;
  }
}
.atlas-node {
  width: 188px;
  min-height: 82px;
  padding: 11px 13px;
}
.atlas-node-type-label {
  text-transform: none;
}
.atlas-node-type {
  letter-spacing: 0.035em;
  text-transform: none;
  font-size: 10px;
}
.atlas-node-title {
  font-size: 14px;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.atlas-node-meta {
  font-size: 10.5px;
}
.atlas-line {
  opacity: 0.3;
  stroke-width: 1;
}
.atlas-line.is-highlighted {
  opacity: 0.95;
  stroke-width: 2.5;
}
.atlas-node.is-unrelated {
  opacity: 0.14;
}
.atlas-node.is-related {
  opacity: 1;
  z-index: 5;
}
.atlas-inspector-links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.atlas-inspector a.atlas-inspector-link {
  position: relative;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 10px 12px 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-left-width: 5px;
  background: rgba(255, 255, 255, 0.025);
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.atlas-inspector-link-type {
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #c6d0cc;
  font-weight: 800;
}
.atlas-inspector-link-title {
  min-width: 0;
  font-weight: 800;
}
.atlas-inspector-link-contact {
  border-left-color: #6d7eaa !important;
}
.atlas-inspector-link-case {
  border-left-color: #bf8c2d !important;
}
.atlas-inspector-link-contract {
  border-left-color: #36806b !important;
}
.atlas-inspector-link-invoice {
  border-left-color: #a66b55 !important;
}
.atlas-inspector-link-document {
  border-left-color: #7f6f9f !important;
}
.atlas-inspector-link-message {
  border-left-color: #4f8496 !important;
}
.atlas-inspector a.atlas-inspector-primary {
  display: block;
  padding: 11px 12px;
  margin-bottom: 3px;
  border-left-width: 1px;
}
@media (max-width: 1100px) {
  .atlas-inspector a.atlas-inspector-link {
    grid-template-columns: 78px minmax(0, 1fr);
  }
}
@media (max-width: 620px) {
  .atlas-inspector a.atlas-inspector-link {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .atlas-inspector-link-title {
    white-space: normal;
  }
}
.atlas-node.is-secondary-related {
  opacity: 0.62;
  z-index: 3;
}
.atlas-line.is-secondary-highlighted {
  stroke: #b9a77f;
  stroke-width: 1.7;
  opacity: 0.72;
}
.atlas-inspector-links {
  display: block;
}
.atlas-inspector-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 14px;
}
.atlas-inspector-section h3 {
  margin: 0 0 2px;
  color: #dfbd69;
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.atlas-inspector a.atlas-inspector-link {
  grid-template-columns: 64px minmax(0, 1fr);
}
.atlas-inspector-link-type {
  font-size: 9px;
  letter-spacing: 0.045em;
  white-space: nowrap;
}
.atlas-inspector-link-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 620px) {
  .atlas-inspector a.atlas-inspector-link {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 6px;
  }
  .atlas-inspector-link-title {
    white-space: normal;
  }
}
.contact-overview .contact-direct-panel {
  margin-bottom: 22px;
  padding: 0;
  overflow: hidden;
}
.contact-overview .contact-direct-main {
  padding: 24px 26px 20px;
}
.contact-overview .contact-direct-main > div:first-child > strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 6px;
}
.contact-overview .contact-direct-main > div:first-child > p {
  margin: 0;
  color: var(--muted, #756e64);
  line-height: 1.55;
}
.contact-overview .contact-direct-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.contact-overview .contact-direct-footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  background: #f7f3eb;
  border-top: 1px solid #e8dece;
}
.contact-direct-footer-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #9a742d;
  border: 1px solid #eadfce;
}
.contact-direct-footer strong {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 2px;
}
.contact-direct-footer small {
  display: block;
  color: #756e64;
  line-height: 1.45;
}
.contact-portal-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.72rem;
  font-weight: 800;
}
.contact-portal-state.is-confirmed {
  background: #e5f3ed;
  color: #28634f;
}
.contact-portal-state.is-unconfirmed {
  background: #eee8df;
  color: #74695d;
}
@media (max-width: 760px) {
  .contact-overview .contact-direct-footer {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .contact-portal-state {
    grid-column: 2;
    justify-self: start;
  }
}
@media (max-width: 520px) {
  .contact-overview .contact-direct-main {
    padding: 20px;
  }
  .contact-overview .contact-direct-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
.emergency-share-state {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin-top: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.025em;
}
.emergency-share-state.is-active {
  background: #e4f3ec;
  color: #28634f;
}
.emergency-share-state.is-revoked {
  background: #f2e7e3;
  color: #964735;
}
.emergency-share-state.is-expired {
  background: #eeeae4;
  color: #756b61;
}
.emergency-share-row .danger-outline {
  border-color: #d8a494;
  color: #9f442f;
  background: #fffaf8;
}
.emergency-share-row .danger-outline:hover {
  background: #9f442f;
  border-color: #9f442f;
  color: #fff;
}
.share-overview-section#emergency .share-overview-row-icon {
  background: #e8f2ee;
  color: #2f735c;
}
.global-search-modal-head,
.global-search-modal-hint {
  flex: 0 0 auto;
}
.global-search-modal-form {
  flex: 0 0 62px;
  min-height: 62px;
  width: auto;
}
.global-search-modal-form input {
  min-width: 0;
}
.modal-search-live {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.atlas-stage {
  touch-action: none !important;
  overscroll-behavior: contain;
  -webkit-user-select: none;
  user-select: none;
  cursor: grab;
}
.atlas-stage:active {
  cursor: grabbing;
}
.atlas-world,
.atlas-lines {
  will-change: transform;
}
.atlas-node {
  touch-action: none !important;
}
@media (max-width: 760px) {
  body.app-shell:has([data-atlas-page]) {
    overflow-x: hidden !important;
  }
  [data-atlas-page],
  [data-atlas-page] .atlas-shell,
  [data-atlas-page] .atlas-body,
  [data-atlas-page] .atlas-stage {
    max-width: 100%;
    min-width: 0;
  }
  [data-atlas-page] .atlas-shell {
    overflow: hidden;
  }
  [data-atlas-page] .atlas-stage {
    width: 100%;
    height: min(62dvh, 620px);
    min-height: 440px;
  }
  .global-search-modal-form {
    flex-basis: 58px;
    min-height: 58px;
  }
}
.deadline-urgency-section {
  margin-top: 22px;
}
.deadline-urgency-section + .deadline-urgency-section {
  margin-top: 30px;
}
.deadline-urgency-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin: 0 4px 12px;
}
.deadline-urgency-head h2 {
  margin: 3px 0 2px;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}
.deadline-urgency-head p {
  margin: 0;
  color: var(--muted, #746f67);
}
.deadline-urgency-head .eyebrow.danger {
  color: #b94b3c;
}
.deadline-urgency-count {
  flex: 0 0 auto;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  display: grid;
  place-items: center;
  border: 1px solid #e1d6c7;
  border-radius: 14px;
  background: #fff;
  font-weight: 800;
  font-size: 1.05rem;
}
.deadline-urgency-overdue .deadline-urgency-count {
  color: #a53f31;
  border-color: #efc0b7;
  background: #fff8f6;
}
.deadline-urgency-upcoming .deadline-urgency-count {
  color: #8b661d;
  border-color: #e5d4aa;
  background: #fffaf0;
}
.deadline-urgency-section .deadline-list {
  overflow: hidden;
}
.deadline-section-empty {
  padding: 22px 24px;
  color: var(--muted, #746f67);
  text-align: center;
}
.deadline-urgency-overdue .deadline-row:first-of-type {
  border-top: 3px solid #d76554;
}
.deadline-urgency-upcoming .deadline-row:first-of-type {
  border-top: 3px solid #c79b3b;
}
@media (max-width: 700px) {
  .deadline-urgency-head {
    align-items: flex-start;
  }
  .deadline-urgency-head p {
    font-size: 0.92rem;
  }
  .deadline-urgency-count {
    min-width: 36px;
    height: 36px;
    border-radius: 11px;
  }
}
.pulse-title {
  min-width: 0;
}
.pulse-orb {
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  aspect-ratio: 1 / 1;
}
.pulse-title > div {
  min-width: 0;
}
@media (max-width: 620px) {
  .pulse-head {
    flex-wrap: wrap;
  }
  .pulse-title {
    flex: 1 1 260px;
    align-items: flex-start;
  }
  .pulse-head > .btn {
    margin-left: 57px;
  }
}
@media (max-width: 430px) {
  .pulse-head > .btn {
    margin-left: 0;
    width: 100%;
    justify-content: center;
  }
}
.actionable-deadline-row {
  color: inherit;
  text-decoration: none;
}
.deadline-row-content {
  min-width: 0;
}
.deadline-row-link {
  display: block;
  color: inherit;
  text-decoration: none;
  min-width: 0;
}
.deadline-row-link:hover strong {
  color: #9b6b12;
}
.deadline-row-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}
.deadline-done-form {
  margin: 0;
  flex: 0 0 auto;
}
.deadline-done-btn {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-color: #d6cbb9;
  background: #fff;
}
.deadline-done-btn:hover {
  color: #fff;
  border-color: #2f6d57;
  background: #2f6d57;
}
@media (max-width: 760px) {
  .combined-deadline-list .actionable-deadline-row {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }
  .combined-deadline-list .deadline-row-content {
    grid-column: 2;
  }
  .combined-deadline-list .deadline-row-end {
    grid-column: 2;
    justify-self: stretch;
    justify-content: space-between;
    gap: 8px;
    margin-top: -2px;
  }
  .combined-deadline-list .deadline-row-end .deadline-status {
    grid-column: auto !important;
    margin-top: 0;
  }
  .combined-deadline-list .deadline-done-btn {
    min-height: 34px;
    padding: 7px 10px;
  }
}

/* OrdnerBüro – Atlas Klickbarkeit: korrigierte Ebenen */
[data-atlas-page] .atlas-stage {
  pointer-events: auto !important;
}
[data-atlas-page] .atlas-world {
  pointer-events: auto !important;
}
[data-atlas-page] .atlas-lines,
[data-atlas-page] .atlas-line,
[data-atlas-page] .atlas-empty {
  pointer-events: none !important;
}
[data-atlas-page] .atlas-node {
  pointer-events: auto !important;
  position: absolute;
  z-index: 3;
  cursor: pointer;
}
[data-atlas-page] .atlas-node * {
  pointer-events: none !important;
}
[data-atlas-page] .atlas-node.is-selected {
  z-index: 7;
}
[data-atlas-page] .atlas-node.is-related {
  z-index: 5;
}


/* OrdnerBüro – Telegram Integration */
.settings-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.integration-card{display:flex;flex-direction:column;gap:15px}
.integration-card-head{display:flex;align-items:flex-start;gap:13px}
.integration-card-head h2{margin:0 0 4px}
.integration-card-head p{margin:0;color:var(--muted,#756f65);line-height:1.45}
.integration-brand{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center}
.telegram-brand{background:#e8f5fb;color:#2588b7;border:1px solid #cfe8f3}
.telegram-brand svg{width:21px;height:21px}
.integration-brand.large{width:50px;height:50px;flex-basis:50px;border-radius:15px}
.integration-brand.xl{width:70px;height:70px;flex-basis:70px;border-radius:20px;margin-bottom:5px}
.integration-brand.xl svg{width:31px;height:31px}
.integration-status-row{display:flex;align-items:center;gap:8px;font-size:.86rem}
.status-dot{width:8px;height:8px;border-radius:50%;background:#a39a8e}
.status-dot.is-online{background:#38a678;box-shadow:0 0 0 4px rgba(56,166,120,.10)}
.status-dot.is-offline{background:#a39a8e}
.telegram-setup-warning{display:flex;gap:16px;align-items:flex-start;border-color:#ead5ad;background:#fffaf0}
.telegram-setup-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;background:#fff0ce;color:#9b6b12}
.telegram-setup-warning h2{margin:0 0 5px}.telegram-setup-warning p{margin:0;color:#756f65}
.telegram-connected-card{padding:0;overflow:hidden}
.telegram-connected-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:22px}
.telegram-connected-head h2{margin:2px 0 3px}.telegram-connected-head p{margin:0;color:var(--muted,#756f65)}
.telegram-live-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#e6f4ed;color:#286b52;font-size:.75rem;font-weight:800}
.telegram-live-badge span{width:7px;height:7px;border-radius:50%;background:#38a678}
.telegram-howto-compact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 20px;background:#f7f3eb;border-top:1px solid #e7ddcd;font-size:.82rem}
.telegram-howto-compact strong{margin-right:5px}.telegram-howto-compact span{padding:5px 8px;border-radius:8px;background:#fff;border:1px solid #e7ddcd}
.telegram-instructions{overflow:hidden;padding:0}.telegram-instructions .panel-head{padding:20px 22px;border-bottom:1px solid #e7ddcd}
.telegram-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e7ddcd}
.telegram-steps>div{display:flex;gap:12px;padding:18px;background:#fff}
.telegram-steps b{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:#eff7fa;color:#2588b7}
.telegram-steps strong,.telegram-steps small{display:block}.telegram-steps small{margin-top:4px;color:var(--muted,#756f65);line-height:1.4}
.telegram-tip{display:flex;gap:10px;align-items:flex-start;padding:15px 20px;background:#f8f4ec;border-top:1px solid #e7ddcd;color:#655d52}
.telegram-connect-card{text-align:center;padding:30px 26px}.telegram-connect-card .integration-brand{margin-left:auto;margin-right:auto}
.telegram-connect-card h2{margin:8px 0}.telegram-connect-card>p{max-width:620px;margin:0 auto 18px;color:var(--muted,#756f65)}
.telegram-feature-chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.telegram-feature-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#f5f1e8;border:1px solid #e6ddcd;font-size:.75rem;font-weight:750}
.telegram-connect-button{background:#2588b7;border-color:#2588b7}.telegram-connect-button:hover{background:#1e739c;border-color:#1e739c}
.telegram-connect-card>small,.telegram-connect-card form+small{display:block;margin-top:10px;color:var(--muted,#756f65)}
.telegram-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#ead9d4}
.telegram-danger-zone h2{margin:0 0 4px}.telegram-danger-zone p{margin:0;color:var(--muted,#756f65)}
.telegram-admin-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.telegram-admin-status{padding:13px;border:1px solid #e5dccf;border-radius:13px;background:#faf8f4;min-width:0}
.telegram-admin-status small,.telegram-admin-status span{display:block;color:var(--muted,#756f65)}
.telegram-admin-status strong{display:block;margin:3px 0;overflow:hidden;text-overflow:ellipsis}
.telegram-admin-status strong.ok{color:#287057}.telegram-admin-status strong.bad{color:#a34c3d}
.telegram-admin-status span{font-size:.74rem;overflow-wrap:anywhere}.telegram-admin-actions{flex-wrap:wrap}
@media(max-width:760px){
  .settings-integration-grid,.telegram-steps,.telegram-admin-status-grid{grid-template-columns:1fr}
  .telegram-connected-head{grid-template-columns:auto minmax(0,1fr)}
  .telegram-live-badge{grid-column:2;justify-self:start}
  .telegram-howto-compact svg{display:none}
  .telegram-danger-zone{align-items:stretch;flex-direction:column}
  .telegram-danger-zone .btn{width:100%;justify-content:center}
}


/* OrdnerBüro – Dokument als Rechnung übernehmen */
.document-head-invoice-form{
  margin:0;
  display:inline-flex;
}
.document-head-invoice-form .btn{
  white-space:nowrap;
}
@media(max-width:760px){
  .document-head-invoice-form,
  .document-head-invoice-form .btn{
    width:100%;
  }
  .document-head-invoice-form .btn{
    justify-content:center;
  }
}


/* OrdnerBüro – asynchrone Rechnungsanalyse + Prüfstatus */
.invoice-analysis-progress-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:28px;
  border-color:#e3d3ad;
  background:linear-gradient(135deg,#fffdf8 0%,#fbf5e8 100%);
}
.invoice-analysis-orb{
  width:68px;height:68px;border-radius:20px;display:grid;place-items:center;
  background:linear-gradient(145deg,#f4d67b,#c9962e);
  color:#203533;box-shadow:0 12px 28px rgba(112,78,20,.18);
  animation:invoiceAnalysisPulse 1.8s ease-in-out infinite;
}
.invoice-analysis-orb svg{width:30px;height:30px}
.invoice-analysis-progress-copy h2{margin:0 0 5px}
.invoice-analysis-progress-copy>p{margin:0 0 17px;color:var(--muted,#756f65)}
.invoice-analysis-progress-track{
  height:11px;border-radius:999px;background:#ebe3d5;overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06)
}
.invoice-analysis-progress-track>span{
  display:block;height:100%;min-width:5%;border-radius:inherit;
  background:linear-gradient(90deg,#b98525,#e1bd5d);
  transition:width .35s ease
}
.invoice-analysis-progress-meta{
  display:flex;justify-content:space-between;gap:18px;margin-top:10px;
  color:var(--muted,#756f65);font-size:.82rem
}
.invoice-analysis-progress-meta strong{color:#8a641d;white-space:nowrap}
.invoice-analysis-progress-card.is-failed{
  border-color:#e6bdb5;background:#fff8f6
}
.invoice-analysis-progress-card.is-failed .invoice-analysis-orb{
  background:#f3d3cd;color:#a34838;animation:none
}
@keyframes invoiceAnalysisPulse{
  0%,100%{transform:scale(1);box-shadow:0 12px 28px rgba(112,78,20,.18)}
  50%{transform:scale(1.04);box-shadow:0 12px 34px rgba(112,78,20,.28)}
}
.invoice-review-open{
  margin-left:6px;background:#fff1d6!important;color:#8b6419!important;border-color:#e8cc8c!important
}
.invoice-review-filter-notice{
  margin-bottom:14px
}
@media(max-width:620px){
  .invoice-analysis-progress-card{grid-template-columns:1fr;padding:22px}
  .invoice-analysis-orb{width:56px;height:56px;border-radius:16px}
  .invoice-analysis-progress-meta{flex-direction:column;gap:5px}
}


/* OrdnerBüro – Kontaktübersicht: Rechnungsaktionen kompakt in einer Zeile */
.contact-invoice-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.contact-invoice-row .contact-invoice-main{
  min-width:0;
}
.contact-invoice-inline-actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.contact-invoice-icon-action{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line,#e7e2d8);
  border-radius:11px;
  background:#fff;
  color:#6d5a33;
  text-decoration:none;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.contact-invoice-icon-action:hover,
.contact-invoice-icon-action:focus-visible{
  background:#fbf6ec;
  border-color:#d9c79e;
  transform:translateY(-1px);
}
.contact-invoice-icon-action svg{
  width:18px;
  height:18px;
}
@media(max-width:520px){
  .contact-invoice-row{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
  }
  .contact-invoice-inline-actions{
    padding-top:5px;
  }
}


/* OrdnerBüro – eingehende HTML-E-Mails */
.mail-html-body{
  line-height:1.62;
  overflow-wrap:anywhere;
  word-break:normal;
}
.mail-html-body p{
  margin:.55em 0;
}
.mail-html-body p:first-child,
.mail-html-body h1:first-child,
.mail-html-body h2:first-child,
.mail-html-body h3:first-child{
  margin-top:0;
}
.mail-html-body p:last-child{
  margin-bottom:0;
}
.mail-html-body h1,
.mail-html-body h2,
.mail-html-body h3,
.mail-html-body h4,
.mail-html-body h5,
.mail-html-body h6{
  margin:1em 0 .4em;
  line-height:1.3;
  font-size:1em;
}
.mail-html-body a{
  color:#8b651d;
  text-decoration:underline;
  text-underline-offset:2px;
}
.mail-html-body blockquote{
  margin:1em 0;
  padding:.35em 0 .35em 14px;
  border-left:3px solid #d8c8a6;
  color:#71695e;
}
.mail-html-body ul,
.mail-html-body ol{
  margin:.6em 0;
  padding-left:1.5em;
}
.mail-html-body table{
  width:auto;
  max-width:100%;
  border-collapse:collapse;
  margin:.8em 0;
  overflow:auto;
}
.mail-html-body th,
.mail-html-body td{
  padding:6px 8px;
  border:1px solid #e3ddd2;
  vertical-align:top;
}
.mail-html-body hr{
  border:0;
  border-top:1px solid #e4ddd2;
  margin:1.2em 0;
}
/* Bilder werden serverseitig entfernt. Das verhindert externe Tracking-Pixel. */
.timeline-message-text.mail-html-body{
  white-space:normal;
}


/* OrdnerBüro – E-Mail-Kopf + sichtbare Bild-Links */
.message-type-icon{
  width:52px;
  min-width:52px;
  height:52px;
  min-height:52px;
  flex:0 0 52px;
  aspect-ratio:1 / 1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e9e3d4;
  color:#8b6d31;
}
.message-type-icon svg{
  width:22px;
  height:22px;
}
.message-head-copy{
  min-width:0;
}
.message-head-copy h1,
.message-head-copy p{
  overflow-wrap:anywhere;
}
.mail-html-body a:empty{
  display:none;
}
@media(max-width:620px){
  .message-detail{
    padding:20px;
  }
  .message-head>div{
    align-items:flex-start;
    gap:12px;
  }
  .message-type-icon{
    width:46px;
    min-width:46px;
    height:46px;
    min-height:46px;
    flex-basis:46px;
  }
  .message-head h1{
    font-size:clamp(1.45rem,7vw,2rem);
    line-height:1.12;
  }
  .message-head p{
    margin:.45rem 0 0;
    line-height:1.35;
  }
}


/* OrdnerBüro – Telegram Befehle & Benachrichtigungen */
.telegram-notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.telegram-quiet-hours{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#e7ddcd)}
.telegram-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin:12px 0 0 34px}
.telegram-command-panel{padding:0;overflow:hidden}
.telegram-command-panel .panel-head{padding:20px 22px;border-bottom:1px solid var(--line,#e7ddcd)}
.telegram-command-list{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.telegram-command-list code,.telegram-command-list span{padding:11px 18px;border-bottom:1px solid #eee7dc}
.telegram-command-list code{color:#246d91;font-weight:800;background:#f6fbfd}
.telegram-command-list span{color:var(--muted,#756f65)}
@media(max-width:700px){
  .telegram-notification-grid{grid-template-columns:1fr}
  .telegram-time-fields{grid-template-columns:1fr 1fr;margin-left:0}
}
@media(max-width:460px){
  .telegram-time-fields{grid-template-columns:1fr}
  .telegram-command-list{grid-template-columns:1fr}
  .telegram-command-list code{border-bottom:0;padding-bottom:3px}
  .telegram-command-list span{padding-top:3px}
}


/* OrdnerBüro – Telegram Settings Feinschliff */
.telegram-settings-page{display:flex;flex-direction:column;gap:22px}
.telegram-settings-page>.panel{margin:0}
.telegram-settings-page .panel.form-panel form,
.telegram-settings-page .telegram-notification-settings form{display:grid;gap:14px}
.telegram-settings-page .check{display:flex !important;align-items:flex-start !important;gap:14px;padding:10px 8px}
.telegram-settings-page .check input{flex:0 0 auto;margin-top:2px}
.telegram-settings-page .check>span{display:block;min-width:0;flex:1 1 auto}
.telegram-settings-page .check>span strong,
.telegram-settings-page .check>span small{display:block}
.telegram-settings-page .check>span strong{line-height:1.28}
.telegram-settings-page .check>span small{margin-top:4px;line-height:1.48;color:var(--muted,#756f65)}
.telegram-notification-grid{gap:14px 18px}
.telegram-notification-grid .check{height:100%;padding:14px 12px;border:1px solid #ece2d3;border-radius:16px;background:#fbfaf7}
.telegram-quiet-hours .check{padding-left:8px;padding-right:8px}
.telegram-time-fields{margin-top:4px}
.telegram-command-panel,.telegram-instructions,.telegram-danger-zone,.telegram-connected-card{margin-top:0}
@media(max-width:700px){
  .telegram-settings-page{gap:18px}
  .telegram-settings-page .check{padding:8px 4px}
  .telegram-notification-grid .check{padding:12px 10px}
}


/* OrdnerBüro – Telegram Settings Premium Finish */
.telegram-settings-page{
  --tg-accent:#2588b7;
  --tg-accent-soft:#eef8fc;
  --tg-gold:#a97922;
  --tg-card:#fff;
  --tg-line:#e6dccb;
  gap:26px;
}
.telegram-settings-page>.page-head{margin-bottom:4px}
.telegram-settings-page>.panel{
  border:1px solid var(--tg-line);
  border-radius:22px;
  box-shadow:0 12px 34px rgba(44,37,26,.055);
  background:var(--tg-card);
}
.telegram-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid #eee6da;
}
.telegram-section-head .eyebrow{display:block;margin-bottom:4px}
.telegram-section-head h2{margin:0 0 4px;font-size:1.28rem}
.telegram-section-head small{display:block;color:var(--muted,#756f65);line-height:1.45}
.telegram-section-icon{
  width:44px;height:44px;flex:0 0 44px;border-radius:14px;
  display:grid;place-items:center;
  color:var(--tg-gold);background:#f7f0e1;border:1px solid #eadbbd;
}
.telegram-section-icon svg{width:20px;height:20px}

.telegram-import-settings,.telegram-notification-settings{padding:24px 26px}
.telegram-import-settings form{margin-top:6px}
.telegram-import-settings .check{
  padding:15px 16px!important;
  border:1px solid #ece3d5;
  border-radius:16px;
  background:#fbfaf7;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.telegram-import-settings .check:hover,
.telegram-notification-grid .check:hover{
  border-color:#d9c79f;
  box-shadow:0 8px 20px rgba(65,48,18,.055);
  transform:translateY(-1px);
}
.telegram-import-settings .check:has(input:checked),
.telegram-notification-grid .check:has(input:checked){
  background:linear-gradient(145deg,#fffdf8,#faf4e7);
  border-color:#dcc48d;
}
.telegram-import-settings .form-actions,
.telegram-notification-settings .form-actions{margin-top:6px;padding-top:16px;border-top:1px solid #eee6da}

.telegram-notification-grid{
  gap:14px;
  margin-top:4px;
}
.telegram-notification-grid .check{
  position:relative;
  min-height:92px;
  padding:16px 16px!important;
  border-radius:17px;
  background:#fbfaf7;
}
.telegram-notification-grid .check strong{font-size:.98rem}
.telegram-notification-grid .check small{font-size:.82rem}
.telegram-quiet-hours{
  margin-top:20px;
  padding:18px;
  border:1px solid #e9dfce;
  border-radius:17px;
  background:#f8f5ee;
}
.telegram-quiet-hours .check{padding:0!important}
.telegram-time-fields{margin:14px 0 0 36px;gap:14px}
.telegram-time-fields .field{margin:0}
.telegram-time-fields input[type="time"]{background:#fff}

.telegram-command-panel{padding:0 0 20px;overflow:hidden}
.telegram-command-panel .telegram-section-head{padding:22px 24px 18px}
.telegram-command-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:18px 20px 2px;
}
.telegram-command-item{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:13px;
  padding:14px 15px;
  border:1px solid #e7dfd2;
  border-radius:15px;
  background:linear-gradient(145deg,#fff,#fbfaf7);
  box-shadow:0 5px 14px rgba(44,37,26,.035);
}
.telegram-command-item code{
  min-width:96px;
  padding:7px 10px;
  border:1px solid #cfe7f1;
  border-radius:9px;
  background:var(--tg-accent-soft);
  color:#17688e;
  font-weight:800;
  font-size:.9rem;
  text-align:center;
}
.telegram-command-item span{color:#655f57;line-height:1.4;font-size:.9rem}
.telegram-command-list code,.telegram-command-list span{border:0;padding:0;background:initial}
.telegram-command-list code{background:var(--tg-accent-soft);padding:7px 10px}

.telegram-instructions{border-radius:22px!important}
.telegram-instructions .telegram-section-head{padding:22px 24px 18px}
.telegram-steps{gap:1px;background:#e9dfd0}
.telegram-steps>div{padding:21px 22px}
.telegram-steps b{
  width:34px;height:34px;flex-basis:34px;border-radius:11px;
  box-shadow:inset 0 0 0 1px #d7ebf3;
}
.telegram-tip{padding:18px 22px;line-height:1.45}

.telegram-danger-zone{
  padding:22px 24px;
  background:linear-gradient(145deg,#fff,#fcfaf6)!important;
}
.telegram-danger-zone .btn{min-width:180px}

.telegram-connected-card{box-shadow:0 14px 34px rgba(37,136,183,.08)!important}
.telegram-connected-head{padding:24px 26px}
.telegram-howto-compact{padding:15px 24px}

@media(max-width:760px){
  .telegram-settings-page{gap:18px}
  .telegram-settings-page>.panel{border-radius:18px}
  .telegram-import-settings,.telegram-notification-settings{padding:20px 18px}
  .telegram-section-head{align-items:flex-start}
  .telegram-section-icon{width:40px;height:40px;flex-basis:40px;border-radius:12px}
  .telegram-command-list{grid-template-columns:1fr;padding:14px 14px 0}
  .telegram-command-item{grid-template-columns:96px minmax(0,1fr)}
  .telegram-time-fields{margin-left:0}
}
@media(max-width:480px){
  .telegram-command-item{grid-template-columns:1fr;gap:8px}
  .telegram-command-item code{justify-self:start;min-width:0}
  .telegram-notification-grid .check{min-height:0}
  .telegram-danger-zone{padding:20px 18px}
}

/* OrdnerBüro – Account & Daten / Kontolöschung */
.settings-quicknav-danger{border-color:#e4c6bc!important;color:#8e4437!important;background:#fff9f7!important}
.settings-account-data-title{margin-top:34px;padding-top:8px}
.settings-account-data-title>span{color:#9a5a4c}
.settings-account-export-card,.settings-account-delete-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 24px;margin-top:16px}
.settings-account-export-card{border-color:#dfd1b7;background:linear-gradient(135deg,#fff 0%,#fbf8f0 100%)}
.settings-account-delete-card{border-color:#e6c7bf;background:linear-gradient(135deg,#fff 0%,#fff7f5 100%);box-shadow:0 12px 28px rgba(126,64,48,.06)}
.settings-account-icon{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center}
.settings-account-icon.export{background:#f2ead8;color:#8a6724;border:1px solid #e3d4b2}
.settings-account-icon.danger{background:#f8e4df;color:#a34a3a;border:1px solid #edc8bf}
.settings-account-icon svg{width:24px;height:24px}
.settings-account-copy h2{margin:3px 0 6px}
.settings-account-copy p{margin:0;color:var(--muted,#756f65);line-height:1.5}
.settings-account-action{justify-self:end}
.account-export-counts{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.account-export-counts span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#fff;border:1px solid #e8decf;font-size:.75rem;color:#756958}
.account-export-counts strong{color:#2c3735}
.eyebrow.danger{color:#a44e3e!important}
.btn.danger{background:#9e4436!important;border-color:#9e4436!important;color:#fff!important}
.btn.danger:hover{background:#85392e!important;border-color:#85392e!important}

.account-delete-page{max-width:920px}
.account-delete-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:26px}
.account-delete-step-number{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f0e3c8;color:#79581f;font-size:1.1rem;font-weight:900}
.account-delete-step h2,.account-delete-final h2{margin:0 0 7px}
.account-delete-step p,.account-delete-final p{margin:0;color:var(--muted,#756f65);line-height:1.55}
.account-delete-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:20px 0}
.account-delete-counts span{padding:12px;border:1px solid #e7ddcd;border-radius:13px;background:#faf8f3;font-size:.78rem;color:#756958}
.account-delete-counts strong{display:block;font-size:1.25rem;color:#1d2927;margin-bottom:2px}
.account-delete-actions{margin:4px 0 18px}
.account-delete-export-confirm{padding:18px;border-radius:16px;background:#fffaf0;border:1px solid #ead9b3}
.account-delete-export-confirm .check{align-items:flex-start!important;gap:12px;margin-bottom:14px}
.account-delete-export-confirm .check span strong,.account-delete-export-confirm .check span small{display:block}
.account-delete-export-confirm .check span small{margin-top:4px;color:var(--muted,#756f65)}
.account-delete-skip{margin-top:18px;padding-top:16px;border-top:1px solid #eee4d8}
.account-delete-skip summary{cursor:pointer;color:#8d4b3f;font-weight:800}
.account-delete-skip p{margin:8px 0 12px}
.account-delete-final{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:24px;border-color:#e6c7bf;background:#fff8f6}
.account-delete-warning-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#f5ddd7;color:#9e4436}
.account-delete-warning-icon svg{width:25px;height:25px}
.account-delete-form{margin-top:16px;border-color:#e4c7bf}
.account-delete-checkbox{align-items:flex-start!important;gap:12px;padding:13px;border-radius:14px;background:#fff7f5;border:1px solid #eed4cd}
.account-delete-checkbox span strong,.account-delete-checkbox span small{display:block}.account-delete-checkbox span small{margin-top:4px;color:var(--muted,#756f65)}
.account-deleted-card{text-align:center;padding:42px 32px;margin-top:40px}
.account-deleted-icon{width:68px;height:68px;border-radius:22px;margin:0 auto 14px;display:grid;place-items:center;background:#e6f2eb;color:#397158}
.account-deleted-icon svg{width:31px;height:31px}.account-deleted-card h1{margin:7px 0 9px}.account-deleted-card p{max-width:650px;margin:0 auto 20px;color:var(--muted,#756f65)}
@media(max-width:760px){
  .settings-account-export-card,.settings-account-delete-card{grid-template-columns:auto minmax(0,1fr);padding:18px;align-items:start}
  .settings-account-action{grid-column:1/-1;width:100%}.settings-account-action .btn{width:100%;justify-content:center}
  .account-delete-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .account-delete-step,.account-delete-final{grid-template-columns:1fr;padding:20px}
  .account-delete-counts{grid-template-columns:1fr 1fr}
  .account-delete-form .form-actions{flex-direction:column-reverse}.account-delete-form .form-actions .btn{width:100%;justify-content:center}
}


/* OrdnerBüro – Einstellungen: gruppierte Bereichsnavigation */
.settings-hub .settings-nav-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:24px 0 38px;
}
.settings-hub .settings-nav-group{
  min-width:0;
  padding:18px;
  border:1px solid #e3d8c8;
  border-radius:20px;
  background:linear-gradient(145deg,#fff 0%,#fbf8f1 100%);
  box-shadow:0 10px 24px rgba(68,55,31,.045);
}
.settings-hub .settings-nav-group-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:82px;
  padding:2px 2px 15px;
}
.settings-hub .settings-nav-group-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#f1eadb;
  color:#8a6724;
  border:1px solid #e4d5b9;
}
.settings-hub .settings-nav-group-icon svg{width:20px;height:20px}
.settings-hub .settings-nav-group-head>div{min-width:0}
.settings-hub .settings-nav-group-head .eyebrow{display:block;margin-bottom:3px;font-size:.68rem}
.settings-hub .settings-nav-group-head h2{margin:0;font-size:1.02rem;line-height:1.25}
.settings-hub .settings-nav-group-head p{margin:4px 0 0;color:var(--muted,#756f65);font-size:.78rem;line-height:1.4}
.settings-hub .settings-nav-links{
  display:grid;
  gap:7px;
}
.settings-hub .settings-nav-links>a{
  min-height:48px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid #e8dfd1;
  border-radius:13px;
  background:rgba(255,255,255,.88);
  color:#24312f;
  text-decoration:none;
  font-weight:750;
  line-height:1.2;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.settings-hub .settings-nav-links>a>svg:first-child{width:18px;height:18px;color:#8d6b2d}
.settings-hub .settings-nav-links>a>svg:last-child{width:15px;height:15px;color:#a39785;justify-self:end}
.settings-hub .settings-nav-links>a:hover,
.settings-hub .settings-nav-links>a:focus-visible{
  transform:translateY(-1px);
  border-color:#d8c39a;
  background:#fffdf8;
  box-shadow:0 7px 18px rgba(78,59,23,.06);
}
.settings-hub .settings-nav-links>a:focus-visible{outline:2px solid rgba(180,139,67,.35);outline-offset:2px}
.settings-hub .settings-nav-links>a.settings-nav-link-danger{
  border-color:#ead1ca;
  background:#fff9f7;
  color:#8c4739;
}
.settings-hub .settings-nav-links>a.settings-nav-link-danger>svg:first-child{color:#a55243}
.settings-hub .settings-nav-links>a.settings-nav-link-danger:hover{border-color:#ddb7ad;background:#fff5f2}
.settings-hub .settings-nav-group-communication .settings-nav-group-icon{background:#edf5f4;color:#426f69;border-color:#d7e7e3}
.settings-hub .settings-nav-group-automation .settings-nav-group-icon{background:#f3eee4;color:#6f5a34;border-color:#e7ddca}

@media(max-width:900px){
  .settings-hub .settings-nav-groups{grid-template-columns:1fr 1fr;gap:14px}
  .settings-hub .settings-nav-group-automation{grid-column:1/-1}
  .settings-hub .settings-nav-group-automation .settings-nav-links{grid-template-columns:1fr 1fr}
  .settings-hub .settings-nav-group-head{min-height:76px}
}
@media(max-width:620px){
  .settings-hub .settings-nav-groups{grid-template-columns:1fr;gap:12px;margin:18px 0 28px}
  .settings-hub .settings-nav-group,
  .settings-hub .settings-nav-group-automation{grid-column:auto;padding:14px;border-radius:17px}
  .settings-hub .settings-nav-group-head{min-height:0;padding:0 0 11px;gap:10px}
  .settings-hub .settings-nav-group-icon{width:36px;height:36px;flex-basis:36px;border-radius:11px}
  .settings-hub .settings-nav-group-icon svg{width:17px;height:17px}
  .settings-hub .settings-nav-group-head .eyebrow{font-size:.62rem}
  .settings-hub .settings-nav-group-head h2{font-size:.95rem}
  .settings-hub .settings-nav-group-head p{font-size:.73rem;margin-top:2px}
  .settings-hub .settings-nav-links,
  .settings-hub .settings-nav-group-automation .settings-nav-links{grid-template-columns:1fr;gap:6px}
  .settings-hub .settings-nav-links>a{min-height:42px;padding:7px 10px;border-radius:11px;font-size:.82rem;grid-template-columns:20px minmax(0,1fr) 16px}
  .settings-hub .settings-nav-links>a>svg:first-child{width:16px;height:16px}
  .settings-hub .settings-nav-links>a>svg:last-child{width:13px;height:13px}
}


/* OrdnerBüro – physisches Ablagekennzeichen */
.physical-archive-heading{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin:7px 0 5px;
}
.physical-archive-heading>span,
.physical-archive-inline>span{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted,#756f65);
}
.physical-archive-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  padding:5px 10px;
  border:1px solid #d8c69e;
  border-radius:10px;
  background:#fff9ea;
  color:#70531c;
  font:800 .82rem/1 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  letter-spacing:.08em;
  white-space:nowrap;
}
button.physical-archive-code{
  cursor:pointer;
}
button.physical-archive-code:hover,
button.physical-archive-code:focus-visible{
  background:#f5e8c9;
  border-color:#bd9850;
}
.physical-archive-copy-icon{
  display:inline-grid;
  place-items:center;
  opacity:.65;
}
.physical-archive-copy-icon svg{width:13px;height:13px}
.physical-archive-code.is-copied{
  background:#e7f4ed;
  border-color:#a7ceb9;
  color:#286b52;
}
.physical-meta-chip .physical-archive-code{
  min-height:0;
  padding:2px 0;
  border:0;
  background:transparent;
  border-radius:0;
  font-size:.9rem;
}
.physical-archive-inline{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  flex-wrap:wrap;
}
.case-file-title-line,
.document-list-title-line{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  min-width:0;
}
.case-file-title-line .physical-archive-code,
.document-list-title-line .physical-archive-code{
  min-height:24px;
  padding:3px 7px;
  font-size:.7rem;
}
.document-list-title-line strong{min-width:0}
@media(max-width:620px){
  .physical-archive-heading{margin-top:8px}
  .physical-archive-code{font-size:.78rem}
  .case-file-title-line{align-items:flex-start}
}


/* OrdnerBüro – Dokumentkopf neu strukturiert */
.document-page-head{
  margin-bottom:24px;
  padding:24px 26px 0;
  border:1px solid #e2d7c5;
  border-radius:20px;
  background:linear-gradient(145deg,#fffdf8 0%,#fff 64%);
  box-shadow:0 12px 34px rgba(47,40,26,.06);
  overflow:hidden;
}
.document-head-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
  padding-bottom:22px;
}
.document-head-copy{
  min-width:0;
}
.document-head-copy .back{
  display:inline-flex;
  margin-bottom:17px;
}
.document-head-title-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  min-width:0;
}
.document-head-title-row>div:first-child{
  min-width:0;
}
.document-head-title-row h1{
  margin:4px 0 0;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.07;
  overflow-wrap:anywhere;
}
.document-head-code{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.document-head-code>span{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#8b7a5e;
}
.document-head-filemeta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  margin-top:13px;
  color:var(--muted,#756f65);
  font-size:.92rem;
}
.document-head-filemeta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.document-head-filemeta span:first-child{
  overflow-wrap:anywhere;
}
.document-head-filemeta svg{
  width:15px;
  height:15px;
  flex:0 0 auto;
}
.document-head-primary{
  align-self:end;
}
.document-head-primary form{
  margin:0;
}
.document-primary-action{
  min-height:48px;
  padding:0 20px;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(29,43,42,.13);
}
.document-head-toolbar{
  margin:0 -26px;
  padding:14px 26px;
  display:flex;
  align-items:center;
  gap:18px;
  border-top:1px solid #ebe2d4;
  background:#faf7f0;
}
.document-action-group{
  display:flex;
  align-items:center;
  gap:10px;
}
.document-action-label{
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#927642;
  white-space:nowrap;
}
.document-action-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.document-action-buttons .btn{
  min-height:38px;
  padding:8px 12px;
  font-size:.87rem;
  box-shadow:none;
}
.document-action-divider{
  width:1px;
  align-self:stretch;
  min-height:30px;
  background:#dfd4c3;
}
.document-page>.document-page-head + .emergency-document-action{
  margin-top:0;
}

@media(max-width:900px){
  .document-head-top{
    grid-template-columns:1fr;
    align-items:start;
    gap:18px;
  }
  .document-head-primary{
    width:100%;
  }
  .document-head-primary form,
  .document-head-primary .btn{
    width:100%;
  }
  .document-head-title-row{
    align-items:flex-start;
  }
}

@media(max-width:680px){
  .document-page-head{
    margin-left:-2px;
    margin-right:-2px;
    padding:18px 16px 0;
    border-radius:17px;
  }
  .document-head-copy .back{
    margin-bottom:13px;
  }
  .document-head-title-row{
    display:block;
  }
  .document-head-title-row h1{
    font-size:clamp(1.8rem,9vw,2.35rem);
    margin-top:4px;
  }
  .document-head-code{
    align-items:flex-start;
    margin-top:13px;
  }
  .document-head-filemeta{
    display:grid;
    gap:5px;
    margin-top:12px;
    font-size:.82rem;
  }
  .document-head-toolbar{
    margin:0 -16px;
    padding:13px 16px 15px;
    display:grid;
    gap:12px;
  }
  .document-action-group{
    display:grid;
    gap:7px;
  }
  .document-action-buttons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .document-action-buttons .btn{
    width:100%;
    justify-content:center;
  }
  .document-action-divider{
    display:none;
  }
  .document-primary-action{
    min-height:46px;
  }
}

@media(max-width:390px){
  .document-action-buttons{
    grid-template-columns:1fr;
  }
}


/* OrdnerBüro – Ablagekennzeichen oben rechts, Titel über volle Breite */
.document-page-head{
  position:relative;
}
.document-head-top{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.document-head-copy{
  width:100%;
  padding-right:190px;
}
.document-head-copy h1{
  max-width:none;
  width:100%;
  margin-top:4px;
}
.document-head-title-row{
  display:block;
}
.document-head-code-corner{
  position:absolute;
  top:0;
  right:0;
  z-index:2;
  align-items:flex-end;
  margin:0;
}
.document-head-primary{
  grid-column:2;
  grid-row:1;
  align-self:end;
}
.document-head-filemeta{
  padding-right:0;
}

@media(max-width:900px){
  .document-head-top{
    display:block;
  }
  .document-head-copy{
    padding-right:165px;
  }
  .document-head-primary{
    margin-top:18px;
    width:100%;
  }
}

@media(max-width:680px){
  .document-head-code-corner{
    position:static;
    align-items:flex-start;
    margin:0 0 14px;
  }
  .document-head-copy{
    padding-right:0;
  }
  .document-head-primary{
    margin-top:16px;
  }
}


/* OrdnerBüro – Dokumentkopf V3: Titel wirklich volle Breite */
.document-page-head .document-head-top{
  display:block;
  position:relative;
  padding-bottom:22px;
}
.document-page-head .document-head-copy{
  width:100%;
  max-width:none;
  padding-right:0;
}
.document-page-head .document-head-copy .back{
  display:inline-flex;
  margin-bottom:20px;
}
.document-head-eyebrow{
  display:block;
  width:max-content;
  margin-bottom:7px;
}
.document-page-head .document-head-copy h1{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.08;
}
.document-page-head .document-head-filemeta{
  margin-top:15px;
  padding-right:0;
}
.document-head-primary-row{
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
}
.document-page-head .document-head-primary{
  width:auto;
  margin:0;
}
.document-page-head .document-head-primary form{
  margin:0;
}
.document-head-code-corner{
  top:0;
  right:0;
}
.document-page-head .document-head-code-corner + .document-head-copy .back{
  /* oben rechts bleibt nur das kleine Kennzeichen reserviert, nicht die Titelzeile */
  max-width:calc(100% - 190px);
}

@media(max-width:900px){
  .document-page-head .document-head-copy{
    padding-right:0;
  }
  .document-head-primary-row{
    justify-content:flex-start;
  }
  .document-page-head .document-head-primary{
    width:100%;
  }
  .document-page-head .document-head-primary form,
  .document-page-head .document-head-primary .btn{
    width:100%;
  }
}

@media(max-width:680px){
  .document-head-code-corner{
    position:static;
    margin:0 0 14px;
    align-items:flex-start;
  }
  .document-page-head .document-head-code-corner + .document-head-copy .back{
    max-width:none;
  }
  .document-page-head .document-head-copy .back{
    margin-bottom:14px;
  }
  .document-head-eyebrow{
    margin-bottom:6px;
  }
  .document-head-primary-row{
    margin-top:16px;
  }
}

/* Fehlerseite: sekundäre Aktion als echter Zurück-Button */
.error-state-actions button.btn{
  font:inherit;
}


/* ============================================================
   OrdnerBüro – PDF-Werkzeugkasten
   Vollständiges Layout, da die früheren PDF-spezifischen Regeln
   in app.css nicht mehr vorhanden waren.
   ============================================================ */

.pdf-tool-page{
  width:min(1500px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
}

.pdf-tool-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

.pdf-tool-heading>div{
  min-width:0;
}

.pdf-tool-heading .back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:20px;
}

.pdf-tool-heading .eyebrow{
  display:block;
  margin-bottom:6px;
}

.pdf-tool-heading h1{
  margin:0;
  font-size:clamp(2.15rem,4vw,3.25rem);
  line-height:1.04;
}

.pdf-tool-heading p{
  margin:8px 0 0;
  color:var(--muted,#756f65);
  font-size:1rem;
  overflow-wrap:anywhere;
}

.pdf-tool-heading>.btn{
  flex:0 0 auto;
}

.pdf-tool-notice{
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:20px;
  padding:22px 24px;
  border-color:#ddcfb5;
  background:linear-gradient(135deg,#fffdf8 0%,#fbf5e8 100%);
}

.pdf-tool-notice>svg{
  width:24px;
  height:24px;
  flex:0 0 24px;
  margin-top:1px;
  color:#9c7425;
}

.pdf-tool-notice strong{
  display:block;
  margin-bottom:5px;
  font-size:1rem;
}

.pdf-tool-notice p{
  margin:0;
  color:var(--muted,#756f65);
  line-height:1.55;
}

.pdf-tool-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:20px;
  align-items:start;
}

.pdf-tool-main{
  min-width:0;
  padding:24px;
}

.pdf-tool-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.pdf-tool-panel-head h2,
.pdf-tool-side-panel h2{
  margin:0;
  font-size:1.18rem;
}

.pdf-tool-panel-head p{
  margin:6px 0 0;
  color:var(--muted,#756f65);
  line-height:1.5;
}

.pdf-tool-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #dfd3c0;
  border-radius:999px;
  background:#faf6ee;
  color:#796238;
  font-size:.78rem;
  font-weight:800;
  white-space:nowrap;
}

.pdf-tool-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
  padding:12px;
  border:1px solid #ebe2d5;
  border-radius:14px;
  background:#faf8f3;
}

.pdf-tool-toolbar .btn{
  min-height:36px;
  padding:7px 11px;
  box-shadow:none;
}

.pdf-tool-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:16px;
}

.pdf-tool-page-card{
  position:relative;
  min-width:0;
  padding:13px;
  border:1px solid #e2d8c8;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(42,35,22,.055);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.pdf-tool-page-card:hover{
  border-color:#d3bd91;
  box-shadow:0 10px 28px rgba(42,35,22,.09);
  transform:translateY(-1px);
}

.pdf-tool-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}

.pdf-tool-checkbox{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
  cursor:pointer;
}

.pdf-tool-checkbox input{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  accent-color:#9c7425;
}

.pdf-tool-checkbox strong{
  font-size:.9rem;
}

.pdf-tool-index{
  color:var(--muted,#756f65);
  font-size:.72rem;
  white-space:nowrap;
}

.pdf-tool-thumb{
  display:grid;
  place-items:center;
  aspect-ratio:210 / 297;
  overflow:hidden;
  border:1px solid #e7dfd2;
  border-radius:10px;
  background:#f1eee7;
}

.pdf-tool-preview{
  width:100%;
  height:100%;
  object-fit:contain;
  transform-origin:center;
  transition:transform .18s ease;
  background:#fff;
}

.pdf-tool-card-actions{
  display:flex;
  gap:7px;
  margin-top:10px;
}

.pdf-tool-card-actions .btn{
  width:36px;
  height:34px;
  min-height:34px;
  padding:0;
  display:grid;
  place-items:center;
  box-shadow:none;
}

.pdf-tool-card-actions .btn svg{
  width:15px;
  height:15px;
}

.pdf-tool-card-actions .btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  transform:none;
}

.pdf-tool-group-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
  font-size:.78rem;
  font-weight:750;
  color:#6e6351;
}

.pdf-tool-group{
  width:72px;
  min-height:34px;
  padding:6px 8px;
  border:1px solid #d9cfbe;
  border-radius:9px;
  background:#fff;
  font:inherit;
  text-align:center;
}

.pdf-tool-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #ebe2d5;
}

.pdf-tool-footer p{
  margin:0;
  color:var(--muted,#756f65);
  line-height:1.45;
}

.pdf-tool-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
  flex:0 0 auto;
}

.pdf-tool-side{
  display:grid;
  gap:20px;
}

.pdf-tool-side-panel{
  padding:22px;
}

.pdf-tool-side-panel p{
  margin:10px 0 0;
  line-height:1.55;
}

.pdf-tool-side-panel p:first-of-type{
  margin-top:14px;
}

.pdf-tool-side-panel form{
  display:grid;
  gap:13px;
  margin-top:16px;
}

.pdf-tool-side-panel form>label{
  display:grid;
  gap:7px;
  font-size:.82rem;
  font-weight:800;
}

.pdf-tool-side-panel select{
  width:100%;
  min-height:130px;
  padding:8px;
  border:1px solid #d9cfbe;
  border-radius:11px;
  background:#fff;
  font:inherit;
}

.pdf-tool-side-panel option{
  padding:5px;
}

.pdf-tool-side-panel small{
  display:block;
  margin-top:3px;
  color:var(--muted,#756f65);
  font-weight:400;
  line-height:1.35;
}

.pdf-tool-side-panel .btn{
  width:100%;
  justify-content:center;
}

@media(max-width:1100px){
  .pdf-tool-page{
    width:min(100% - 32px,1200px);
  }
  .pdf-tool-layout{
    grid-template-columns:1fr;
  }
  .pdf-tool-side{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .pdf-tool-page{
    width:calc(100% - 20px);
  }
  .pdf-tool-heading{
    display:grid;
    gap:16px;
    align-items:start;
  }
  .pdf-tool-heading>.btn{
    width:100%;
    justify-content:center;
  }
  .pdf-tool-notice{
    padding:18px;
  }
  .pdf-tool-main{
    padding:18px;
  }
  .pdf-tool-panel-head{
    display:grid;
    gap:10px;
  }
  .pdf-tool-count{
    width:max-content;
  }
  .pdf-tool-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .pdf-tool-footer{
    display:grid;
  }
  .pdf-tool-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    justify-content:stretch;
  }
  .pdf-tool-buttons .btn{
    width:100%;
    justify-content:center;
  }
  .pdf-tool-side{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .pdf-tool-grid{
    grid-template-columns:1fr;
  }
  .pdf-tool-toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .pdf-tool-toolbar .btn{
    width:100%;
    justify-content:center;
  }
  .pdf-tool-buttons{
    grid-template-columns:1fr;
  }
  .pdf-tool-card-top{
    align-items:flex-start;
  }
}


/* OrdnerBüro – einheitlicher Fokus für Eingabefelder
   Ersetzt den schwarzen Browser-Outline durch den warmen OrdnerBüro-Fokusring.
   Der Fokus bleibt bewusst klar sichtbar (Tastatur/Barrierefreiheit). */
:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  select,
  textarea
):focus,
:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  select,
  textarea
):focus-visible{
  outline:none !important;
  border-color:#a98437 !important;
  box-shadow:0 0 0 3px rgba(169,132,55,.16) !important;
}

/* Suchfelder sitzen teilweise in eigenen Wrappern. Dort soll der Fokus
   ebenfalls weich wirken und nicht wie der native schwarze Browserrahmen. */
.category-search:focus-within,
.search-box:focus-within,
.global-search-input-wrap:focus-within{
  border-color:#d9c291;
  box-shadow:0 0 0 3px rgba(169,132,55,.10);
}

/* Keine doppelte Fokusmarkierung, wenn bereits der Wrapper hervorgehoben wird. */
.category-search input:focus,
.category-search input:focus-visible{
  outline:none !important;
}


/* ============================================================
   OrdnerBüro – Ordnerstruktur kompakt / Accordion
   ============================================================ */

.categories-stats-compact{
  gap:12px;
  margin-bottom:22px;
}
.categories-stats-compact .stat-card{
  min-height:112px;
  padding:18px 20px;
}
.categories-stats-compact .stat-card b{
  margin-top:4px;
  font-size:2rem;
  line-height:1;
}
.categories-stats-compact .stat-card small{
  margin-top:8px;
}

.category-toolbar-v2{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:14px;
  align-items:center;
}
.category-toolbar-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.category-filter-chips{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.category-filter-chip{
  appearance:none;
  border:1px solid #ded3c1;
  border-radius:999px;
  background:#fff;
  color:#6c6356;
  min-height:34px;
  padding:6px 12px;
  font:700 .77rem/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
  transition:.16s ease;
}
.category-filter-chip:hover{
  border-color:#c4a666;
  background:#fcf8ef;
  color:#72551c;
}
.category-filter-chip.is-active{
  border-color:#b68a35;
  background:#fff5dc;
  color:#79510b;
  box-shadow:0 0 0 2px rgba(182,138,53,.08);
}
.category-collapse-all{
  min-height:34px;
  padding:6px 11px;
  font-size:.78rem;
  white-space:nowrap;
}

.category-tree{
  display:grid;
  gap:10px;
  padding:18px 24px 24px;
}
.category-tree-card-collapsible{
  overflow:visible;
  border-radius:15px;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.category-tree-card-collapsible:not(.is-expanded){
  box-shadow:0 4px 14px rgba(39,33,23,.035);
}
.category-tree-card-collapsible.is-expanded{
  border-color:#dccaa7;
  box-shadow:0 12px 28px rgba(39,33,23,.07);
}
.category-tree-card-collapsible.has-search-hit{
  border-color:#caa55a;
}

.category-tree-card-collapsible .category-tree-head{
  min-height:74px;
  padding:0 12px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:4px;
}

.category-accordion-trigger{
  appearance:none;
  width:100%;
  min-width:0;
  min-height:72px;
  border:0;
  background:transparent;
  color:inherit;
  padding:10px 12px 10px 14px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  text-align:left;
  cursor:pointer;
  border-radius:14px;
}
.category-accordion-trigger:hover{
  background:#fbf8f1;
}
.category-accordion-trigger:focus-visible{
  outline:none;
  box-shadow:inset 0 0 0 2px rgba(169,132,55,.28);
}
.category-accordion-trigger .category-card-main{
  display:block;
  min-width:0;
}
.category-accordion-trigger .category-card-title{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.category-accordion-trigger .category-card-title strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.category-accordion-trigger .category-card-main>small{
  display:block;
  margin-top:3px;
  color:var(--muted,#81786c);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.category-accordion-chevron{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  color:#93743b;
  transition:transform .18s ease,background .18s ease;
}
.category-accordion-trigger:hover .category-accordion-chevron{
  background:#f3ecdf;
}
.category-tree-card-collapsible.is-expanded .category-accordion-chevron{
  transform:rotate(180deg);
}

.folder-quick-action-trigger{
  appearance:none;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#807665;
  cursor:pointer;
}
.folder-quick-action-trigger:hover,
.folder-quick-action-trigger[aria-expanded="true"]{
  border-color:#dfd3c0;
  background:#f8f4ec;
  color:#6d531f;
}
.folder-quick-action-trigger svg{
  width:18px;
  height:18px;
}

.category-tree-card-collapsible .category-edit-details{
  margin:0;
}
.category-tree-card-collapsible .category-lock{
  margin-right:2px;
}

.category-accordion-body{
  border-top:1px solid #ece4d8;
  background:#fff;
}
.category-accordion-body[hidden]{
  display:none !important;
}
.category-accordion-body .subcategory-list{
  padding:4px 22px 0;
}
.category-accordion-body .subcategory-row{
  min-height:54px;
  padding-top:7px;
  padding-bottom:7px;
}
.category-accordion-body .subcategory-create{
  margin:4px 22px 16px;
  padding-top:12px;
  border-top:1px dashed #e7dece;
}

.category-create-mobile-toggle{
  display:none;
}

/* Das rechte Formular darf auf Desktop beim Scrollen sichtbar bleiben. */
@media(min-width:981px){
  .category-create-panel{
    position:sticky;
    top:92px;
    align-self:start;
  }
}

@media(max-width:1100px){
  .category-toolbar-v2{
    grid-template-columns:1fr;
  }
  .category-toolbar-controls{
    justify-content:space-between;
  }
}

@media(max-width:780px){
  .categories-stats-compact{
    display:grid;
    grid-template-columns:repeat(4,minmax(110px,1fr));
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    scroll-snap-type:x proximity;
  }
  .categories-stats-compact .stat-card{
    min-height:84px;
    padding:13px 14px;
    scroll-snap-align:start;
  }
  .categories-stats-compact .stat-card b{
    font-size:1.55rem;
  }
  .categories-stats-compact .stat-card small{
    margin-top:4px;
    font-size:.7rem;
  }
  .category-toolbar-controls{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
  .category-filter-chips{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:2px;
  }
  .category-collapse-all{
    width:100%;
    justify-content:center;
  }
  .category-tree{
    padding:12px;
    gap:8px;
  }
  .category-tree-card-collapsible .category-tree-head{
    min-height:66px;
    grid-template-columns:minmax(0,1fr) auto auto;
    padding-right:6px;
  }
  .category-accordion-trigger{
    min-height:64px;
    padding:8px 7px 8px 9px;
    gap:9px;
  }
  .category-accordion-trigger .category-icon-badge{
    width:40px;
    height:40px;
  }
  .category-accordion-trigger .category-card-title{
    gap:6px;
  }
  .category-accordion-trigger .category-card-title strong{
    font-size:.95rem;
  }
  .category-accordion-trigger .category-card-main>small{
    font-size:.69rem;
  }
  .category-kind{
    font-size:.56rem;
    padding:3px 6px;
  }
  .category-accordion-chevron{
    width:26px;
    height:26px;
  }
  .folder-quick-action-trigger{
    width:34px;
    height:34px;
  }
  .category-accordion-body .subcategory-list{
    padding:2px 10px 0;
  }
  .category-accordion-body .subcategory-create{
    margin:4px 10px 12px;
  }

  /* Auf Mobilgeräten spart das Formular erst Platz und wird bei Bedarf geöffnet. */
  .category-create-panel{
    padding:0 !important;
    overflow:hidden;
  }
  .category-create-mobile-toggle{
    display:flex;
    width:100%;
    min-height:52px;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:0;
    background:#1d2b2a;
    color:#fff;
    padding:12px 16px;
    font:800 .9rem/1 Arial,Helvetica,sans-serif;
    cursor:pointer;
  }
  .category-create-mobile-body{
    display:none;
    padding:18px;
  }
  .category-create-mobile-body.is-open{
    display:block;
  }
}

@media(max-width:520px){
  .categories-head{
    margin-bottom:14px;
  }
  .categories-head h1{
    font-size:2rem;
  }
  .categories-head p{
    font-size:.9rem;
  }
  .categories-stats-compact{
    grid-template-columns:repeat(4,128px);
  }
  .category-toolbar-v2{
    gap:10px;
  }
  .category-search{
    min-height:48px;
  }
  .category-filter-chip{
    min-height:32px;
    padding:5px 10px;
    font-size:.72rem;
  }
  .category-tree-card-collapsible .category-tree-head{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .category-accordion-trigger{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  .category-edit-details,
  .category-lock{
    display:none;
  }
  .folder-quick-action-trigger{
    margin-right:3px;
  }
  .subcategory-row{
    border-radius:10px;
  }
}


/* ============================================================
   OrdnerBüro – Ordnerstruktur Accordion Korrektur V3.08
   ============================================================ */

/* Jede Ordnerkarte bleibt exakt innerhalb derselben Listenbreite. */
.categories-list-panel,
.category-tree,
.category-tree-card-collapsible{
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.category-tree-card-collapsible{
  max-width:100%;
  margin:0;
}

/* Der gesamte Detailbereich einschließlich "Register hinzufügen"
   gehört zum Accordion und verschwindet im eingeklappten Zustand. */
.category-accordion-body{
  width:100%;
  box-sizing:border-box;
  overflow:visible;
}
.category-accordion-body[hidden]{
  display:none !important;
}

/* Keine verwaisten Punkte/Lock-Markierungen als eigene Zeile. */
.category-tree-card-collapsible .category-lock{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  margin:0;
  color:#a89c89;
  font-size:.65rem;
}

/* Metadaten bekommen zwei logisch getrennte Bereiche. */
.category-card-meta{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  margin-top:3px;
  color:var(--muted,#81786c);
}
.category-card-meta small{
  margin:0 !important;
}
.category-card-usage{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.category-register-count{
  flex:0 0 auto;
  white-space:nowrap;
}
.category-register-count::before{
  content:"·";
  margin-right:7px;
  color:#b5aa98;
}

/* Desktop: Button "Neuer Ordner" bleibt unnötig, weil Formular rechts sichtbar ist. */
.category-create-top-button,
.category-create-mobile-head{
  display:none;
}

/* Desktop-Layout stabilisieren: Liste und Seitenpanel behalten immer ihre Spalten. */
@media(min-width:981px){
  .categories-layout-v2{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,360px);
    gap:22px;
    align-items:start;
  }
  .categories-list-panel{
    grid-column:1;
  }
  .category-create-panel{
    grid-column:2;
    position:sticky;
    top:92px;
    width:100%;
    max-width:none;
  }
}

/* Tablet: untereinander, aber beide weiterhin gleiche Inhaltsbreite. */
@media(max-width:980px) and (min-width:781px){
  .categories-layout-v2{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }
  .category-create-panel{
    width:100%;
    max-width:none;
  }
}

/* Mobil: Registeranzahl ist garantiert sichtbar. */
@media(max-width:780px){
  .category-card-meta{
    margin-top:2px;
    gap:5px;
  }
  .category-card-usage{
    font-size:.64rem !important;
    max-width:min(44vw,170px);
  }
  .category-register-count{
    font-size:.64rem !important;
    font-weight:750;
    color:#80632b;
  }

  .category-create-top-button{
    display:inline-flex;
    width:100%;
    min-height:42px;
    justify-content:center;
  }

  /* Seitenpanel wird auf Mobil zum sofort sichtbaren Dialog statt am Seitenende. */
  .category-create-panel{
    display:none;
    position:fixed !important;
    z-index:10030;
    left:12px;
    right:12px;
    top:max(74px,calc(env(safe-area-inset-top) + 62px));
    bottom:12px;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    overflow:auto;
    border-radius:20px;
    box-shadow:0 24px 70px rgba(18,29,28,.28);
  }
  .category-create-panel.is-mobile-open{
    display:block;
  }
  .category-create-mobile-head{
    position:sticky;
    z-index:2;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid #e8dfd1;
    background:#fff;
  }
  .category-create-mobile-head strong{
    font-size:1rem;
  }
  .category-create-mobile-close{
    appearance:none;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid #ddd1bd;
    border-radius:10px;
    background:#faf8f3;
    color:#38413f;
    cursor:pointer;
  }
  .category-create-mobile-body{
    display:block !important;
    padding:18px !important;
  }
  .category-create-backdrop{
    position:fixed;
    z-index:10020;
    inset:0;
    background:rgba(18,29,28,.38);
    backdrop-filter:blur(2px);
  }
  .category-create-backdrop[hidden]{
    display:none !important;
  }
  body.category-create-modal-open{
    overflow:hidden;
  }

  /* Mobile edit actions bleiben über das 3-Punkte-Schnellmenü erreichbar.
     Lock-Markierung darf die Kartenzeile nicht unnötig verbreitern. */
  .category-lock{
    display:none !important;
  }
}

/* Sehr schmale Displays: Metadaten nicht wegquetschen. */
@media(max-width:430px){
  .category-card-meta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px;
  }
  .category-card-usage{
    max-width:none;
  }
  .category-register-count::before{
    display:none;
  }
}


/* ============================================================
   OrdnerBüro – Erste Schritte / geführter Assistent
   ============================================================ */
.help-page .help-intro{
  margin-bottom:22px;
}
.help-workflow-assistant{
  margin-bottom:22px;
  overflow:hidden;
  border-color:#ddcfb3;
  background:linear-gradient(145deg,#fffdf8 0%,#fff 58%,#f8f3e8 100%);
}
.help-workflow-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:26px 28px 20px;
}
.help-workflow-head h2{
  margin:4px 0 6px;
  font-size:clamp(1.5rem,3vw,2rem);
}
.help-workflow-head p{
  margin:0;
  color:var(--muted,#756f65);
  line-height:1.5;
}
.help-workflow-resume{
  flex:0 0 260px;
  padding:13px 14px;
  border:1px solid #dfd1b8;
  border-radius:14px;
  background:#fffaf0;
}
.help-workflow-resume>span{
  display:block;
  color:#9a762f;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.help-workflow-resume>strong{
  display:block;
  margin:5px 0 9px;
  font-size:.86rem;
  line-height:1.35;
}
.help-workflow-goals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:0 28px 28px;
}
.help-workflow-goal{
  appearance:none;
  min-width:0;
  min-height:112px;
  padding:17px 16px;
  border:1px solid #e3d8c7;
  border-radius:16px;
  background:#fff;
  color:#192624;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  text-align:left;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(40,34,24,.035);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.help-workflow-goal:hover{
  transform:translateY(-2px);
  border-color:#cba75d;
  background:#fffdf8;
  box-shadow:0 12px 24px rgba(40,34,24,.07);
}
.help-workflow-goal:focus-visible{
  outline:none;
  border-color:#a98437;
  box-shadow:0 0 0 3px rgba(169,132,55,.15);
}
.help-workflow-goal-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#f5efe2;
  color:#946d23;
}
.help-workflow-goal-icon svg{
  width:21px;
  height:21px;
}
.help-workflow-goal>span:nth-child(2){
  min-width:0;
}
.help-workflow-goal strong{
  display:block;
  margin-bottom:4px;
  font-size:.98rem;
}
.help-workflow-goal small{
  display:block;
  color:var(--muted,#756f65);
  line-height:1.42;
}
.help-workflow-goal>svg{
  width:16px;
  height:16px;
  color:#a88d5a;
}

.help-workflow-runner{
  padding:22px 28px 28px;
  border-top:1px solid #e8ddcc;
  background:#fff;
}
.help-workflow-runner-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.help-workflow-back,
.help-workflow-later{
  appearance:none;
  border:0;
  background:transparent;
  color:#846628;
  padding:0;
  font:750 .78rem/1.2 Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.help-workflow-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.help-workflow-progress-label{
  color:#7d7467;
  font-size:.76rem;
  font-weight:750;
}
.help-workflow-progress{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#eee9df;
}
.help-workflow-progress>span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#b78a34,#d1aa58);
  transition:width .2s ease;
}
.help-workflow-current{
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  gap:18px;
  margin-top:24px;
  padding:22px;
  border:1px solid #e5dac8;
  border-radius:17px;
  background:#fdfbf7;
}
.help-workflow-current-no{
  display:grid;
  place-items:center;
  align-self:start;
  width:54px;
  height:54px;
  border-radius:16px;
  background:#1d2b2a;
  color:#fff;
  font-size:1.1rem;
  font-weight:850;
}
.help-workflow-current-copy h3{
  margin:5px 0 7px;
  font-size:1.25rem;
}
.help-workflow-current-copy p{
  margin:0;
  color:#655e53;
  line-height:1.6;
}
.help-workflow-step-note{
  margin-top:12px;
  padding:10px 12px;
  border-left:3px solid #bd913d;
  border-radius:0 10px 10px 0;
  background:#fff6e4;
  color:#6d5932;
  font-size:.82rem;
  line-height:1.5;
}
.help-workflow-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}
.help-workflow-actions .btn{
  min-height:42px;
}
.help-workflow-later{
  margin-left:auto;
  padding:10px 3px;
}
.help-workflow-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}
.help-workflow-overview-step{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid #ebe3d7;
  border-radius:11px;
  background:#fff;
  color:#82796c;
  cursor:pointer;
}
.help-workflow-overview-step>span{
  flex:0 0 25px;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#f1ece3;
  font-size:.7rem;
  font-weight:850;
}
.help-workflow-overview-step strong{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:.72rem;
}
.help-workflow-overview-step.is-current{
  border-color:#cfad69;
  background:#fffaf0;
  color:#654b17;
}
.help-workflow-overview-step.is-current>span{
  background:#c29643;
  color:#fff;
}
.help-workflow-overview-step.is-done{
  color:#396b55;
}
.help-workflow-overview-step.is-done>span{
  background:#e2f0e8;
  color:#397257;
}

.help-workflow-finished{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:25px 28px;
  border-top:1px solid #e8ddcc;
  background:#f5faf7;
}
.help-workflow-finished-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:50%;
  background:#dff0e6;
  color:#347054;
}
.help-workflow-finished-icon svg{
  width:26px;
  height:26px;
}
.help-workflow-finished h3{
  margin:4px 0;
}
.help-workflow-finished p{
  margin:0;
  color:#657069;
}

@media(max-width:980px){
  .help-workflow-goals{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .help-workflow-overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .help-workflow-head{
    display:grid;
    padding:20px 16px 16px;
  }
  .help-workflow-resume{
    width:100%;
    flex-basis:auto;
  }
  .help-workflow-goals{
    grid-template-columns:1fr;
    gap:8px;
    padding:0 16px 18px;
  }
  .help-workflow-goal{
    min-height:84px;
    padding:12px;
  }
  .help-workflow-goal-icon{
    width:40px;
    height:40px;
    border-radius:12px;
  }
  .help-workflow-goal small{
    font-size:.75rem;
  }
  .help-workflow-runner{
    padding:18px 16px 20px;
  }
  .help-workflow-runner-top{
    align-items:flex-start;
  }
  .help-workflow-progress-label{
    text-align:right;
  }
  .help-workflow-current{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
    margin-top:18px;
  }
  .help-workflow-current-no{
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:.9rem;
  }
  .help-workflow-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .help-workflow-actions .btn{
    width:100%;
    justify-content:center;
  }
  .help-workflow-later{
    grid-column:1/-1;
    margin:0;
    text-align:center;
  }
  .help-workflow-overview{
    grid-template-columns:1fr;
    gap:6px;
  }
  .help-workflow-finished{
    grid-template-columns:auto minmax(0,1fr);
    padding:20px 16px;
  }
  .help-workflow-finished .btn{
    grid-column:1/-1;
    width:100%;
    justify-content:center;
  }
}


/* Digitaler Assistent V2 */
.help-workflow-goals[hidden],
.help-workflow-runner[hidden],
.help-workflow-finished[hidden],
.help-workflow-resume[hidden],
.help-workflow-step-note[hidden],
.help-workflow-actions [hidden]{display:none!important}

.pulse-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.assistant-return-banner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;
  margin:0 0 18px;padding:15px 17px;border:1px solid #d9c38f;border-radius:16px;
  background:linear-gradient(135deg,#fff9e9 0%,#fffdf8 65%,#f2f8f4 100%);
  box-shadow:0 8px 22px rgba(54,44,24,.05)
}
.assistant-return-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#1d2b2a;color:#f0cb72}
.assistant-return-icon svg{width:19px;height:19px}
.assistant-return-copy{min-width:0}
.assistant-return-copy>strong{display:block;margin-top:2px;font-size:.96rem}
.assistant-return-copy p{margin:3px 0 0;color:#6f6658;font-size:.83rem;line-height:1.4}
.assistant-return-button{white-space:nowrap;min-height:42px}

@media(max-width:760px){
  .pulse-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .pulse-head-actions .btn{width:100%;justify-content:center}
  .assistant-return-banner{grid-template-columns:auto minmax(0,1fr)}
  .assistant-return-button{grid-column:1/-1;width:100%;justify-content:center}
}
@media(max-width:480px){.pulse-head-actions{grid-template-columns:1fr}}


/* ============================================================
   OrdnerBüro – Digitaler Assistent als klarer Dashboard-CTA
   ============================================================ */

.dashboard-assistant-cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  padding:11px 15px 11px 17px;
  border:1px solid #c79d3b !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#1d2b2a 0%,#243937 100%) !important;
  color:#fff !important;
  box-shadow:
    0 10px 24px rgba(29,43,42,.22),
    0 0 0 4px rgba(199,157,59,.10) !important;
  font-weight:800;
  text-decoration:none !important;
  overflow:hidden;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.dashboard-assistant-cta::before{
  content:"";
  position:absolute;
  inset:-40% auto -40% -22%;
  width:38%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  opacity:.8;
  pointer-events:none;
}

.dashboard-assistant-cta:hover{
  transform:translateY(-1px);
  border-color:#d6ad55 !important;
  background:linear-gradient(135deg,#1a2928 0%,#2a403e 100%) !important;
  box-shadow:
    0 14px 30px rgba(29,43,42,.28),
    0 0 0 6px rgba(199,157,59,.14) !important;
}

.dashboard-assistant-cta:focus-visible{
  outline:none;
  box-shadow:
    0 14px 30px rgba(29,43,42,.24),
    0 0 0 4px rgba(199,157,59,.28) !important;
}

.dashboard-assistant-cta svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
  color:#f0cf79;
}

.dashboard-assistant-cta>span:not(.dashboard-assistant-badge){
  white-space:nowrap;
}

.dashboard-assistant-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(240,207,121,.26);
  border-radius:999px;
  background:rgba(240,207,121,.10);
  color:#f1d588;
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}

.dashboard-atlas-cta{
  min-height:46px;
  padding:11px 16px !important;
  border-radius:14px !important;
  background:#fffdfa !important;
  border-color:#d8cfbf !important;
  color:#1d2b2a !important;
  box-shadow:none !important;
}

.dashboard-atlas-cta:hover{
  background:#f8f4ec !important;
  border-color:#c8b99f !important;
  transform:translateY(-1px);
}

@media(max-width:760px){
  .dashboard-assistant-cta,
  .dashboard-atlas-cta{
    min-height:48px;
  }

  .dashboard-assistant-cta{
    box-shadow:
      0 9px 22px rgba(29,43,42,.20),
      0 0 0 3px rgba(199,157,59,.10) !important;
  }
}

@media(max-width:520px){
  .dashboard-assistant-cta{
    justify-content:center;
  }

  .dashboard-assistant-badge{
    margin-left:auto;
  }
}

/* ============================================================
   OrdnerBüro – Eingangskorb + öffentliche Einblicke V3.14
   ============================================================ */
.entry-basket-head{align-items:flex-start}
.entry-basket-head-note{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #d9cfbd;border-radius:14px;background:#fffdf8;color:#1d2b2a}
.entry-basket-head-note>svg{width:22px;height:22px;color:#9b752c}.entry-basket-head-note span{display:grid}.entry-basket-head-note strong{font-size:.84rem}.entry-basket-head-note small{color:#7b7265;font-size:.72rem;margin-top:2px}
.entry-basket-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.entry-basket-stat{display:grid;gap:4px;min-height:112px;padding:18px 20px;border:1px solid #e1d7c7;border-radius:17px;background:#fff;color:#1d2b2a;text-decoration:none;box-shadow:0 7px 20px rgba(40,34,24,.04)}.entry-basket-stat:hover,.entry-basket-stat.is-active{border-color:#c49a49;background:#fffaf0;transform:translateY(-1px)}.entry-basket-stat span{font-size:.76rem;color:#81786b}.entry-basket-stat strong{font-size:2rem;line-height:1}.entry-basket-stat small{color:#877d70;line-height:1.35}
.entry-basket-list{display:grid;gap:12px}.entry-basket-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px}.entry-basket-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f4eee2;color:#967027}.entry-kind-mail .entry-basket-icon{background:#eaf4f3;color:#36706b}.entry-kind-invoice .entry-basket-icon{background:#f8e9e3;color:#aa5840}.entry-basket-icon svg{width:21px;height:21px}.entry-basket-copy{min-width:0}.entry-basket-kicker{display:flex;gap:9px;align-items:center;color:#8b8172;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.entry-basket-kicker span+span:before{content:'·';margin-right:9px}.entry-basket-copy h2{margin:4px 0 3px;font-size:1.06rem}.entry-basket-meta{margin:0;color:#746b5f;font-size:.82rem}.entry-basket-suggestion{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;border-left:3px solid #bd913d;border-radius:0 10px 10px 0;background:#fff7e8}.entry-basket-suggestion>span{color:#9a7325}.entry-basket-suggestion small{display:block;color:#a27b2d;font-size:.6rem;font-weight:850;letter-spacing:.06em}.entry-basket-suggestion strong{display:block;margin-top:2px;color:#55472c;font-size:.78rem;line-height:1.4}.entry-basket-action{display:grid;justify-items:end;gap:10px;min-width:170px}.entry-basket-state{padding:5px 9px;border-radius:999px;background:#f3efe7;color:#766c5d;font-size:.68rem;font-weight:800}.entry-basket-empty{display:flex;align-items:center;gap:16px;padding:30px}.entry-basket-empty>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e5f2ea;color:#347358}.entry-basket-empty h2{margin:0 0 4px}.entry-basket-empty p{margin:0;color:#766e62}
.entry-basket-nav-badge{background:#b88a34!important}

.home-ki-free{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;margin:24px auto 52px;padding:24px 28px;max-width:1320px;border:1px solid #d8c394;border-radius:22px;background:linear-gradient(135deg,#1d2b2a 0%,#243937 62%,#314b47 100%);color:#fff;box-shadow:0 18px 42px rgba(29,43,42,.16)}.home-ki-free .eyebrow{color:#e8c66e}.home-ki-free h2{margin:4px 0 5px;color:#fff;font-size:clamp(1.45rem,3vw,2.1rem)}.home-ki-free p{margin:0;color:#d7dfdc;line-height:1.5}.home-ki-free-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.08);color:#f0cc70;border:1px solid rgba(240,204,112,.22)}.home-ki-free-icon svg{width:28px;height:28px}.home-ki-free-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(240,204,112,.28);border-radius:999px;background:rgba(240,204,112,.08);color:#f0d486;font-size:.72rem;font-weight:800;white-space:nowrap}
.home-preview-section{max-width:1320px;margin:0 auto 64px;padding:0 20px}.home-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-app-preview{overflow:hidden;border:1px solid #ded4c4;border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(43,36,24,.08)}.home-app-preview-featured{transform:translateY(-8px);border-color:#caa452;box-shadow:0 20px 44px rgba(111,83,31,.13)}.home-preview-browser{height:42px;display:flex;align-items:center;gap:6px;padding:0 13px;border-bottom:1px solid #e8e0d4;background:#f6f3ed}.home-preview-browser i{width:8px;height:8px;border-radius:50%;background:#d9cdbb}.home-preview-browser span{margin-left:6px;color:#766d61;font-size:.68rem;font-weight:750}.home-app-preview>footer{display:grid;gap:2px;padding:14px 16px;border-top:1px solid #ebe3d8;background:#fff}.home-app-preview>footer strong{font-size:.88rem}.home-app-preview>footer span{color:#80776a;font-size:.72rem}.home-preview-dashboard,.home-preview-inbox,.home-preview-document{min-height:230px;padding:17px;background:#f8f5ef}.home-preview-minihead{display:flex;justify-content:space-between;align-items:center}.home-preview-minihead b{font-size:.78rem}.home-preview-minihead span{font-size:.62rem;color:#91877a}.home-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.home-preview-kpis span{padding:12px;border:1px solid #e3dacd;border-radius:12px;background:#fff}.home-preview-kpis b{display:block;font-size:1.25rem}.home-preview-kpis small{color:#857b6d;font-size:.58rem}.home-preview-line{height:12px;width:75%;margin:9px 0;border-radius:999px;background:#e6ded1}.home-preview-line.wide{width:100%}.home-preview-line.short{width:52%}.home-preview-inbox{display:grid;align-content:center;gap:9px}.home-preview-entry{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #e4dccf;border-radius:12px;background:#fff}.home-preview-entry>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px}.home-preview-entry .mail{background:#e7f3f1;color:#36706b}.home-preview-entry .doc{background:#eee8f7;color:#66508b}.home-preview-entry .bill{background:#f8e8e2;color:#a95840}.home-preview-entry small,.home-preview-entry b,.home-preview-entry em{display:block}.home-preview-entry small{font-size:.53rem;color:#9a762c;font-weight:850}.home-preview-entry b{font-size:.72rem;margin:1px 0}.home-preview-entry em{font-size:.6rem;color:#7d7468;font-style:normal}.home-preview-document{position:relative}.home-preview-code{position:absolute;right:17px;top:15px;padding:5px 8px;border:1px solid #d6bf8d;border-radius:9px;background:#fff9eb;color:#7c5b1c;font-size:.66rem;font-weight:850}.home-preview-document h3{max-width:70%;margin:28px 0 5px;font-size:1.1rem}.home-preview-document p{margin:0;color:#857a6c;font-size:.7rem}.home-preview-docbox{display:flex;align-items:center;gap:9px;margin-top:24px;padding:20px;border:1px dashed #cfc2ae;border-radius:13px;background:#fff;color:#6d6458;font-size:.68rem}.home-preview-docbox svg{color:#a0483a}.home-preview-buttons{display:flex;gap:8px;margin-top:14px}.home-preview-buttons i{height:30px;flex:1;border:1px solid #dbd1c2;border-radius:9px;background:#fff}

@media(max-width:980px){.entry-basket-stats{grid-template-columns:repeat(2,1fr)}.home-preview-grid{grid-template-columns:1fr 1fr}.home-app-preview:last-child{grid-column:1/-1}.home-ki-free{grid-template-columns:auto 1fr}.home-ki-free-badge{grid-column:2}}
@media(max-width:700px){.entry-basket-item{grid-template-columns:auto minmax(0,1fr)}.entry-basket-action{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:space-between}.entry-basket-action .btn{width:auto}.entry-basket-head-note{width:100%}.home-ki-free{grid-template-columns:1fr;text-align:left;margin:16px 14px 40px;padding:20px}.home-ki-free-icon{width:50px;height:50px}.home-ki-free-badge{grid-column:1;width:max-content;max-width:100%;white-space:normal}.home-preview-section{padding:0 14px}.home-preview-grid{grid-template-columns:1fr}.home-app-preview-featured{transform:none}.home-app-preview:last-child{grid-column:auto}}
@media(max-width:480px){.entry-basket-stats{grid-template-columns:1fr 1fr;gap:8px}.entry-basket-stat{min-height:94px;padding:14px}.entry-basket-stat strong{font-size:1.55rem}.entry-basket-item{padding:14px}.entry-basket-action{display:grid;justify-items:stretch}.entry-basket-state{width:max-content}.entry-basket-action .btn{width:100%;justify-content:center}}


/* ============================================================
   OrdnerBüro – KI-freie Dubletten-Erkennung
   ============================================================ */
.duplicate-head{
  align-items:flex-end;
}
.duplicate-trust-panel{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
  padding:18px 20px;
  border-color:#d9c696;
  background:linear-gradient(135deg,#fff9e9,#fffdf8);
}
.duplicate-trust-panel>svg{
  flex:0 0 24px;
  width:24px;
  height:24px;
  color:#987022;
}
.duplicate-trust-panel strong{display:block;margin-bottom:3px}
.duplicate-trust-panel p{margin:0;color:var(--muted,#756f65);line-height:1.5}

.duplicate-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.duplicate-stats>div{
  padding:16px 18px;
  border:1px solid #e3d9ca;
  border-radius:15px;
  background:#fff;
}
.duplicate-stats span{
  display:block;
  color:#81776a;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.duplicate-stats strong{
  display:block;
  margin-top:5px;
  font-size:1.7rem;
}

.duplicate-list{display:grid;gap:14px}
.duplicate-card{padding:20px}
.duplicate-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.duplicate-card-head h2{margin:4px 0 0;font-size:1.12rem}
.duplicate-score{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #dfd4c2;
  border-radius:999px;
  background:#f8f5ee;
  color:#6e6455;
  font-size:.72rem;
  font-weight:850;
}
.duplicate-score.likely{
  border-color:#ddc27c;
  background:#fff7df;
  color:#79540c;
}
.duplicate-score.strong{
  border-color:#e0aaa1;
  background:#fff0ed;
  color:#8d3228;
}
.duplicate-reasons{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:13px 0 16px;
}
.duplicate-reasons span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:#f4f0e8;
  color:#665d50;
  font-size:.73rem;
  font-weight:700;
}
.duplicate-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:10px;
}
.duplicate-side{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:14px;
  border:1px solid #e4dacb;
  border-radius:14px;
  background:#fdfbf7;
  color:inherit;
  text-decoration:none;
}
.duplicate-side:hover{
  border-color:#c8aa6a;
  background:#fffaf0;
}
.duplicate-side>span{
  display:grid;
  place-items:center;
  width:31px;height:31px;
  border-radius:9px;
  background:#1d2b2a;
  color:#f0cf79;
  font-size:.72rem;
  font-weight:850;
}
.duplicate-side div{min-width:0}
.duplicate-side strong,
.duplicate-side small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.duplicate-side small{margin-top:3px;color:#7b7265;font-size:.75rem}
.duplicate-side>svg{width:15px;height:15px;color:#9c7d42}
.duplicate-pair-mark{
  display:grid;
  place-items:center;
  width:36px;
  color:#a0834b;
}
.duplicate-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
}
.duplicate-card-actions small{
  max-width:720px;
  color:#7b7265;
  line-height:1.45;
}
.duplicate-empty{
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px;
}
.duplicate-empty>svg{
  width:30px;height:30px;color:#397257;
}
.duplicate-empty h2{margin:0 0 4px}
.duplicate-empty p{margin:0;color:#756f65}

.entry-kind-duplicate .entry-basket-icon{
  background:#fff3df;
  color:#8d6218;
}

@media(max-width:760px){
  .duplicate-head{
    display:grid;
    gap:14px;
  }
  .duplicate-head form,
  .duplicate-head .btn{width:100%}
  .duplicate-head .btn{justify-content:center}
  .duplicate-stats{
    grid-template-columns:1fr 1fr 1fr;
    overflow-x:auto;
  }
  .duplicate-stats>div{min-width:130px}
  .duplicate-pair{
    grid-template-columns:1fr;
  }
  .duplicate-pair-mark{
    width:100%;
    height:24px;
  }
  .duplicate-card-actions{
    display:grid;
  }
  .duplicate-card-actions form,
  .duplicate-card-actions .btn{width:100%}
  .duplicate-card-actions .btn{justify-content:center}
}


/* ============================================================
   OrdnerBüro – Briefkasten-Regeln
   ============================================================ */
.mail-rules-trust{
  display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;padding:18px 20px;
  border-color:#d8c28d;background:linear-gradient(135deg,#fff9e8,#fffdf8)
}
.mail-rules-trust>svg{width:24px;height:24px;flex:0 0 24px;color:#916a20}
.mail-rules-trust strong{display:block;margin-bottom:4px}
.mail-rules-trust p{margin:0;color:#746b5f;line-height:1.5}
.mail-rules-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.mail-rules-list{padding:20px}
.mail-rule-card{padding:16px 0;border-top:1px solid #ece4d8}
.mail-rule-card:first-of-type{border-top:0}
.mail-rule-card.is-disabled{opacity:.62}
.mail-rule-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.mail-rule-head strong{display:block}
.mail-rule-head small{display:block;margin-top:3px;color:#807769}
.mail-rule-conditions,.mail-rule-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.mail-rule-conditions span,.mail-rule-actions span{
  display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;
  background:#f5f1e9;color:#655d50;font-size:.72rem
}
.mail-rule-actions span{background:#edf5ef;color:#41624e}
.mail-rule-card-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.mail-rule-card-buttons form{margin:0}
.mail-rule-create{position:sticky;top:92px;padding:20px}
.mail-rule-create .form-panel{padding:0;box-shadow:none;border:0;background:transparent}

@media(max-width:980px){
  .mail-rules-layout{grid-template-columns:1fr}
  .mail-rule-create{position:static}
}
@media(max-width:640px){
  .mail-rule-card-buttons{display:grid;grid-template-columns:1fr 1fr}
  .mail-rule-card-buttons .btn{width:100%;justify-content:center}
}

/* ============================================================
   OrdnerBüro – Haushalts- & Finanzblick
   ============================================================ */
.finance-year-select label{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:800}
.finance-year-select select{min-width:90px}
.finance-stats-v2{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-grid-primary{margin-top:18px}
.finance-upcoming-row{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:11px 0;border-top:1px solid #eee6da;color:inherit;text-decoration:none
}
.finance-upcoming-row:first-of-type{border-top:0}
.finance-upcoming-date{
  min-width:48px;padding:7px 8px;border-radius:10px;background:#f3eee5;
  color:#80632b;font-size:.72rem;font-weight:850;text-align:center
}
.finance-upcoming-row span:nth-child(2){min-width:0}
.finance-upcoming-row strong,.finance-upcoming-row small{display:block}
.finance-upcoming-row small{margin-top:2px;color:#81786b;font-size:.72rem}
.finance-provider-list{display:grid}
.finance-provider-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 0;border-top:1px solid #eee6da
}
.finance-provider-row:first-child{border-top:0}
.finance-provider-row span{min-width:0}
.finance-provider-row strong,.finance-provider-row small{display:block}
.finance-provider-row small{margin-top:2px;color:#81786b;font-size:.72rem}
.finance-category-row span small{display:block;color:#81786b;font-size:.7rem;margin-top:2px}

@media(max-width:900px){.finance-stats-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .finance-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .finance-year-select{grid-column:1/-1}
  .finance-year-select label{justify-content:space-between}
  .finance-stats-v2{grid-template-columns:1fr 1fr}
}

/* ============================================================
   OrdnerBüro – Notfallmodus 2.0
   ============================================================ */
.emergency-mode-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.emergency-live-count{
  min-width:100px;padding:12px 14px;border:1px solid #d9c695;border-radius:14px;
  background:#fff8e7;text-align:center
}
.emergency-live-count strong{display:block;font-size:1.6rem;color:#6d531f}
.emergency-live-count small{display:block;margin-top:2px;color:#7d705b;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
.emergency-access-options{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0
}
.emergency-access-options .check{
  align-items:flex-start;padding:12px;border:1px solid #e3d8c6;border-radius:13px;background:#fbf8f2
}
.emergency-access-options .check span{display:block}
.emergency-access-options .check strong,.emergency-access-options .check small{display:block}
.emergency-access-options .check small{margin-top:3px;color:#7d7467;line-height:1.4}
.emergency-share-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.emergency-share-live-badge,.emergency-share-permission{
  display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;
  background:#edf5ef;color:#41624e;font-size:.65rem;font-weight:800
}
.emergency-share-permission{background:#f4efe5;color:#725d35}
.emergency-file-actions{display:flex;gap:7px}

@media(max-width:760px){
  .emergency-mode-intro{grid-template-columns:auto minmax(0,1fr)}
  .emergency-live-count{grid-column:1/-1;width:100%}
  .emergency-access-options{grid-template-columns:1fr}
  .emergency-file-actions{display:grid}
}


/* ============================================================
   OrdnerBüro – V3.17 Detailkorrekturen
   ============================================================ */

/* Finanzblick: Jahresauswahl wie ein echtes OrdnerBüro-Steuerelement statt Browser-Default. */
.finance-year-select{
  margin:0;
}
.finance-year-select label{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  color:#5f574c;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.finance-year-select select{
  appearance:none;
  -webkit-appearance:none;
  min-width:112px;
  min-height:46px;
  margin:0;
  padding:0 40px 0 14px;
  border:1px solid #d8cdbd;
  border-radius:14px;
  background-color:#fffdfa;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='%23876a31' d='M3.2 5.7a.75.75 0 0 1 1.06.03L8 9.68l3.74-3.95a.75.75 0 1 1 1.09 1.03l-4.29 4.53a.75.75 0 0 1-1.09 0L3.17 6.76a.75.75 0 0 1 .03-1.06Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  color:#172321;
  font-size:.88rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(45,38,25,.035);
}
.finance-year-select select:hover{
  border-color:#c5ab73;
  background-color:#fffaf1;
}
.finance-year-select select:focus{
  outline:none;
  border-color:#b68a35;
  box-shadow:0 0 0 3px rgba(182,138,53,.13);
}

/* Notfallmodus: Status, Live-Modus und Berechtigung sind reine Info-Badges, keine Buttons. */
.emergency-share-badges{
  align-items:center;
}
.emergency-share-state,
.emergency-share-live-badge,
.emergency-share-permission{
  box-sizing:border-box;
  min-height:28px;
  margin-top:0;
  padding:5px 9px;
  border:1px solid transparent;
  line-height:16px;
  white-space:nowrap;
}
.emergency-share-state.is-active{border-color:#cfe6da}
.emergency-share-state.is-revoked{border-color:#ead4cd}
.emergency-share-state.is-expired{border-color:#ded8cf}
.emergency-share-live-badge{border-color:#d5e8dc}
.emergency-share-permission{
  border-color:#e2d8c6;
  cursor:default;
}
.emergency-share-permission svg,
.emergency-share-live-badge svg{
  width:12px;
  height:12px;
}

/* Verlauf: Löschen ist eine eigene Aktion und soll nicht mit „Verwalten“ verschmelzen. */
.share-overview-row-actions form{
  margin:0;
}
.share-overview-row-actions .danger-outline svg{
  width:13px;
  height:13px;
}

@media(max-width:640px){
  .finance-year-select,
  .finance-year-select label,
  .finance-year-select select{width:100%}
  .finance-year-select label{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .emergency-share-badges{gap:5px}
  .emergency-share-state,
  .emergency-share-live-badge,
  .emergency-share-permission{white-space:normal}
}

/* Dokument-Beziehungen: Live-Speicherung ohne Seiten-Reload. */
.document-link-live-status {
  display: block;
  min-height: 1.35em;
  margin-top: 8px;
  color: var(--muted, #6f746f);
}
.document-link-live-status.is-error {
  color: var(--danger, #a33b32);
}
.document-link-form .case-combobox {
  width: 100%;
}

/* 2026-09-28: Vertragsdokumente + Dokument-Beziehungen */
.contract-batch-panel + .contract-documents {
  margin-top: 24px;
}
.contract-document-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.contract-document-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.contract-document-actions form { margin: 0; }
.contract-document-actions .btn { white-space: nowrap; }
@media (max-width: 760px) {
  .contract-document-row { grid-template-columns: 1fr !important; }
  .contract-document-actions { justify-content: flex-start; }
}

/* Rechnung: Altbeleg-Option als eigenständige, ruhige Auswahl statt gequetschter Checkbox-Zeile. */
.invoice-mark-paid {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 4px 0 18px;
  padding: 14px 16px;
  border: 1px solid #ded2ba;
  border-radius: 14px;
  background: #faf7f0;
}
.invoice-mark-paid > input {
  margin: 2px 0 0 !important;
  width: 22px;
  height: 22px;
}
.invoice-mark-paid > span {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.invoice-mark-paid strong {
  display: block;
  line-height: 1.35;
}
.invoice-mark-paid small {
  display: block;
  margin: 0;
  font-weight: 500;
  line-height: 1.45;
  color: #756b5e;
}

/* Rechnungsstapel */
.invoice-stack-page{max-width:1240px;margin:0 auto}.invoice-stack-intro{max-width:820px}.invoice-stack-intro-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px}.invoice-stack-intro-head>div:first-child{font-size:2rem}.invoice-stack-method-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.invoice-stack-method-overview p{margin:.45rem 0 0;color:var(--muted,#756e63)}.invoice-stack-control-head,.invoice-stack-pages-head,.invoice-stack-results-head,.invoice-stack-submit{display:flex;align-items:center;justify-content:space-between;gap:20px}.invoice-stack-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.invoice-stack-method{display:flex;gap:12px;padding:16px;border:1px solid #ded3c0;border-radius:16px;background:#fffdf9;cursor:pointer}.invoice-stack-method:has(input:checked){border-color:#b7862d;box-shadow:0 0 0 2px rgba(183,134,45,.12)}.invoice-stack-method span{display:flex;flex-direction:column;gap:4px}.invoice-stack-method small{color:#756e63}.invoice-stack-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.invoice-stack-feedback{color:#756e63}.invoice-stack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px;align-items:start;margin-top:20px}.invoice-stack-page-card{border:1px solid #ded3c0;border-radius:14px;background:#fff;overflow:hidden;min-width:0}.invoice-stack-page-card.is-separator{border:3px solid #b7862d;opacity:.7}.invoice-stack-page-top{display:flex;justify-content:space-between;padding:10px 12px;background:#f7f3eb}.invoice-stack-page-kind{font-size:.75rem;font-weight:800;color:#9b6711}.invoice-stack-page-card img{display:block;width:100%;height:310px;object-fit:contain;background:#eee}.invoice-stack-splitter{grid-column:1/-1;border:0;background:none;display:flex;align-items:center;gap:10px;color:#9a7a46;cursor:pointer;padding:0}.invoice-stack-splitter:before,.invoice-stack-splitter:after{content:"";height:1px;background:#ddcfb9;flex:1}.invoice-stack-splitter span{border:1px dashed #c8b38e;border-radius:999px;padding:7px 12px;background:#fff}.invoice-stack-splitter.is-active span{background:#192c2a;color:#fff;border-color:#192c2a}.invoice-stack-submit{margin-top:24px;padding-top:18px;border-top:1px solid #e5dccd}.invoice-stack-submit>div{display:flex;flex-direction:column;gap:4px}.invoice-stack-result-list{display:grid;gap:10px;margin-top:18px}.invoice-stack-result{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;border:1px solid #e1d7c6;border-radius:14px;background:#fff}.invoice-stack-result>div:first-child{display:flex;flex-direction:column;gap:3px}.invoice-stack-result-status{font-size:.8rem;color:#756e63}.contract-invoice-stack-link{white-space:nowrap}@media(max-width:900px){.invoice-stack-method-overview,.invoice-stack-methods{grid-template-columns:1fr}.invoice-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-stack-page-card img{height:260px}}@media(max-width:560px){.invoice-stack-grid{grid-template-columns:1fr}.invoice-stack-control-head,.invoice-stack-pages-head,.invoice-stack-results-head,.invoice-stack-submit,.invoice-stack-result{align-items:stretch;flex-direction:column}.invoice-stack-page-card img{height:auto}}
.invoice-stack-slot{min-width:0;position:relative}.invoice-stack-slot .invoice-stack-splitter{width:100%;margin:0 0 8px}.invoice-stack-slot:first-child .invoice-stack-page-card{margin-top:34px}.invoice-stack-splitter{grid-column:auto}.invoice-stack-splitter:before,.invoice-stack-splitter:after{display:none}


/* 2026-09-28: Rechnungsstapel + Vertrags-Direktaktionen */
.invoice-stack-upload { margin-bottom: 12px; }
.invoice-stack-upload input[type="file"] { margin-top: 10px; }

.case-resource-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.contract-invoice-actions,
.contract-document-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}
.contract-invoice-actions form,
.contract-document-actions form { margin: 0; }
.contract-invoice-actions .btn,
.contract-document-actions .btn { white-space: nowrap; }

.inbox-invoice-stack { position: relative; }
.inbox-invoice-stack > summary { list-style: none; cursor: pointer; }
.inbox-invoice-stack > summary::-webkit-details-marker { display: none; }
.inbox-invoice-stack[open] > form {
  margin-top: 10px;
  padding: 12px;
  min-width: min(460px, 76vw);
  border: 1px solid #ded3c0;
  border-radius: 14px;
  background: #fffdf9;
  display: grid;
  gap: 10px;
}
.inbox-invoice-stack form label { display: grid; gap: 6px; }
.inbox-invoice-stack form .case-combobox { width: 100%; }

@media (max-width: 760px) {
  .case-resource-actions { gap: 10px 14px; }
  .contract-invoice-actions,
  .contract-document-actions { justify-content: flex-start; flex-wrap: wrap; }
  .inbox-invoice-stack { width: 100%; }
  .inbox-invoice-stack[open] > form { min-width: 0; width: 100%; }
}


/* 2026-09-28: Vertragsansicht – Direktaktionen auf Desktop wirklich nebeneinander.
   .invoice-inline > div setzt sonst wegen höherer Selektor-Spezifität display:grid. */
.invoice-inline > .contract-invoice-actions,
.invoice-inline > .contract-document-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: auto !important;
}
.invoice-inline > .contract-invoice-actions > a,
.invoice-inline > .contract-document-actions > a,
.invoice-inline > .contract-invoice-actions > form,
.invoice-inline > .contract-document-actions > form {
  flex: 0 0 auto !important;
  width: auto !important;
}
.invoice-inline > .contract-invoice-actions .btn,
.invoice-inline > .contract-document-actions .btn {
  width: auto !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .invoice-inline > .contract-invoice-actions,
  .invoice-inline > .contract-document-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

/* 2026-09-28: Notfallmappe – Organspende & medizinische Entscheidungen */
.emergency-organ-panel{scroll-margin-top:96px}
.emergency-organ-head{align-items:flex-start;gap:18px}
.emergency-organ-head h2{display:flex;align-items:center;gap:9px;margin:.25rem 0 .35rem}
.emergency-organ-status{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(42,128,83,.2);border-radius:999px;background:rgba(42,128,83,.08);color:#246b48;font-size:.86rem;font-weight:800;white-space:nowrap}
.emergency-organ-form{display:grid;gap:18px}
.emergency-organ-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.emergency-organ-grid .field,.emergency-organ-notes{display:grid;gap:7px}
.emergency-organ-grid .field>span,.emergency-organ-notes>span{font-weight:750}
.emergency-organ-grid .field small,.emergency-organ-notes small{font-weight:500;color:var(--muted,#786f63)}
.emergency-organ-grid input,.emergency-organ-grid select,.emergency-organ-grid textarea,.emergency-organ-notes textarea{width:100%}
.emergency-organ-details{grid-column:1/-1}
.emergency-organ-scans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.emergency-organ-scan{display:grid;gap:13px;padding:16px;border:1px solid var(--line,#e5ddcf);border-radius:16px;background:var(--soft,#faf8f4)}
.emergency-organ-scan>div{display:grid;gap:4px}
.emergency-organ-scan>div>strong{font-size:1rem}
.emergency-organ-scan>div>small{color:var(--muted,#786f63)}
.emergency-organ-scan>div>.btn{justify-self:start;margin-top:7px}
.emergency-organ-panel .file-picker{position:relative;display:flex;align-items:center;gap:10px;min-width:0}
.emergency-organ-panel .file-picker input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.emergency-organ-panel .file-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#786f63);font-size:.9rem}
.emergency-organ-panel .check-row{display:flex;align-items:center;gap:8px;margin:0;font-weight:600}
.emergency-organ-panel .check-row input{width:auto}
.emergency-organ-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:2px}
.emergency-organ-actions p{margin:0;max-width:760px}
.emergency-shared-organ{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;margin:0 0 22px;padding:18px;border:1px solid var(--line,#e5ddcf);border-radius:16px;background:var(--soft,#faf8f4)}
.emergency-shared-organ-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:rgba(175,122,31,.10);color:#9a6815;font-size:1.25rem}
.emergency-shared-organ h3{margin:.2rem 0 .8rem}
.emergency-shared-organ dl{display:grid;gap:8px;margin:0}
.emergency-shared-organ dl>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px}
.emergency-shared-organ dt{font-weight:750;color:var(--muted,#786f63)}
.emergency-shared-organ dd{margin:0}
@media (max-width:760px){
  .emergency-organ-grid,.emergency-organ-scans{grid-template-columns:1fr}
  .emergency-organ-details{grid-column:auto}
  .emergency-organ-head,.emergency-organ-actions{align-items:stretch;flex-direction:column}
  .emergency-organ-status{align-self:flex-start}
  .emergency-organ-actions .btn{width:100%}
  .emergency-shared-organ dl>div{grid-template-columns:1fr;gap:2px}
}

/* Sprechende Dateinamen */
.automation-document-tabs form{display:inline-flex;margin:0}
.document-filename-grid{align-items:stretch}
.document-filename-auto{border:1px solid var(--line,#e6dcc9);border-radius:16px;padding:14px 16px;background:var(--soft,#faf7f1);display:flex;flex-direction:column;justify-content:center;gap:6px}
.document-filename-auto>span{font-weight:800}
.document-filename-auto p{margin:0 0 4px;color:var(--muted,#756b60);font-size:.92rem;line-height:1.35}
.document-head-filemeta span[title]{color:var(--muted,#756b60)}
@media (max-width:760px){.automation-document-tabs form{display:flex;width:100%}.automation-document-tabs form .btn{width:100%}.document-filename-grid{grid-template-columns:1fr}}


/* 2026-09-28: Dokumentdetail – sauberer Abstand zwischen Beziehungen und Ablage & Angaben */
.document-page .document-links-panel + .form-panel {
  margin-top: 24px;
}

/* 2026-09-30: Ordner bearbeiten bleibt rechts in der Ordnerzeile und öffnet
   als echter Top-Layer-Dialog statt als absolut positioniertes Popover. */
.categories-page .category-tree-card-collapsible .category-tree-head{
  grid-template-columns:minmax(0,1fr) auto auto !important;
}
.category-edit-trigger{
  appearance:none;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0;
  padding:0;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#807665;
  cursor:pointer;
}
.category-edit-trigger:hover,
.category-edit-trigger:focus-visible{
  border-color:#dfd3c0;
  background:#f8f4ec;
  color:#6d531f;
  outline:none;
}
.category-edit-trigger svg{width:17px;height:17px;}
.category-edit-dialog .category-inline-edit{margin-bottom:16px;}
.category-edit-dialog .category-color-field{width:100%;}
.category-edit-dialog .delete-blocked-note{margin-top:6px;}

/* Dokumentenvergleich: OCR-Hinweis und drei Ergebniswerte. */
.compare-stat-grid.compare-stat-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.compare-same-text{color:#84621e;}
.compare-ocr-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0 0 24px;
  padding:14px 16px;
  border:1px solid #d9c89f;
  border-radius:14px;
  background:#faf6ec;
  color:#66552f;
  line-height:1.5;
}
.compare-ocr-note svg{flex:0 0 auto;margin-top:2px;}
@media(max-width:720px){
  .compare-stat-grid.compare-stat-grid-three{grid-template-columns:1fr;}
  .categories-page .category-tree-card-collapsible .category-tree-head{grid-template-columns:minmax(0,1fr) auto auto !important;}
  .category-edit-trigger{width:36px;height:36px;}
}

/* 2026-09-30: Dokumentenvergleich – unsichere OCR-Werte nicht als Tatsachen darstellen. */
.compare-fact-review{
  border-color:#d9b45d;
  box-shadow:0 0 0 1px rgba(185,145,59,.08);
}
.compare-fact-label{
  gap:10px;
  flex-wrap:wrap;
}
.compare-review-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  padding:5px 9px;
  border-radius:999px;
  background:#fff6db;
  color:#755314;
  font-size:.78rem;
  font-weight:800;
  font-style:normal;
  letter-spacing:.02em;
}
.compare-fact-side.is-review{
  background:#fffaf0;
  border-color:#ead49a;
}
.compare-ocr-suggestion,
.compare-confidence{
  display:block;
  margin-top:6px;
}
.compare-ocr-suggestion{
  font-weight:700;
  color:#7c5b16;
}
.compare-confidence{
  color:var(--muted,#7b746a);
  font-size:.82rem;
}
.compare-source-crop{
  margin-top:12px;
  padding:10px;
  border:1px solid #e5dccb;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.compare-source-crop > span{
  display:block;
  margin-bottom:7px;
  color:#7f725e;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.compare-source-crop img{
  display:block;
  width:100%;
  height:auto;
  max-height:220px;
  object-fit:contain;
  object-position:left center;
}
.compare-source-details{
  margin-top:10px;
}
.compare-source-details summary{
  cursor:pointer;
  color:#76571b;
  font-weight:700;
}
.compare-review-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:16px 0 0;
  padding:13px 15px;
  border:1px solid #ead49a;
  border-radius:14px;
  background:#fffaf0;
  color:#6e531d;
}
.compare-review-note svg{flex:0 0 auto;margin-top:2px;}
@media (max-width:760px){
  .compare-review-badge{margin-left:0;}
  .compare-source-crop img{max-height:180px;}
}
\n\n/* 2026-09-30: Dokumentenvergleich – kompakte Hauptansicht, Rohtext nur auf Wunsch. */\n.compare-summary-note{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;padding:12px 14px;border:1px solid #d9c89f;border-radius:14px;background:#faf6ec;color:#66552f;line-height:1.45}.compare-summary-note svg{flex:0 0 auto;margin-top:2px}.compare-same-facts-details,.compare-raw-details{margin-top:16px;border:1px solid var(--line,#e5ddcf);border-radius:14px;background:#fbfaf7;overflow:hidden}.compare-same-facts-details>summary,.compare-raw-details>summary{cursor:pointer;padding:14px 16px;font-weight:800;color:#6f5520;list-style:none}.compare-same-facts-details>summary::-webkit-details-marker,.compare-raw-details>summary::-webkit-details-marker{display:none}.compare-same-facts-details[open]>summary,.compare-raw-details[open]>summary{border-bottom:1px solid var(--line,#e5ddcf)}.compare-same-facts-details .compare-facts-list,.compare-raw-details .compare-diff{margin:0;padding:14px}.compare-facts-list.compact .compare-fact{padding:14px}.compare-facts-list.compact .compare-fact-label{margin-bottom:8px}.compare-raw-details .compare-line{font-size:.92rem}.compare-raw-details .compare-skipped{margin:8px 0}.compare-result .panel-head{margin-bottom:0}\n

/* 2026-10-01: Dashboard – "Für dich zusammengestellt" entzerren */
.dashboard-page .office-cockpit-next.has-actions{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  align-items:start;
  column-gap:38px;
  row-gap:18px;
  padding-top:28px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-heading{
  min-width:0;
  padding-top:3px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title .eyebrow{
  flex:none;
  width:auto;
  margin:0 0 2px;
}
.dashboard-page .office-cockpit-next-title-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  min-width:0;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title h3{
  margin:0;
  font-size:clamp(23px,2vw,30px);
  line-height:1.16;
  letter-spacing:-.025em;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title p{
  flex:none;
  width:auto;
  max-width:38ch;
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#77736f;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-action-count{
  flex:0 0 auto;
  min-width:30px;
  height:30px;
  padding:0 9px;
  font-size:13px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-items{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  min-width:0;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-action{
  min-height:82px;
  padding:14px 16px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-action-copy{
  gap:4px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-action-copy strong{
  font-size:15px;
}
.dashboard-page .office-cockpit-next.has-actions .office-cockpit-action-copy small{
  font-size:12px;
  line-height:1.45;
}
@media(max-width:1050px){
  .dashboard-page .office-cockpit-next.has-actions{
    grid-template-columns:1fr;
    gap:16px;
  }
  .dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title p{
    max-width:58ch;
  }
}
@media(max-width:640px){
  .dashboard-page .office-cockpit-next.has-actions{
    padding-top:22px;
  }
  .dashboard-page .office-cockpit-next.has-actions .office-cockpit-next-title h3{
    font-size:22px;
  }
}


/* Suchfeld der globalen Case-Combobox mit Icon.
   Gilt identisch für Akten, Verträge, Beziehungen und Schreibvorlagen. */
.case-combobox-search-wrap {
  width: 100%;
  height: 42px;
  margin: 0 0 8px;
  padding: 0 12px;
  border: 1px solid #d8d1c5;
  border-radius: 10px;
  background: #fbfaf7;
  display: flex;
  align-items: center;
  gap: 9px;
  box-sizing: border-box;
}
.case-combobox-search-wrap:focus-within {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.case-combobox-search-icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #222;
  line-height: 1;
}
.case-combobox-search-wrap .case-combobox-search {
  flex: 1 1 auto;
  width: 100%;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font: inherit !important;
  font-weight: 600 !important;
  color: #222 !important;
}
.case-combobox-search-wrap .case-combobox-search:focus {
  border: 0 !important;
  box-shadow: none !important;
}
.case-combobox-search-wrap .case-combobox-search::placeholder {
  color: #8b8377 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Zusatzdarstellung nur innerhalb derselben Combobox-Engine für Vorlagen. */
.case-combobox-group {
  padding: 11px 10px 6px;
  color: #9a6e1e;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.case-combobox-option.is-template {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.case-combobox-option.is-template > span:first-child {
  min-width: 0;
}
.case-combobox-template-badge {
  flex: none;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff2cb;
  color: #8a6317 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.delivery.saved{background:#f2ead9;color:#6f5423}

/* OrdnerBüro – Postfachdetails: lange Import-IDs/URLs dürfen die Seite nicht verbreitern */
.message-detail {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.message-detail .message-body {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.message-detail .mail-text-body {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.message-detail .message-body a,
.message-detail .message-body code,
.message-detail .message-body pre,
.message-detail .message-attachments a {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.message-detail .message-attachments {
  min-width: 0;
  max-width: 100%;
}


/* 2026-10-02: öffentliche Startseite – Schreibworkflow */
.home-workflow-showcase{margin:72px 0;padding:0 4px}
.home-workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.home-workflow-card{display:flex;gap:18px;align-items:flex-start;padding:26px;border:1px solid var(--line,#ded5c8);border-radius:24px;background:#fff;box-shadow:0 18px 38px rgba(34,28,20,.055)}
.home-workflow-card-main{grid-column:1/-1;background:linear-gradient(135deg,#fff 0%,#f7f1e5 100%)}
.home-workflow-icon{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;background:#f1e8d7;color:#9b6a16;font-size:22px}
.home-workflow-card h3{margin:5px 0 7px;font-size:22px}
.home-workflow-card p{margin:0;color:var(--muted,#786f65);line-height:1.6}
@media(max-width:760px){.home-workflow-grid{grid-template-columns:1fr}.home-workflow-card-main{grid-column:auto}.home-workflow-card{padding:20px}}

/* 2026-10-02: Hilfe – neue Arbeitsabläufe kompakt halten */
.help-page code{display:inline-block;padding:2px 6px;border-radius:7px;background:#f2ebdf;color:#7a5316;font-size:.9em}
.help-update-panel .ob-help-ordered{padding-left:22px}
.help-update-panel .ob-help-ordered li{margin:8px 0;line-height:1.55}


/* 2026-10-02: Startseite – Schreibworkflow auf normale Inhaltsbreite begrenzen */
.home-workflow-showcase{
  width:100%;
  max-width:1320px;
  margin:72px auto;
  padding:0 20px;
  box-sizing:border-box;
}
.home-workflow-showcase > .section-head{
  max-width:980px;
}

/* Footer: festen Bereich für den schwebenden "Nach oben"-Button freihalten */
@media (min-width:761px){
  .footer{
    padding-right:210px;
  }
  .footer-tools{
    margin-left:auto;
  }
}
@media (max-width:760px){
  .footer{
    padding-bottom:92px;
  }
}


/* 2026-10-02: Telegram auf der öffentlichen Startseite */
.telegram-feature{
  max-width:1320px;
  margin:72px auto;
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:30px;
  align-items:center;
  border:1px solid var(--line,#ded5c8);
  border-radius:28px;
  background:linear-gradient(135deg,#fff 0%,#f7f1e5 100%);
  box-sizing:border-box;
}
.telegram-feature-copy h2{margin:8px 0 12px;font-size:clamp(30px,3.4vw,52px);line-height:1.04}
.telegram-feature-copy>p{max-width:760px;color:var(--muted,#786f65);line-height:1.65}
.telegram-feature-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:22px}
.telegram-feature-points span{display:flex;align-items:flex-start;gap:8px;font-weight:700}
.telegram-feature-points svg{flex:0 0 auto;margin-top:3px;color:#9b6a16}
.telegram-feature-preview{padding:20px;border-radius:22px;background:#f0eadf;border:1px solid #e0d5c4}
.telegram-bubble,.telegram-notice{padding:15px 16px;border-radius:16px;background:#fff;border:1px solid #dfd4c4;box-shadow:0 10px 24px rgba(35,29,22,.06)}
.telegram-bubble small{display:block;color:#a06c14;font-size:11px;font-weight:800;letter-spacing:.08em}
.telegram-bubble strong,.telegram-bubble span{display:block}
.telegram-bubble strong{margin-top:3px}
.telegram-bubble span,.telegram-notice span{margin-top:3px;color:#7e7468;font-size:13px}
.telegram-bubble-in{margin-left:34px}
.telegram-flow-arrow{display:grid;place-items:center;height:34px;color:#9b6a16}
.telegram-notice{margin-top:16px;display:flex;align-items:center;gap:12px}
.telegram-notice>svg{font-size:20px;color:#9b6a16}
.telegram-notice div{display:grid}
@media(max-width:900px){
  .telegram-feature{grid-template-columns:1fr;margin:52px 20px;padding:24px}
}
@media(max-width:620px){
  .telegram-feature-points{grid-template-columns:1fr}
  .telegram-bubble-in{margin-left:0}
}


/* 2026-10-03: öffentliche Startseite auf Smartphones kompakter */
.home-mobile-core{display:none}

@media (max-width:760px){
  .home-hero{
    min-height:auto!important;
    padding-top:24px!important;
    padding-bottom:20px!important;
    gap:18px!important;
  }
  .home-hero .hero-copy h1{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:.96!important;
    margin-bottom:16px!important;
  }
  .home-hero .hero-copy>p{
    font-size:16px!important;
    line-height:1.55!important;
    margin-bottom:18px!important;
  }
  .home-hero .hero-demo{display:none!important}
  .home-hero .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .home-hero .hero-actions .btn{width:100%;justify-content:center}
  .home-hero .trust-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin-top:15px!important;
  }

  .home-ki-free{
    margin:18px 16px 24px!important;
    padding:18px!important;
    grid-template-columns:auto 1fr!important;
    gap:12px!important;
    align-items:start!important;
  }
  .home-ki-free h2{
    font-size:22px!important;
    line-height:1.15!important;
    margin:4px 0 7px!important;
  }
  .home-ki-free p{font-size:14px!important;line-height:1.5!important;margin:0!important}
  .home-ki-free-badge{display:none!important}

  .home-mobile-core{
    display:block;
    margin:0 16px 28px;
  }
  .home-mobile-core-head h2{
    margin:5px 0 7px;
    font-size:30px;
    line-height:1.05;
  }
  .home-mobile-core-head p{
    margin:0 0 14px;
    color:var(--muted,#786f65);
    line-height:1.5;
  }
  .home-mobile-core-grid{
    display:grid;
    gap:9px;
  }
  .home-mobile-core-grid article{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:14px;
    border:1px solid var(--line,#ded5c8);
    border-radius:16px;
    background:#fff;
  }
  .home-mobile-core-icon,
  .home-mobile-telegram-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:#f2eadc;
    color:#996814;
    font-size:18px;
  }
  .home-mobile-core-grid strong{
    display:block;
    font-size:16px;
    line-height:1.25;
  }
  .home-mobile-core-grid p{
    margin:4px 0 0;
    color:#756b60;
    font-size:13.5px;
    line-height:1.45;
  }
  .home-mobile-telegram-highlight{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    margin-top:10px;
    padding:14px;
    border:1px solid #ddcfb9;
    border-radius:16px;
    background:linear-gradient(135deg,#fff 0%,#f5eee1 100%);
  }
  .home-mobile-telegram-highlight small{
    display:block;
    color:#9b6814;
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
  }
  .home-mobile-telegram-highlight strong{
    display:block;
    margin-top:2px;
    font-size:16px;
    line-height:1.25;
  }
  .home-mobile-telegram-highlight p{
    margin:4px 0 0;
    color:#756b60;
    font-size:13.5px;
    line-height:1.45;
  }
  .home-mobile-more-toggle{
    width:100%;
    min-height:52px;
    margin-top:12px;
    padding:0 16px;
    border:1px solid #d8c9b3;
    border-radius:14px;
    background:#192b29;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
  }
  .home-mobile-more-toggle svg{transition:transform .2s ease}
  .home-mobile-more-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

  .home-mobile-detail{display:none!important}
  html.home-mobile-expanded .home-mobile-detail{display:block!important}

  html.home-mobile-expanded .home-preview-section,
  html.home-mobile-expanded .home-workflow-showcase,
  html.home-mobile-expanded .ob-discover,
  html.home-mobile-expanded .home-structure-section,
  html.home-mobile-expanded .home-folder-shelf-section,
  html.home-mobile-expanded .feature-showcase,
  html.home-mobile-expanded .scanner-story,
  html.home-mobile-expanded .telegram-feature,
  html.home-mobile-expanded .portal-feature,
  html.home-mobile-expanded .tools-family{
    margin-top:34px!important;
    margin-bottom:34px!important;
  }
  html.home-mobile-expanded .home-workflow-grid,
  html.home-mobile-expanded .home-preview-grid,
  html.home-mobile-expanded .feature-grid,
  html.home-mobile-expanded .ob-discover-grid{gap:10px!important}
  html.home-mobile-expanded .home-workflow-card,
  html.home-mobile-expanded .feature-card,
  html.home-mobile-expanded .ob-discover-card{padding:17px!important}

  .security-promise{
    margin-top:28px!important;
    margin-bottom:28px!important;
    padding:22px 18px!important;
  }
  .security-promise h2{font-size:28px!important;line-height:1.08!important}
  .security-points{gap:7px!important}
  .cta{
    margin-top:30px!important;
    padding:22px 18px!important;
  }
  .cta h2{font-size:28px!important;line-height:1.08!important}
}

@media (min-width:761px){
  .home-mobile-detail{display:block}
}


/* 2026-10-03: mobilen Ablage-Anker entfernen – Detailbereich bleibt bewusst eingeklappt */
@media (max-width:760px){
  .home-hero .hero-actions a[href="#ordnerstruktur"]{
    display:none!important;
  }
}


/* 2026-10-05: Finanzübersicht v3 – Haushalt, persönlicher Anteil und Einnahmen */
.finance-mode-switch{
  display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 8px;
}
.finance-mode-switch a{
  display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;
  border:1px solid #dacdb9;border-radius:999px;background:#fff;color:#5f574d;font-weight:800;text-decoration:none;
}
.finance-mode-switch a.active{background:#1b2d2b;color:#fff;border-color:#1b2d2b}
.finance-mode-help{margin:0 0 18px;color:#766c60;font-size:.92rem;line-height:1.55}
.finance-trend-banner{
  display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:15px 18px;border:1px solid #decfb9;border-radius:16px;background:#fff;
}
.finance-trend-banner.good{background:#f2f8f4;border-color:#cbe1d4}
.finance-trend-banner.up{background:#fff8f1;border-color:#ead4bd}
.finance-trend-icon{
  width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#f1eadf;color:#986715;font-size:18px;
}
.finance-trend-banner strong,.finance-trend-banner span{display:block}
.finance-trend-banner span{margin-top:2px;color:#776c60;font-size:.85rem}
.finance-stats-v3{grid-template-columns:repeat(3,minmax(0,1fr))}
.finance-income-snapshot{
  display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1px;margin:18px 0;background:#ded3c2;border:1px solid #ded3c2;border-radius:20px;overflow:hidden;
}
.finance-income-snapshot>div{padding:20px;background:#fff}
.finance-income-snapshot-main{display:flex;align-items:center;gap:14px}
.finance-income-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:15px;background:#f2eadb;color:#9b6814;font-size:20px}
.finance-income-snapshot small,.finance-income-snapshot strong,.finance-income-snapshot span{display:block}
.finance-income-snapshot small{color:#8a6a35;font-size:.68rem;font-weight:900;letter-spacing:.06em}
.finance-income-snapshot strong{margin-top:4px;font-size:1.45rem}
.finance-income-snapshot span{margin-top:3px;color:#7a7065;font-size:.78rem}
.finance-income-snapshot .negative{color:#b54838}
.finance-series-panel .panel-head{align-items:flex-start}
.finance-month-extremes{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.finance-month-extremes span{padding:8px 10px;border:1px solid #e1d7c9;border-radius:11px;background:#faf7f1}
.finance-month-extremes small,.finance-month-extremes b{display:block}
.finance-month-extremes small{font-size:.64rem;color:#887b6c}
.finance-month-extremes b{margin-top:2px;font-size:.78rem}
.finance-series-bar-pair{display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:3px!important}
.finance-series-bar-pair span{position:static!important;bottom:auto!important;width:38%!important;border-radius:7px 7px 2px 2px!important}
.finance-series-bar-pair .previous{background:#d8d4cd!important}
.finance-series-bar-pair .current{background:#bf8527!important}
.finance-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}
.finance-action-grid>.panel{min-width:0}
.finance-alert-row{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #ebe3d7;color:inherit;text-decoration:none;
}
.finance-alert-row:first-of-type{border-top:0}
.finance-alert-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f2eadc;color:#976411}
.finance-alert-row strong,.finance-alert-row small{display:block}
.finance-alert-row small{margin-top:2px;color:#7d746a;font-size:.72rem}
.finance-alert-row.danger .finance-alert-icon{background:#fff0ec;color:#b54a39}
.finance-alert-row b{white-space:nowrap}
.finance-contract-meta small{display:block;color:#81786b;font-size:.68rem;margin-top:3px}
.finance-income-panel{margin-top:18px}
.finance-income-total{font-size:1.15rem;white-space:nowrap}
.finance-income-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:20px;align-items:start}
.finance-income-list{display:grid;gap:9px}
.finance-income-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e1d7c8;border-radius:13px;background:#fff;
}
.finance-income-edit{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,.55fr) auto auto;gap:8px;align-items:center;min-width:0}
.finance-income-delete{display:flex}
.finance-income-row input[type="text"]{min-width:0}
.finance-income-active{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;white-space:nowrap}
.finance-income-add{padding:16px;border:1px solid #e0d3bf;border-radius:16px;background:#f8f4ec}
.finance-income-add h3{margin:0 0 12px}
.finance-income-add label{margin-bottom:10px}
.finance-income-add .btn{width:100%;justify-content:center}
.finance-allocation-box{
  margin:14px 0;padding:15px;border:1px solid #decfb9;border-radius:15px;background:#fbf8f2;
}
.finance-allocation-head{display:grid;gap:3px;margin-bottom:12px}
.finance-allocation-head strong{display:flex;align-items:center;gap:8px}
.finance-allocation-head small,.finance-allocation-note{color:#776d62;line-height:1.45}
.finance-allocation-grid{grid-template-columns:1fr 1fr 1fr!important}
.finance-allocation-grid .is-disabled{opacity:.46}
.finance-share-value span{min-width:38px}
.finance-allocation-note{display:block;margin-top:8px;font-size:.76rem}

@media(max-width:1100px){
  .finance-action-grid{grid-template-columns:1fr 1fr}
  .finance-action-grid>.panel:last-child{grid-column:1/-1}
  .finance-income-layout{grid-template-columns:1fr}
}
@media(max-width:900px){
  .finance-stats-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .finance-income-snapshot{grid-template-columns:1fr}
  .finance-allocation-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:680px){
  .finance-mode-switch{display:grid;grid-template-columns:repeat(3,1fr)}
  .finance-mode-switch a{justify-content:center;padding:0 8px;font-size:.82rem}
  .finance-stats-v3{grid-template-columns:1fr 1fr}
  .finance-action-grid{grid-template-columns:1fr}
  .finance-action-grid>.panel:last-child{grid-column:auto}
  .finance-month-extremes{justify-content:flex-start}
  .finance-income-row{grid-template-columns:1fr auto}
  .finance-income-edit{grid-template-columns:1fr 1fr}
  .finance-income-edit .finance-income-active{grid-column:1/2}
  .finance-income-edit .btn{width:100%;justify-content:center}
  .finance-income-delete .btn{width:auto}
  .finance-allocation-grid{grid-template-columns:1fr!important}
}
@media(max-width:460px){
  .finance-stats-v3{grid-template-columns:1fr}
  .finance-mode-switch a span{font-size:.76rem}
}


/* 2026-10-05: Finanzcockpit – visuelle Bereinigung */

/* Bootstrap-Icons in den neuen Finanz-Badges explizit dimensionieren.
   Ohne das landet je nach globalem Icon-CSS nur ein winziges Symbol im Kasten. */
.finance-trend-icon .bi-icon,
.finance-trend-icon svg,
.finance-income-icon .bi-icon,
.finance-income-icon svg,
.finance-alert-icon .bi-icon,
.finance-alert-icon svg{
  width:20px;
  height:20px;
  display:block;
  flex:0 0 20px;
}
.finance-income-icon .bi-icon,
.finance-income-icon svg{
  width:22px;
  height:22px;
  flex-basis:22px;
}

/* Die Kategorie-Card erbte aus einem älteren Finance-Layout margin-top:20px.
   Innerhalb des neuen Zweispaltenrasters schob sie sich dadurch nach unten. */
.finance-grid-primary{
  align-items:stretch;
}
.finance-grid-primary > .panel{
  margin-top:0!important;
  height:100%;
  box-sizing:border-box;
}
.finance-grid-primary .finance-categories-panel{
  margin-top:0!important;
}
.finance-grid-primary .finance-category-list,
.finance-grid-primary .finance-provider-list{
  align-content:start;
}

/* Anbieter und Ordner optisch aus demselben Baukasten. */
.finance-grid-primary .finance-provider-row,
.finance-grid-primary .finance-category-row{
  min-height:62px;
}
.finance-grid-primary .finance-category-row{
  padding:12px 0;
  border:0;
  border-top:1px solid #ebe3d7;
  border-radius:0;
}
.finance-grid-primary .finance-category-row:first-child{
  border-top:0;
}
.finance-grid-primary .finance-category-row:hover,
.finance-grid-primary .finance-category-row:focus-visible{
  background:#faf7f1;
  margin-inline:-10px;
  padding-inline:10px;
  border-radius:11px;
}
.finance-grid-primary .finance-category-row span{
  min-width:0;
  font-weight:800;
}
.finance-grid-primary .finance-category-row strong{
  white-space:nowrap;
  margin-left:auto;
}

/* Offene Rechnungen: vier echte Spalten statt Dashboard-Komponente mit
   drei Spalten, durch die der Betrag bisher in die nächste Zeile fiel. */
.finance-open-invoice-row{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:13px 0!important;
  border-top:1px solid #ebe3d7;
  text-decoration:none;
  color:inherit;
}
.finance-open-invoice-row:first-of-type{
  border-top:0;
}
.finance-open-invoice-row > div{
  min-width:0;
}
.finance-open-invoice-row > div strong,
.finance-open-invoice-row > div small{
  display:block;
}
.finance-open-invoice-row > div small{
  margin-top:3px;
  color:#81786b;
  font-size:.74rem;
  overflow-wrap:anywhere;
}
.finance-open-invoice-row time{
  min-width:88px;
  text-align:right;
  font-size:.75rem;
  color:#81786b;
  white-space:nowrap;
}
.finance-open-invoice-row > b{
  min-width:92px;
  text-align:right;
  font-size:1rem;
  white-space:nowrap;
}
.finance-open-invoice-row .dashboard-due-icon{
  width:36px;
  height:36px;
  border-radius:11px;
}
.finance-open-invoice-row .dashboard-due-icon .bi-icon,
.finance-open-invoice-row .dashboard-due-icon svg{
  width:18px;
  height:18px;
}

/* Einnahmen-Snapshot */
.finance-income-snapshot{
  box-shadow:0 12px 30px rgba(45,36,25,.035);
}
.finance-income-snapshot > div{
  min-width:0;
}
.finance-income-snapshot > div:not(.finance-income-snapshot-main){
  display:grid;
  align-content:center;
}
.finance-income-snapshot strong{
  line-height:1.1;
}

/* Einnahmenverwaltung */
.finance-income-panel{
  overflow:hidden;
}
.finance-income-panel > .panel-head{
  align-items:flex-start;
  gap:24px;
}
.finance-income-panel > .panel-head small{
  display:block;
  margin-top:4px;
  color:#776d62;
  line-height:1.45;
}
.finance-income-total{
  padding:9px 13px;
  border:1px solid #e2d7c7;
  border-radius:12px;
  background:#faf7f1;
}
.finance-income-layout{
  margin-top:6px;
}
.finance-income-list > .empty{
  min-height:190px;
  display:grid;
  place-items:center;
  margin:0;
  border:1px dashed #dfd5c6;
  border-radius:16px;
  background:#fbfaf7;
  text-align:center;
}
.finance-income-add{
  display:grid;
  gap:12px;
  padding:20px;
  border:1px solid #dfd2bd;
  border-radius:18px;
  background:#faf6ee;
}
.finance-income-add h3{
  margin:0 0 2px;
  font-size:1.1rem;
}
.finance-income-add label{
  display:grid;
  gap:6px;
  margin:0!important;
  font-size:.78rem;
  font-weight:800;
  color:#51493f;
}
.finance-income-add input[type="text"],
.finance-income-row input[type="text"]{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:0 13px;
  border:1px solid #d8cdbd;
  border-radius:12px;
  background:#fff;
  color:var(--text,#171717);
  font:inherit;
  box-sizing:border-box;
  outline:none;
}
.finance-income-add input[type="text"]:focus,
.finance-income-row input[type="text"]:focus{
  border-color:#b68a37;
  box-shadow:0 0 0 3px rgba(182,138,55,.12);
}
.finance-income-add .money-field,
.finance-income-edit .money-field{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:stretch;
  min-width:0;
}
.finance-income-add .money-field input,
.finance-income-edit .money-field input{
  border-radius:12px 0 0 12px;
}
.finance-income-add .money-field > span,
.finance-income-edit .money-field > span{
  display:grid;
  place-items:center;
  min-width:48px;
  border:1px solid #d8cdbd;
  border-left:0;
  border-radius:0 12px 12px 0;
  background:#f7f3eb;
  color:#7a6e60;
  font-weight:800;
}
.finance-income-add .btn{
  min-height:48px;
  margin-top:2px;
}
.finance-income-row{
  padding:12px;
  background:#fbfaf7;
}
.finance-income-edit{
  align-items:center;
}
.finance-income-active{
  min-height:42px;
  padding:0 10px;
  border:1px solid #e0d6c7;
  border-radius:11px;
  background:#fff;
}
.finance-income-active input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#a87924;
}

/* Responsive: offene Rechnung bleibt lesbar, Einnahmen werden sauber gestapelt. */
@media(max-width:900px){
  .finance-grid-primary > .panel{
    height:auto;
  }
}
@media(max-width:680px){
  .finance-open-invoice-row{
    grid-template-columns:36px minmax(0,1fr) auto!important;
  }
  .finance-open-invoice-row time{
    grid-column:2;
    text-align:left;
    min-width:0;
    margin-top:-3px;
  }
  .finance-open-invoice-row > b{
    grid-column:3;
    grid-row:1 / span 2;
    min-width:0;
  }
  .finance-income-panel > .panel-head{
    display:grid;
    gap:12px;
  }
  .finance-income-total{
    width:max-content;
    max-width:100%;
  }
  .finance-income-list > .empty{
    min-height:110px;
  }
}
@media(max-width:460px){
  .finance-open-invoice-row{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  .finance-open-invoice-row > b{
    grid-column:2;
    grid-row:auto;
    text-align:left;
    margin-top:2px;
  }
  .finance-income-edit{
    grid-template-columns:1fr!important;
  }
  .finance-income-edit .finance-income-active{
    grid-column:auto!important;
  }
  .finance-income-delete{
    align-self:end;
  }
}


/* 2026-10-05: Finance-Icons wirklich zentrieren */
.finance-trend-icon,
.finance-income-icon,
.finance-alert-icon{
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  line-height:0!important;
  text-align:center!important;
}

.finance-trend-icon > *,
.finance-income-icon > *,
.finance-alert-icon > *{
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:center!important;
  vertical-align:middle!important;
}

.finance-trend-icon .bi-icon,
.finance-trend-icon svg,
.finance-income-icon .bi-icon,
.finance-income-icon svg,
.finance-alert-icon .bi-icon,
.finance-alert-icon svg{
  display:block!important;
  position:static!important;
  inset:auto!important;
  margin:auto!important;
  transform:none!important;
}

/* Vertragskosten-Historie */
.contract-cost-history{margin-top:18px}
.contract-amount-change-dialog{width:min(760px,calc(100vw - 32px))}
.contract-amount-change-form{display:grid;gap:16px}
.contract-amount-documents-box{display:grid;gap:10px;padding:14px;border:1px solid var(--line,#e3ded3);border-radius:16px;background:rgba(248,245,238,.72)}
.contract-amount-documents-box>p{margin:0;color:var(--muted,#756d62);font-size:.92rem}
.contract-amount-timeline{display:grid;gap:10px;margin-top:14px}
.contract-amount-period{position:relative;display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line,#e3ded3);border-radius:16px;background:#fff}
.contract-amount-period.is-current{border-color:#cda75e;box-shadow:inset 3px 0 0 #c58b22}
.contract-amount-period.is-future{background:#fbf8f1;border-style:dashed}
.contract-amount-period-main{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(120px,.55fr) minmax(220px,1.7fr);gap:18px;align-items:center}
.contract-amount-period-date,.contract-amount-period-value,.contract-amount-period-reason{display:grid;gap:2px}
.contract-amount-period-date>span{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#9b6b17}
.contract-amount-period-value>strong{font-size:1.35rem}
.contract-amount-period small{color:var(--muted,#756d62)}
.contract-amount-period-docs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:9px;border-top:1px solid var(--line,#eee8dc)}
.contract-amount-period-docs>span{font-size:.82rem;font-weight:700;color:var(--muted,#756d62)}
.contract-amount-period-delete{position:absolute;right:12px;bottom:10px}
@media(max-width:760px){.contract-amount-period-main{grid-template-columns:1fr 1fr}.contract-amount-period-reason{grid-column:1/-1}.contract-amount-period-delete{position:static}.contract-amount-period-delete .btn{width:100%}}

/* OrdnerBüro 3.19.1 – Preisänderung: Eingabefelder im Dialog vereinheitlichen */
.contract-amount-change-dialog .case-link-dialog-body input:not([type="file"]),
.contract-amount-change-dialog .case-link-dialog-body textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 12px 13px;
  border: 1px solid #d7d0c4;
  border-radius: 12px;
  background: #fff;
  color: #1f2929;
  outline: none;
  font: inherit;
}
.contract-amount-change-dialog .case-link-dialog-body input:not([type="file"]):focus,
.contract-amount-change-dialog .case-link-dialog-body textarea:focus {
  border-color: #9f7c38;
  box-shadow: 0 0 0 3px #c9aa6425;
}
.contract-amount-change-dialog .case-link-dialog-body input::placeholder,
.contract-amount-change-dialog .case-link-dialog-body textarea::placeholder {
  color: #9a948b;
}
.contract-amount-change-dialog .money-field input {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0 12px;
}
.contract-amount-change-dialog .money-field input:focus {
  border: 0;
  box-shadow: none;
}

/* OrdnerBüro 3.19.3: Währungsfelder in der Finanzübersicht ohne doppelte Rahmen */
.finance-income-add .money-field,
.finance-income-edit .money-field {
  border: 1px solid #d8cdbd;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.finance-income-add .money-field:focus-within,
.finance-income-edit .money-field:focus-within {
  border-color: #b68a37;
  box-shadow: 0 0 0 3px rgba(182,138,55,.12);
}
.finance-income-add .money-field input,
.finance-income-edit .money-field input {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.finance-income-add .money-field input:focus,
.finance-income-edit .money-field input:focus {
  border: 0 !important;
  box-shadow: none !important;
}
.finance-income-add .money-field > span,
.finance-income-edit .money-field > span {
  border: 0 !important;
  border-left: 1px solid #e5dccf !important;
  border-radius: 0 !important;
  background: #f7f3eb;
}

/* Finance 3.19.4: project-styled chart detail hover */
.finance-series-compare{overflow:visible}
.finance-series-item{position:relative;outline:none;cursor:default}
.finance-series-item:focus-visible{border-radius:12px;box-shadow:0 0 0 3px rgba(191,133,39,.16)}
.finance-series-item .finance-series-bar{transition:transform .16s ease,filter .16s ease}
.finance-series-item:hover .finance-series-bar,.finance-series-item:focus .finance-series-bar{transform:translateY(-2px);filter:saturate(1.06)}
.finance-chart-tooltip{
  position:absolute;left:50%;bottom:calc(100% + 14px);z-index:40;width:min(390px,calc(100vw - 34px));
  padding:0;border:1px solid #ded1bd;border-radius:18px;background:#fff;box-shadow:0 18px 46px rgba(41,35,27,.18);
  color:#181818;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}
.finance-chart-tooltip:after{content:"";position:absolute;left:50%;bottom:-7px;width:13px;height:13px;background:#fff;border-right:1px solid #ded1bd;border-bottom:1px solid #ded1bd;transform:translateX(-50%) rotate(45deg)}
.finance-series-item:hover .finance-chart-tooltip,.finance-series-item:focus .finance-chart-tooltip,.finance-series-item:focus-within .finance-chart-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.finance-chart-tooltip-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 17px 13px;border-bottom:1px solid #ece4d8;background:#fbf8f2;border-radius:18px 18px 0 0}
.finance-chart-tooltip-head small{display:block;margin-bottom:2px;color:#9b6814;font-size:.61rem;font-weight:900;letter-spacing:.1em}
.finance-chart-tooltip-head strong{display:block;font-size:1.02rem}
.finance-chart-tooltip-total{white-space:nowrap;padding:7px 10px;border:1px solid #decfb7;border-radius:10px;background:#fff;font-size:.86rem;font-weight:900}
.finance-chart-tooltip-years{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:13px 14px 10px}
.finance-chart-tooltip-year{min-width:0;padding:0 11px}
.finance-chart-tooltip-year:first-child{padding-left:2px;border-right:1px solid #ece4d8}
.finance-chart-tooltip-year:last-child{padding-right:2px}
.finance-chart-tooltip-year-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.finance-chart-tooltip-year-head b{font-size:.9rem}
.finance-chart-tooltip-year-head span{padding:3px 6px;border-radius:999px;background:#f0e7d7;color:#87612a;font-size:.59rem;font-weight:800}
.finance-chart-tooltip-year.previous-year .finance-chart-tooltip-year-head span{background:#efede9;color:#706c66}
.finance-chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;color:#5f574d;font-size:.72rem}
.finance-chart-tooltip-row>span{min-width:0}
.finance-chart-tooltip-row small{display:block;margin-top:1px;color:#9a9084;font-size:.59rem}
.finance-chart-tooltip-row b{white-space:nowrap;color:#171717;font-size:.72rem}
.finance-chart-tooltip-row.total{margin-top:4px;padding-top:8px;border-top:1px solid #eee6db;color:#171717;font-weight:800}
.finance-chart-tooltip-row.total b{font-size:.79rem}
.finance-chart-tooltip-delta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 10px;padding:9px 10px;border-radius:11px;font-size:.69rem}
.finance-chart-tooltip-delta span{display:flex;align-items:center;gap:6px;color:#6d645a}
.finance-chart-tooltip-delta b{white-space:nowrap}
.finance-chart-tooltip-delta.good{background:#f0f7f2;color:#2f6f48}
.finance-chart-tooltip-delta.up{background:#fff5ec;color:#a25e20}
.finance-chart-tooltip-note{padding:0 16px 14px;color:#92877a;font-size:.59rem;line-height:1.4}
.finance-series-item:nth-child(1) .finance-chart-tooltip,.finance-series-item:nth-child(2) .finance-chart-tooltip{left:0;transform:translate(0,8px)}
.finance-series-item:nth-child(1):hover .finance-chart-tooltip,.finance-series-item:nth-child(2):hover .finance-chart-tooltip,.finance-series-item:nth-child(1):focus .finance-chart-tooltip,.finance-series-item:nth-child(2):focus .finance-chart-tooltip{transform:translate(0,0)}
.finance-series-item:nth-child(1) .finance-chart-tooltip:after,.finance-series-item:nth-child(2) .finance-chart-tooltip:after{left:13%}
.finance-series-item:nth-last-child(1) .finance-chart-tooltip,.finance-series-item:nth-last-child(2) .finance-chart-tooltip{left:auto;right:0;transform:translate(0,8px)}
.finance-series-item:nth-last-child(1):hover .finance-chart-tooltip,.finance-series-item:nth-last-child(2):hover .finance-chart-tooltip,.finance-series-item:nth-last-child(1):focus .finance-chart-tooltip,.finance-series-item:nth-last-child(2):focus .finance-chart-tooltip{transform:translate(0,0)}
.finance-series-item:nth-last-child(1) .finance-chart-tooltip:after,.finance-series-item:nth-last-child(2) .finance-chart-tooltip:after{left:87%}
@media (max-width:760px){
  .finance-chart-tooltip{width:min(360px,calc(100vw - 26px))}
  .finance-chart-tooltip-years{grid-template-columns:1fr;gap:10px}
  .finance-chart-tooltip-year:first-child{padding:0 2px 10px;border-right:0;border-bottom:1px solid #ece4d8}
  .finance-chart-tooltip-year:last-child{padding:0 2px}
  .finance-chart-tooltip-note{display:none}
}

/* Finance 3.19.5: Monatsklick + größere Finanz-Icons */
.finance-series-item{cursor:pointer}
/* Ein Mausklick darf den Hover nicht über den Fokus festhalten. Tastatur-Fokus bleibt zugänglich. */
/* Maus-Fokus nach dem Schließen eines Monatsdialogs darf den echten Hover nicht blockieren.
   Nur fokussierte Elemente, über denen der Mauszeiger NICHT steht, verstecken den Tooltip. */
.finance-series-item:focus:not(:hover) .finance-chart-tooltip,
.finance-series-item:focus-within:not(:hover) .finance-chart-tooltip{opacity:0;visibility:hidden;transform:translate(-50%,8px)}
.finance-series-item:hover .finance-chart-tooltip,
.finance-series-item:focus-visible .finance-chart-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}
.finance-series-item:nth-child(1):focus:not(:hover) .finance-chart-tooltip,
.finance-series-item:nth-child(2):focus:not(:hover) .finance-chart-tooltip,
.finance-series-item:nth-last-child(1):focus:not(:hover) .finance-chart-tooltip,
.finance-series-item:nth-last-child(2):focus:not(:hover) .finance-chart-tooltip{transform:translate(0,8px)}
.finance-series-item:nth-child(1):focus-visible .finance-chart-tooltip,
.finance-series-item:nth-child(2):focus-visible .finance-chart-tooltip,
.finance-series-item:nth-last-child(1):focus-visible .finance-chart-tooltip,
.finance-series-item:nth-last-child(2):focus-visible .finance-chart-tooltip{transform:translate(0,0)}
.finance-series-click-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 0;color:#8a7d6e;font-size:.72rem}
.finance-series-click-hint .bi-icon,.finance-series-click-hint svg{width:15px;height:15px}

.finance-month-dialog{width:min(760px,calc(100vw - 32px));max-height:min(84dvh,780px)}
.finance-month-dialog-head{align-items:flex-start}
.finance-month-dialog-head>div:first-child{min-width:0}
.finance-month-dialog-head .eyebrow{display:block;margin-bottom:3px;color:#9b6814;font-size:.62rem;font-weight:900;letter-spacing:.1em}
.finance-month-dialog-head h3{font-size:1.28rem}
.finance-month-dialog-head small{display:block;margin-top:3px;color:#817568;font-size:.75rem}
.finance-month-dialog-head-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.finance-month-dialog-head-right>strong{padding:8px 11px;border:1px solid #dfd1bc;border-radius:11px;background:#fbf7f0;white-space:nowrap;font-size:1rem}
.finance-month-dialog-body{padding:14px 20px 20px}
.finance-month-detail-list{display:grid;gap:8px}
.finance-month-detail-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:12px 13px;border:1px solid #e8dfd2;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.finance-month-detail-row:hover{border-color:#d5bd96;box-shadow:0 7px 20px rgba(48,40,29,.08);transform:translateY(-1px)}
.finance-month-detail-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#f3ecdf;color:#9a6818}
.finance-month-detail-icon.contract{background:#edf2f0;color:#294a43}
.finance-month-detail-icon .bi-icon,.finance-month-detail-icon svg{width:22px!important;height:22px!important}
.finance-month-detail-main{min-width:0}
.finance-month-detail-main strong,.finance-month-detail-main small{display:block}
.finance-month-detail-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.finance-month-detail-main small{margin-top:3px;color:#80766b;font-size:.7rem}
.finance-month-detail-main em{display:inline-block;margin-top:5px;padding:2px 6px;border-radius:999px;background:#f4efe6;color:#7d6a4a;font-size:.59rem;font-style:normal;font-weight:800}
.finance-month-detail-row>b{white-space:nowrap;font-size:.88rem}
.finance-month-detail-arrow{color:#a29381;display:grid;place-items:center}
.finance-month-detail-arrow .bi-icon,.finance-month-detail-arrow svg{width:14px!important;height:14px!important}
.finance-month-detail-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;overflow:hidden;border:1px solid #e1d5c3;border-radius:14px;background:#e1d5c3}
.finance-month-detail-summary>span{padding:12px 14px;background:#fbf8f2}
.finance-month-detail-summary small,.finance-month-detail-summary b{display:block}
.finance-month-detail-summary small{color:#85786a;font-size:.65rem}
.finance-month-detail-summary b{margin-top:3px;font-size:.9rem}
.finance-month-detail-summary .total{background:#f5ecdc}
.finance-month-empty{display:flex;align-items:center;gap:12px;padding:20px;border:1px dashed #d9cdbb;border-radius:14px;background:#faf7f1;color:#766b5f}
.finance-month-empty>.bi-icon,.finance-month-empty>svg{width:28px!important;height:28px!important;flex:0 0 28px;color:#a47628}
.finance-month-empty strong,.finance-month-empty span{display:block}
.finance-month-empty span{margin-top:3px;font-size:.75rem}

/* Die Icons in den Finanzkarten waren optisch zu klein für ihre Flächen. */
.finance-trend-icon .bi-icon,.finance-trend-icon svg{width:26px!important;height:26px!important}
.finance-income-icon .bi-icon,.finance-income-icon svg{width:28px!important;height:28px!important}
.finance-alert-icon .bi-icon,.finance-alert-icon svg{width:22px!important;height:22px!important}

@media(max-width:620px){
  .finance-month-dialog{width:calc(100vw - 18px)}
  .finance-month-dialog-head{padding:15px}
  .finance-month-dialog-head-right>strong{font-size:.86rem;padding:7px 9px}
  .finance-month-dialog-body{padding:12px}
  .finance-month-detail-row{grid-template-columns:40px minmax(0,1fr) auto;padding:10px;gap:9px}
  .finance-month-detail-icon{width:40px;height:40px}
  .finance-month-detail-arrow{display:none}
  .finance-month-detail-summary{grid-template-columns:1fr}
}

/* 3.19.6: Finanz-Icons wie auf dem Dashboard skalieren.
   Bootstrap Icons sind Icon-Fonts: width/height allein vergroessert nur die Box,
   nicht die sichtbare Glyphe. Deshalb die font-size explizit setzen. */
.finance-trend-icon .bi-icon,
.finance-income-icon .bi-icon,
.finance-alert-icon .bi-icon{
  width:auto!important;
  height:auto!important;
  line-height:1!important;
  display:block!important;
}
.finance-trend-icon .bi-icon{
  font-size:24px!important;
}
.finance-income-icon .bi-icon{
  font-size:26px!important;
}
.finance-alert-icon .bi-icon{
  font-size:20px!important;
}

/* Die beiden grossen Finanz-Kacheln verwenden dieselbe visuelle Relation
   zwischen Iconflaeche und Symbol wie die Summary-Cards des Dashboards. */
.finance-trend-icon{
  font-size:24px!important;
}
.finance-income-icon{
  font-size:26px!important;
}
.finance-alert-icon{
  font-size:20px!important;
}

/* Invoice page: compact create dropdown */
.invoice-page-actions{
  align-items:center;
  flex-wrap:nowrap;
}
.invoice-create-menu{
  position:relative;
  flex:0 0 auto;
}
.invoice-create-trigger{
  display:inline-flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
}
.invoice-create-trigger .invoice-create-chevron{
  margin-left:2px;
  transition:transform .18s ease;
}
.invoice-create-menu.is-open .invoice-create-chevron{
  transform:rotate(180deg);
}
.invoice-create-dropdown{
  position:absolute;
  z-index:120;
  top:calc(100% + 9px);
  right:0;
  width:min(390px,calc(100vw - 32px));
  padding:8px;
  border:1px solid #ded2c0;
  border-radius:15px;
  background:#fffdfa;
  box-shadow:0 18px 45px rgba(34,41,38,.17);
}
.invoice-create-dropdown[hidden]{display:none!important}
.invoice-create-dropdown::before{
  content:"";
  position:absolute;
  right:22px;
  top:-6px;
  width:11px;
  height:11px;
  background:#fffdfa;
  border-left:1px solid #ded2c0;
  border-top:1px solid #ded2c0;
  transform:rotate(45deg);
}
.invoice-create-dropdown a{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:8px 10px;
  border-radius:11px;
  color:#172522;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.invoice-create-dropdown a:hover,
.invoice-create-dropdown a:focus-visible{
  outline:0;
  background:#f5efe4;
  transform:translateX(2px);
}
.invoice-create-icon{
  display:flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #e5d9c6;
  border-radius:11px;
  background:#f7f0e3;
  color:#a26c0d;
  font-size:19px;
}
.invoice-create-dropdown strong,
.invoice-create-dropdown small{display:block}
.invoice-create-dropdown strong{font-size:15px;line-height:1.25}
.invoice-create-dropdown small{margin-top:3px;color:#766d63;font-size:12.5px;line-height:1.3;font-weight:500}
@media(max-width:980px){
  .invoice-page-actions{flex-wrap:wrap;justify-content:flex-start}
}
@media(max-width:640px){
  .invoice-page-actions{width:100%;display:grid;grid-template-columns:auto 1fr;gap:8px}
  .invoice-create-menu{min-width:0}
  .invoice-create-trigger{width:100%;justify-content:center}
  .invoice-create-dropdown{right:0;left:auto;width:min(370px,calc(100vw - 28px))}
}

/* Kontakt > Rechnungen: kompakte Erfassungswege direkt aus dem Kontaktkontext. */
.contact-invoice-footer-actions{overflow:visible}
.contact-invoice-create-menu{position:relative;display:inline-flex}
.contact-invoice-create-trigger.panel-footer-link{
  appearance:none;
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
}
.contact-invoice-create-menu .invoice-create-dropdown{
  top:auto;
  bottom:calc(100% + 10px);
  left:0;
  right:auto;
  width:min(370px,calc(100vw - 36px));
  z-index:80;
}
.contact-invoice-create-menu .invoice-create-dropdown::before{
  top:auto;
  bottom:-6px;
  transform:rotate(225deg);
}
@media (max-width:720px){
  .contact-invoice-create-menu{width:100%}
  .contact-invoice-create-trigger.panel-footer-link{width:100%;justify-content:flex-start}
  .contact-invoice-create-menu .invoice-create-dropdown{left:0;right:auto;width:min(370px,calc(100vw - 32px))}
}

/* Rechnungserfassung: zentrale Dublettenwarnung */
.invoice-duplicate-warning{
  margin:0 0 18px;
  padding:18px;
  border:1px solid #e6c28d;
  border-radius:18px;
  background:#fff8ed;
  box-shadow:0 12px 34px rgba(92,68,27,.08);
}
.invoice-duplicate-warning-head{display:flex;gap:14px;align-items:flex-start}
.invoice-duplicate-warning-head>div{min-width:0;flex:1}
.invoice-duplicate-warning-head strong{display:block;font-size:1.04rem;color:#7b4a08}
.invoice-duplicate-warning-head p{margin:4px 0 0;color:#77654c;line-height:1.45}
.invoice-duplicate-warning-icon{
  width:42px;height:42px;flex:0 0 42px;border-radius:13px;
  display:grid;place-items:center;background:#f5e6ca;color:#a66d13
}
.invoice-duplicate-warning-icon svg{width:21px;height:21px}
.invoice-duplicate-warning-list{display:grid;gap:8px;margin:14px 0}
.invoice-duplicate-warning-item{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:12px 14px;border:1px solid #ead8ba;border-radius:13px;background:#fff;
  text-decoration:none;color:inherit;transition:.16s ease
}
.invoice-duplicate-warning-item:hover{border-color:#c99a50;transform:translateY(-1px);box-shadow:0 7px 18px rgba(92,68,27,.08)}
.invoice-duplicate-warning-item>span:first-child{display:grid;gap:2px;min-width:0}
.invoice-duplicate-warning-item strong{color:#1f2827}
.invoice-duplicate-warning-item small{color:#7a7164;white-space:normal}
.invoice-duplicate-score{flex:0 0 auto;font-weight:800;color:#9a620c;background:#f5ead7;border-radius:999px;padding:6px 9px;font-size:.78rem}
.invoice-duplicate-confirm{margin-top:10px;padding-top:13px;border-top:1px solid #ead8ba;align-items:flex-start}
.invoice-duplicate-confirm span{display:grid;gap:2px}
.invoice-duplicate-confirm small{color:#7a7164;font-weight:400}
@media(max-width:680px){
  .invoice-duplicate-warning{padding:15px;border-radius:15px}
  .invoice-duplicate-warning-item{align-items:flex-start}
}

/* Mehrfach-Rechnungsupload: jede Datei wird in einem eigenen Request verarbeitet. */
.invoice-multi-progress {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #e3d7c4;
  border-radius: 16px;
  background: #f8f5ee;
}
.invoice-multi-progress[hidden] { display: none; }
.invoice-multi-progress-head {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
}
.invoice-multi-progress-copy strong,
.invoice-multi-progress-copy small { display: block; }
.invoice-multi-progress-copy small {
  margin-top: 3px;
  color: #746b60;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.invoice-multi-count {
  min-width: 64px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.invoice-multi-track {
  height: 9px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6dfd3;
}
.invoice-multi-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #b98318;
  transition: width .2s ease;
}
.invoice-multi-summary {
  margin-top: 9px;
  color: #6f655a;
  font-size: 13px;
  font-weight: 700;
}
.invoice-multi-file-list {
  display: grid;
  gap: 7px;
  max-height: 270px;
  margin-top: 12px;
  overflow: auto;
  padding-right: 3px;
}
.invoice-multi-file {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid #e4ddd1;
  border-radius: 11px;
  background: #fff;
}
.invoice-multi-file-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 650;
}
.invoice-multi-file-status { color: #81776b; font-size: 12px; white-space: nowrap; }
.invoice-multi-file.is-active { border-color: #d2af6c; background: #fffaf0; }
.invoice-multi-file.is-done .invoice-multi-file-status { color: #26754b; }
.invoice-multi-file.is-error { border-color: #e1aaa1; background: #fff7f5; }
.invoice-multi-file.is-error .invoice-multi-file-status { color: #a13d31; }
.invoice-multi-state-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: #f2ede4; color: #87651e; }
.invoice-multi-file.is-done .invoice-multi-state-icon { background: #e8f5ed; color: #26754b; }
.invoice-multi-file.is-error .invoice-multi-state-icon { background: #fbe8e5; color: #a13d31; }
@media (max-width: 640px) {
  .invoice-multi-progress-head { grid-template-columns: auto minmax(0,1fr); }
  .invoice-multi-count { grid-column: 2; text-align: left; }
  .invoice-multi-file { grid-template-columns: 26px minmax(0,1fr); }
  .invoice-multi-file-status { grid-column: 2; }
}

/* Kontakt: lange Rechnungslisten kompakt halten */
.contact-invoice-load-more-wrap{display:flex;justify-content:center;padding:14px 0 2px}.contact-invoice-load-more{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#9a6a13;font:inherit;font-weight:700;cursor:pointer;padding:8px 14px;border-radius:12px}.contact-invoice-load-more:hover{background:rgba(185,133,31,.08)}.contact-invoice-load-more small{font-size:.84em;font-weight:600;color:#7a746b}.contact-invoice-load-more svg{width:16px;height:16px}

/* Kontakt: ausgeblendete Rechnungen muessen trotz Grid-Regel wirklich verborgen bleiben */
.contact-invoice-row[hidden]{display:none!important}

/* Gutschriften */
.invoice-credit-hint{align-self:end;padding:12px 14px;border:1px solid var(--line,#e4d7c2);border-radius:14px;background:var(--surface-soft,#f7f1e6);display:none;gap:5px;flex-direction:column}
.invoice-credit-hint.is-visible{display:flex}
.invoice-credit-hint strong{color:var(--accent,#9a6a14);display:flex;align-items:center;gap:7px}
.invoice-credit-hint span{font-size:.9rem;color:var(--muted,#756d63)}
.status.invoice-credit{background:#e7f4ed;color:#236844;border-color:#c7e4d4}
[data-credit-payment-field][hidden]{display:none!important}

/* Rechnung/Gutschrift: fachlich getrennte Belegdaten statt gemischter Zahlungsmaske */
.invoice-document-type-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;align-items:stretch;margin-bottom:18px}
.invoice-document-type-field{margin:0;padding:18px;border:1px solid var(--line,#e4d7c2);border-radius:18px;background:#fff}
.invoice-document-type-field select{margin-top:7px}
.invoice-document-type-field small{display:block;margin-top:8px;line-height:1.42}
.invoice-credit-hint{align-self:stretch;padding:18px 20px;border:1px solid #e1c995;border-radius:18px;background:linear-gradient(135deg,#fffaf0,#f8f0df);display:none;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start}
.invoice-credit-hint.is-visible{display:grid}
.invoice-credit-hint-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#efe0bd;color:#a56c00;flex:0 0 auto}
.invoice-credit-hint-icon svg{width:21px;height:21px}
.invoice-credit-hint>div{display:grid;gap:5px;min-width:0}
.invoice-credit-hint strong{color:#9a6500;font-size:1.02rem;display:block}
.invoice-credit-hint span:not(.invoice-credit-hint-icon){font-size:.93rem;color:#756957;line-height:1.45}
.invoice-finance-section.is-credit .invoice-document-core-grid,
.invoice-finance-section.is-credit .invoice-amount-payment-grid{grid-template-columns:minmax(0,1fr)}
.invoice-finance-section.is-credit .invoice-document-core-grid>label,
.invoice-finance-section.is-credit .invoice-amount-payment-grid>label{max-width:100%}
.invoice-finance-section.is-credit .finance-allocation-box{margin-top:18px}
.invoice-finance-section.is-credit .finance-allocation-head strong::after{content:" · Gutschrift";color:#9a6a14;font-weight:700}
[data-credit-payment-field][hidden]{display:none!important}
@media(max-width:820px){.invoice-document-type-layout{grid-template-columns:1fr}.invoice-credit-hint{grid-template-columns:38px minmax(0,1fr)}.invoice-credit-hint-icon{width:38px;height:38px}}

/* Rechnungsbestand eines Kontakts lokal abgleichen */
.invoice-audit-picker{display:flex;align-items:center;gap:18px;padding:22px 24px}.invoice-audit-picker-icon{width:54px;height:54px;border-radius:16px;background:var(--surface-soft,#f4ecdc);display:grid;place-items:center;font-size:1.45rem;color:var(--accent,#a66f12);flex:0 0 auto}.invoice-audit-picker-copy{flex:1}.invoice-audit-picker-copy h2{margin:0 0 5px}.invoice-audit-picker-copy p{margin:0 0 14px;color:var(--muted,#776b5d)}.invoice-audit-dbcount{text-align:center;min-width:130px;padding:12px 18px;border-left:1px solid var(--border,#e4d8c5)}.invoice-audit-dbcount small,.invoice-audit-dbcount span{display:block;color:var(--muted,#776b5d)}.invoice-audit-dbcount strong{display:block;font-size:2rem}.invoice-audit-results{margin-top:22px}.invoice-audit-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.invoice-audit-stats>div{background:var(--surface,#fff);border:1px solid var(--border,#e4d8c5);border-radius:18px;padding:17px 20px}.invoice-audit-stats small,.invoice-audit-stats span{display:block;color:var(--muted,#776b5d)}.invoice-audit-stats strong{display:block;font-size:1.8rem;margin:2px 0}.invoice-audit-stats .is-missing{border-color:#d88976;background:#fff8f5}.invoice-audit-stats .is-ok{border-color:#b8d9cc;background:#f7fbf9}.invoice-audit-section{margin-top:16px;padding:22px}.invoice-audit-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.invoice-audit-section-head h2{margin:2px 0 0}.invoice-audit-list{display:grid;gap:8px;margin-top:15px}.invoice-audit-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;border:1px solid var(--border,#e4d8c5);border-radius:13px;background:var(--surface,#fff);text-decoration:none;color:inherit}.invoice-audit-row.is-missing{border-color:#e1aa9d;background:#fff9f7}.invoice-audit-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-audit-row strong{white-space:nowrap}@media(max-width:800px){.invoice-audit-picker{align-items:flex-start;flex-wrap:wrap}.invoice-audit-dbcount{width:100%;border-left:0;border-top:1px solid var(--border,#e4d8c5)}.invoice-audit-stats{grid-template-columns:repeat(2,1fr)}.invoice-audit-row{align-items:flex-start;flex-direction:column;gap:4px}.invoice-audit-row strong{white-space:normal}}

/* Dublettenentscheidung */
.duplicate-decision-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.duplicate-card-actions .btn.danger{background:#b94b3a;color:#fff;border-color:#b94b3a}.duplicate-card-actions .btn.danger:hover{filter:brightness(.95)}

/* Contact finance summary */
.contact-overview .contact-finance-summary {
  margin: 0 0 22px;
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 2.1fr);
  align-items: stretch;
}
.contact-finance-main {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  background: #fbf7ee;
  border-right: 1px solid var(--line, #e7e2d8);
}
.contact-finance-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: #f0e5ce;
  color: #9a701f;
  font-size: 1.45rem;
}
.contact-finance-hero {
  min-width: 0;
}
.contact-finance-hero .eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #a47720;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
}
.contact-finance-hero > strong {
  display: block;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -.035em;
  color: #171717;
  white-space: nowrap;
}
.contact-finance-hero > small {
  display: block;
  margin-top: 6px;
  color: #7d6842;
  font-weight: 800;
  font-size: .92rem;
}
.contact-finance-hero p {
  margin: 10px 0 0;
  color: var(--muted, #81796c);
  font-size: .88rem;
  line-height: 1.45;
}
.contact-finance-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-width: 0;
}
.contact-finance-metric {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  padding: 22px 18px;
  border-right: 1px solid var(--line, #e7e2d8);
}
.contact-finance-metric:last-child {
  border-right: 0;
}
.contact-finance-metric small {
  color: var(--muted, #81796c);
  font-size: .82rem;
}
.contact-finance-metric strong {
  font-size: 1.28rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.contact-finance-metric span {
  color: #918879;
  font-size: .74rem;
  line-height: 1.35;
}
.contact-finance-metric.is-credit strong {
  color: #44705f;
}
.contact-finance-metric.is-overdue strong,
.contact-finance-metric.is-overdue span {
  color: #ad4a37;
}
.contact-finance-footer {
  grid-column: 1 / -1;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 20px;
  border-top: 1px solid var(--line, #e7e2d8);
  background: #fffdfa;
  color: var(--muted, #81796c);
  font-size: .82rem;
}
.contact-finance-footer > span,
.contact-finance-footer > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.contact-finance-footer > a {
  color: #826021;
  text-decoration: none;
  font-weight: 800;
  white-space: nowrap;
}
.contact-finance-footer > a:hover {
  text-decoration: underline;
}
@media (max-width: 1180px) {
  .contact-overview .contact-finance-summary {
    grid-template-columns: 1fr;
  }
  .contact-finance-main {
    border-right: 0;
    border-bottom: 1px solid var(--line, #e7e2d8);
  }
  .contact-finance-metrics {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
    overflow-x: auto;
  }
}
@media (max-width: 760px) {
  .contact-finance-main {
    padding: 20px;
  }
  .contact-finance-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
  .contact-finance-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  .contact-finance-metric {
    border-right: 0;
    border-bottom: 1px solid var(--line, #e7e2d8);
    padding: 17px 18px;
  }
  .contact-finance-metric:nth-child(odd) {
    border-right: 1px solid var(--line, #e7e2d8);
  }
  .contact-finance-metric:last-child {
    grid-column: 1 / -1;
    border-right: 0;
  }
  .contact-finance-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* 05.10.2026 – einheitliche Auswahlfelder im gesamten angemeldeten Bereich */
.case-combobox.is-disabled .case-combobox-control,
.case-combobox-control:disabled {
  cursor: not-allowed;
  opacity: .62;
  background: #f4f1ea;
  color: #7d776e;
}
.case-combobox.is-compact .case-combobox-control {
  min-height: 44px;
  padding-inline: 12px;
  border-radius: 11px;
  font-size: 13px;
}
.case-combobox.is-compact .case-combobox-dropdown {
  min-width: min(320px, calc(100vw - 28px));
}
.case-combobox-search-wrap {
  position: relative;
}
.case-combobox-search-wrap .case-combobox-search-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #6f685e;
  pointer-events: none;
}
.case-combobox-search-wrap .case-combobox-search {
  padding-left: 40px !important;
}
.case-combobox-group {
  padding: 9px 10px 5px;
  color: #9a7530;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.case-combobox-option:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.case-combobox-option:focus-visible {
  outline: none;
  background: #f3eee3;
  box-shadow: inset 0 0 0 2px rgba(159,124,56,.35);
}
.case-combobox-done {
  width: 100%;
  margin-top: 8px;
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  background: #1f2929;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.case-combobox-backdrop {
  position: fixed;
  inset: 0;
  z-index: 290;
  background: rgba(23,30,30,.28);
  backdrop-filter: blur(1px);
}
.case-combobox-mobile-sheet {
  position: fixed !important;
  left: 12px !important;
  right: 12px !important;
  bottom: auto !important;
  width: auto !important;
  max-height: none !important;
  display: flex;
  flex-direction: column;
  padding: 12px;
  z-index: 310 !important;
  border-radius: 18px;
}
.case-combobox-mobile-sheet .case-combobox-options {
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
}
@media (max-width: 760px) {
  .case-combobox-control {
    min-height: 50px;
  }
  .case-combobox.is-compact .case-combobox-control {
    min-height: 46px;
  }
  .case-combobox-mobile-sheet .case-combobox-search {
    height: 46px !important;
    font-size: 16px !important;
  }
  .case-combobox-mobile-sheet .case-combobox-option {
    min-height: 46px;
    padding: 12px 11px;
  }
}

/* 3.23.1 – einheitliche Navigation zwischen den Rechnungs-Erfassungsarten */
.invoice-entry-page-head .page-actions{
  align-self:flex-end;
}
.invoice-route-menu .invoice-create-trigger{
  min-width:190px;
  justify-content:center;
}
.invoice-create-dropdown a.is-current{
  background:#f5efe4;
  box-shadow:inset 3px 0 0 #b7862d;
}
.invoice-create-dropdown a.is-current:hover,
.invoice-create-dropdown a.is-current:focus-visible{
  transform:none;
}
.invoice-create-dropdown strong{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.invoice-create-current{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:999px;
  background:#efe4c8;
  color:#94620c;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .invoice-entry-page-head .page-actions{align-self:stretch;width:100%}
  .invoice-entry-page-head .invoice-page-actions{display:block}
  .invoice-entry-page-head .invoice-route-menu,
  .invoice-entry-page-head .invoice-create-trigger{width:100%}
  .invoice-entry-page-head .invoice-create-dropdown{left:0;right:auto;width:100%}
}

/* Rechnungsstapel: kompakter, gefuehrter Einstieg statt drei lose Erklaerkarten. */
.invoice-stack-intro-upgraded{
  max-width:none;
  padding:0;
  overflow:hidden;
}
.invoice-stack-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  min-height:360px;
}
.invoice-stack-upload-column{
  padding:28px 30px 30px;
}
.invoice-stack-intro-upgraded .invoice-stack-intro-head{
  margin-bottom:24px;
}
.invoice-stack-hero-icon{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e3d5bd;
  border-radius:17px;
  background:#f7efe0;
  color:#9f6b10;
  font-size:27px;
  box-shadow:0 8px 22px rgba(94,69,27,.07);
}
.invoice-stack-intro-head .eyebrow{display:block;margin-bottom:5px}
.invoice-stack-intro-head h2{margin:0;font-size:1.45rem}
.invoice-stack-intro-head p{margin:.4rem 0 0;max-width:690px;color:var(--muted,#756e63);line-height:1.5}
.invoice-stack-intro-upgraded .invoice-stack-upload{
  margin:0;
  min-height:110px;
  background:#fffdfa;
}
.invoice-stack-upload-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:14px;
}
.invoice-stack-upload-footer .form-help{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#776e63;
}
.invoice-stack-guide{
  padding:30px 26px;
  border-left:1px solid #e3d8c7;
  background:linear-gradient(155deg,#f7f0e4 0%,#f3eadb 100%);
}
.invoice-stack-guide ol{
  list-style:none;
  display:grid;
  gap:20px;
  padding:0;
  margin:18px 0 0;
}
.invoice-stack-guide li{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.invoice-stack-guide li>span{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#1b2e2c;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.invoice-stack-guide li div{display:grid;gap:3px}
.invoice-stack-guide li strong{font-size:.98rem}
.invoice-stack-guide li small{color:#756e63;line-height:1.4}
.invoice-stack-method-overview-upgraded{
  margin-top:18px;
}
.invoice-stack-method-overview-upgraded article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:20px;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.invoice-stack-method-overview-upgraded article:hover{
  transform:translateY(-2px);
  border-color:#d4bd93;
  box-shadow:0 12px 28px rgba(45,38,27,.08);
}
.invoice-stack-method-no{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:#f7efe0;
  color:#9f6b10;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.invoice-stack-method-overview-upgraded strong{display:block;font-size:1.02rem}
.invoice-stack-method-overview-upgraded p{line-height:1.45}
@media(max-width:900px){
  .invoice-stack-intro-grid{grid-template-columns:1fr}
  .invoice-stack-guide{border-left:0;border-top:1px solid #e3d8c7}
  .invoice-stack-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .invoice-stack-guide li{grid-template-columns:34px minmax(0,1fr)}
  .invoice-stack-guide li>span{width:34px;height:34px}
}
@media(max-width:640px){
  .invoice-stack-upload-column,.invoice-stack-guide{padding:22px 18px}
  .invoice-stack-upload-footer{align-items:stretch;flex-direction:column}
  .invoice-stack-upload-footer .btn{width:100%;justify-content:center}
  .invoice-stack-guide ol{grid-template-columns:1fr}
  .invoice-stack-method-overview-upgraded article{grid-template-columns:40px minmax(0,1fr);padding:16px}
  .invoice-stack-method-no{width:40px;height:40px}
}


/* 3.24.0: zentraler mobiler Scanner + mobile Rechnungs-Auswertung */
.scanner-mobile-only { display: none !important; }
.scanner-type-picker {
  border: 0;
  padding: 0;
  margin: 4px 0 18px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.scanner-type-picker[hidden] { display: none !important; }
.scanner-type-picker legend {
  grid-column: 1/-1;
  margin-bottom: 8px;
  font-weight: 800;
  font-size: 0.9rem;
}
.scanner-type-picker label { position: relative; cursor: pointer; min-width: 0; }
.scanner-type-picker input { position: absolute; opacity: 0; pointer-events: none; }
.scanner-type-picker label > span {
  min-height: 116px;
  border: 1px solid var(--line,#ddd4c5);
  border-radius: 16px;
  background: #fffdf9;
  padding: 15px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: 4px 10px;
  align-content: start;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.scanner-type-picker label > span > svg { grid-row: 1/3; width: 22px; height: 22px; color: #a97819; margin-top: 1px; }
.scanner-type-picker strong { font-size: 1rem; }
.scanner-type-picker small { color: var(--muted,#776f64); line-height: 1.35; }
.scanner-type-picker input:checked + span {
  border-color: #b8892d;
  background: #faf5e9;
  box-shadow: 0 0 0 3px rgba(184,137,45,.10);
}
.scanner-source-notice { display:flex; gap:10px; align-items:flex-start; margin-bottom:18px; }
.scanner-source-notice strong { display:flex; gap:7px; align-items:center; white-space:nowrap; }
.scanner-attached-file { display:flex; gap:12px; align-items:center; padding:14px 16px; border:1px solid #ddd4c5; border-radius:14px; background:#faf7f0; }
.scanner-attached-file > svg { width:24px; height:24px; color:#a97819; }
.scanner-attached-file div { display:grid; gap:2px; }
.scanner-attached-file small { color:var(--muted,#776f64); }

@media (max-width: 1024px) {
  .scanner-mobile-only { display: flex !important; }
}
@media (max-width: 760px) {
  .scanner-type-picker { grid-template-columns: 1fr; }
  .scanner-type-picker label > span { min-height: 84px; }
  .analytics-year-form {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    width: 100%;
    gap: 10px;
    align-items: end;
  }
  .analytics-year-form label,
  .analytics-year-form .btn,
  .analytics-year-form .case-combobox { width: 100% !important; min-width: 0 !important; }
  .analytics-year-form .btn { min-height: 48px; justify-content: center; }
  .analytics-year-form .case-combobox-control { width:100%; min-height:48px; }
  .analytics-category-central .panel-head {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 12px;
  }
  .analytics-category-central .panel-head .btn { width:100%; justify-content:center; }
  .analytics-category-central .analytics-category-note { font-size:.95rem; line-height:1.55; }
}

/* 3.24.2 – Mobiler Scanner: echte Bildkorrektur und klarere Bedienung */
.scanner-adjustment-card {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #e5dac5;
  border-radius: 16px;
  background: #fbf8f1;
}
.scanner-adjustment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.scanner-adjustment-head > div { display: grid; gap: 4px; min-width: 0; }
.scanner-adjustment-head strong { font-size: 15px; }
.scanner-adjustment-head small { color: #776f64; line-height: 1.4; }
.scanner-adjustment-preset {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #d9c9a9;
  border-radius: 11px;
  background: #fffdf8;
  color: #76571e;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.scanner-adjustment-preset:hover, .scanner-adjustment-preset:focus-visible { border-color: #b88a32; background: #fff9eb; }
.scanner-sliders label { gap: 8px; font-weight: 650; }
.scanner-sliders label > span { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.scanner-sliders output {
  min-width: 54px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eee6d8;
  color: #6d5425;
  font-size: 12px;
  font-weight: 750;
  text-align: center;
}
.scanner-sliders input[type=range] { accent-color: #a9791f; min-height: 30px; cursor: pointer; }
.ob-scanner .scanner-stage canvas { transition: filter .08s linear; }
@media (max-width: 1024px) {
  .ob-scanner .scanner-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .scanner-adjustment-head { display: grid; grid-template-columns: 1fr; }
  .scanner-adjustment-preset { width: 100%; }
  .scanner-sliders { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .scanner-adjustment-card { padding: 14px; }
}


/* 3.24.3 – Scanner: eindeutiger Verarbeitungszustand und Doppelsubmit-Schutz */
.scanner-processing[hidden] { display: none !important; }
.scanner-processing {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(12, 25, 24, .72);
  backdrop-filter: blur(3px);
}
.scanner-processing-card {
  width: min(520px, 100%);
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  border: 1px solid rgba(201,154,66,.42);
  border-radius: 20px;
  background: #fffdf8;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.scanner-processing-spinner {
  width: 44px;
  height: 44px;
  border: 4px solid #ece5d7;
  border-top-color: #b98526;
  border-radius: 50%;
  animation: ob-scanner-spin .8s linear infinite;
}
@keyframes ob-scanner-spin { to { transform: rotate(360deg); } }
.scanner-processing-copy { display: grid; gap: 5px; min-width: 0; }
.scanner-processing-copy strong { color: #142826; font-size: 1.08rem; line-height: 1.25; }
.scanner-processing-copy small { color: #6e675d; line-height: 1.42; }
.scanner-processing-step {
  align-self: start;
  white-space: nowrap;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f3ead8;
  color: #8d651d;
  font-size: .76rem;
  font-weight: 800;
}
.ob-scanner.is-processing .scanner-capture-panel,
.ob-scanner.is-processing .scanner-edit-panel,
.ob-scanner.is-processing .scanner-pages-panel { pointer-events: none; }
@media (max-width: 640px) {
  .scanner-processing-card {
    grid-template-columns: 44px minmax(0,1fr);
    gap: 13px;
    padding: 18px;
    border-radius: 18px;
  }
  .scanner-processing-spinner { width: 38px; height: 38px; }
  .scanner-processing-step { grid-column: 2; justify-self: start; }
}

/* OrdnerBüro Next · Besitz */
.asset-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.chip{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line,#ddd3c3);border-radius:999px;text-decoration:none;color:inherit;background:var(--surface,#fff);font-size:.86rem}.chip.active{background:#1f2929;color:#fff;border-color:#1f2929}.asset-grid{display:grid;gap:12px}.asset-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;text-decoration:none;color:inherit;padding:18px}.asset-card:hover{transform:translateY(-1px)}.asset-card-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#f3ede2;font-size:1.25rem}.asset-card-body h2{margin:.12rem 0 .18rem;font-size:1.05rem}.asset-card-body p{margin:0;color:var(--muted,#68706d)}.asset-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:.82rem;color:var(--muted,#68706d)}.asset-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.asset-warranty{display:inline-flex;font-size:.78rem;color:#55705c}.asset-warranty.warning{color:#8a630d}.asset-warranty.danger{color:#a33a31}.asset-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}.asset-notes{margin-top:18px;padding-top:16px;border-top:1px solid var(--line,#e4ded2)}.asset-notes p{margin:.4rem 0 0}.asset-link-row,.asset-doc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line,#e7e0d4)}.asset-link-row>a,.asset-doc-row{text-decoration:none;color:inherit}.asset-link-row a{display:grid;gap:3px;min-width:0}.asset-link-row small,.asset-doc-row small{color:var(--muted,#68706d)}.asset-link-form{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#e7e0d4)}.asset-doc-row{justify-content:flex-start;flex-direction:column;align-items:flex-start}.form-section+.form-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--line,#e7e0d4)}.form-section h2{font-size:1rem;margin:0 0 14px}.span-2{grid-column:1/-1}@media(max-width:760px){.asset-card{grid-template-columns:auto 1fr}.asset-card-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.asset-detail-grid{grid-template-columns:1fr}.asset-link-form{grid-template-columns:1fr}.span-2{grid-column:auto}}

/* OrdnerBüro Next: zentrale Fristen- und Fälligkeitsübersicht */
.deadlines-center-page{padding-bottom:42px}
.deadlines-center-head{align-items:flex-end;gap:24px}
.deadline-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.deadline-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:6px 0 18px}
.deadline-summary-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:18px 20px;border:1px solid var(--line,#ddd7cc);border-radius:18px;background:var(--panel,#fff);color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(27,32,29,.035);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.deadline-summary-card:hover{transform:translateY(-1px);border-color:#bcae91;box-shadow:0 10px 28px rgba(27,32,29,.07)}
.deadline-summary-card span{font-size:.78rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#706b62}
.deadline-summary-card strong{font-size:2rem;line-height:1.05;color:#1d2927}
.deadline-summary-card small{color:#817b72;font-size:.86rem}
.deadline-summary-card.danger{background:#fff8f6;border-color:#e7c8c1}
.deadline-summary-card.danger strong{color:#a84132}
.deadline-summary-card.warning{background:#fffaf0;border-color:#ead7a5}
.deadline-summary-card.warning strong{color:#8a620d}
.deadline-filterbar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 6px;scrollbar-width:thin}
.deadline-filterbar a{display:inline-flex;align-items:center;white-space:nowrap;min-height:38px;padding:8px 13px;border:1px solid #ded8ce;border-radius:999px;background:#fff;color:#4d4a45;text-decoration:none;font-size:.88rem;font-weight:750;transition:background .15s ease,border-color .15s ease,color .15s ease}
.deadline-filterbar a:hover{border-color:#bda77b;background:#fbf8f1}
.deadline-filterbar a.active{background:#1e2d2b;border-color:#1e2d2b;color:#fff}
.deadline-center-panel{padding:0;overflow:hidden}
.deadline-center-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:20px 22px 15px;border-bottom:1px solid #ece7de}
.deadline-center-panel-head h2{margin:3px 0 0;font-size:1.35rem}
.deadline-center-count{flex:0 0 auto;color:#777168;font-size:.86rem;font-weight:700}
.deadline-center-list{display:flex;flex-direction:column}
.deadline-center-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid #eee9e0;background:#fff}
.deadline-center-row:last-child{border-bottom:0}
.deadline-center-row:hover{background:#fcfaf6}
.deadline-center-main{display:grid;grid-template-columns:66px 42px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:14px 10px 14px 18px;color:inherit;text-decoration:none}
.deadline-center-date{width:58px;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ddd8cf;border-radius:14px;background:#f8f6f1;line-height:1}
.deadline-center-date b{font-size:1.3rem;color:#202a28}
.deadline-center-date span{margin-top:5px;font-size:.72rem;color:#817b72}
.deadline-center-date.warning{background:#fff7e4;border-color:#e6cc8f}
.deadline-center-date.danger{background:#fff0ed;border-color:#e4bbb3}
.deadline-center-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f1eee7;color:#6c624f;font-size:1.1rem}
.deadline-source-contract .deadline-center-icon{background:#eef3f1;color:#48665e}
.deadline-source-asset .deadline-center-icon{background:#f5f0e8;color:#7b643d}
.deadline-source-document .deadline-center-icon{background:#f0f2f5;color:#53606e}
.deadline-source-invoice .deadline-center-icon{background:#f4f0e8;color:#7e6431}
.deadline-center-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
.deadline-center-copy strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;color:#202321}
.deadline-center-copy small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777168;font-size:.86rem}
.deadline-center-topline{min-height:21px}
.deadline-center-kind{font-size:.68rem;line-height:1.1;padding:4px 8px}
.deadline-center-kind.contract{background:#edf3f0;color:#416158}
.deadline-center-kind.asset{background:#f5efe4;color:#755c31}
.deadline-center-kind.document{background:#eef1f4;color:#52606e}
.deadline-center-status{min-width:126px;text-align:center;padding:8px 11px;border-radius:999px;background:#f1f3ef;color:#59655e;font-size:.79rem;font-weight:800;white-space:nowrap}
.deadline-center-status.soon{background:#f7f2e6;color:#755d28}
.deadline-center-status.warning{background:#fff1cc;color:#805809}
.deadline-center-status.danger{background:#fbe5e1;color:#9f3d31}
.deadline-center-action{display:flex;align-items:center;padding:0 18px 0 6px}
.deadline-center-action .btn{white-space:nowrap}
.deadline-center-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:220px;padding:34px;text-align:center;color:#858078}
.deadline-center-empty .bi{font-size:1.75rem;color:#788d82}
.deadline-center-empty strong{color:#343936;font-size:1rem}
.deadline-center-empty span{font-size:.9rem}
@media (max-width:1100px){
  .deadline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .deadline-center-main{grid-template-columns:62px 38px minmax(0,1fr)}
  .deadline-center-status{grid-column:3;margin-top:4px;justify-self:start;min-width:0}
}
@media (max-width:720px){
  .deadlines-center-head{align-items:flex-start}
  .deadline-head-actions{width:100%}
  .deadline-head-actions .btn{width:100%;justify-content:center}
  .deadline-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .deadline-summary-card{padding:14px 15px;border-radius:15px}
  .deadline-summary-card strong{font-size:1.65rem}
  .deadline-summary-card small{font-size:.78rem}
  .deadline-filterbar{margin-right:-12px;padding-right:12px}
  .deadline-center-panel-head{align-items:flex-start;padding:17px 16px 13px}
  .deadline-center-row{grid-template-columns:minmax(0,1fr)}
  .deadline-center-main{grid-template-columns:55px minmax(0,1fr);gap:11px;padding:13px 14px}
  .deadline-center-date{width:52px;min-height:52px;border-radius:12px;grid-row:1 / span 2}
  .deadline-center-icon{display:none}
  .deadline-center-copy{grid-column:2}
  .deadline-center-copy strong,.deadline-center-copy small{white-space:normal}
  .deadline-center-status{grid-column:2;justify-self:start;margin-top:2px}
  .deadline-center-action{padding:0 14px 13px 80px}
  .deadline-center-action .btn{width:100%;justify-content:center}
}
@media (max-width:430px){
  .deadline-summary-grid{grid-template-columns:1fr 1fr}
  .deadline-summary-card span{font-size:.68rem}
  .deadline-summary-card strong{font-size:1.45rem}
  .deadline-summary-card small{display:none}
}

/* OrdnerBüro Next: Besitz-Detailseite */
.asset-detail-page{max-width:1500px}.asset-detail-head{align-items:flex-end;margin-bottom:20px}.asset-detail-head h1{margin-bottom:4px}.asset-summary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:18px;align-items:stretch}.asset-overview-card,.asset-relations-card,.asset-documents-card{padding:24px;border-radius:22px}.asset-overview-card .panel-head,.asset-relations-card .panel-head,.asset-documents-card .panel-head{margin-bottom:20px}.asset-status{white-space:nowrap}.asset-kv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset-kv-grid>div{min-height:94px;padding:16px 18px;border:1px solid var(--line,#e6dfd2);border-radius:16px;background:rgba(250,247,241,.7);display:flex;flex-direction:column;justify-content:center;gap:5px}.asset-kv-grid span,.asset-notes>span{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#77736b)}.asset-kv-grid strong{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.asset-warranty-box small{font-size:.77rem;color:var(--muted,#77736b)}.asset-warranty-box.warning{border-color:#ddc47d;background:#fff9e9}.asset-warranty-box.danger{border-color:#dfaaa1;background:#fff2ef}.asset-notes{margin-top:16px;padding:18px;border:1px solid var(--line,#e6dfd2);border-radius:16px;background:rgba(250,247,241,.55)}.asset-notes p{margin:7px 0 0;line-height:1.55}.asset-relations-card{display:flex;flex-direction:column}.asset-relations-card .panel-head p,.asset-documents-card .panel-head p{margin:5px 0 0;max-width:760px;color:var(--muted,#77736b)}.asset-relations-list{display:grid;gap:9px;margin-bottom:16px}.asset-relation-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#e6dfd2)}.asset-relation-row>a{display:flex;align-items:center;gap:12px;min-width:0;flex:1;color:inherit;text-decoration:none}.asset-relation-row>a>span:last-child{display:grid;min-width:0}.asset-relation-row small{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#77736b)}.asset-relation-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-relation-row em{font-style:normal;font-size:.82rem;color:var(--muted,#77736b)}.relation-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;background:#f1ece3}.asset-link-forms{display:grid;gap:10px;margin-top:auto}.asset-link-forms form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.asset-link-forms label{display:grid;gap:6px;font-weight:700;font-size:.82rem}.asset-link-forms select{width:100%;min-width:0}.asset-empty{padding:28px 14px;border:1px dashed var(--line,#ded6c8);border-radius:16px;background:rgba(250,247,241,.4)}.asset-documents-card{margin-top:18px}.asset-document-list{display:grid;gap:8px}.asset-document-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line,#e6dfd2);border-radius:14px;color:inherit;text-decoration:none;background:rgba(250,247,241,.45)}.asset-document-row:hover{background:#fff}.asset-document-icon{width:38px;height:38px;border-radius:11px;background:#f1ece3;display:grid;place-items:center}.asset-document-row>span:nth-child(2){display:grid;gap:3px}.asset-document-row small{color:var(--muted,#77736b)}.asset-document-open{color:var(--muted,#77736b)}.asset-danger-zone{margin-top:16px;padding-top:0;border-top:0}.asset-danger-zone .btn{min-height:44px}

/* OrdnerBüro Next: Vorgänge */
.procedure-page-head,.procedure-detail-head{align-items:flex-end}.procedure-filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.procedure-grid{display:grid;gap:12px}.procedure-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;text-decoration:none;color:inherit;border-radius:18px}.procedure-card:hover{transform:translateY(-1px)}.procedure-card-icon{width:48px;height:48px;border-radius:14px;background:#f1ece3;display:grid;place-items:center;font-size:1.15rem}.procedure-card-main{min-width:0}.procedure-card-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:5px}.procedure-type{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#77736b)}.procedure-card h2{margin:0 0 4px;font-size:1.05rem}.procedure-card p{margin:0;color:var(--muted,#77736b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.procedure-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:.73rem;font-weight:800;background:#eee9df}.procedure-status.status-waiting{background:#eef3f8}.procedure-status.status-action_required{background:#fff0df}.procedure-status.status-done{background:#e8f4eb}.procedure-status.status-rejected{background:#f4e9e7}.procedure-due{display:grid;text-align:right;gap:2px;min-width:100px;font-weight:800}.procedure-due small{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#77736b)}.procedure-due.warning{color:#966800}.procedure-due.danger{color:#a44235}.procedure-due.muted{color:var(--muted,#77736b)}.procedure-summary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.procedure-overview-card,.procedure-status-card,.procedure-links-panel{padding:24px;border-radius:22px}.detail-kv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-kv-grid>div{min-height:92px;padding:15px 16px;border:1px solid var(--line,#e6dfd2);border-radius:15px;background:rgba(250,247,241,.65);display:flex;flex-direction:column;justify-content:center;gap:4px}.detail-kv-grid span,.procedure-notes>span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted,#77736b)}.detail-kv-grid strong{overflow-wrap:anywhere}.detail-kv-grid small{font-size:.75rem;color:var(--muted,#77736b)}.detail-kv-grid .is-warning{background:#fff9e9;border-color:#ddc47d}.detail-kv-grid .is-danger{background:#fff2ef;border-color:#dfaaa1}.procedure-notes{margin-top:14px;padding:16px;border:1px solid var(--line,#e6dfd2);border-radius:15px}.procedure-notes p{margin:7px 0 0;line-height:1.55}.procedure-status-card .panel-head p{margin:5px 0 0;color:var(--muted,#77736b)}.procedure-status-form{display:grid;gap:10px}.procedure-status-form .btn{width:100%}.procedure-links-panel{margin-top:18px}.procedure-relations-list{display:grid;gap:8px;margin:12px 0 18px}.procedure-relation-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#e6dfd2)}.procedure-relation-row>a{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none;color:inherit}.procedure-relation-row>a>span:last-child{display:grid}.procedure-relation-row small{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#77736b)}.procedure-link-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.procedure-link-forms form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:14px;border:1px solid var(--line,#e6dfd2);border-radius:15px}.procedure-link-forms label{display:grid;gap:6px;font-weight:700;font-size:.82rem;min-width:0}.procedure-link-forms select{width:100%;min-width:0}.procedure-form .form-section h2{margin-bottom:16px}

@media(max-width:1100px){.asset-summary-grid,.procedure-summary-grid{grid-template-columns:1fr}.asset-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.procedure-link-forms{grid-template-columns:1fr}}
@media(max-width:720px){.asset-detail-head,.procedure-page-head,.procedure-detail-head{align-items:flex-start}.asset-overview-card,.asset-relations-card,.asset-documents-card,.procedure-overview-card,.procedure-status-card,.procedure-links-panel{padding:18px}.asset-kv-grid,.detail-kv-grid{grid-template-columns:1fr}.asset-link-forms form,.procedure-link-forms form{grid-template-columns:1fr}.procedure-card{grid-template-columns:auto minmax(0,1fr);padding:15px}.procedure-card-side{grid-column:1/-1;padding-left:64px}.procedure-due{text-align:left;display:flex;gap:8px;align-items:baseline}.procedure-card p{white-space:normal}.asset-documents-card .panel-head{align-items:flex-start}.asset-document-row{grid-template-columns:auto minmax(0,1fr)}}

/* OrdnerBüro Next: Akten-Workflow statt separater Vorgänge */
.case-workflow-form-grid{margin-top:14px}.field-help{display:block;margin-top:6px;color:var(--muted,#7c786f);font-weight:500;line-height:1.35}
.case-workflow-panel{margin-bottom:22px;padding:26px 28px;overflow:hidden}.case-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.case-workflow-head h2{margin:4px 0 5px;font-size:24px}.case-workflow-head p{margin:0;color:var(--muted,#77736a)}.case-workflow-progress-summary{text-align:right;min-width:120px}.case-workflow-progress-summary strong{display:block;font-size:30px;line-height:1;color:#9b6b12}.case-workflow-progress-summary span{display:block;margin-top:6px;color:var(--muted,#77736a);font-size:13px}.case-workflow-progress{height:8px;margin:20px 0 24px;border-radius:999px;background:#eee7da;overflow:hidden}.case-workflow-progress>span{display:block;height:100%;border-radius:inherit;background:#b5811f;transition:width .2s ease}.case-workflow-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.case-next-step{display:flex;flex-direction:column;gap:5px;padding:16px 18px;margin-bottom:12px;border:1px solid #e4d7c3;border-radius:16px;background:#fbf7ef}.case-next-step span{display:flex;align-items:center;gap:7px;color:#9b6b12;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.case-next-step strong{font-size:17px}.case-next-step.is-done{background:#f2f7f2;border-color:#d8e5d8}.case-next-step.is-done span{color:#527257}.case-checklist{display:flex;flex-direction:column;border:1px solid #e8dfd2;border-radius:16px;overflow:hidden;background:#fff}.case-checklist-row{display:grid;grid-template-columns:34px minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:58px;padding:8px 12px;border-bottom:1px solid #eee7dc}.case-checklist-row:last-child{border-bottom:0}.case-checklist-row>span{display:flex;flex-direction:column;gap:2px}.case-checklist-row>span strong{font-size:14px}.case-checklist-row>span small{color:#9b6b12;font-size:11px;font-weight:700}.case-checklist-row.is-done>span strong{text-decoration:line-through;color:#8d8a83}.case-check-toggle,.case-check-delete{width:32px;height:32px;border:0;background:transparent;border-radius:9px;display:grid;place-items:center;cursor:pointer;color:#9b6b12;font-size:18px}.case-check-toggle:hover{background:#f2ecdf}.case-check-delete{color:#a84a3c}.case-check-delete:hover{background:#faece9}.case-check-add{margin-top:12px;border:1px dashed #d9cdbb;border-radius:14px;padding:0 14px;background:#fff}.case-check-add summary{cursor:pointer;padding:13px 0;font-weight:750;color:#665d50}.case-check-add form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:0 0 14px}.case-check-add input[type=text],.case-check-add input:not([type]){min-height:42px}.case-workflow-status-box{padding:18px;border-radius:16px;background:#f7f3eb;border:1px solid #e3d8c8;align-self:start}.case-workflow-status-box>span{display:block;margin:0 0 5px;color:#7c7468;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.case-workflow-status-box>strong{display:block;margin-bottom:18px;font-size:17px}.case-workflow-status-box form{display:flex;flex-direction:column;gap:10px}.case-workflow-status-box select{width:100%}
@media(max-width:900px){.case-workflow-panel{padding:20px}.case-workflow-grid{grid-template-columns:1fr}.case-workflow-status-box{order:-1}.case-workflow-head{gap:14px}.case-workflow-progress-summary{min-width:90px}.case-check-add form{grid-template-columns:1fr}.case-check-add .check{margin:0}}
@media(max-width:560px){.case-workflow-head{flex-direction:column}.case-workflow-progress-summary{text-align:left}.case-checklist-row{grid-template-columns:32px minmax(0,1fr) 30px;padding-left:8px;padding-right:8px}}


/* OrdnerBüro Next 3.25.0-next.8: Akten-Workflow + Verknüpfungsdialoge */
.case-workflow-section{
  border-color:#decaa2;
  background:linear-gradient(180deg,#fffdfa 0%,#fff 100%);
}
.case-workflow-section .form-section-head h2{display:flex;align-items:center;gap:8px}
.case-workflow-form-grid{margin-top:0}
.workflow-type-note{
  margin-top:16px;
  padding:12px 14px;
  border:1px solid #eadfcf;
  border-radius:12px;
  background:#f8f3e9;
  color:#6e675d;
  font-size:13px;
  line-height:1.5;
}
.workflow-type-note strong{color:#8f691f}

/* Die Aktenverknüpfung darf innerhalb der Card nicht mehr abgeschnitten werden. */
.case-relations,
.case-relations.panel,
.case-detail-page .case-relations{overflow:visible!important}
.relation-add{overflow:visible;position:relative}
.relation-add-form{
  grid-template-columns:minmax(150px,190px) minmax(260px,1fr) minmax(132px,auto);
  width:100%;
  min-width:0;
}
.relation-add-form label{min-width:0}
.relation-add-form select{min-width:0;max-width:100%}
.relation-add-form .btn{white-space:nowrap;padding-inline:20px}

/* Verknüpfungs-Modals: groß genug für Suche, Trefferliste und lange Bezeichnungen. */
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog){
  width:min(760px,calc(100vw - 48px));
  max-width:760px;
  max-height:min(88dvh,820px);
  overflow:hidden;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head{
  padding:22px 26px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head h3{
  font-size:22px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body{
  padding:24px 26px 28px;
  overflow:auto;
  max-height:calc(88dvh - 86px);
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body form{gap:18px}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body label{
  font-size:15px;
  gap:10px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body select{
  min-height:54px;
  padding:14px 16px;
  font-size:15px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .relation-combobox,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) [class*="combobox"]{
  width:100%;
  max-width:none;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-menu,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .relation-combobox-menu,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) [class*="combobox-menu"]{
  max-height:300px;
}

@media (max-width:900px){
  .relation-add-form{grid-template-columns:1fr 1.7fr}
  .relation-add-form .btn{grid-column:1/-1;width:100%}
}
@media (max-width:760px){
  .relation-add-form{grid-template-columns:1fr}
  .relation-add-form .btn{grid-column:auto}
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog){
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    border-radius:16px;
  }
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head{padding:16px 18px}
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head h3{font-size:19px}
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body{
    padding:18px;
    max-height:calc(100dvh - 88px);
  }
}

/* OrdnerBüro Next 3.25.0-next.12
   Akten-Workflow: Checklistenformular und Verknüpfungsdialoge konsistent stylen. */
.case-check-add form > input[name="title"]{
  width:100%;
  min-width:0;
  min-height:48px;
  box-sizing:border-box;
  padding:0 15px;
  border:1px solid var(--field-border,#d7d2c7);
  border-radius:var(--field-radius,12px);
  background:#fff;
  color:#222;
  font:inherit;
  font-weight:600;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.case-check-add form > input[name="title"]::placeholder{
  color:#8b8377;
  opacity:1;
  font-weight:500;
}
.case-check-add form > input[name="title"]:hover{border-color:#c7bda9}
.case-check-add form > input[name="title"]:focus{
  border-color:#9f7c38;
  box-shadow:0 0 0 3px #c9aa6425;
}
.case-check-add form > .check{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0;
  white-space:nowrap;
}
.case-check-add form > .btn{min-height:44px}

/* Verknüpfungsdialoge: eine ruhige Arbeitsfläche, nur die Trefferliste scrollt. */
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog){
  width:min(820px,calc(100vw - 48px));
  max-width:820px;
  max-height:none;
  overflow:visible;
  border-radius:22px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head{
  padding:22px 28px 18px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head h3{
  font-size:24px;
  line-height:1.2;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-close{
  width:42px;
  height:42px;
  flex-basis:42px;
  border-radius:12px;
  background:#f8f3e9;
  border-color:#e4d8c7;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-close:hover{
  background:#f1e8d8;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body{
  padding:26px 28px 30px;
  max-height:none;
  overflow:visible;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body form{
  display:grid;
  gap:18px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body label{
  display:grid;
  gap:10px;
  min-width:0;
  font-size:15px;
  font-weight:750;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox{
  width:100%;
  min-width:0;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-control{
  min-height:54px;
  border-radius:13px;
  padding-inline:16px;
  font-size:15px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-dropdown{
  position:static;
  inset:auto;
  width:100%;
  margin-top:9px;
  box-sizing:border-box;
  padding:10px;
  border-radius:14px;
  box-shadow:none;
  background:#fff;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search-wrap{
  height:48px;
  margin-bottom:8px;
  padding-inline:14px;
  border-radius:11px;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search-wrap .case-combobox-search{
  height:46px!important;
  font-size:15px!important;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-options{
  max-height:min(310px,42vh);
  padding:2px 4px 2px 0;
  gap:4px;
  overscroll-behavior:contain;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-option{
  padding:11px 13px;
  border-radius:10px;
  line-height:1.35;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body .btn{
  min-height:48px;
  border-radius:12px;
}

@media(max-width:760px){
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog){
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    overflow:auto;
    border-radius:18px;
  }
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head{
    position:sticky;
    top:0;
    z-index:3;
    padding:16px 18px;
    background:#fff;
  }
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-head h3{font-size:20px}
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-dialog-body{
    padding:18px;
    overflow:visible;
  }
  .case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-options{
    max-height:38dvh;
  }
}

/* Next: Verknüpfungsdialoge – Auswahlfeld als selbsterklärende Komponente. */
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-link-select-field > .case-link-field-label{
  display:none;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-control{
  display:flex;
  align-items:center;
  width:100%;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-value{
  flex:1 1 auto;
  min-width:0;
  color:#262d2d;
  font-weight:750;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-chevron{
  flex:0 0 auto;
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  transform:none;
  transform-origin:center;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox.is-open .case-combobox-chevron{
  transform:rotate(180deg);
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search-wrap{
  position:relative;
  display:block;
  height:50px;
  padding:0;
  overflow:hidden;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search-icon{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  color:#6f6a61;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search-wrap .case-combobox-search{
  width:100%!important;
  height:48px!important;
  padding:0 14px 0 46px!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search::-webkit-search-decoration,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search::-webkit-search-cancel-button,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search::-webkit-search-results-button,
.case-link-dialog:not(.finance-month-dialog):not(.contract-amount-change-dialog) .case-combobox-search::-webkit-search-results-decoration{
  -webkit-appearance:none;
  display:none;
}
