:root{color-scheme:light}
body{font-family:Inter,Arial,Helvetica,sans-serif}
.is-active{background:#ffffff1a!important;color:#fff!important}
.side-link .link-arrow{margin-left:auto;opacity:.5;color:#a9cad8}
.side-link:hover .link-arrow{opacity:1}
.section-gap{margin-top:22px}
.admin-grid .stat-money{font-size:24px;letter-spacing:-.05em}
.auth-small-form{margin:18px 0 0}
.link-button{appearance:none;cursor:pointer;border:0;background:transparent;color:#27748f;text-decoration:underline;text-underline-offset:3px;font-size:12px;padding:10px 2px;font-weight:700}
.logout-form{margin:0}
.logout-form .link-button{color:#365d70}
.secret-box{background:#eaf2f6;border:1px solid #c7dce5;padding:19px;margin:19px 0;display:flex;flex-direction:column;gap:12px}
.secret-box span{font-size:11px;color:#497085;font-weight:700}
.secret-box strong{letter-spacing:.12em;font-size:16px;line-height:1.7;word-break:break-all;font-family:ui-monospace,Consolas,monospace}
.auth-deep-link{font-size:12px;color:#0672a4;font-weight:700;line-height:1.8}
.auth-wide{width:100%}
.checkbox-line{display:flex!important;gap:11px;align-items:center;font-size:12px}
.checkbox-line input{width:18px!important;height:18px!important;min-height:18px!important}
.inline-action{display:inline-flex;max-width:100%;margin:15px 12px 0 0}
.inline-action .admin-secondary{font-size:12px}
.report-card{border:1px solid #dbe6e9;padding:17px;margin:15px 0;background:#f9fcfd}
.report-card p{font-size:13px;line-height:1.6;white-space:normal}
.report-card small{font-size:10px;color:#648496}
.admin-panel h3{font-size:18px;letter-spacing:-.02em;margin-top:34px}
.visually-hidden{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.admin-search .admin-secondary{flex-shrink:0}
.admin-table .admin-secondary{min-height:36px;padding:6px 12px}
.admin-panel .admin-note{margin:18px 0}
.admin-form label{line-height:1.4}
.admin-form-actions button{width:auto}
.admin-page-heading{margin-bottom:22px}
@media(max-width:600px){.topbar-right{gap:8px}.logout-form .link-button{font-size:11px}.admin-mobile-nav nav{z-index:100}.secret-box strong{font-size:12px}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* QA 2026-10-13: accessible dynamic search and mobile touch targets. */
.customer-picker{display:flex;flex-direction:column;gap:7px}
.customer-picker label{margin-bottom:3px}
.customer-picker input[type=search]{min-height:48px;background:#fff}
.customer-picker select{min-height:48px;background:#fff}
.customer-picker-status,.customer-search-status{display:block;font-size:12px;color:#476b7c;line-height:1.5;min-height:20px;margin:5px 0 12px}
.customer-picker .small{margin:0;color:#6b8290}
.table-empty{padding:30px 18px!important;text-align:center;color:#607989}
.customer-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.customer-shortcuts a{flex-shrink:0}
.admin-table-wrap[tabindex]:focus-visible{outline:2px solid #087ba5;outline-offset:2px}
@media(max-width:600px){
  .admin-content{padding:22px 14px 70px}
  .admin-panel{padding:19px 14px}
  .admin-topbar{padding:0 12px}
  .topbar-right{gap:7px}
  .side-link,.admin-mobile-nav nav>a{min-height:44px}
  .admin-search{height:auto;min-height:48px;gap:5px;padding:5px}
  .admin-search input{min-height:40px;width:100%;font-size:16px}
  .admin-search .admin-secondary{padding:9px 11px;min-width:65px}
  .admin-form input,.admin-form select,.admin-form textarea{font-size:16px}
  .admin-table .admin-secondary{min-height:44px}
  .admin-table a{display:inline-flex;align-items:center;min-height:44px;padding-right:12px}
  .admin-form-actions button{width:100%;min-height:48px;justify-content:center}
  .inline-action{width:100%;margin:8px 0}
  .inline-action button{width:100%;justify-content:center;min-height:44px}
  .customer-shortcuts a{flex:1 1 auto}
  .admin-grid{gap:10px}
}
@media(max-width:350px){.admin-mobile-nav>summary{padding:9px}.admin-topbar{gap:5px}.topbar-breadcrumb{font-size:8px}.owner-chip{padding:7px}.admin-page-heading h1{font-size:32px}}

/* Compact accessible multi-position quote/invoice editor. */
.line-item-container{display:flex;flex-direction:column;gap:13px}
.line-item-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:17px 20px;background:#f8fbfc;border:1px solid #d9e5e8}
.line-item-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.line-item-heading strong{font-size:14px;color:#153d54}
.line-item-row label{display:block;margin-bottom:9px;font-size:11px;font-weight:750;color:#244d62}
.line-item-row input,.line-item-row select,.line-item-row textarea{width:100%;min-height:46px;padding:12px;border:1px solid #cedde1;background:#fff;color:#10364c;font:inherit;font-size:13px}
.line-item-row textarea{resize:vertical;min-height:80px}
.line-item-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.line-item-footer [data-line-item-status]{font-size:12px;color:#637c89}
.line-item-row [data-remove-line]{min-height:40px}
@media(max-width:600px){.line-item-row{grid-template-columns:1fr;padding:15px 13px;gap:13px}.line-item-row input,.line-item-row select,.line-item-row textarea{font-size:16px}.line-item-footer button{width:100%;min-height:48px}}

/* QA 2026-10-13: German compound headings in 2FA/recovery must not overflow on phones. */
.auth-card h1{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:550px){.auth-card h1{font-size:clamp(27px,8vw,39px);line-height:1.13}}

/* Reusable service positions and invoice/quote templates. Keyboard and mobile accessible. */
.template-picker-panel{padding:17px;border:1px solid #d5e4e9;background:#f4f9fa;margin:18px 0 24px}
.template-picker-panel>label,.template-save-panel>label{display:block;font-size:13px;font-weight:750;color:#153d54;margin:0 0 9px}
.template-picker-controls{display:flex;gap:10px;align-items:stretch}
.template-picker-controls select{flex:1 1 auto;min-width:0;min-height:48px;padding:9px;border:1px solid #c6d9dd;background:#fff;color:#153d54}
.template-picker-controls button{min-height:48px;flex-shrink:0}
.template-picker-panel .small{margin:9px 0 0;font-size:12px;color:#536e7c}
.template-save-panel{padding:19px;border:1px solid #d7e4e8;background:#f7fbfc;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.template-save-panel h3{margin:0 0 4px;font-size:17px}
.template-save-panel input[type=text]{width:min(100%,520px);height:48px;border:1px solid #c6d9dd;padding:10px;font-size:16px}
.template-save-panel .template-replace{margin:0}
.template-save-panel>button{min-height:48px}
.template-save-panel .small{margin:0}
.templates-list summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center}
.templates-list ul{list-style:none;padding:0;margin:0}
.templates-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e0e9ec;padding:9px 0}
.templates-list form{margin:0}
.templates-list button{min-height:44px}
.document-template-save{border-top:1px solid #dce5e9;margin-top:26px;padding-top:17px}
.document-template-save h3{margin-top:0}
.position-picker{position:relative;min-width:0}
.position-picker>div:first-child{min-width:0}
.position-suggestions[hidden]{display:none}
.position-suggestions{position:absolute;left:0;top:calc(100% - 20px);width:100%;max-height:290px;overflow-y:auto;z-index:11;background:#fff;border:1px solid #9ac0d2;box-shadow:0 12px 28px #07375126}
.line-item-row:focus-within{position:relative;z-index:4}
.position-suggestion{display:flex;align-items:stretch;border-bottom:1px solid #e0e8ec;min-width:0}
.position-suggestion:last-child{border-bottom:0}
.position-suggestion-apply{flex:1 1 auto;min-width:0;min-height:56px;border:0;background:#fff;padding:10px 14px;cursor:pointer;text-align:left;color:#1a4055}
.position-suggestion-apply strong{display:block;font-size:13px;overflow-wrap:anywhere;line-height:1.45}
.position-suggestion-apply small{display:block;font-size:12px;color:#526c7a;margin-top:3px}
.position-suggestion-apply:hover,.position-suggestion-apply:focus-visible{background:#eaf4f8}
.position-suggestion-remove{min-width:48px;min-height:48px;align-self:stretch;border:0;border-left:1px solid #e1e9ee;background:#fff;color:#994141;cursor:pointer;font-size:23px}
.position-suggestion-remove:hover,.position-suggestion-remove:focus-visible{background:#fff1f0}
.position-suggestion-empty{padding:14px;font-size:13px;color:#58717e}
.position-feedback{display:block;min-height:17px;font-size:11px;line-height:1.4;color:#507180;margin-top:5px}
@media(max-width:600px){
 .template-picker-controls{flex-direction:column}
 .template-picker-controls button,.template-save-panel>button{width:100%;min-height:48px}
 .position-suggestions{max-height:240px}
 .templates-list li{flex-wrap:wrap}
 .templates-list li button{min-height:44px}
}
.line-item-row [data-remove-line][hidden]{display:none!important}
/* 2026-10-13: all-new accounting workflows, improved touch/accessibility */
.invoice-live-totals{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dce8ed;border:1px solid #dce8ed;border-radius:9px;overflow:hidden;margin-top:8px}
.invoice-live-totals>div{display:flex;flex-direction:column;gap:4px;background:#f6fafb;padding:16px 18px}
.invoice-live-totals .total-final{background:#e8f2f6}
.invoice-live-totals strong{font-size:clamp(16px,2vw,22px);font-variant-numeric:tabular-nums;color:#15384b;white-space:nowrap}
.invoice-live-totals [data-total-error]{grid-column:1/-1;padding:8px 14px;background:#fff;font-size:12px;color:#496575}
.line-total{grid-column:1/-1;font-variant-numeric:tabular-nums;color:#244960;margin:0;font-size:13px;font-weight:650}
.draft-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.draft-feedback{font-size:13px;color:#345f75}
.draft-toolbar button{min-height:44px}
.task-card{display:grid;grid-template-columns:minmax(100px,.4fr) minmax(0,1.7fr) 22px;align-items:center;gap:14px;padding:14px 8px;text-decoration:none;border-bottom:1px solid #e0e8ed;color:#193d50}
.task-card:hover,.task-card:focus-visible{background:#f2f7f9}
.task-card>strong{overflow-wrap:anywhere}
.task-type{font-size:12px;color:#607989;font-weight:650}
.customer-timeline{list-style:none;padding:0;margin:4px 0 20px;display:grid;gap:7px}
.customer-timeline li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-left:3px solid #bad2df;background:#f5fafc;padding:11px 14px}
.customer-timeline small{min-width:150px;color:#4e6476}
.customer-timeline a{color:#114966;font-weight:700;overflow-wrap:anywhere}
@media(max-width:600px){
 .invoice-live-totals{grid-template-columns:1fr}.invoice-live-totals>div{padding:13px 14px}
 .task-card{grid-template-columns:1fr 24px;gap:4px}.task-card .task-type{grid-column:1/-1}
 .customer-timeline li{display:grid;gap:5px}
 .line-item-row [name="discount_percent[]"]{font-size:16px;min-height:48px}
}

/* Customer dossier: accessible time-ordered business history. */
.customer-activity{margin:30px 0;padding:18px 0;border-top:1px solid #dce6e9}
.timeline-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.timeline-filters button{min-height:44px}
.timeline-filters button[aria-pressed="true"]{background:#0e4c68;color:white;border-color:#0e4c68}
.customer-timeline{list-style:none;margin:18px 0;padding:0 0 0 12px;border-left:2px solid #ccdee4}
.customer-timeline li{position:relative;margin:0 0 8px 18px;padding:11px 14px;background:#f5f9fa;border:1px solid #e2ecef;border-radius:7px;overflow-wrap:anywhere}
.customer-timeline li[hidden]{display:none}
.timeline-dot{position:absolute;left:-23px;top:18px;width:10px;height:10px;border-radius:50%;background:#166184}
.customer-timeline li>div{display:flex;flex-direction:column;align-items:start;gap:5px}
.customer-timeline .timeline-kind{font-size:12px;font-weight:750;color:#315b6d}
.customer-timeline time{font-size:12px;color:#536977}
.customer-timeline a{min-height:36px;display:inline-flex;align-items:center;color:#0b4f72;font-weight:700}
@media(max-width:450px){.timeline-filters{display:grid;grid-template-columns:1fr 1fr}.timeline-filters button{font-size:12px;min-height:48px;padding:8px}.customer-timeline li{padding:11px}}
