/* Beißler Backoffice – UX Pro Max: fast actions, accessible dialogs, system feedback. */
:root{
  --bw-ink:#173d51;
  --bw-muted:#556f7e;
  --bw-action:#0a4665;
  --bw-action-hover:#0b6486;
  --bw-focus:#087da5;
  --bw-line:#d9e5e9;
  --bw-soft:#f5f9fa;
  --bw-radius:12px;
}
.bw-modal-open{overflow:hidden}
.bw-quick-create{position:relative;z-index:30;flex-shrink:0}
.bw-quick-create>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;padding:0 13px;background:#103f59;color:#fff;font-weight:750;font-size:13px;border-radius:8px;cursor:pointer;white-space:nowrap}
.bw-quick-create>summary::-webkit-details-marker{display:none}
.bw-quick-create>summary>span{font-size:20px;font-weight:450}
.bw-quick-create>summary svg{width:14px;height:14px;transition:transform .18s}
.bw-quick-create[open]>summary svg{transform:rotate(180deg)}
.bw-quick-create>summary:hover{background:#086c8f}
.bw-quick-create nav{position:absolute;top:calc(100% + 8px);right:0;min-width:218px;padding:8px;background:#fff;border:1px solid #cfdfe4;border-radius:10px;box-shadow:0 18px 42px #183c4d24;display:grid;gap:1px}
.bw-quick-create nav a{color:var(--bw-ink);font-size:13px;font-weight:620;text-decoration:none;padding:12px;border-radius:7px;min-height:44px;display:flex;align-items:center}
.bw-quick-create nav a:hover,.bw-quick-create nav a:focus-visible{background:#ecf5f8;color:#095f83}
.panel-header a.bw-list-create{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;min-height:45px;border-radius:8px;background:var(--bw-action);color:#fff;text-decoration:none;font-size:13px;line-height:1;font-weight:750;white-space:nowrap}
.panel-header a.bw-list-create:hover{background:var(--bw-action-hover)}
.bw-list-create span,.bw-inline-create>span{font-size:19px;line-height:1}
.bw-picker-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px;padding:11px 12px;background:#f5fafc;border:1px solid #dfebf0;border-radius:8px}
.bw-picker-actions>span{font-size:12px;color:#526f7d}
.bw-inline-create{display:inline-flex;gap:6px;align-items:center;min-height:44px;color:#096387;font-size:13px;font-weight:770;text-decoration:none}
.bw-inline-create:hover{text-decoration:underline;text-underline-offset:3px}
.bw-dialog,.bw-confirm-dialog{position:fixed;inset:0;margin:auto;border:none;border-radius:16px;padding:0;background:#fff;color:var(--bw-ink);box-shadow:0 24px 84px #0d27343d;overflow:hidden}
.bw-dialog{width:min(650px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 30px)}
.bw-confirm-dialog{width:min(440px,calc(100vw - 28px));max-width:none}
.bw-dialog::backdrop,.bw-confirm-dialog::backdrop{background:rgba(13,35,48,.67);backdrop-filter:blur(3px)}
.bw-qc-form{display:flex;flex-direction:column;max-height:calc(100dvh - 30px);min-height:0}
.bw-dialog-header{padding:28px 30px 21px;display:flex;align-items:flex-start;gap:18px;justify-content:space-between;border-bottom:1px solid var(--bw-line)}
.bw-dialog-heading{min-width:0}
.bw-dialog-eyebrow{font-size:10px;letter-spacing:.14em;font-weight:780;color:#147b9b}
.bw-dialog-heading h2{font-size:clamp(24px,3.5vw,30px);font-weight:740;letter-spacing:-.04em;line-height:1.18;color:#153b50;margin:9px 0 8px}
.bw-dialog-heading p{color:var(--bw-muted);font-size:13px;line-height:1.55;margin:0}
.bw-icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:9px;border:1px solid var(--bw-line);background:#fff;color:#476474;cursor:pointer;padding:10px}
.bw-icon-button svg{width:18px;height:18px}
.bw-icon-button:hover{background:#e9f3f5;color:#134963}
.bw-dialog-body{min-height:0;overflow-y:auto;padding:23px 30px 26px;overscroll-behavior:contain}
.bw-qc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.bw-qc-wide{grid-column:1/-1}
.bw-qc-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.bw-qc-field label{font-size:13px;line-height:1.3;color:#284c61;font-weight:730}
.bw-qc-field label>span[aria-hidden]{color:#aa3333}
.bw-qc-optional{font-size:11px;color:#738b98;font-weight:500;margin-left:4px}
.bw-qc-field input,.bw-qc-field textarea{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:46px;padding:11px 13px;background:#fff;border:1px solid #c6d7df;border-radius:8px;color:#173b52;font-size:16px;font-weight:400;line-height:1.35;font-family:inherit;transition:border-color .14s,box-shadow .14s}
.bw-qc-field input::placeholder{color:#81949e}
.bw-qc-field textarea{resize:vertical;min-height:80px}
.bw-qc-field input:focus,.bw-qc-field textarea:focus{border-color:var(--bw-focus);outline:none;box-shadow:0 0 0 3px #d4eff6}
.bw-qc-field input[aria-invalid="true"]{border-color:#be4747;box-shadow:0 0 0 2px #fae1df}
.bw-qc-disclosure{border-top:1px solid #e2ebef;margin-top:24px}
.bw-qc-disclosure>summary{list-style:none;cursor:pointer;min-height:54px;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#0b6688;font-size:13px;font-weight:740}
.bw-qc-disclosure>summary::-webkit-details-marker{display:none}
.bw-qc-disclosure>summary small{display:block;font-weight:480;color:#688591;font-size:11px;margin-top:5px}
.bw-qc-disclosure>summary svg{width:18px;height:18px;flex-shrink:0;transition:transform .18s}
.bw-qc-disclosure[open]>summary svg{transform:rotate(180deg)}
.bw-qc-more-fields{padding-top:13px}
.bw-field-error{font-size:13px;line-height:1.55;color:#922d2d;background:#fff3f2;border:1px solid #f0c6c3;border-radius:8px;padding:12px 14px;margin-bottom:17px}
.bw-field-error[hidden]{display:none}
.bw-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 30px 18px;border-top:1px solid var(--bw-line);background:#f9fbfc}
.bw-modal-hint{margin-right:auto;font-size:11px;color:#687f8b;white-space:nowrap}
.bw-button-muted,.bw-button-main,.bw-button-danger{min-height:46px;padding:0 18px;border-radius:8px;font-size:13px;font-weight:740;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}
.bw-button-muted{border:1px solid #c2d5de;background:#fff;color:#1a5168}
.bw-button-muted:hover{background:#eaf4f7}
.bw-button-main{border:1px solid var(--bw-action);background:var(--bw-action);color:#fff}
.bw-button-main:hover{background:var(--bw-action-hover)}
.bw-button-main svg{width:17px;height:17px}
.bw-button-danger{background:#b83e3e;border:1px solid #b83e3e;color:#fff}
.bw-button-danger:hover{background:#982e2e}
.bw-button-main:disabled,.bw-button-muted:disabled{cursor:wait;opacity:.6}
.bw-qc-discard{padding:16px 30px;background:#fff5ee;border-top:1px solid #f0d8c4}
.bw-qc-discard[hidden]{display:none}
.bw-qc-discard p{font-size:13px;font-weight:700;margin:0 0 12px;color:#674428}
.bw-qc-discard>div{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.bw-confirm-inner{padding:29px 28px 26px}
.bw-confirm-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff0e9;color:#ac4a2a;font-size:21px;font-weight:780}
.bw-confirm-inner h2{font-size:23px;letter-spacing:-.03em;margin:20px 0 9px;color:var(--bw-ink)}
.bw-confirm-inner p{font-size:14px;line-height:1.65;color:var(--bw-muted);margin:0 0 24px}
.bw-confirm-actions{display:flex;justify-content:flex-end;gap:10px}
.bw-toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));right:24px;z-index:200;display:flex;align-items:center;gap:12px;max-width:min(490px,calc(100vw - 28px));padding:13px 14px;background:#fff;border:1px solid #d7e6de;border-left:4px solid #178164;border-radius:10px;box-shadow:0 14px 36px #15333d28;color:var(--bw-ink)}
.bw-toast[hidden]{display:none}
.bw-toast-symbol{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e9f7ef;color:#15805d;font-size:19px;font-weight:780}
.bw-toast-message{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.bw-toast-message strong{font-size:13px;font-weight:760}
.bw-toast-message span{font-size:12px;color:var(--bw-muted);line-height:1.4}
.bw-toast>a{font-size:12px;font-weight:750;color:#086b92;white-space:nowrap}
.bw-toast .bw-icon-button{width:34px;height:34px;padding:7px}
.bw-quick-create :focus-visible,.bw-dialog :focus-visible,.bw-confirm-dialog :focus-visible,.bw-list-create:focus-visible,.bw-inline-create:focus-visible,.bw-toast :focus-visible{outline:3px solid var(--bw-focus);outline-offset:3px}
@media(max-width:920px){.bw-quick-create>summary{padding:0 12px}.topbar-right .owner-chip{display:none}.topbar-right{gap:12px}}
@media(max-width:540px){.bw-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:12px}.bw-qc-form{max-height:calc(100dvh - 18px)}.bw-dialog-header{padding:20px 18px 17px}.bw-dialog-body{padding:18px 18px 23px}.bw-dialog-footer{padding:13px 18px max(15px,env(safe-area-inset-bottom));gap:9px;flex-wrap:wrap}.bw-qc-grid{grid-template-columns:1fr;gap:15px}.bw-qc-wide{grid-column:auto}.bw-dialog-heading h2{font-size:24px}.bw-modal-hint{flex-basis:100%;margin-bottom:2px}.bw-button-main,.bw-dialog-footer>.bw-button-muted{flex:1;min-width:0;padding:0 12px}.bw-qc-discard{padding:15px 18px}.bw-confirm-inner{padding:24px 20px}.bw-toast{bottom:max(10px,env(safe-area-inset-bottom));right:10px;left:10px;max-width:none}.bw-toast>a{white-space:normal;max-width:100px}.bw-quick-create nav{right:0;min-width:210px}.panel-header a.bw-list-create{min-height:44px;padding:0 12px}.panel-header{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:360px){.bw-dialog-heading h2{font-size:22px}.bw-dialog-header{gap:8px}.bw-confirm-actions .bw-button-danger,.bw-confirm-actions .bw-button-muted{padding:0 10px}.bw-quick-create nav{right:-30px}.topbar-date{display:none}}
@media(prefers-reduced-motion:reduce){.bw-qc-field input,.bw-qc-field textarea,.bw-quick-create>summary svg,.bw-qc-disclosure>summary svg{transition:none} }

/* Compact phones: prevent quick actions + logout from pushing the topbar past the viewport. */
@media(max-width:380px){.admin-topbar .topbar-breadcrumb{display:none}.admin-topbar .topbar-right{margin-left:auto;gap:7px}.bw-quick-create>summary{min-height:44px;padding:0 9px}}

/* Information hierarchy for the 13-module navigation, without extra clicks. */
.bw-side-group{font-size:10px;line-height:1.4;letter-spacing:.14em;font-weight:760;color:#a9c5d1;padding:19px 19px 8px;margin:0}
.bw-side-group:first-child{padding-top:6px}
.bw-mobile-summary{display:flex!important;align-items:center;gap:8px}
.bw-mobile-summary svg{width:18px;height:18px;flex-shrink:0}
.bw-mobile-group{font-size:10px;letter-spacing:.13em;font-weight:760;color:#678493;padding:16px 15px 7px;margin:0;background:#f1f6f8}
.admin-mobile-nav nav{max-height:min(70dvh,650px);overflow-y:auto;overscroll-behavior:contain}
.bw-feedback{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin:0 0 21px;border-radius:9px;border:1px solid #cde3db;background:#f0faf4;color:#205c45;font-size:13px;line-height:1.5}
.bw-feedback.is-error{background:#fff5f3;border-color:#efd4d0;color:#8e3833}
.bw-feedback strong{display:block;font-size:13px;margin-bottom:2px}
.bw-feedback .bw-feedback-icon{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#d6f0e2;display:grid;place-items:center;font-size:14px;font-weight:800}
.bw-feedback.is-error .bw-feedback-icon{background:#f8e2df}
.bw-feedback button{margin-left:auto;min-width:36px;min-height:36px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer;font-size:19px}
.bw-feedback button:hover{background:#0000000c}
.bw-feedback>div{flex:1;min-width:0}
.bw-feedback[hidden]{display:none}
.bw-table-empty{text-align:center!important;padding:38px 18px!important;white-space:normal!important}
.bw-table-empty strong{display:block;color:#234c60;font-size:15px;margin-bottom:8px}
.bw-table-empty span{display:block;font-size:13px;color:#617d8a}
.bw-table-empty a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:0 16px;border-radius:8px;background:var(--bw-action);color:#fff!important;text-decoration:none;font-size:13px;font-weight:720}
